收藏 分享(赏)

《操作系统存储管理与进程管理课程论文设计》.doc

上传人:dreamzhangning 文档编号:2789677 上传时间:2018-09-27 格式:DOC 页数:27 大小:265KB
下载 相关 举报
《操作系统存储管理与进程管理课程论文设计》.doc_第1页
第1页 / 共27页
《操作系统存储管理与进程管理课程论文设计》.doc_第2页
第2页 / 共27页
《操作系统存储管理与进程管理课程论文设计》.doc_第3页
第3页 / 共27页
《操作系统存储管理与进程管理课程论文设计》.doc_第4页
第4页 / 共27页
《操作系统存储管理与进程管理课程论文设计》.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、 学年论文(课程设计)题目: 操作系统存储管理与进程管理学 院 学科门类 工 学 2012 年 05 月 26 日2010 级操作系统论文(课程设计)操 作 系 统 存 储 管 理 与 进 程 管 理摘 要此 系 统 实 现 了 存 储 管 理 和 进 程 管 理 。存 储 管 理 部 分 主 要 实 现 主 存 空 间 的 分 配 和 回 收 。 存 储 管 理 采 用 可 移 动 的 可 变 分 区 存 储管 理 方 式 。 采 用 数 组 来 模 拟 主 存 , 大 小 为 512 个 字 节 。进 程 管 理 主 要 包 括 进 程 调 度 , 进 程 的 创 建 和 撤 销 、 进

2、程 的 阻 塞 和 唤 醒 , 中 断 作 用 的 实现 。 其 中 硬 件 中 的 中 央 处 理 器 用 不 断 循 环 的 函 数 CPU( )模 拟 , 重 要 寄 存 器 ( 如 : 程 序 状态 寄 存 器 PSW、 指 令 寄 存 器 IR) 用 全 局 变 量 模 拟 , 中 断 的 发 现 是 在 函 数 CPU 中 加 检 测 PSW的 方 式 来 模 拟 , 时 钟 的 模 拟 通 过 timer 控 件 实 现 。 进 程 控 制 块 的 模 拟 通 过 数 组 , 本 系 统 最多 容 纳 10 个 。 进 程 调 度 时 采 用 时 间 片 轮 转 调 度 算 法

3、, 时 间 片 为 5。关 键 词 : 存 储 管 理 ; 进 程 管 理 ; 时 间 片Operating system memory management and process managementABSTRACTObjective To determine whether treatment with atorvastatin, 80 mg/d, initiated 24 to 96 hours after an acute coronary syndrome, reduces death and nonfatal ischemic events.Design and Setting

4、A randomized, double-blind trial conducted from May 1997 to September 1999, with follow-up through 16 weeks at 122 clinical centers in Europe, North America, South Africa, and Australasia.Patients A total of 3086 adults aged 18 years or older with unstable angina or non-Q-wave acute myocardial infar

5、ction.Interventions Patients were stratified by center and randomly assigned to receive treatment with atorvastatin (80 mg/d) or matching placebo between 24 and 96 hours after hospital admission.Keywords: Storage management; Process management; Time slice2010 级操作系统论文(课程设计)目 录1 引言 .11.1 性质 .11.2 教学目的

6、 11.3 任务和要求 .11.4 意义 .11.5 论文结构安排 .1 系统分析与设计 22.1 此次课程设计总体把握 22.2 存储管理的要求 22.3 进程管理的要求 22.3.1 进程控制块 .22.3.3 进程创建 .22.3.4 进程撤销 .22.3.5 进程阻塞 .32.3.6 进程的唤醒 .33 系统实现 .43.1 全局变量 43.2 内存分配 53.3 内存回收 63.4 创建进程 73.5 撤销进程 83.6 进程调度 93.7 进程阻塞 103.8 CPU 函数 .124 结束语 15参考文献 .16致 谢 .172010 级操作系统论文(课程设计)11 引言1.1 性

