教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

操作系统课程设计任务书(2)

来源:网络收集 时间:2026-09-05
导读: 2、具体设计要求及有关说明 选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。并假定初始状态为就绪状态。 设计进程控制块结构如下: P

2、具体设计要求及有关说明

选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。并假定初始状态为就绪状态。 设计进程控制块结构如下:

PCB:

NAME

PRIO/ROUND

CPUTIME

COUNT

NEEDTIME

STATE

NEXT

其中:

NAME——进程标识符;

PRIO——进程优先数;

ROUND——进程轮转时间片;

CPUTIME——进程占用CPU时间;

COUNT——计数器;

NEEDTIME——进程到完成还要的CPU时间;

STATE——进程的状态;

NEXT——链指针。

进程控制块链结构如插图。其中:

RUN——当前运行进程指针;

READY——就绪队列头指针;

TAIL——就绪队列尾指针;

FINISH——完成队列头指针。

为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数以及进程需运行的时间片数的初值均由用户给定。

3、程序设计算法:

(2)程序结构说明如下: (1)在优先数算法中,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。在轮转法中,采用固定时间片,时间片数为2,进程每执行一次,CPU时间片数加2,进程还需要的时间片数减2,并排到就绪队列的尾上。

整个程序由INSERT1, INSERT2, FIRSTIN, PRINT, CREATE, PRISCH和ROUNDSCH过程组

成。其中:

INSERT1的功能是把还未完成且优先数小于别的进程PCB按进程优先数的顺序插入到就绪队列中。

INSERT2是轮转法使用的过程,将执行了一个单位时间片数(为2)且还未完成的进程的PCB插入到就绪队列的队尾。

FIRSTIN的功能是将就绪队列中的第一个进程投入运行。

PRINT打印每执行一次后的所有进程的状态,这里,就绪(等待)用“W”代表。 CREATE的功能是创建新的进程,即创立进程的PCB,并将此PCB链入到就绪队列中去。

PRISCH按优先数算法调度进程。

ROUNDSCH按时间片轮转法调度进程。

主程序中定义了PCB的结构和其它变量NUMBER——进程数,ALGO为10个字符长的字符串,存放要求输入的算法的名,PRIORITY为优先数算法,ROUNDROBIN为循环轮转法,在程序运行时输入其中的一个。

课题八:多道程序缓冲区协调操作

如下图所示,有10个PUT操作要不断循环地向Buffer1送数据,有一个Move操作要不断地将Buffer1的数据取到Buffer2,有20个GET操作要不断地从Buff2中取数据。BUFF1是10,BUFF2的容量是20, PUT、 MOVE、 GET每次操作一个数据,为了在操作的过程中要保证数据不丢失,每个Buffer每次只能接受一个PUT或一个Move或一个Get,多个操作不能同时操作同一BUFFER。设计一个多道程序完成上述操作。

试用P、V原语协调PUT、 MOVE、GET的操作,并说明每个信号量的含义、初值和值的范围。

PUT MOVE GET

1、基本功能要求

(1) 显示Buffer的操作过程;

(2) 可以确定Buffer的容量、PUT、GET、MOVE操作的个数;

(3) 自行确定放数据的速度,取数据的速度;

(4) 实时显示每个Buffer中数据的个数,已放入Buffer的数据个数,已取的数据个数;

(5) 程序运行结束,显示汇总数据:

a) 总的运行时间;

b) Buffer中数据的个数;

c) 已放入BUFFER的数据个数;

d) 已放已取的数据个数;

e) 平均buffer中的数据个数。

f) 。。。。。。

课题九、磁盘调度算法

1、设计要求:

要求设计一个程序,该程序模拟操作系统的磁盘调度。模拟仿真FCFS、SSTF、SCAN、CSCAN等磁盘调度算法,并对各算法进行性能分析。应提供良好的测试界面及测试方法。提供全面的输出结果。

2、实验原理

磁盘可供多个进程共享,当有多个进程要求访问磁盘时,应采用一种调度算法,以使进程对磁盘的平均访问时间最小,由于在访问磁盘的时间中,主要是寻道时间,因此磁盘调度的目标就是使磁盘的平均寻道时间最短。

选题十:动态资源分配算法演示程序

1、设计目的:主要用于解决多种资源被多个独立执行的进程使用的安全算法。该算法采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。

2、设计要求:

1) 资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资

源的需求

2) 可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化

3) 在资源分配过程中可以随时进行系统安全状态检测

4) 如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有

资源分配后能够自行释放所有资源,退出资源竞争

5) 要求进行安全性检查时按指定策略顺序进行,即按每个进程当前Need数由小至大进

行排序,如果Need数相同,则按序号由小至大进行排序;

6) 具有一定的数据容错性

选题十一:通用处理机调度演示程序

1、设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,也就是能运行的进程数大于处理机个数,为了使系统中的进程有条不紊地工作,必须选用某种调度策略,在一定的时机选择一个进程占有处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。

2、设计要求(多道、单处理机):

1) 进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优

先权优先调度算法、高响应比调度算法

2) 每一个进程有一个PCB,其内容可以根据具体情况设定。

3) 进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定

4) 可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长

度、作业大小、进程优先级的初始化

5) 可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间

的同步关系,故只有两种状态)

6) 采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相

应的阻塞队列

7) 有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间

8) 具有一定的数据容错性

选题十二:采用最低松弛度优先调度的实时系统调度程序

1、设计目的:在实时系统中,要保证在指定的时间完成指定的任务,通常会采用抢占式的调度方式。要求采用指定的调度算法,使系统中的任务能够按时完成,通过观察中系统中的抢占点,以巩固和加深对实时系统调度算法的理解。

2、设计要求:

1) 每一个周期性实时任务必须指定周期长度与执行时间

2) 可以在界面安排周期性实时任务的个数与相关的指标值,又及要求仿真的时间长度

m3) 系统可又对设定的任务条件进行检查,如果无法满足公式 Ci 1 的要求,则弹

出相应的错误提示,并重新进入任务安排界面 i 1Pi

4) 可读取样例数据(要求存放在外部文件中)进行周期性实时任务数、周期长度、执

行时间的初始化

5) 采用可视化界面,数据载入后按最低松弛度算法进行调度,可以在运行中动态显示

各进程的状态:就绪、执行、完成< …… 此处隐藏:2703字,全部文档内容请下载后查看。喜欢就下载吧 ……

操作系统课程设计任务书(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/135860.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)