基于C语言的小型模拟操作系统标准设计.docx
- 文档编号:3136403
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:41
- 大小:369.89KB
基于C语言的小型模拟操作系统标准设计.docx
《基于C语言的小型模拟操作系统标准设计.docx》由会员分享,可在线阅读,更多相关《基于C语言的小型模拟操作系统标准设计.docx(41页珍藏版)》请在冰豆网上搜索。
基于C语言的小型模拟操作系统标准设计
本科生毕业设计(创作)
题 目基于C语言小型模拟操作系统设计
(只包含进程管理和存放管理)
姓 名 王在平
学 号 10624231
院 系 计算机系
专 业 计算机科学和技术
指导老师 杨瑞
年6月
教务处制
本科生毕业设计(论文、创作)申明
本人郑重申明:
所呈交毕业设计,是本人在指导老师指导下,进行研究工作所取得结果。
除文中已经注明引用内容外,本设计研究结果不包含任何她人创作、已公开发表或没有公开发表作品内容。
对本论文所包含研究工作做出贡献其它个人和集体,均已在文中以明确方法标明。
本设计创作申明法律责任由本人负担。
作者署名:
年月日
本人申明:
该毕业设计是本人指导学生完成研究结果,已经审阅过毕业设计全部内容,确保题目、关键词、摘要部分中英文内容一致性和正确性,并经过一定检测手段确保毕业设计未发觉违反学术道德诚信不端行为。
指导老师署名:
年月日
基于C语言小型模拟操作系统设计
(只包含进程管理和存放管理)
摘要
本设计采取VisualC++开发工具在Windows环境下设计一个模拟操作系统。
依据操作系统理论知识学习实现了进程管理和存放管理。
进程管理部分关键实现了进程创建和撤销、进程运行。
进程创建和撤销关键应用指针和链表知识,进程运行方法采取是时间片轮转调度算法,经过输入相关指令能够看到多个进程在时间片调度算法下由就绪态到运行态再到完成态全过程。
存放管理部分关键实现了进程内存空间分配和回收。
存放分配采取基础分页存放管理方法,经过数组来模拟主存空间。
创建进程同时完成对用户提出内存块数分配,并显示在屏幕上。
内存回收模块作用是将处于指针队列控制块移出队列并释放进程所占用内存。
本人在设计此系统过程中做了以下工作:
(1)仔细阅读了操作系统进程管理和存放器管理部分内容,并具体分析了其中原理。
(2)学习了C语言中数组、指针等相关知识,并对相关算法做了仔细阅读和分析。
(3)熟悉了软件工程开发基础方法、模型、步骤等,确定了系统框架。
(4)使用C语言编写了模拟操作系统。
经过这次模拟操作系统设计,加深了自己对操作系统实现思绪了解,直观了解了操作系统相关原理,提升了自己编写程序和调试程序能力,为以后深入学习提供了一个良好开端。
关键词:
操作系统,进程管理,存放管理,分页,时间片
SmallsimulationoperatingsystemdesignbasedonClanguage
(onlyincludesprocessmanagementandstoragemanagement)
Abstract
ThisdesignusestheVisualC++developmenttoolsinWindowsenvironmentdesignasimulationoperatingsystem.Accordingtotheoperatingsystemtostudythetheoryknowledgetorealizetheprocessmanagementandstoragemanagement.Processmanagementpartismainlytoachievetheprocessofcreationandcancellation,theoperationoftheprocess.Processcreationandrevokethemainapplicationofpointerandlinkedlist,processtheoperationmodeofusingthetimeslicerotationschedulingalgorithm,throughinputthecommandcanseemultipleprocessesunderthetimesliceschedulingalgorithmbythereadystatetoarunningstateandthentofinishthewholecourseofstate.Storagemanagementpartmainlyrealizestheprocessmemoryspaceallocationandrecycling.Storageallocationusingbasicpagestoragemanagementmode,throughthearraytosimulatethemainmemoryspace.
Inthedesignofthesystemintheprocessofdoingthefollowingwork:
1,readtheprocessmanagementandstoragemanagementcomponentoftheoperatingsystem,andanalyzesindetailtheprincipleof2,tolearntherelevantknowledgesuchasarrays,PointersinClanguage,andmadeacarefulreadingandanalysisofrelevantalgorithm.3,familiarwiththebasicmethodofthesoftwareengineeringdevelopment,models,procedures,etc.,determinetheframeworkofthesystem.4,usingClanguagetowritethesimulationoperatingsystem.
Bydesigningsimulationoperatingsystem,deepentheirunderstandingofoperatingsystemimplementationapproach,intuitiveunderstandingoftherelevantprincipleoftheoperatingsystem,itimprovestheabilityofwritingyourownprogramanddebugging,forfuturefurtherstudyprovidesagoodplacetostart.
KeyWords:
Operatingsystem,processmanagement,memorymanagement,paging,timeslice
1绪论
1.1背景
操作系统(OS,OperatingSystem)是计算机系统关键和灵魂,是计算机系统必不可少组成部分,任何其它软件全部必需在操作系统支持下才能运行。
操作系统功效强大、代码量大,阅读了解实际系统对于通常学习者来说几乎是不可能,所以为了愈加好地了解操作系统运行机制,依据操作系统原理和实际系统组织结构和部分具体实现,设计一个模拟操作系统来帮助我们愈加好地掌握操作系统原理是很必需。
1.2设计目标
在多道程运行环境下,用户能够经过模拟操作系统交互界面创建进程并根据基础分页存放管理方法分配必需内存空间,根据时间片轮转算法选择一个或多个进程在处理机上运行。
当程序实施完成时,系统能够撤销进程并收回它所占用内存空间。
模拟操作系统不包含具体硬件,经过设计合理数据结构来表示硬件资源,并经过输出部分提醒信息表示系统目前运行状态。
经过设计模拟操作系统,加深学生对操作系统实现思绪了解,提升综合利用所学知识能力,和培养系统设计能力,为以后更深入设计和分析系统打下坚实基础。
1.3意义
经过在平时原有认识基础上又深入系统学习了操作系统相关知识,强化了自己认知。
经过本模拟操作系统设计使自己愈加直观了解了操作系统相关知识,大大提升了自己分析问题和处理问题能力,为以后深入学习起到了很好铺垫。
1.4论文组织安排
本文安排以下:
第一章绪论。
介绍课题背景、设计目标和意义。
第二章系统分析和设计。
介绍进程管理存放管理设计要求和总设计框架。
第三章系统具体设计。
介绍各个代码块具体设计步骤。
第四章问题和总结。
总结自己设计过程和设计中碰到关键问题及处理方法。
2系统分析和设计
2.1进程管理要求
2.1.1进程状态
因为本系统采取是基于时间片调度算法模拟进程运行过程,所以设定进程基础状态为就绪运行、运行状态和完成状态。
图2-1
图2-1进程基于时间片轮转算法基础状态
2.1.2进程控制块
进程控制块PCB(ProcessControlBlock)是进程最关键数据结构,它用于描述和控制进程,是进程存在唯一标识。
进程控制块内容有进程标示符、处理机状态、进程调度信息、进程控制信息。
本系统采取链式方法来组织进程控制块。
把含有同一状态进程控制块链接成一个队列,这么就形成了就绪状态、运行状态和完成状态。
2.1.3进程创建
一旦操作系统接收到用户输入创建命令,便调用进程创建函数按下列方法为用户创建一个新进程。
(1)申请一个空白PCB。
(2)为进程分配内存。
(3)初始化PCB中内容。
(4)将PCB插入到就绪队列,等候调度。
2.1.4进程调度
进程调度采取时间片轮转调度算法,时间片大小由用户自己定义。
进程调度函数关键完成下列工作:
(1)从就绪队列中选择队首进程插入到运行队列。
(2)修改PCB中信息。
(3)假如进程运行完便插入到完成队列,从就绪队列取下一进程到运行队列。
(4)不然将这一进程插入到就绪队列队尾,等候下一次调度。
2.1.5进程撤销
进程撤销函数关键完成下列工作:
(1)将进程控制块PCB移出队列。
(2)释放进程所占内存。
(3)将撤销信息显示在屏幕上。
2.2存放管理要求
2.2.1内存分配
因为本系统采取内存分配策略是基础分页存放管理方法,又称为离散分配方法。
所以有必需对内存进行分块和初始化。
采取二维数组模拟基础分页存放。
内存分配关键完成下列工作:
(1)初始化内存数组,将其分割成一组不连续块。
(2)为进程分配用户提出请求页数。
(3)将分配页号和块号显示在屏幕上。
2.2.2回收内存
当进程运行完释放内存时,系统依据用户要求从对应链表上摘下,然后释放内存数组数据,此时可能出现两种情况。
(1)回收PCB在就绪队列。
(2)回收PCB在完成队列。
2.3总体设计要求
本系统包含以下代码块:
(1)主函数模块。
调用初始化代码块和菜单代码块。
(2)初始化代码块。
初始化内存数组。
(3)菜单代码块。
调用创建进程、查看内存、运行进程、撤销进程代码块。
(4)创建进程代码块。
创建并初始化进程控制块和分配内存空间。
(5)查看内存代码块。
查看内存分配情况。
(6)运行进程代码块。
采取时间片轮转调度算法调度进程运行。
(7)结束进程代码块。
结束进程并释放其占用内存空间。
函数之间调用关系图2-3所表示。
图2-3总体设计模块
3系统具体设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 语言 小型 模拟 操作系统 标准 设计