7、质操作系统是计算机科学与技术专业的主要专业基础课和主干课。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。本课程使学生掌握操作系统的基本概念、基本原理、设计方法和实现技术,具有初步分析实际操作系统的能力 ,训练分析和解决实际问题能力,为其今后在相关领域开展工作打下坚实的基础。 1.2 教学目的本科程通过模拟操作系统原理的实现,应使学生加深对操作系统工作原理和操作系统实现方法的理解,系统科学地受到分析问题和解决问题的训练,提高运用理论知识解决实际问题的能力。为学生从事科学研究和独立负担计算机及其应用方面的工作打好扎实的基础

8、。1.3 任务和要求此系统为基于时间片轮转调度算法的进程管理系统,主要实现存储管理,设备管理和进程管理。存储管理部分主要实现主存空间的分配和回收、存储保护。设备管理主要包括设备的分配和回收。进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。1.4 意义通过本模拟系统的设计,可以加深学生对操作系统的原理的理解,明白操作系统的各项功能的具体实现和具体操作,提高学生的动手能力。1.5 论文结构安排第二章为系统分析与设计,写出系统要求,分析出包含哪些功能模块、每个模块的计划采用的实现方法和原理。第三章为系统实现,写出主要模块的实现,包括全局变量说明和主要功能的实现流程。第四

9、章为结束语,总结课程设计的体会。 系统分析与设计2.1 此次课程设计总体把握我此次主要实现的是对设备管理与进程管理,在设备管理中加入了一些小的知识点,如设备的分配,撤销,显示等等,对进程也是,有等待进程的管理,执行设备的管理,阻塞进程的管理,进程调度等2.2 存储管理的要求存储管理的功能在多道程序环境中,存储管理的目的是:一是提高资源的利用率,尽量满足多个用户对内存的要求,而是能方便用户使用内存。2.3 进程管理的要求进程管理主要包括进程调度,进程的创建和撤销、进程的阻塞和唤醒,中断作用的实现。2.3.1 进程控制块进程控制块内容包括进程标识符、主要寄存器内容、进程状态、阻塞原因等等。本模拟系

10、统最多容纳 10 个进程块。pcb 区域用数组模拟。进程控制块根据内容的不同组成不同的队列,空白进程控制块链、就绪队列和阻塞队列,正在运行的进程只有一个,系统初始时只有空白进程控制块链。2.3.2 进程调度采用时间片轮转调度算法,时间片为 5。 进程调度函数的主要工作是:第一步,将正在运行的进程保存在该进程对应进程控制块中;第二步,从就绪队列中选择一个进程;第三步,将这个进程中进程控制块中记录的各寄存器内容恢复到 CPU 各个寄存器内。2.3.3 进程创建进程创建 creat 的主要工作是:第一步,申请空白进程控制块;第二步,申请主存空间,申请成功,装入主存;第三步,初始化进程控制块;第四步,

11、将进程链入就绪队列,根据情况决定是否转向进程调度。2.3.4 进程撤销进程撤销 destory 的主要工作是:第一步,回收进程所占内存资源;第二步,回收进程控制块;2010 级操作系统论文(课程设计)3第三步,在屏幕上显示进程执行结果,进程撤销2.3.5 进程阻塞进程阻塞 block 的主要工作是:第一步,保存运行进程的 CPU 现场;第二步,修改进程状态;第三步,将进程链入对应的阻塞队列,然后转向进程调度。2.3.6 进程的唤醒进程唤醒的主要工作是第一步,将进程由阻塞队列中摘下;第二步,修改进程状态为就绪;第三步,链入就绪队列,根据情况决定是否转向进程调度。 系统实现3.1 全局变量系统代码

12、中定义了一些全局变量namespace myosclass PCBpublic string name = null;public string content =null;public int numberp = -1;/记录断点namespace myosclass Processstatic public void processcreate(int n)ReadyQ.readyqReadyQ.countp = new PCB();ReadyQ.readyqReadyQ.countp.name = MENUSTRUCTURE.fcbn.name + “.exe“;ReadyQ.ready

