操作系统大作业题目与要求
大工19秋《操作系统》大作业题目及要求答案

学习中心:深圳市龙华区龙华街道成人文化技术学校奥鹏学习中心[43]专业:计算机科学与技术年级: 2019年春季学号: 191585307814学生:刘智明题目:操作系统1.谈谈你对本课程学习过程中的心得体会与建议?操作系统是网络工程专业的主要专业基础课和主干课。
操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。
通过模拟操作系统的全部或者部分功能的实现,加深对操作系统工作原理和操作系统实现方法的理解,达到练习编程的目的,提高学生运用理论知识分析问题、解决问题的能力,为学生从事科学研究和独立负担计算机及其应用方面的工作打好扎实的基础。
2.《操作系统》课程设计,从以下5个题目中任选其一作答。
题目三:进程同步与互斥生产者-消费者问题要求:(1)撰写一份word文档,里面包括(设计思路、流程(原理)图、基本内容、源代码)章节。
(2)设计思路:简单介绍生产者进程的功能以及消费者进程的功能。
(3)流程(原理)图:绘制流程图或原理图。
(4)基本内容:详细介绍生产者进程与消费者进程之间的同步与互斥关系。
(5)源代码:列出源代码,也可以仅列出伪代码。
答案:一、设计思路:生产者消费者问题是一个著名的进程同步问题。
描述的是有一群生产者进程在生产消息,并将此消息提供给消费者进程去消费。
为使生产者进程和消费者进程能并发执行,在它们之间设置了一个具有n 个缓冲区的缓冲池,生产者进程可将它所生产的消息放入一个缓冲区中,消费者进程可从一个缓冲区中取得一个消息消费。
尽管所有的生产者进程和消费者进程都是以异步方式运行的,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取消息,也不允许生产者进程向一个已装有消息且尚未被取走消息的缓冲区中投放消息。
二、流程图:生产者:消费者:三、基本内容:同步是一种时序关系。
如规定了进程1处理完事情A后,进程2才能处理事情B,经典的同步问题是生产者和消费者间的同步.互斥描述的是一种独占关系.如任一时刻,进城1和进程2中只能有一个写文件C.计算机系统中的每个进程都可以消费或生产某类资源。
操作系统课程设计题目和要求

操作系统课程设计一、课程设计目的通过课程设计,加深学生对教材中的重要算法的理解,同时通过用C语言编程实现这些算法,并在LINUX或Windows平台上实现,让学生更好地掌握操作系统的原理及实现方法,提高学生综合运用各专业课知识的能力。
二、课程设计内容课题1 进程调度算法的模拟1.用语言来实现对n个进程采用不同调度算法的进程调度。
2.每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段:(1)进程优先数ID,其中0为闲逛进程,用户进程的标识数为1,2,3…。
(2)进程优先级Priority,闲逛进程(idle)的优先级为0,用户进程的优先级大于0,且随机产生,优先数越大,优先级越高。
(3)进程占用的CPU时间CPUtime,进程每运行一次,累计值等于4。
(4)进程总共需要运行时间Alltime,利用随机函数产生。
(5)进程状态,0:就绪态;1:运行态;2:阻塞态。
(6)队列指针next,用来将多个进程控制块PCB链接为队列。
3.优先数改变的原则(1)进程在就绪队列中每呆一个时间片,优先数增加1。
(2)进程每运行一个时间片,优先数减3。
4.在调度前,系统中拥有的进程数PCB_number由键盘输入,经初始化后,所有的进程控制块PCB链接成就绪队列。
以下两题任选一题课题2.1 系统动态分配资源的模拟编程序模拟银行家算法,要求能体现算法的全过程课题2.2 进程同步模拟编写程序模拟实现五哲学家就餐问题。
以下两题任选一题课题3.1 设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:1、先进先出的算法(FIFO)2、最近最少使用算法(LRU)3、最佳淘汰算法(OPT)4、最不经常使用算法(LFU)课题3.2 内存管理模拟使用Windows 2000/XP 的API 函数,编写一个包含两个线程的进程,一个线程用于模拟内存分配活动,一个线程用于跟踪第一个线程的内存行为,而且要求两个线程之间通过信号量实现同步。
2020批次操作系统大作业

