操作系统课程设计实验报告
《操作系统课程设计实验报告》由会员分享,可在线阅读,更多相关《操作系统课程设计实验报告(21页珍藏版)》请在毕设资料网上搜索。
1、 操作系统课程设计操作系统课程设计 题目名称:题目名称: 读者与写者读者与写者 目录 问题描述34 系统设计59 源代码清单.919 运行结果测试与分析.20 总结与心得.20 一、问题描述 读者与写者问题主要是涉及到操作系统中的进程同步、 互斥以及信号量机制 的概念,可以有多个读者进程同时进行,但是当写者进程到来时,所有的读者进 程都要进入等待状态,而且写者进程只能独立。 实现读者与写者的总体思路是使用多线程,每当一个读者到来时,如果当前 没有写者进程正在进行,则立即开启一个读者线程,如果当前有写者正在进行, 则此读者应当进入等待状态,直到写者进程完成,每当一个写者到来时,若此时 有读者正在
2、进行,则立即将正在进行的读者设置为等待状态,开启写者进程,并 且当下一个写者到来时,只能进入等待状态,除非当前写者完成。 进程同步与互斥: 进程互斥是多处理机系统中的典型间接作用, 通常是两个或两个以上进程需 要同时访问某个共享变量,在这个程序中此共享变量就是共享文件。我们一般将 发生能够共享变量的程序段称为临界区。两个进程不能同时进入临界区,否则就 会导致数据的不一致,产生与时间有关的错误。我们解决互斥问题时要遵循互斥 和公平两个原则,即任意时刻只允许一个进程进入临界区,且不能让任意进程进 入无限的等待。 进程同步是进程之间的直接作用。简单的理解就是,若有两个进程 A,B, 若只有当 A 进
3、程完成后 B 进程才能够启动,则说 A 进程与 B 进程是同步的。 实现同步与互斥有多种机制,比如信号量、管程、会合、分布式系统,在这 个程序中简单的用信号量来实现。 信号量 信号量机制是荷兰学者 Dijkstra 于 1955 提出的一种解决进程同步与互斥 的有效工具在此机制中,信号量 S 是一个整数,S 大于等于零代表可供并发 进程使用的资源数, 当S小于零时表示正在等待使用临界区的进程数。 Dijkstra 同时提出了对信号量操作的 PV 原语: P 原语操作动作: (1)、S 减一; (2)、若 S 减一后仍大于或等于零,则进程继续进行。 (3)、若 S 减一小于零,则进程被阻塞后进入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课程设计 实验 报告
