内容发布更新时间 : 2025/1/11 17:38:05星期一 下面是文章的全部内容请认真阅读。
计算机操作系统原理
实 验 报 告
专业: 110420x 学号: 1104202xx 姓名: xxx
哈尔滨工业大学(威海)
实验一 进程同步和互斥
一、 实验目的
1.掌握临界资源、临界区概念及并发进程互斥、同步访问原理。 2.学会使用高级语言进行多线程编程的方法。
3.掌握利用VC++或Java语言线程库实现线程的互斥、条件竞争,并编码实现P、V操作,利用P、V操作实现两个并发线程对有界临界区的同步访问。 4.通过该实验,学生可在源代码级完成进程同步互斥方案的分析、功能设计、编程实现,控制进程间的同步、互斥关系。
二、实验要求
1.知识基础:学生应在完成进程和线程及调度等章节的学习后进行。 2.开发环境与工具:
硬件平台——个人计算机。
软件平台-Windows操作系统,VC++语言或Java语言开发环境。
3.运用高级语言VC++或Java语言线程库及多线程编程技术进行设计实现。
三、实验内容
1.实现临界资源、临界区、进程或线程的定义与创建。
2.利用两个并发运行的进程,实现互斥算法和有界缓冲区同步算法。
四、程序流程图
1. 互斥算法
Y 结束 开始 创建线程1,2 N 线程1是否运行 Y 线程2等待 线程2运行 N 是否结束 2. 生产者消费者问题 生产者:
开始 是否有缓冲区 N Y Y 缓冲区上锁? N 对缓冲区上锁 模拟生产 阻塞 解锁 结束