计算机操作系统课程设计课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机操作系统课程设计课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 课程设计 课件
- 资源描述:
-
1、计算机操作系统课程设计计算机操作系统课程设计文志强计算机与通信学院课程设计内容n任务任务1 进程管理演示进程管理演示n任务任务2 存储管理系统设计存储管理系统设计 n任务任务3 编程序模拟银行家算法编程序模拟银行家算法 n任务任务4 磁盘调度算法的实现与分析磁盘调度算法的实现与分析 n任务任务5 文件系统演示文件系统演示 任务1 进程管理演示 n课程设计内容课程设计内容设计一个允许设计一个允许n个进程并发运行的进程管理模拟系统。个进程并发运行的进程管理模拟系统。运行队列运行队列PCBi就绪队列就绪队列PCBjPCBj1PCBj1阻塞队列阻塞队列PCBkPCBk1PCBk1接收进程接收进程就绪队
2、列就绪队列1 1就绪队列就绪队列2 2 .就绪队列就绪队列n超时超时事件事件1 1发生发生事件事件2 2发生发生等待事件等待事件1 1等事件等事件2 2.处理机处理机终止进程终止进程事件事件m发生发生等事件等事件m m现代操作系统中进程状态表示方法: PCB进程控制块进程控制块 其中包括参数其中包括参数进程名进程名name;要求运行时间要求运行时间 runtime;优先级优先级 prior;状态状态 state;已运行时间已运行时间runedtime等。等。 为简单起见,只设运行队列,就绪链表,阻塞队列三种数据结为简单起见,只设运行队列,就绪链表,阻塞队列三种数据结构,进程的调度在这两个队列中
3、切换,构,进程的调度在这两个队列中切换, 每个进程运行时间随机产生,为每个进程运行时间随机产生,为120之间的整数。之间的整数。 时间片的大小由实验者自己定义,可为时间片的大小由实验者自己定义,可为3或或5,优先级也可以随,优先级也可以随机产生。机产生。 各进程之间有一定的同步关系(可选),注意进程状态转换的各进程之间有一定的同步关系(可选),注意进程状态转换的时机。时机。任务2 存储管理系统设计实验内容:采用一些常用的存储器分配算法,设计一个实验内容:采用一些常用的存储器分配算法,设计一个请求页式存储管理模拟系统并调试运行。请求页式存储管理模拟系统并调试运行。 (1 1)通过随机数产生一个指
4、令序列,共通过随机数产生一个指令序列,共320条指令。指令的地址按条指令。指令的地址按下述原则生成(可选,也可随机产生):下述原则生成(可选,也可随机产生): 50%的指令是顺序执行的;的指令是顺序执行的; 25%的指令是均匀分布在前地址部分;的指令是均匀分布在前地址部分; 25%的指令是均匀分布在后地址部分;的指令是均匀分布在后地址部分;具体的实施方法是:具体的实施方法是: 在在0,319的指令地址之间随机选取一起点的指令地址之间随机选取一起点m; 顺序执行一条指令,即执行地址为顺序执行一条指令,即执行地址为m+1的指令;的指令; 在前地址在前地址0,m+1中随机选取一条指令并执行,该指令地
5、址为中随机选取一条指令并执行,该指令地址为m; 顺序执行一条指令,其地址为顺序执行一条指令,其地址为m+1; 在后地址在后地址m+2,319中随机选取一条指令并执行;中随机选取一条指令并执行; 重复上述步骤重复上述步骤,直到执行,直到执行320次指令。次指令。(2 2) 将指令序列变成为页地址流将指令序列变成为页地址流设:设: 页面大小为页面大小为1k1k; 用户内存容量分别为用户内存容量分别为4 4页到页到3232页;页; 用户虚存容量为用户虚存容量为32k32k。在用户虚存中,按每在用户虚存中,按每k k存放存放1010条指令排列虚存地址,即条指令排列虚存地址,即320320条指令在虚条指
6、令在虚存中的存放方式为:存中的存放方式为:第第0 0条条- -第第9 9条指令为第条指令为第0 0页(对应虚存地址为页(对应虚存地址为00,99););第第1010条条- -第第1919条指令为第条指令为第1 1页(对应许存地址为页(对应许存地址为1010,1919);); . .第第310310条条- -第第319319条指令为第条指令为第3131页(对应许存地址为页(对应许存地址为310310,319319););按以上方式,用户指令可组成按以上方式,用户指令可组成3232页。页。(3 3) 计算并输出下述各种算法在不同内存容量下的命中率计算并输出下述各种算法在不同内存容量下的命中率 。
7、先进先出的算法(先进先出的算法(FIFOFIFO);); 页面失效次数页面失效次数 命中率命中率= 1- = 1- 页地址流长度页地址流长度 在本次实验中,页地址长度为在本次实验中,页地址长度为320320,页面失效次数为每次访,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。问相应指令时,该指令所对应的页不在内存的次数。 3 3随机数产生办法随机数产生办法 关于随机数产生法,系统提供函数关于随机数产生法,系统提供函数srand()和和rand(),分别进行初始化和产生随机数。例如:,分别进行初始化和产生随机数。例如: srand();语句可初始化一个随机数;语句可初始化一个
8、随机数; a0=rand()%320; a1=rand()%a0; S= a1+ rand()%(a0- a1) 语句可用来产生语句可用来产生a0与与a1中的随机数。中的随机数。 整个算法的思想整个算法的思想见下页见下页 i pn pfn 31 31 -1 30 30 -10 0 -1 1 1 -12 2 -1 3 3 -1 4 4 -1 6 6 -1 7 7 -1 5 5 -1 29 29 -1 28 28 -1 27 27 -1 pn pfn nextpn pfn next 0123页页表表结结构构空闲物理页框空闲物理页框初始状态初始状态freefp_headfreefp_headpnpn
9、表示页号;表示页号;pfnpfn表示有效位,当页帧不表示有效位,当页帧不在内存时为在内存时为1 1,否则为指,否则为指向其内存地址。向其内存地址。 6 6 -1 i pn pfn 31 31 -1 30 30 -10 0 -1 1 1 -12 2 -1 3 3 -1 4 4 -1 6 6 0 7 7 -1 5 5 -1 29 29 -1 28 28 -1 27 27 -1 pn pfn nextpn pfn next 0123页页表表结结构构空闲物理页框空闲物理页框第一次分配第一次分配freefp_headfreefp_head 6 6 Busypf_headBusypf_headBusypf
10、_tailBusypf_tail27 27 -1 i pn pfn 31 31 -1 30 30 -10 0 -1 1 1 -12 2 -1 3 3 -1 4 4 -1 6 6 0 7 7 -1 5 5 -1 29 29 -1 28 28 -1 27 27 1 pn pfn nextpn pfn next 027 1 23页页表表结结构构空闲物理页框空闲物理页框第二次分配第二次分配freefp_headfreefp_head 6 6Busypf_headBusypf_headBusypf_tailBusypf_tail28 28 -1 i pn pfn 31 31 -1 30 30 -10 0
11、 -1 1 1 -12 2 -1 3 3 -1 4 4 -1 6 6 0 7 7 -1 5 5 -1 29 29 -1 28 28 2 27 27 1 pn pfn nextpn pfn next 027 128 2 3页页表表结结构构空闲物理页框空闲物理页框第三次分配第三次分配freefp_headfreefp_head 6 6Busypf_headBusypf_headBusypf_tailBusypf_tail30 30 -1 i pn pfn 31 31 -1 30 30 30 0 -1 1 1 -12 2 -1 3 3 -1 4 4 -1 6 6 0 7 7 -1 5 5 -1 29
12、 29 -1 28 28 2 27 27 1 pn pfn nextpn pfn next 027 128 230 3 页页表表结结构构空闲物理页框空闲物理页框第四次分配第四次分配freefp_headfreefp_head 6 6Busypf_headBusypf_headBusypf_tailBusypf_tail第五次分配第五次分配 2 2 -1 i pn pfn 31 31 -1 30 30 30 0 -1 1 1 -12 2 -1 3 3 -1 4 4 -1 6 6 -1 7 7 -1 5 5 -1 29 29 -1 28 28 2 27 27 1 pn pfn nextpn pfn
13、 next 027 128 230 3 页页表表结结构构空闲物理页框空闲物理页框第五次第五次,淘汰一页淘汰一页freefp_headfreefp_head 6 6 Busypf_headBusypf_headBusypf_tailBusypf_tail 2 2 -1 i pn pfn 31 31 -1 30 30 30 0 -1 1 1 -12 2 0 3 3 -1 4 4 -1 6 6 -1 7 7 -1 5 5 -1 29 29 -1 28 28 2 27 27 1 pn pfn nextpn pfn next 027 128 230 3 页页表表结结构构空闲物理页框空闲物理页框第五次第五
14、次,分配一页分配一页freefp_headfreefp_head 2 2 Busypf_headBusypf_headBusypf_tailBusypf_tail扩展的银行家算法描述扩展的银行家算法描述n为系统中的进程个数。为系统中的进程个数。m为系统中的资源类型数。为系统中的资源类型数。Available(j)=k表示有表示有k个未分配的个未分配的j类类资源。资源。如:如: Available(9,3,6)。Max(i,j)=k表示第表示第i个进程对第个进程对第j类资源的最大申请量为类资源的最大申请量为k.r1 r2 r3 224413316223P1P2P3P4任务3 编程序模拟银行家算法
15、 n编制银行家算法程序,并检测所给状态的系统安全性。编制银行家算法程序,并检测所给状态的系统安全性。 。Allocation(i,j)=k表示进程表示进程i已占有已占有k个个j类资源。类资源。Need(i,j)=k表示第表示第i个进程以个进程以后还需要后还需要k个第个第j类资源。显类资源。显然然Need=Max-Allocation。Request(i,j)=k表表示进程示进程i申请申请k个第个第j类资源。类资源。r1 r2 r3 200112115001P1P2P3P4r1 r2 r3 024301201222P1P2P3P4资源分配程序的工作过程描述:资源分配程序的工作过程描述: 基本思想
16、:基本思想:当进程提出资源申请时,系统当进程提出资源申请时,系统首先检查该进程对资源的申请量是否超过首先检查该进程对资源的申请量是否超过其最大需求量,以及系统现有资源能否满其最大需求量,以及系统现有资源能否满足进程需要。若能,则进一步检查:若把足进程需要。若能,则进一步检查:若把资源分给该进程,系统能否处于安全状态?资源分给该进程,系统能否处于安全状态?若安全则分配,否则置该进程为等待资源若安全则分配,否则置该进程为等待资源状态。状态。 为简单起见,记为简单起见,记Ai为为A(i,1),A(i,2),A(i,m),其,其中中A为为nm矩阵。矩阵。 定义长度为定义长度为m的向量的向量X,Y间的关
17、系为:间的关系为: XY当且仅当当且仅当X(i)Y(i)(i=1,2,m) 1.1.如果如果RequestRequesti iNeedNeedi i则报错返回。则报错返回。 2.2.如果如果RequestRequesti iAvailable,Available,则进程则进程i i进入等待进入等待资源状态,返回。资源状态,返回。 3.3.假设进程假设进程i i的申请已获准,于是修改系统状的申请已获准,于是修改系统状态:态:Available =Available - RequestAvailable =Available - Requesti i AllocationAllocationi i
18、= Allocation= Allocationi i + Request + Requesti i Need Needi i = Need = Needi i - Request - Requesti i 4. 4.调用安全状态检查算法。调用安全状态检查算法。设进程设进程i i申请资源,申请资源向量为申请资源,申请资源向量为RequestRequesti i,则有如下的资源分配过程:,则有如下的资源分配过程:(续)(续) 5.5.若系统处于安全状态,则将进程若系统处于安全状态,则将进程i i申请的申请的资源分配给进程资源分配给进程i i,返回。,返回。 6.6.若系统处于不安全状态,则进程若
展开阅读全文