当前位置:文档之家› 操作系统课程设计论文

操作系统课程设计论文

学年论文(课程设计)题目:操作系统课程设计学院数学与计算机学院学科门类工学专业网络工程学号姓名指导教师王煜年月日河北大学学年论文(课程设计)任务书(指导教师用表)指导教师签字:系主任签字:主管教学院长签字:装订线河北大学学年论文(课程设计)成绩评定表学院:数学与计算机学院装订线摘要此系统实现了存储管理、设备管理和进程管理。

存储管理部分主要实现主存空间的分配和回收。

存储管理采用可移动的可变分区存储管理方式。

采用数组来模拟主存,大小为512个字节。

设备管理主要包括设备的分配和回收。

模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。

设备分配时采用采用先来先服务策略。

设备回收时唤醒等待设备的进程。

进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。

其中硬件中的中央处理器用不断循环的函数CPU( )模拟,重要寄存器(如:程序状态寄存器PSW、指令寄存器IR)用全局变量模拟,中断的发现是在函数CPU中加检测PSW 的方式来模拟,时钟的模拟通过timer控件实现。

进程控制块的模拟通过数组,本系统最多容纳10个。

进程调度时采用时间片轮转调度算法,时间片为5。

关键词:存储管理设备管理进程管理时间片ABSTRACTThe system has storage management, equipment management and process management.The storage management has achieved the allocation and recovery of the main memory space. Variable storage management is used as storage management .We simulate the main memory by array, whose size is 512 bytes.The device management, including the distribution and recovery of devicet. We simulate three devices ,A,B,C. the numbers of them are 3,2,1. The distribution of device used to adopt first-come first-service strategy. It awakes the blocking process when the device is recycled.The process management, including scheduling ,creating revocation ,blocking and waking up the process, the realization of the interruption.We simulate the central processing unit by the cycling function named CPU(),simulate the important register by global variable, simulate the recovering of interruption by checking PSW in the function of CPU(),simulate the clock by the timer control. The simulation of the process control block by array, whose number is up to 10. When the scheduling of the process happens, we use the algorithm of time piece rotation scheduling, and the time piece is 5.Key words: storage device process time目录一引言 (1)1.1 性质 (1)1.2教学目的 (1)1.3任务和要求 (1)1.4意义 (1)1.5论文结构安排 (1)二系统分析与设计 (2)2.1.存储管理的要求 (2)2.2设备管理的要求 (2)2.3进程管理的要求 (2)2.3.1进程控制块 (2)2.3.2进程调度 (2)2.3.3进程创建 (3)2.3.4进程撤销 (3)2.3.5进程阻塞 (3)2.3.6进程的唤醒 (3)2.3.7硬件工作的模拟 (4)三系统实现 (4)3.1全局变量 (4)3.2内存分配 (5)3.3内存回收 (7)3.4创建进程 (8)3.5撤销进程 (10)3.6进程调度 (11)3.7设备申请 (12)3.8进程阻塞 (15)3.9进程唤醒 (17)3.10 CPU函数 (19)四结束语 (25)一引言1.1 性质操作系统是计算机科学与技术专业的主要专业基础课和主干课。

操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。

本课程使学生掌握操作系统的基本概念、基本原理、设计方法和实现技术,具有初步分析实际操作系统的能力,训练分析和解决实际问题能力,为其今后在相关领域开展工作打下坚实的基础。

1.2教学目的本科程通过模拟操作系统原理的实现,应使学生加深对操作系统工作原理和操作系统实现方法的理解,系统科学地受到分析问题和解决问题的训练,提高运用理论知识解决实际问题的能力。

为学生从事科学研究和独立负担计算机及其应用方面的工作打好扎实的基础。

1.3任务和要求此系统为基于时间片轮转调度算法的进程管理系统,主要实现存储管理,设备管理和进程管理。

存储管理部分主要实现主存空间的分配和回收、存储保护。

设备管理主要包括设备的分配和回收。

进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。

1.4意义通过本模拟系统的设计,可以加深学生对操作系统的原理的理解,明白操作系统的各项功能的具体实现和具体操作,提高学生的动手能力。

1.5论文结构安排第二章为系统分析与设计,写出系统要求,分析出包含哪些功能模块、每个模块的计划采用的实现方法和原理。

第三章为系统实现,写出主要模块的实现,包括全局变量说明和主要功能的实现流程。

第四章为结束语,总结课程设计的体会。

二系统分析与设计2.1.存储管理的要求存储管理部分主要实现主存空间的分配和回收、存储保护。

模拟系统中,内存部分分为两部分,一部分是系统区,这里只存放进程控制块,一部分是用户区,这里主要是对用户区的管理。

系统区包括pcb区域、主存空间分配表。

存储管理采用可移动的可变分区存储管理方式。

采用数组来模拟主存的用户区,每个数组元素占用一个字节。

实验中主存大小为512个字节2.2设备管理的要求设备管理主要包括设备的分配和回收。

