毕业设计(论文)-基于C语言的小型模拟操作系统设计(33页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《毕业设计(论文)-基于C语言的小型模拟操作系统设计(33页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于C语言的小型模拟操作系统设计(33页).doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-毕业设计(论文)-基于C语言的小型模拟操作系统设计-第 - 27 - 页 本科生毕业设计(创作)题目 基于C语言的小型模拟操作系统设计 (只包含进程管理和存储管理) 姓名 学号 院 系 计算机系 专业 计算机科学与技术指导教师 2013 年 6 月 教务处制本科生毕业设计(论文、创作)声明本人郑重声明:所呈交的毕业设计,是本人在指导教师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本设计的研究成果不包含任何他人创作的、已公开发表或没有公开发表的作品内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本设计创作声明的法律责任由本人承担。 作者签名:
2、 年 月 日 本人声明:该毕业设计是本人指导学生完成的研究成果,已经审阅过毕业设计的全部内容,保证题目、关键词、摘要部分中英文内容的一致性和准确性,并通过一定检测手段保证毕业设计未发现违背学术道德诚信的不端行为。 指导教师签名: 年 月 日基于C语言的小型模拟操作系统设计(只包含进程管理和存储管理)摘 要本设计采用Visual C+开发工具在Windows环境下设计一个模拟操作系统。根据操作系统理论知识的学习实现了进程管理和存储管理。进程管理部分主要实现了进程的创建和撤销、进程的运行。进程的创建和撤销主要应用指针和链表的知识,进程的运行方式采用的是时间片轮转调度算法,通过输入相关指令可以看到多
3、个进程在时间片调度算法下由就绪态到运行态再到完成态的全过程。存储管理部分主要实现了进程内存空间的分配和回收。存储分配采用基本分页存储管理方式,通过数组来模拟主存空间。创建进程的同时完成对用户提出内存块数的分配,并显示在屏幕上。内存回收模块的作用是将处于指针队列的控制块移出队列并释放进程所占用的内存。本人在设计此系统过程中做了如下工作:(1) 仔细阅读了操作系统的进程管理和存储器管理部分的内容,并详细分析了其中的原理。(2) 学习了C语言中的数组、指针等相关知识,并对相关算法做了仔细的阅读和分析。(3) 熟悉了软件工程开发的基本方法、模型、步骤等,确定了系统的框架。(4) 使用C语言编写了模拟操
4、作系统。通过这次模拟操作系统的设计,加深了自己对操作系统实现思路的理解,直观的理解了操作系统的相关原理,提高了自己编写程序和调试程序的能力,为以后的进一步学习提供了一个良好的开端。关键词:操作系统,进程管理,存储管理,分页,时间片 Small simulation operating system design based on C language (only includes process management and storage management)AbstractThis design uses the Visual C+ development tools in Window
5、s environment design a simulation operating system. According to the operating system to study the theory knowledge to realize the process management and storage management. Process management part is mainly to achieve the process of creation and cancellation, the operation of the process. Process c
6、reation and revoke the main application of pointer and linked list, process the operation mode of using the time slice rotation scheduling algorithm, through input the command can see multiple processes under the time slice scheduling algorithm by the ready state to a running state and then to finis
7、h the whole course of state. Storage management part mainly realizes the process memory space allocation and recycling. Storage allocation using basic page storage management mode, through the array to simulate the main memory space.In the design of the system in the process of doing the following w
8、ork: 1, read the process management and storage management component of the operating system, and analyzes in detail the principle of 2, to learn the relevant knowledge such as arrays, Pointers in C language, and made a careful reading and analysis of relevant algorithm. 3, familiar with the basic m
9、ethod of the software engineering development, models, procedures, etc., determine the framework of the system. 4, using C language to write the simulation operating system. By designing simulation operating system, deepen their understanding of operating system implementation approach, intuitive un
10、derstanding of the relevant principle of the operating system, it improves the ability of writing your own program and debugging, for future further study provides a good place to start.Key Words:Operating system, process management, memory management, paging, time slice 目 录1 绪 论- 1 -1.1背景- 1 -1.3设计
11、目标- 1 -1.4 意义- 1 -1.5论文组织安排- 1 -2 系统分析与设计- 3 -2.1 进程管理要求- 3 -2.1.1 进程状态- 3 -2.1.2 进程控制块- 3 -2.1.3 进程创建- 3 -2.1.4 进程调度- 4 -2.1.5进程撤销- 4 -2.2 存储管理要求- 4 -2.2.1 内存分配- 4 -2.2.2 回收内存- 5 -2.3 总体设计要求- 5 -3 系统详细设计- 6 -3.1 全局变量- 6 -3.2 内存初始化- 6 -3.2.1 内存定义- 6 -3.2.2 主要代码- 7 -3.2.3 测试结果- 8 -3.3 创建进程- 8 -3.3.1
12、进程结构PCB的描述- 8 -3.3.2 进程队列的描述- 8 -3.3.3流程图- 9 -3.3.4 主要代码- 11 -3.3.5 测试结果- 12 -3.4 查看内存- 13 -3.4.1 页表- 13 -3.4.2 流程图- 13 -3.4.3主要代码- 15 -3.4.4 测试结果- 16 -3.5 运行进程- 16 -3.5.1 时间片轮转调度算法- 16 -3.5.2 算法工作安排- 16 -3.5.3 流程图- 18 -3.5.4 主要代码- 21 -3.5.5 测试结果- 23 -3.6 撤销进程- 23 -3.6.1 结束进程控制块- 23 -3.6.2 回收内存数组- 2
13、4 -3.6.3 流程图- 24 -3.6.4 主要代码- 26 -3.6.5 测试结果- 27 -4 问题与总结- 28 -附录- 29 -参考文献- 37 -致谢- 38 -1 绪 论1.1背景操作系统(OS,Operating System)是计算机系统的核心和灵魂,是计算机系统必不可少的组成部分,任何其他软件都必须在操作系统的支持下才能运行。操作系统的功能强大、代码量大,阅读理解实际系统对于一般的学习者来说几乎是不可能的,因此为了更好地理解操作系统的运行机制,根据操作系统的原理和实际系统的组织结构和一些具体实现,设计一个模拟的操作系统来帮助我们更好地掌握操作系统的原理是非常必要的。1.
14、2 设计目标在多道程运行环境下,用户可以通过模拟操作系统的交互界面创建进程并按照基本分页存储管理方式分配必要的内存空间,按照时间片轮转算法选择一个或几个进程在处理机上运行。当程序执行完毕时,系统可以撤销进程并收回它所占用的内存空间。模拟操作系统不涉及具体的硬件,通过设计合理的数据结构来表示硬件资源,并通过输出一些提示信息表示系统当前的运行状态。通过设计模拟操作系统,加深学生对操作系统实现思路的理解,提高综合运用所学知识的能力,以及培养系统设计能力,为以后更进一步的设计和分析系统打下坚实的基础。1.3 意义通过在平时原有认识的基础上又进一步的系统的学习了操作系统的相关知识,强化了自己的认知。通过
15、本模拟操作系统的设计使自己更加直观的理解了操作系统的相关知识,大大提高了自己分析问题和解决问题的能力,为以后的进一步学习起到了很好的铺垫。1.4 论文组织安排本文安排如下:第一章 绪论。介绍课题的背景、设计目标和意义。第二章 系统分析与设计。介绍进程管理存储管理的设计要求以及总设计框架。第三章 系统详细设计。介绍各个代码块的详细设计流程。第四章 问题与总结。总结自己设计过程以及设计中遇到的主要问题及解决方法。2 系统分析与设计2.1 进程管理要求2.1.1 进程状态由于本系统采用的是基于时间片调度算法模拟进程的运行过程,所以设定的进程基本状态为就绪运行、运行状态和完成状态。如图2-1运行运行完
16、进入时间片用完进程调度释放就绪完成图2-1 进程基于时间片轮转算法的基本状态2.1.2 进程控制块进程控制块PCB(Process Control Block)是进程最重要的数据结构,它用于描述和控制进程,是进程存在的唯一标识。进程控制块内容有进程标示符、处理机状态、进程调度信息、进程控制信息。本系统采用链式方式来组织进程控制块。把具有同一状态的进程控制块链接成一个队列,这样就形成了就绪状态、运行状态和完成状态。2.1.3 进程创建一旦操作系统接收到用户输入的创建命令,便调用进程创建函数按下列方式为用户创建一个新进程。(1) 申请一个空白的PCB。(2) 为进程分配内存。(3) 初始化PCB中
17、的内容。(4) 将PCB插入到就绪队列,等待调度。2.1.4 进程调度进程调度采用时间片轮转调度算法,时间片大小由用户自己定义。进程调度函数主要完成下列工作:(1) 从就绪队列中选择队首进程插入到运行队列。(2) 修改PCB中的信息。(3) 假如进程运行完便插入到完成队列,从就绪队列取下一进程到运行队列。(4) 否则将这一进程插入到就绪队列队尾,等待下一次调度。2.1.5进程撤销进程撤销函数主要完成下列工作:(1) 将进程控制块PCB移出队列。(2) 释放进程所占内存。(3) 将撤销信息显示在屏幕上。2.2 存储管理要求2.2.1 内存分配由于本系统采用的内存分配策略是基本分页存储管理方式,又
18、称为离散分配方式。所以有必要对内存进行分块和初始化。采用二维数组模拟基本分页存储。内存分配主要完成下列工作:(1) 初始化内存数组,将其分割成一组不连续的块。(2) 为进程分配用户提出请求的页数。(3) 将分配的页号和块号显示在屏幕上。2.2.2 回收内存当进程运行完释放内存时,系统根据用户的要求从相应的链表上摘下,然后释放内存数组的数据,此时可能出现两种情况。(1) 回收的PCB在就绪队列。(2) 回收的PCB在完成队列。2.3 总体设计要求本系统包括如下代码块:(1) 主函数模块。调用初始化代码块和菜单代码块。(2) 初始化代码块。初始化内存数组。(3) 菜单代码块。调用创建进程、查看内存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 语言 小型 模拟 操作系统 设计 33
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内