13、qReadyQ.countp.content = File.ReadAllText(“e:“ + MENUSTRUCTURE.fcbn.name + “.txt“);ReadyQ.countp+;static public void processdestory(int n)ReadyQ.readyqn.name = null;ReadyQ.readyqn.content = null;ReadyQ.readyqn.numberp = -1;public void processblock() public void processwakeup()2010 级操作系统论文(课程设计)5 nam

14、espace myosclass ReadyQpublic static PCB readyq = new PCB 8;public static int countp = 0;3.2 内存分配可变分区方式的内存分配流程如图 3-1 所示 空 闲 磁 快 结 束 开 始 对 所 需 空 间 进 行 分 配 否 图 3-1 内存分配算法流程图内存分配后,内存区颜色有改变。如图 3-2 所示图 3-2 内存分配后的界面显示3.3 内存回收归还内存区域的流程如图 3-3 所示。 开 始 要 回 收 作 业 yes no 结 束 结 束 作 业 归 还 未 找 到 文 件 对 其 进 行 回 收 图

15、3-3 内存回收后的界面显示内存回收后颜色恢复如图 3-4 所示。2010 级操作系统论文(课程设计)7图 3-4 内存回收后的界面显示3.4 创建进程当执行可执行文件时,把指令传过来,调用 creat 函数。private void Processsrun(string p)if (p.Contains(“!设备 1“)string arrayt1 = p.Split(1);butd1.BackColor = Color.Lime;if (p.Contains(“!设备 2“)string arrayt2 = p.Split(1);butd2.BackColor = Color.Lime;p

16、rivate void listBox1_SelectedIndexChanged(object sender, EventArgs e)/对应内容if (listBox1.SelectedItem != null)for (int n = 0; n ReadyQ.countp; n+)if (ReadyQ.readyqn.name != null)if (ReadyQ.readyqn.name.Equals(listBox1.SelectedItem)filecontent = ReadyQ.readyqn.content;string array0 = filecontent.Split(

17、;);for (int i = 0; i array0.Length; i+)listBox2.Items.Add(array0i);3.5 撤销进程进程结束时,即读到 end 指令后,传递指向当前正在运行的指针,撤销当前进程。public void destroy(int r)int a, i, t;t = reclaim(r);if (t = 0) /回收内存资源不成功MessageBox.Show(“内存资源回收不成功!“);else /回收内存资源成功,然后回收进程控制块a = DR; / 记录结果if (empty.tail = -1 pcbempty.head.next = -1;

18、else2010 级操作系统论文(课程设计)9pcbempty.tail.next = r;pcbr.next = -1;empty.tail = r;MessageBox.Show(“x=“ + a);if (ready.head = -1)for (i = 0; i 10; i+)readysi.Text = “;3.6 进程调度当前一进程结束时,CPU 会调度就绪队列中的进程。public int sheduling()int i, j, s, h;char a = new char4;if (ready.tail = -1 else /有进程可调度i = ready.head;/记录取

19、走的if (pcbready.head.next = -1)/就绪队列只有一个进程了,取走后为空ready.tail = ready.head = -1;else /就绪队列中不只剩下一个进程ready.head = pcbready.head.next;j = 0; /显示就绪队列中的进程h = ready.head;if (ready.head != -1)/有进程while (pcbh.next != -1)/不是唯一的readysj.Text = pcbh.name.ToString();h = pcbh.next;j+;readysj.Text = pcbh.name.ToStrin

20、g();j+;for (s = j; s 10; s+)readyss.Text = “;TIME = 5;/设置时间片textBox12.Text = TIME.ToString();timer3.Enabled = true;/控制时间片的/恢复该进程现场信息AX = pcbi.ax;BX = pcbi.bx;CX = pcbi.cx;DX = pcbi.dx;PC = pcbi.pc;DR = pcbi.dr;run = i; /修改指向运行进程的指针 runreturn 1;3.7 进程阻塞进程申请设备不够时,则阻塞该进程。public void block(int r, char e

21、quipment)int j, h, s;/保存现场信息pcbr.dr = DR;2010 级操作系统论文(课程设计)11pcbr.ax = AX;pcbr.bx = BX;pcbr.cx = CX;pcbr.dx = DX;pcbr.pc = PC;pcbr.reason = equipment; /填写阻塞原因/将进程链入阻塞队列if (wait.tail = -1 pcbwait.tail.next = -1;elsepcbwait.tail.name = run;pcbrun.next = -1;wait.tail = run;/转入新的进程调度run = -1;/阻塞队列的显示j =

22、 0;h = wait.head;if (wait.head != -1)/不空while (pcbh.next != -1)waitsnj.Text = pcbh.name.ToString();waitsrj.Text = “缺少设备“ + pcbh.reason.ToString();h = pcbh.next;j+;waitsnj.Text = pcbh.name.ToString();waitsrj.Text = “缺少设备“ + pcbh.reason.ToString();j+;for (s = j; s 10; s+)waitsns.Text = “;waitsrs.Text

23、= “;由于缺少设备进程被阻塞后,在阻塞队列区域显示阻塞的进程名和阻塞原因。如图 3-5所示图 3-5 进程阻塞后的界面显示3.8 CPU 函数namespace myospublic partial class Fos : Formpublic Fos()InitializeComponent();static int i = 3; /文件夹名字变量static public string filecontent = null;/文件内容static public int x = 0;/传值变量static int number1 = 0;2010 级操作系统论文(课程设计)13static

24、 int number2 = 0;static public int fatnum1 = 0;static public int fatnum2 = 0;static public int fatnum3 = 0;static public int countr = 0;/readyq 的参数static public int l = 0;/listbox2 的焦点static public int flag = 0;static public int time = 0;private void treeView_NodeMouseClick(object sender, TreeNodeMo

25、useClickEventArgs e)/显示 contextmenustrip 位置if (e.Button = MouseButtons.Right)treeView.SelectedNode = e.Node;Point pos = new Point(e.Node.Bounds.X + e.Node.Bounds.Width, e.Node.Bounds.Y + e.Node.Bounds.Height);bool bl =e.Node.Text.Contains(“.txt“) | e.Node.Text.Contains(“.exe“);if (bl=false )Create.S

26、how(treeView, pos);else contextMenuStripDelete.Show(treeView ,pos);elseContextMenuStrip = null;/寻找路径string path = e.Node.Text;TreeNode t = e.Node;while (t.Parent != null)t = t.Parent;path = path.Insert(0, t.Text + “);textBpath.Text = path;整体界面显示如图 3-6 所示图 3-6 系统整体界面2010 级操作系统论文(课程设计)15 结束语通过上了将近四个星期

27、的操作系统课程设计课,终于把老师的要求完成了,尽管这里面呢有抄袭的,有转用的,但多多少少学到了一点东西,通过这次课程设计我明白了操作系统内部的工作原理,能够清楚的理解一些操作的原因,理解了操作系统的实现方法,明白了遇到问题时应该做的系统的分析,运用自己学过的理论知识来解决问题,而不是马上着手进行设计。还有就是要充分的利用网络资源,在网络上,能很快的找到自己想要的资料。一定要先把在写代码之前的分析工作做好,不能急于写,不然会事倍功半的。参考文献1 王煜,张明,刘振鹏.操作系统习题解答与实验指导.石家庄:中国铁道出版社. 20072 任爱华.操作系统实验指导.清华大学出版社. 20043 姚卫华.操作系统实验教程(Windows 版).清华大学出版社. 20054 百度,,12.6.22010 级操作系统论文(课程设计)17致 谢非常感谢刘海波老师的指导,通过这几个星期的努力,我的操作系统的毕业论文终于完工了,这意味着我的操作系统有一个完美的结束,从最初的定题到收集资料,再到写作,修改,到论文的定稿,刘老师都给我很多的指导跟帮助,使我对这门课有了更深一步的认识。2010 级操作系统论文(课程设计)192010 级操作系统论文(课程设计)1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报