模拟系统中有A、B、C三种独占型设备,A设备3个,B设备2个,C设备1个。

设备分配时,采用先来先服务策略。

回收设备后,要注意唤醒等待设备的进程。

2.3进程管理的要求进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。

2.3.1进程控制块进程控制块内容包括进程标识符、主要寄存器内容、进程状态、阻塞原因等等。

本模拟系统最多容纳10个进程块。

pcb区域用数组模拟。

进程控制块根据内容的不同组成不同的队列,空白进程控制块链、就绪队列和阻塞队列,正在运行的进程只有一个,系统初始时只有空白进程控制块链。

2.3.2进程调度采用时间片轮转调度算法,时间片为5。

进程调度函数的主要工作是:第一步,将正在运行的进程保存在该进程对应进程控制块中;第二步,从就绪队列中选择一个进程;第三步,将这个进程中进程控制块中记录的各寄存器内容恢复到CPU各个寄存器内。

2.3.3进程创建进程创建creat的主要工作是:第一步,申请空白进程控制块;第二步,申请主存空间,申请成功,装入主存;第三步,初始化进程控制块;第四步,将进程链入就绪队列,根据情况决定是否转向进程调度。

2.3.4进程撤销进程撤销destory的主要工作是:第一步,回收进程所占内存资源;第二步,回收进程控制块;第三步,在屏幕上显示进程执行结果,进程撤销2.3.5进程阻塞进程阻塞block的主要工作是:第一步,保存运行进程的CPU现场;第二步,修改进程状态;第三步,将进程链入对应的阻塞队列,然后转向进程调度。

2.3.6进程的唤醒进程唤醒的主要工作是第一步,将进程由阻塞队列中摘下;第二步,修改进程状态为就绪;第三步,链入就绪队列,根据情况决定是否转向进程调度。

2.3.7硬件工作的模拟硬件工作的模拟包括中央处理器的模拟、主要寄存器的模拟、中断的模拟和时钟的模拟四方面。

①中央处理器的模拟。

用函数CPU( )(该函数不能有参数)模拟中央处理器。

该函数主要负责解释“可执行文件”中的命令。

如:给x赋值x=?;x自加x++;x自减x--;申请设备和时间!??;程序结束end;CPU只能解释指令寄存器IR中的指令。

一个进程的运行时要根据进程执行的位置,将对应的指令存放到指令寄存器中。

②主要寄存器的模拟用全局变量模拟重要寄存器,如cpu重要寄存器,程序状态寄存器PSW、指令寄存器IR,程序计数器PC,数据缓冲寄存器DR等。

③中断的模拟。

中断的发现应该是硬件的工作,这里在函数CPU中加检测PSW的方式来模拟。

在CPU()函数中,每执行一条指令之前,先检查PSW,判断有无中断,若有进行中断处理,然后再运行解释指令。

CPU函数应该不断循环执行的。

模拟中断的种类有如下几种:程序结束、时间片到、I/O中断。

程序结束(执行指令end形成的中断,软中断):将结果写入文件out,其中包括文件路径名和x的值,调用进程撤销原语撤销进程,然后进行进程调度;I/O中断(设备完成输入输出):将输入输出完成的进程唤醒,将等待该设备的一个进程同时唤醒。

时钟中断:进程时间片用完,转为就绪,重新进程调度。

④时钟的模拟。

系统中的绝对时钟和相对时钟用全局变量模拟。

系统时钟用来记录开机以后的时间。

这里的系统时钟并不是计算机的真正的时钟,这里所说的时间只是一个单位,例如使用vb中的时钟控件实现,每触发一次timer事件,绝对时钟增1,表示增加一个时间单位,绝对时钟减1。

三系统实现3.1全局变量系统代码中定义了一些全局变量public struct PCB{public int ProcessID; //进程块的编号(0-9) public string ProcessName; //使用该进程块的进程名 public int PageAdress; //页表的首地址public int Sum; //页表的长度public int PC; //各个寄存器的状态 public string IR;public int DR;public Interrupt PSW;public int Pri; //优先级public int WaitTime; //要使用设备多长时间 public int GetDeviceTime; //获得设备的时间public int ExecuteTime; //开始执行的时间public DeviceType NeedDevice; //申请失败的设备类型 public DeviceType HaveDevice; //正在使用的设备类型 public int DN; //使用的是哪个设备 public string BlockReason; //阻塞的原因public int Next;}class CPU{public int PC;public int DR;public string IR;public Interrupt PSW;public Interrupt PSW1;public PCB[] PCBArray=new PCB[10];public DateTime XTTime;public int XDTime;public int White;public int Ready;public int Block;public int Execute;private DeviceType type;private int time;public OS.ClassFolder.MainRam ram = new MainRam();public OS.ClassFolder.Device Dev = new Device();3.2内存分配可变分区方式的内存分配流程如图3-1所示。

相关主题