Windows 提供的常用对象可分成三类:核心应用服务、线程同步和线程间通讯。其中,开发人员可以使用线程同步对象来协调线程和进程的工作,以使其共享信息并执行任务。此类对象包括互锁数据、临界段、事件、互斥体和信号等。1. 创建和打开事件对象在进程间传送信号 (1)在进程内或进程间实现线程同步的最方便的方法是使用事件对象,请进行相关设计。设计流程图如下:分析运行结果 (分行书写。如果运行不成功,则可能的原因是什么?) :利用互斥体保护共享资源 (1)互斥体保护共享资源实例设计
2021-06-19 21:01:06 194KB 操作系统
1
操作下系统的实验报告,第4个实验选的是那个设计一个消费者 生产者
2021-06-17 15:49:43 196KB 操作系统 实验报告 消费者 生产者
1
南昌大学计算机 操作系统实验报告 任课教师 伍军云
2021-06-16 14:31:48 1.24MB os 实验报告
1
哲学家的生活就是思考和吃饭,即思考,饿了就餐,再思考,循环往复。要求是: 每一个哲学家只有在拿到位于他左右的筷子后,才能够就餐;哲学家只能先拿左边的筷子,再去拿右边的筷子,而不能同时去抓他两边的筷子,也不能从其他哲学家手中抢夺筷子;哲学家每次就餐后必须放下他手中的两把筷子后恢复思考,不能强抓住餐具不放。设计一个程序,能够显示当前各哲学家的状态和桌上餐具的使用情况,并能无死锁的推算出下一状态各哲学家的状态和桌上餐具的使用情况。即设计一个能安排哲学家正常生活的程序。 3.2 问题描述 可能出现死锁问题,因为当五个哲学家都饥饿时,都拿着一支筷子,这样就可能五个哲学家都用不上餐。 3.3 解决方案(以下解决方案均可,实现一种) 3.3.1 最多允许4个哲学家同时坐在桌子周围。 3.3.2 给所有哲学家编号,奇数号的哲学家必须首先拿左边的筷子,偶数号的哲学家则反之。 3.3.3 为了避免死锁,把哲学家分为三种状态,思考,饥饿,进食,仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子,并且一次拿到两只筷子,否则不拿。
2021-06-14 22:05:32 82KB 死锁和饥饿 哲学家就餐
1
东南大学操作系统实验报告,里面有同学关于自己做实验的过程及心得
2021-06-14 18:26:52 714KB Operating System
1
三、实验内容 (1) 通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成: 1. 50%的指令是顺序执行的; 2. 25%的指令是均匀分布在前地址部分; 3. 25%的指令是均匀分布在后地址部分; 具体的实施方法是: 1. 在[0,319]的指令地址之间随机选取一起点m; 2. 顺序执行一条指令,即执行地址为m+1的指令; 3. 在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’; 4. 顺序执行一条指令,其地址为m’+1; 5. 在后地址[m’+2, 319]中随机选取一条指令并执行; 6. 重复上述步骤1~5,直到执行320次指令。 (2) 将指令序列变换
1
操作系统实验(6个小实验)的报告,帝都某理工科985可以参考
2021-06-09 16:05:48 5.43MB 教义
1
实验一进程调度,实验二动态分区分配方式的模拟,实验三请求调页存储管理方式的模拟,实验四银行家算法,实验报告
2021-06-04 18:00:15 499KB guanggong 广工 操作系统 实验报告
1
C++实现优先进程调度算法源代码+实验报告:计算机操作系统课程综合性实验报告-进程调度算法程序设计。
1
《计算机操作系统》实验指导书 实验类别: 课内实验 实验课程名称: 计算机操作系统实验室名称:计算机科学与技术专业实验室 实验课程编号: N02140113 总 学 时: 8 学 分: 4.5 适用专业: 软件工程 先修课程: 计算机导论及操作、计算机硬件 实验一 进程同步控制 1、开发语言及实现平台或实验环境 C++/JAVA Turbo C / Microsoft Visual Studio 6.0 / Microsoft Visual Studio .NET 2010 2、实验目的 (1)加强对进程概念的理解,尤其是对进程的同步与互斥机制的理解。 (2)分析进程竞争资源的现象,学习解决进程互斥与同步的方法。 3、实验要求 (1)理解利用进程控制机制; (2)理解利用信号量进行进程同步控制原理; (3)使用某种编程语言进行模拟实现生产者-消费者进程。 4、实验原理 (注意:这个仅是个例子,仅供参考) 生产者-消费者问题描述的是:有一群生产者进程在生产产品,并将这些产品提供给消费者进程去消费。为使生产者进程与消费者进程能够并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区中;消费者进程可以从一个缓冲区中取走产品去消费。尽管所有的生产者和消费者进程都是以异步方式运行的,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取产品;也不允许生产者进程向一个已经装满产品的缓冲区中投放产品。 这是一个同步与互斥共存的问题。 生产者—消费者问题是一个同步问题。即生产者和消费者之间满足如下条件: (1) 消费者想接收数据时,有界缓冲区中至少有一个单元是满的。 (2) 生产者想发送数据时,有界缓冲区中至少有一个单元是空的。 故设置两个信号量: (1) empty:说明空缓冲区的数目,初值为有界缓冲区的大小N。 (2) full:说明已用缓冲区的数目,初值为0。 由于有界缓冲区是临界资源,因此,各生产者进程和各消费者进程之间必须互斥执行。故设置一个互斥信号量mutex,其初值为1。
1