20200415批次操作系统1.现代操作系统一般都提供多任务的环境,试回答以下问题。
(1) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?(2) 为支持进程的状态变迁,系统至少应该供哪些进程控制原语?(3) 当进程的状态变迁时,相应的数据结构发生变化吗?(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:为支持进程的并发执行,系统必须建立“进程控制块(PCB)”,PCB的组织方式常用的是链接方式。
(2)为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:进程的阻塞与唤醒原语和进程的挂起与激活原语。
(3)当进程的状态变迁时,相应的数据结构发生变化吗?答:创建原语:建立进程的PCB,并将进程投入就绪队列。
;撤销原语:删除进程的PCB,并将进程在其队列中摘除;阻塞原语:将进程PCB中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列;唤醒原语:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。
现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题:为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构正确答案为支持多进程的并发执行,系统为每个进程建立了一个数据结构:进程控制块(PCB),用于进程的管理和控制。
PCB中记录了有关进程的一些描述信息和控制信息,包括进程标识符、进程当前的状态、优先级、进程放弃CPU时的现场信息,以及指示组成进程的程序和数据在存储器中存放位置的信息、资源使用信息、进程各种队列的连接指针和反映进程之间的隶属关系的信息等。
现代操作系统一般都提供多进程(或称多任务)运行环境,回答以下问题:为支持进程状态的变迁,系统至少应提供哪些进程控制原语正确答案在进程的整个生命周期中,会经历多种状态。
进程控制的主要职能是对系统中所有进程实施有效地管理,它具有创建新进程、撤销已有进程、实现进程的状态转换等功能。
操作系统课程设计题目及要求

操作系统课程设计一、关于选题与评分标准1、选题方法:课程设计题目一人一题,按照学号顺序号依次选题(你在班级的序号除以5求余数即为你的题目号),题目具体要求见题目所述。
2、操作系统课程设计成绩为:程序运行*60%+设计报告*40%,操作系统课程设计需要提交设计报告(打印稿,报告内容见附页)。
注意事项:操作系统实验严禁抄袭,无论是不同小组之间还是与往届之间,一旦确认为抄袭作品记为零分。
被抄袭的作品与抄袭作品的处理相同。
二、操作系统课程设计内容(一)、设计一个有N个进程的进程调度程序[问题描述]通过一个简单的进程调度模拟程序的实现,加深对各种进程调度算法,进程切换的理解。
[基本要求]1、进程调度算法:采用动态最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)。
2、每个进程有一个进程控制块(PCB)表示。
进程控制块可以包含如下信息:进程名---进程标示数ID优先数PRIORITY 优先数越大优先权越高到达时间---进程的到达时间为进程输入的时间。
、进程还需要运行时间ALLTIME,进程运行完毕ALLTIME=0,已用CPU时间----CPUTIME、进程的阻塞时间STARTBLOCK-表示当进程在运行STARTBLOCK个时间片后,进程将进入阻塞状态进程的阻塞时间BLOCKTIME--表示当进程阻塞BLOCKTIME个时间片后,进程将进入就绪状态进程状态—STATE队列指针NEXT 用来将PCB排成队列。
3、调度原则:进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。
进程的到达时间为进程输入的时间。
进程的运行时间以时间片为单位进行计算。
进程在就绪队列中待一个时间片,优先数加1每个进程的状态可以是就绪R(READY)、运行R(Run)阻塞B(BLOCK)、或完成F(Finish)四种状态之一。
就绪进程获得CPU后都只能运行一个时间片。
用已占用CPU时间加1来表示。
如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减3,然后把它插入就绪队列等待CPU。
操作操作系统大型作业

