操作系统实验 第一期 项目开发实现 实 验 名 称 EXP.1 CPU Scheduling Exp.2 Allocation & Reclaim 实 验 内 容 一,选择一个调度算法,实现处理机调度; 二,处理机调度过程中,主存储器空间的分配和回收; 实 验 目的 一,多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作; 二,帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收; 实 验 题目 一,(1)设计一个按照优先权调度算法实现处理机调度的程序; (2)设计按时间片轮转实现处理机调度的程序; 二,在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收; 实 验 要求 一,(a),PCB 内容: 进程名/PID; 要求运行时间(单位时间); 优先权; 状态; PCB指针; ——(因课程内容原因,这个指针在设计中没用) 1,可随机输入若干进程,并按优先权排序; 2,从就绪队列首选进程运行:优先权-1/ 要求运行时间-1;要求运行时间=0 时,撤销该进程; 3,重新排序,进行下一轮调度; (b),最好采用图形界面; (c),可随时增加进程; (d),规定道数,设置后备队列和挂起状态。若内存中进程数少于规定道数,可自动从后备队列调度一作业进入。被挂起进程如=入挂起队列,设置解挂功能用于将指定挂起进程解挂入就绪队列; (e),每次调度后,显示各进程状态; 二,(a),自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) (b),结合实验一,PCB 增加为:{PID,要求运行时间,优先权,状态,所需内存大小,主存起始位置,PCB 指针(失效)}; (C)采用最先适应算法分配主存空间; (D),进程完成后,回收主存,并与相邻空闲分区合并; 实 验 过 程 及 分析 1, 初步设计: 2, 详细设计: (a),操作系统知识回顾: (1)作业进入内存中,由 CPU 分配产生 PCB 属性,并通过 PCB 记录进程状态,实验即以 PCB 代表进程模拟调度过程; (2)在多道系统中,多道系统中,当就绪进程数大于处理机数时,须按照某种策 略决定哪些进程优先占用处理机,本实验采用优先级; (3),进程调度时,规定若就绪队列进程数少于6 个,则自动从后备队列调入一个作业; (4),系统会将占有较多资源、预期结果不符合要求的进程自动挂起,...