1、以Linux系统进程和线程机制为背景,掌握fork()和clone()系统调用的形式和功能,以及与其相适应的高级通讯方式。由fork派生的子进程之间通过pipe通讯,由clone创建的线程之间通过共享内存通讯,对于后者需要考虑互斥问题。 2、以生产者/消费者问题为例,通过实验理解fork()和clone()两个系统调用的区别。程序要求能够创建4个进程或线程,其中包括两个生产者和两个消费者,生产者和消费者之间能够传递数据。 3、在Linux环境中采用用户级线程模拟实现EDF和RMS两种实时调度算法。给定一组实时任务,按照EDF算法和RMS算法分别判断是否可调度,在可调度的情况下,创建一组用户级线程,分别代表各个实时任务,并按算法确定的调度次序安排各个线程运行,运行时在终端上画出其Gantt图。为避免图形绘制冲淡算法,Gantt图可用字符表示。
2021-06-20 11:56:09 2.48MB 吉林大学 操作系统 实验报告 平时实验
1
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