基于C语言的小型模拟操作系统标准设计.doc
《基于C语言的小型模拟操作系统标准设计.doc》由会员分享,可在线阅读,更多相关《基于C语言的小型模拟操作系统标准设计.doc(59页珍藏版)》请在咨信网上搜索。
1、 本科生毕业设计(创作)题目 基于C语言小型模拟操作系统设计 (只包含进程管理和存放管理) 姓名 王在平学号 10624231 院 系 计算机系 专业 计算机科学和技术指导老师 杨 瑞 年 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 Windows environment design a simulation operating system. According to the o
5、perating 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 creation and revoke the main application of pointer and linked list, pr
6、ocess 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 finish the whole course of state. Storage management part mainly realizes t
7、he 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 work: 1, read the process management and storage management component o
8、f 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 method of the software engineering development, models, procedures, etc
9、., 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 understanding of the relevant principle of the operating system, it impr
10、oves 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设计目标- 1 -1.4 意义- 1 -1.5论文组织安排- 1 -2 系统分析和设计- 3 -2.1 进程管理要求- 3 -2.1.1 进程状
11、态- 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 进程结构PCB描述- 8 -3.3.2 进程队列描述- 8 -3.3.3步骤图- 9 -3.3.4 关键代码- 11 -3.3.5 测试结果
12、- 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 回收内存数组- 24 -3.6.3 步骤图- 24 -3.6.4 关键代码- 26 -3.6.5 测试结果- 27 -4 问题和总结- 28 -附录- 29 -参
13、考文件- 37 -致谢- 38 -1 绪 论1.1背景操作系统(OS,Operating System)是计算机系统关键和灵魂,是计算机系统必不可少组成部分,任何其它软件全部必需在操作系统支持下才能运行。操作系统功效强大、代码量大,阅读了解实际系统对于通常学习者来说几乎是不可能,所以为了愈加好地了解操作系统运行机制,依据操作系统原理和实际系统组织结构和部分具体实现,设计一个模拟操作系统来帮助我们愈加好地掌握操作系统原理是很必需。1.2 设计目标在多道程运行环境下,用户能够经过模拟操作系统交互界面创建进程并根据基础分页存放管理方法分配必需内存空间,根据时间片轮转算法选择一个或多个进程在处理机上运
14、行。当程序实施完成时,系统能够撤销进程并收回它所占用内存空间。模拟操作系统不包含具体硬件,经过设计合理数据结构来表示硬件资源,并经过输出部分提醒信息表示系统目前运行状态。经过设计模拟操作系统,加深学生对操作系统实现思绪了解,提升综合利用所学知识能力,和培养系统设计能力,为以后更深入设计和分析系统打下坚实基础。1.3 意义经过在平时原有认识基础上又深入系统学习了操作系统相关知识,强化了自己认知。经过本模拟操作系统设计使自己愈加直观了解了操作系统相关知识,大大提升了自己分析问题和处理问题能力,为以后深入学习起到了很好铺垫。1.4 论文组织安排本文安排以下:第一章 绪论。介绍课题背景、设计目标和意义
15、。第二章 系统分析和设计。介绍进程管理存放管理设计要求和总设计框架。第三章 系统具体设计。介绍各个代码块具体设计步骤。第四章 问题和总结。总结自己设计过程和设计中碰到关键问题及处理方法。2 系统分析和设计2.1 进程管理要求2.1.1 进程状态因为本系统采取是基于时间片调度算法模拟进程运行过程,所以设定进程基础状态为就绪运行、运行状态和完成状态。图2-1运行运行完进入时间片用完进程调度释放就绪完成图2-1 进程基于时间片轮转算法基础状态2.1.2 进程控制块进程控制块PCB(Process Control Block)是进程最关键数据结构,它用于描述和控制进程,是进程存在唯一标识。进程控制块内
16、容有进程标示符、处理机状态、进程调度信息、进程控制信息。本系统采取链式方法来组织进程控制块。把含有同一状态进程控制块链接成一个队列,这么就形成了就绪状态、运行状态和完成状态。2.1.3 进程创建一旦操作系统接收到用户输入创建命令,便调用进程创建函数按下列方法为用户创建一个新进程。(1) 申请一个空白PCB。(2) 为进程分配内存。(3) 初始化PCB中内容。(4) 将PCB插入到就绪队列,等候调度。2.1.4 进程调度进程调度采取时间片轮转调度算法,时间片大小由用户自己定义。进程调度函数关键完成下列工作:(1) 从就绪队列中选择队首进程插入到运行队列。(2) 修改PCB中信息。(3) 假如进程
17、运行完便插入到完成队列,从就绪队列取下一进程到运行队列。(4) 不然将这一进程插入到就绪队列队尾,等候下一次调度。2.1.5进程撤销进程撤销函数关键完成下列工作:(1) 将进程控制块PCB移出队列。(2) 释放进程所占内存。(3) 将撤销信息显示在屏幕上。2.2 存放管理要求2.2.1 内存分配因为本系统采取内存分配策略是基础分页存放管理方法,又称为离散分配方法。所以有必需对内存进行分块和初始化。采取二维数组模拟基础分页存放。内存分配关键完成下列工作:(1) 初始化内存数组,将其分割成一组不连续块。(2) 为进程分配用户提出请求页数。(3) 将分配页号和块号显示在屏幕上。2.2.2 回收内存当
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 语言 小型 模拟 操作系统 标准 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。