杭电赵伟_华操作系统课程设计指导书

杭电赵伟_华操作系统课程设计指导书

ID:45597553

大小:99.34 KB

页数:58页

时间:2019-11-15

杭电赵伟_华操作系统课程设计指导书_第1页
杭电赵伟_华操作系统课程设计指导书_第2页
杭电赵伟_华操作系统课程设计指导书_第3页
杭电赵伟_华操作系统课程设计指导书_第4页
杭电赵伟_华操作系统课程设计指导书_第5页
资源描述:

《杭电赵伟_华操作系统课程设计指导书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、操作系统实验和课程设计总要求1・遵守机房纪律,服从机房调度。2・实验与课程设计的设计和上机调试要求独立完成,不能拷贝。3.上机前,努力准备上机内容,并预先作一些情况分析。4・仔细观察上机时出现的各种现象,记录上机的结果。5.认真书写实验和课程设计报告。报告中应包括:实验和课程设计的目的及要求、程序的设计思想及框图、程序的调试中遇到的问题的分析、程序的清单和结果分析以及程序的不足之处及修改方案。程序要带注释。实验一使用动态优先数的进程调度算法的模拟一.目的通过这-实验加深对进程、进程控制块和进程调度的理解,并通过动态优先数算法加深对进程调度算法的理解。二.要求1.用c语言来

2、实现有N(假设N为5)个进程的进程调度算法。2.每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段:(1)进程标识数id:整型(0——N-1)。(2)进程优先数priority:整型(优先数越大的进程,优先权越高)。(3)进程已占用的CPU时间cputime:整型(初值为0)。(4)进程还需占用的CPU时间alltime:整型(进程运行完毕时变为0)。(5)进程的阻塞时间startblock:整型(即当进程再运行startblock个时间片后,进程将进入阻塞状态。)(6)进程被阻塞的时间blocktime:整型(即己阻塞的进程再等待blocktime个时间片后,

3、将转换成就绪态。)(7)进程状态state:整型(0--finished;1--running;2--ready;3--blocked)。(8)队列指针next:指向PCB结构的指针,用来将PCB排成队列。3.优先数改变的原则:(1)进程在就绪队列中呆一个时间片,优先数增加1。(2)进程每运行一个时间片,优先数减3。4.为了清楚地观察诸进程的调度过程,程序应将每个吋间片内的进程的情况显示11!來,参照的具体格式如下:RUNNINGPROG:iREADY_QUEUE:->idl->id2BLOCKQUEUE:->id3->ld4ID01234PRIORITYP0PlP2P3

4、P4CPUTIMECOCl02C3C4ALLTIMEAOAlA2A3A4STARTBLOCKTOT1T2T3T4BLOCKTTMEBOBlB2B3B4STATESOSIS2S3S4一.初始值1D01234PRIORITY93830290CPUTIME00000ALLTTME33634STARTBLOCK2-1-1-1-1BLOCKTIME30000STATEREADYREADYREADYREADYREADY四•备注以上所有时间都以时间片为单位,并假设N个进程都是在开始调度时同时到达的。五.思考1.这里采用的两条优先数改变原则各冇什么理由?实验二遍历MS_DOS系统的MCB

5、链一.补充知识MS_DOS控制的RAM空间分为操作系统区和暂驻程序区(TPA)。操作系统区位于RAM的底部,其屮有屮断向量表、操作系统全部及其表格和缓冲区等信息;RAM屮操作系统之上的其余部分为TPA区,该区域为可动态分配的内存。TPA中的每个内存块的大小都以节(16字节)为单位,而且必须以节为边界,故每个内存块的起始地址可以xxxx:OOOO來表示,其中xxxx为段地址。TPA中的每个内存块前都有一个相应的内存控制块MCB,它占一节长,DOS通过这些MCB来管理内存。用户可以通过DOS的系统功能调用来申请或释放其小的一块内存。MCB的结构如下:字节0:标识字符,“Z”(

6、5AH)表示最后一个内存块;“M”(4DH)表示非最后一个内存块。字节1一2:内存块的所有者名,如果内存块为空闲的,则它的值为OOOOh,否则它的值为所有者进程的程序段前缀(PSP)的段址。字节3-4:它控制的内存块的大小(以节为单位),这一大小并不包括MCB本身占用的那一节。字节5-7:保留未用。字节8-15:在D0S4.X以上的版本屮,为所有者程序的文件名。该名字仅包含在所有者程序的PSP所在的内存块前的MCB中,否则,这8个字节将被忽略。第一个MCB总是用來控制DOS自身数据段的,它的所有者名通常为0008h。它的段址位于DOS内存变量表中偏移值为一2处。通过52h

7、系统功能调用,我们可以从返回的ES:BX中得到DOS内存变量表的指针,所以从ES:[BX-2]处就得到第一个MCB的段地址。若一个MCB的标识字节为〃Z〃,表示它是最后一个MCB;否则若它的标识字节为〃『,表示它后面还有其他的MCB,本MCB的段地址加上它所控制的内存块的大小(字节3-4的内容),再加上1(MCB本身所占的一节内存),得到的值即下一个MCB的段地址。这样,我们可以看出,所有的内存块都通过MCB按起始地址从小到大隐式地连成一个链,我们不妨称它为MCB链oDOS的49h号系统功能调用是用来释放由MCB控制的一个内存

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。