《计算机操作系统》实验任务书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北电力大学
《计算机操作系统》实验任务书
电子与通信工程系
实验一基于动态优先权的进程调度
一实验目的
模拟基于动态优先进程调度算法的进程调度过程,加深对进程和进程调度的理解。
二实验内容
1 用C 语言实现对N个进程采用优先权优先算法的进程调度。
2 每个用来标示进程的进程控制块PCB用结构来描述,包括以下字段:
●进程标识数ID
●进程优先权数PRIORITY,规定数值越大,优先权越高
●进程已占的CPU 时间CPUTIME
●进程还需要占用CPU的时间ALLTIME,进程结束时,其值为0
●进程阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个
时间片后,进程将进入为阻塞状态
●进程被阻塞时间BLOCKTIME,表示已阻塞进程再等待
BLOCKTIME个时间片后,将转换为就绪状态
●进程状态STATE
●队列指针NEXT,用来将PCB 排成队列
3 优先权改变原则。
●进程在就绪队列中等待一个时间片,优先权值加1
●进程每运行一个时间片,优先权值减3
4 假设在调度前,系统有5个进程,它们的初始状态如下:
5 为了清楚的观察进程调度过程,程序应该显示每个时间片内各个进程的情况。
三思考题
1 在实际进程调度中,除了按调度算法选择下一个执行的进程外,还应该处理哪些工作?
2 分析优先权修改原则对进程调度结果的影响
实验二存储器的动态分区分配
一实验目的
掌握动态分区分配方式中使用的数据结构和分配算法,进一步加深对动态分区存储器管理方式及其实现过程的理解。
二实验内容
1 用C 语言实现对采用首次适应算法和最佳适应算法的动态分区分配过程ALLOC()和回收过程FREE(),其中空闲分区由空闲分区链来管理,进行分配时,系统优先使用空闲区底端空间。
2假设初始状态下,可用内存空间为640KB,并有下列请求序列:
请分别采用首次适应法和最佳适应法,对内存进行分配和回收,要求每次分配和回收后显示空闲内存分区链的情况。
三思考题
1 采用首次适应算法和最佳适应算法,对内存的分配和回收速度有什么不同影响?
2 如何解决因碎片而造成的内存分配速度降低的问题?