操作系统课程设计所在班级:0310401班学生学号:031040109学生姓名:李雨晴论文题目:生产者和消费者问题任课教师:李艳老师完成日期: 2012年12月2日目录操作系统课程设计 (1)一、课程的地位、目标和任务 (3)二、课程设计的基本要求 (3)1.课程设计要求: (3)2.学习要求: (3)三、题目分析 (3)1.题目的特点: (3)2.采用信号量机制: (4)2.1. PV原语操作的动作 (4)2.2信号量 (4)四、课程设计的内容 (5)1.实验程序的结构图(流程图) (5)2. 数据结构及信号量定义的说明 (5)2 .1 CreateThread (5)2.2. CreateMutex (6)2.3. CreateSemaphore (6)2.功能模块 (7)五、课程实现的内容 (7)1.课程设计的实验环境 (7)2. 实验的步骤 (8)2.1 打开VC (8)2.2在工程中创建源文件" R_WP1.cpp": (8)2.3通过调用菜单命令项build->build all进行编译连接 (8)3.代码实现的具体分析 (8)3.1.使用信号量解决生产者-消费者问题 (10)3.2.使用消息传递解决生产者-消费者问题 (12)六、个人体会 (15)参考文献 (15)附录:具体实现代码 (16)一、课程的地位、目标和任务“操作系统”是计算机专业的核心专业课,“操作系统课程设计”是理解和巩固操作系统基本理论、原理和方法的重要实践环节。
本课程通过设计实现一个综合作业,加深对操作系统原理的理解,提高综合运用所学知识的能力,培养学生独立工作和解决问题的能力,取得设计与调试的实践经验,为今后进一步从事计算机系统软件和应用软件的分析、研制和开发打下良好的基础。
二、课程设计的基本要求1.课程设计要求:教学内容:用信号量机制解决生产者和消费者问题。
重点:信号量实现进程同步的算法难点:进程同步的实现2.学习要求:理解生产者和消费者模型,掌握利用信号量实现进程同步的方法,通过对实际问题的编程实现,获得实际应用和编程能力。
操作系统课程设计要求和题目

操作系统课程设计一、设计目的本课程设计是学生学习完《操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、设计要求从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:两人一组,每组从所给题目中任选一个(如自拟题目,需经指导教师同意),每个学生必须独立完成课程设计,不能相互抄袭,同组者文档不能相同;设计完成后,将所完成的工作交由指导教师检查;要求写出一份详细的设计报告。
三、设计内容课题、处理机调度程序:选择一个调度算法,实现处理机调度。
设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。
也就是说能运行的进程数大于处理机个数。
为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。
要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
设计要求:1)进程调度算法包括:时间片轮转法,短作业优先算法,动态优先级算法。
2)可选择进程数量3)本程序包括三种算法,用C语言实现,执行时在主界面选择算法(可用函数实现)(进程数,运行时间,优先数由随机函数产生)执行,显示结果。
四、课程设计考核方式课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的30%。
优:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述;程序完全实现设计方案,设计方案先进,软件可靠性好;良:有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;中:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;及格:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确;不及格:没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。
计算机操作系统课程设计题目及要求

一、设计题目
二、设计步骤
1.需求分析:了解基本原理,确定算法的基本功能,查找相关资料,
画出基本的数据流图;
2.总体设计:确定算法的总体结构、数据结构、模块关系和总体流程;
3.详细设计:确定模块内部的流程和算法步骤。
4.上机编码和调试;
5.实际数据运行测试与分析;
6.课程设计总结报告撰写。
三、课程设计报告撰写
课程设计报告主要内容:
①概述:设计主要完成的任务和解决的主要问题;
②设计的基本概念和原理;
③总体设计:实现的方法和主要技术路线;
④详细设计:使用主要控件、函数;
⑤测试与数据分析
⑥完成的情况、简要的使用说明;
⑦结果分析
⑧总结:特色、经验、教训和感受;
⑨参考文献
⑩。
操作系统大作业要求

