-《操作系统课程设计》指导书

-《操作系统课程设计》指导书

ID:11913598

大小:1006.00 KB

页数:133页

时间:2018-07-14

-《操作系统课程设计》指导书_第1页
-《操作系统课程设计》指导书_第2页
-《操作系统课程设计》指导书_第3页
-《操作系统课程设计》指导书_第4页
-《操作系统课程设计》指导书_第5页
资源描述:

《-《操作系统课程设计》指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《操作系统课程设计》指导书上海建桥学院信息技术学院二0一四年六月第133页共133页《操作系统课程设计》指导书目录课程设计任务(一):进程调度3一、目的与要求3二、示例4三、设计题6四、思考题7课程设计任务(二):请求页式存储管理8一、目的与要求8二、示例8三、设计题12四、思考题13程设计任务(三):文件操作与管理13一、目的与要求13二、示例14三、设计题18四、思考题18课程设计任务(四):死锁观察与避免20一、目的与要求20二、示例20三、设计题26四、思考题26课程设计任务(五):开放性课程设计题(学生自拟)27一、目的与要求27二、设计题27三、思考题27第

2、133页共133页课程设计任务(一):进程调度一、目的与要求1、目的进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。本任务要求学生独立地用C语言(或其它程序设计语言)编写和调试一个简单的进程调度程序。调度算法(如,简单轮转法和优先数法等)可任意选择或自行设计。以加深对进程调度和各种调度算法的理解。2、要求(1)设计一个有n个进程并行的进程调度程序。每个进程由一个进程控制块(PCB)表示。进程控制块通常应包含下述信息:进程名、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等,且可按调度算法的不同而增删。(2)调度程序可包含4~5种不同的

3、调度算法,运行时可任意选一种,以利于各种算法的分析比较。完成1种调度算法得基本分即60分,每增加1种加10分,满分100分。(3)系统应能显示各进程状态和参数的变化情况,便于观察诸进程的调度过程二、示例1、题目本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。进程控制块结构如下:PCB进程标识数链指针优先数/轮转时间片数占

4、用CPU时间片数进程所需时间片数进程状态第133页共133页进程控制块链结构如下:TAILRUN1…RHEAD3…W5…W2…W其中:RUN—当前运行进程指针;HEAD—进程就绪链链首指针;TAID—进程就绪链链尾指针。2、算法与框图(1)优先数法。进程就绪链按优先数大小从高到低排列,链首进程首先投入运行。每过一个时间片,运行进程所需运行的时间片数减1,说明它已运行了一个时间片,优先数也减3,理由是该进程如果在一个时间片中完成不了,优先级应该降低一级。接着比较现行进程和就绪链链首进程的优先数,如果仍是现行进程高或者相同,就让现行进程继续进行,否则,调度就绪链链首进程投入

5、运行。原运行进程再按其优先数大小插入就绪链,且改变它们对应的进程状态,直至所有进程都运行完各自的时间片数。(2)简单轮转法。进程就绪链按各进程进入的先后次序排列,进程每次占用处理机的轮转时间按其重要程度登入进程控制块中的轮转时间片数记录项(相当于优先数法的优先数记录项位置)。每过一个时间片,运行进程占用处理机的时间片数加1,然后比较占用处理机的时间片数是否与该进程的轮转时间片数相等,若相等说明已到达轮转时间,应将现运行进程排到就绪链末尾,调度链首进程占用处理机,且改变它们的进程状态,直至所有进程完成各自的时间片。(3)程序框图如下图1所示。第133页共133页图1进程调

6、度框图2、程序运行结果格式(1)程序运行结果格式TYPETHEALGORITHM:PRIORITYOUTPUTOFPRIORITY==============================RUNNINGPROC.WAITINGQUEUE3415==============================第133页共133页ID12345PRIORITY93830290CPUTIME00000ALLTIME33634STATEWRWWWNEXT53410==============================………………=======================

7、=======SYSTEMFINISHED(2)说明:程序启动后,屏幕上显示“TYPETHEALGORTITHM”,要求用户输入使用何种调度算法。本程序只编制了优先数法(“priority”)和简单轮转法(“RoundRobin”)两种。输入某一算法后,系统自动形成各进程控制块,实施该算法的进程调度算法,并打印各进程在调度过程中的状态和参数的变化。2、小结本任务用较简单的二种方法模拟进程调度,在进程运行时间和进程状态变化方面也做了简化,但已经能够反映进程调度的实质。本任务能加深对进程调度的理解和熟悉它的实施方法。三、设计题自行设计一个进程

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

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

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