《操作系统》课程设计
学****完《操作系统》课程,通过一个具体的课程设计实践,可使学生对操作系统原理有更进一步的理解与应用,通过设计对操作系统有一个实现的尝试和创新的思维,同时发挥团队协作精神和个人创造能力。
选题:以下二题可任选一个。
分组:每组不可超过四人(包括四个),每组指定一个组长,每人设计系统中的一部分,集体协商整合。组长能够在设计过程中,能有效的组织和协调各个阶段的任务及融合。
要求:界面自行设计,语言自行选择。每组需写一份课程设计报告,内容包括:小组成员及分工,系统采用的语言、支撑平台、程序的模块功能分析、程序的流程图、程序功能段的说明及代码解释;实验体会与软件评价。报告提交后,将系统代码及说明压缩成文件以所有组员学号组合命名发于指定邮箱(chd_james@)。(如:24060801+01020304(班号+四个组员学号)。
题目一:支持多个进程(线程)并发运行的简单进程(线程)管理模拟系统
学****进程管理的设计与实现,学****和运用操作系统原理,设计一个操作系统子系统的模拟系统。通过该系统的设计调试可增加对操作系统实现的感知性。设计一个允许n个进程并发运行的进程管理的模拟系统。该系统包括简单的进程控制、同步及通信机构,其进程调度算法可任意选择。分析系统所需的数据结构、算法的流程以及化分各个功能模块。
进程管理包括进程的创建、控制、阻塞、唤醒与撤消。进程在运行过程中状态在不断的变化。进程运行过程中,因为竞争资源而需对它们进行同步控制。所有这些在操作系统中用数据结构PCB来记录,系统通过PCB控制进程的运行。
在单处理机系统中,多道程序的引入,需要进程的调度程序来选择一个进程进行运行。比如常用的先来先服务、短进程优和优先级优先等等,也可以选择它们的结合调度算法。
题目二:文件系统设计
实验内容
通过一个简单的二级文件系统设计,加深对文件系统的内部功能以及内部实现的理解。要求模拟采用二级目录结构的磁盘文件系统的文件操作能实现以下几条命令,用输入命令来模拟用户程序中调用的文件操作:
Login 用户登录
Dir 列文件目录(列出文件名、物理地址、保护码和文件长度)
Create 创建文件
Delete 删除文件
Open 打开文件
Close 关闭文件
Read 读文件
Write 写文件
源文件可以进行读写保护
文件系统管理中用到的数据结构有:
①首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。
②用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并以编号作为物理地址,在目录中进行登记。
例://下例只是参考(每组可自行设计数据结构和程序功能,只需能演示进程管理的功能,如用多线程)
。
(1)问题描述
本系统的同步机构采用的信号量上的P、V操作的机制;控制机构包括阻塞和唤醒操作;时间片中断处理程序处理模拟的时间片中断;进程调度程序负责为各进程分配处理机。
:3个进程需要互斥使用临界资源s2,进程1和进程2又需互斥使用临界资源s1。本系统在运行过程中随机打印出各进程的状态变换过程,系统的调度过程及公共交量的变化情况。
(2)算法
系统为进程设置了5种运行状态:e——执行态;r——高就绪态;t——低就绪态(执行进程因时间片到限而转入):w——等待态;c——完成态。各进程的初始状态均设置为r。
系统分时执行各进程。通过产生随机数x来模拟时间片(每一个时间片并不相同)。当进程processl访问随机数x时,若x≥;ss2访问x时,若x<≥;当进程process3访问x时,若x<,则分别认为各进程的执行时间片到限,产生“时间片中断”面转入低就绪态t。
进程调度算法采用剥夺式最高优先数法。各进程的优先数通过键盘输入予以静态设置。调度程序每次总是选择优先数最小(优先权最高)的就绪进程投入执行。先从r状态进程中选择,再从t状态进程中选择。当现行进程唤醒某个等待进程,且被唤醒进程的比先数小于现行进程时,则剥夺现行进程的执行权。
各进程在使用临界资源s1和s2时,通过调用信号量sem1和sem2上的P、V操作来实现同步。阻塞和唤醒操作负责完成从进程的执行态到等待态以及从就绪态的转变。
系统启动后,在完成必要的系统初始化后便执行进程调度程序。当执行因“时间片中断”,或者被排斥使用临界资源,或唤醒某个等待进程时,立即进行进程调度。当3个进程都处于完成状态后,系统退出运行。
(3)数据结构
①每个进程一个PCB,内容:
id 进程标识
操作系统2011课程设计new 来自淘豆网www.taodocs.com转载请标明出处.