操作系统大作业
一、选题:
(1)多线程编程解决进程间同步和互斥问题-XX问题的实现
掌握并发进程中同步与互斥的机制,基于线程的编程技术开发类似生产者—消费者问题的演示程序。
(多个生产者,多个消费者,多个缓冲区)(2)固定分区/可变分区管理算法的模拟
掌握简单实存管理技术的原理,理解固定分区/可变分区管理的算法,设计合适的数据结构和算法,模拟实现固定分区/可变分区管理算法。
(3)页面置换算法的模拟
掌握虚拟存储管理中页面置换算法的原理,设计恰当的数据结构和算法,模拟实现页面置换算法。
(两种或以上)
(4)银行家算法的模拟
掌握死锁相关的概念和解决方案,理解银行家算法的工作原理,设计合适的数据结构和算法,模拟实现银行家算法。
(5)移动臂调度算法的模拟
掌握操作系统的设备管理功能,熟悉移动臂调度算法,设计恰当的数据结构和算法,模拟实现移动臂调度算法。
(两种或以上)
(6)一个简单文件管理器的实现
掌握操作系统关于文件管理的各种原理,熟悉常用的文件操作,编写程序实现文件及文件夹的常规操作。
二、要求:
每位学生选择一个选题模拟实现。
三、提交内容:
截止时间:1、大作业报告;
2、录屏文件:
录屏内容主要是讲解源程序(核心算法)以及运行效果(5分钟以内)。
3、打包发送至邮箱:32629719@
(压缩文件名为:“班级_学号_姓名_OS大作业”)
四、
所有文档提交截止时间为2020.6.30 晚上22:00。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统大作业题目与要求一、大作业要求:1.学生根据自己实际情况自由选择题目,多人可选择同一题,每人选择的题目需独立完成,。
2.分析设计要求,给出解决方案,建立必要的数据结构,然后设计总体流程(包括界面)、详细设计必要的算法,并最终显示结果。
基于WINDOWS或LINUX操作系统都可以,用何种编程语言都有可以。
3.提交报告,包括设计要求、设计思想流程、设计所涉及的主要数据结构、程序清单、运行结果、设计心得、参考资料等。
4.严禁抄袭,复制设计内容,查出后相关同学设计成绩以零分处理。
5.所提交源程序应是能够运行通过的完整程序。
6.课程设计参考评分标准:设计思想说明(10分);数据结构的说明(6分);各模块的算法流程图(10分);程序清单:注意加注释(包含关键字、方法、变量等),在每个模块前加注释;(共70分,其中书面源程序占35分,实验的检查结果、程序的运行情况占35分)体会,总结及体会建议(4分)。
二、设计题目1.Windows多线程控制台程序目的:学习和掌握如何编写Windows多线程控制台程序。
通过编写程序,加深对进程和线程关系的理解,掌握多线程程序的执行和编写技巧。
设计要求:写一个单进程多线程的Windows控制台程序,该程序在一个进程内建立N个线程来执行指定的任务。
N由命令行传递给系统。
Win32控制台程序中,主函数的格式如:Void main(int argc,char *argv[]),可以获取命令行参数。
通过VC++“工程/设置”的C/C++属性页设置应用程序为“MTD”多线程。
利用win32 API CreateThread()来生成线程。
2.睡眠理发师问题目的:了解信号量机制,了解并掌握进程同步和互斥机制,熟悉信号量的操作函数,利用信号量实现对共享资源的控制。
设计要求:(1)编写程序实现理发师与顾客进程的同步。
问题描述:这是一种经典的IPC问题,理发店有一位理发师,一把理发椅和n把用来等候理发的椅子。
如果没有顾客,则理发师在理发椅上睡觉,顾客理来时,如理发师闲则理发,否则如有空椅则坐等,没有空椅则离开,编写程序实现理发师和顾客程序,实现进程控制,要求不能出现竞争。
(2)将(1)题中问题修改为有两位理发师,设计程序实现同步控制。
问题提示:可以用一个变量waitting来记录等候理发的顾客数,另使用三个信号量:用来记录等候理发的顾客数customers;用来记录理发师是否空闲的信号量barbers,一个用于互斥访问waitting变量的mutex.。
3.进程调度模拟程序目的:深入掌握进程调度的概念原理和实现方法。
设计要求:编写一个进程调度程序,允许多个进程并行执行。
进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)、先来先服务算法、按时间片轮转调度算法,最终总结该算法的优缺点,写出设计体会。
每个进程有一个进程控制块(PCB)表示,进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。
进程的优先数及需要的运行时间可以事先人为指定(也可以由随机数产生)。
进程的到达时间为输入进程的时间。
进程的运行时间以时间片为单位进行计算。
每个进程的状态可以是就绪W(wait)、运行R(run)或完成F(finish)三种状态之一。
4.进程调度模拟程序2目的:深入掌握进程调度的概念原理和实现方法。
设计要求:编写一个进程调度程序,允许多个进程并行执行。
进程调度算法:采用最高优先数优先与按时间片轮转调度结合算法,最终总结该算法的优缺点,写出设计体会。
如果运行下个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进行已占用CPU时间还未达到所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。
每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。
重复以上过程,直到所有进程都完成为止。
5.读者与写者问题(进程同步问题)目的:了解进程同步的概念,理解信号量机制的原理,掌握运用信号量解决进程同步问题的方法,进而学会运用进程的同步与互斥。
设计要求:编程模拟读者与写者问题,要求显示结果。
问题描述:(1)多个进程共享一个文件,其中只读文件的称之为读者,其余只写文件的称为写者。
读者可以同时读,但是写者只能独立写。
(2)对(1)修改,使得它对写者优先,即一旦有写者到,后续的读者都必须等待,而无论是否有读者在读文件。
6.模拟文件管理系统目的:深入了解文件管理系统,初步掌握文件管理系统的实现方法。
设计要求:编写一程序,模拟一个简单的文件管理系统。
树型结构,目录下可以是目录,也可以是文件。
在此文件管理系统,可实现的操作有:改变目录:格式:cd <目录名>显示目录:格式:dir[<目录名>]创建目录:格式:md <目录名>删除目录:格式:rd<目录名>新建文件:格式:edit<文件名>删除文件:格式:del<文件名>退出文件系统:exit实现参考:(1)文件系统采用二叉树型存储结构,结点结构如下:Struct FileNode{Char filename[FILENAME_LEN];//文件名/目录名Int isdir ;//目录、文件的识别标志Int i_nlink;//文件链接数Int adr;//文件的地址Struct FileNode *parent,*child;//指向父亲的指针和左孩子的指针Struct FileNode *sibling_prev,*sibling_next;//指向前一个兄弟的指针和后一个兄弟的指针。
}(2)目录名和文件名支持全路径名和相对路径名,路径名各分量间用“/”隔开(3)功能具体描述:改变目录:改变当前工作目录,目录不存在是给出出错信息显示目录:显示指定目录下或当前目录下所有文件和一级目录(选做:带/s参数的dir命令,显示所有子目录)创建目录:在指定路径或当前路径下创建指定目录。
重名时给出出错信息。
删除目录:删除指定目录下所有文件和子目录。
要删目录不空时,要给出提示是否要删除。
创建文件:创建指定名字的文件,只要创建表示文件的节点即可,内容及大小不考虑。
删除文件:删除指定文件,不存在时给出出错信息。
退出文件系统:exit(4)总体流程:初始化文件目录输出提示符,等待接受命令,分析键入的命令;对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令。
直到键入exit 退出为止。
7.内存的申请与释放目的:了解操作系统内存分配的算法。
设计要求:(1)定义一个自由存储块链表,按块地址排序,表中记录块的大小。
当请求分配内存时,扫描自由存储块链表,址到找到一个足够大的可供分配的内存块,若找到的块大小正好等于所请求的大小时,就把这一块从自由链表中取下来,返回给申请者。
若找到的块太大,即对其分割,并从该块的高地址部分往低地址部分分割,取出大小合适的块返回给申请者,余下的低地址部分留在链表中。
若找不到足够大的块,就从操作系统中请求另外一块足够大的内存区域,并把它链接到自由块链表中,然后再继续搜索。
释放存储块也要搜索自由链表,目的是找到适当的位置将要释放的块插进去,如果被释放的块的任何一边与链表中的某一块临接,即对其进行合并操作,直到没有合并的临接块为止,这样可以防止存储空间变得过于零碎。
(2)空闲区采用分区说明表的方法实现(1)中的功能。
要求同上。
8.Windows磁盘直接读写实验目的:了解磁盘设备编程的特点。
设计要求:通过本实验了解在windows系统中如何直接使用磁盘的读写功能;所编应用程序能够响应用户指定的读写磁盘扇区的请求,也能提供查看磁盘相关参数的功能。
技术的关键是使用了windows提供的API(应用程序接口)来实现所要求的功能。
用户可以利用API进行底层的磁盘操作。
相关知识:(下列函数的详细使用方法参看VC++的MSDN文档)(1)CreateFile:用来创建或者打开一个文件、管道、磁盘设备等,它返回一个句柄用于以后对这信对象的访问。
(2)DeviceControl:本API直接向相应设备的驱动程序发出指令,以完成在函数参数中所指定的动作。
(3)WriteFile:本API用于向文件中写入数据,写入操作可以采用同步方式或者异步方式,写入操作从文件指针处开始,写操作后会被相应调整。
磁盘设备被当作文件看待。
(4)ReadFile:本API用于文件中读出数据,读出操作从文件指针处开始,文件指针在读操作后会被相应调整。
用法同写文件函数相似。
(5)SetFilePointer:用于移动一个打开的文件中的读写指针。
9.处理机调度目的:加深作业概念的理解,深入了解多道程序设计系统中如何组织作业、管理作业和调度作业,加深对作业调度算法的理解。
设计要求:采用短作业优先调度算法、先来先服务调度算法和最高响应比调度算法实现处理机对作业的调度。
作业调度算法的关键是在已有的作业后备队列上按照一定的规则选择一个作业,如何在已有的数据结构上进行操作的问题。
10.页面置换算法目的:深入掌握内存调度算法的概念原理和实现方法。
设计要求:编写程序实现:(1)先进先出页面置换算法(FIFO)(2)最近最久未使用页面置换算法(LRU)(3)最佳置换页面置换算法(OPT)专题:设计一个虚拟存储区和内存工作区,编程序演示以上三种算法的具体实现过程,并计算访问命中率。
演示页面置换的三种算法。
通过随机数产生一个指令序列,将指令序列转换成为页地址流。
计算并输出各种算法在不同内存容量下的命中率。
11.售票员与乘客(信号量操作)目的:了解进程同步的概念,理解信号量机制的原理,掌握运用信号量解决进程同步问题的方法,进而学会运用进程的同步与互斥。
设计要求:编程序模拟车站售票厅内进程同步问题,售票厅任何时刻最多可容纳20名购票者进入,否则需要在外面等待。
每个购票者可看成一个进程。
12.生产者—消费者问题目的:掌握信号的使用方法和PV操作的定义,掌握使用PV操作实现进程之间同步与互斥的方法,加深对进程同步互斥概念的理解。
设计要求:设计一程序,由一个进程创建三个子进程,三个子进程一个是生产者进程,两个是消费者进程,父子进程都使用父进程创建的共享存储区进行通信,由生产者进程将一个数组中的十个数值发送到由5个缓冲区组成的共享内存中,两个消费者进程轮流接收并输出这十个数值,同时将两个消费者进程读出的数值进行累加求各和。
13.驱动调度目的:掌握驱动调度算法的原理设计要求:模拟电梯调度算法,实现对磁盘的驱动调度。
要求模拟设计一个驱动调度程序,观察驱动程序的动态运行过程。