《操作系统》模拟实验系统的设计与实现

《操作系统》模拟实验系统的设计与实现

ID:5323477

大小:482.13 KB

页数:3页

时间:2017-12-08

《操作系统》模拟实验系统的设计与实现_第1页
《操作系统》模拟实验系统的设计与实现_第2页
《操作系统》模拟实验系统的设计与实现_第3页
资源描述:

《《操作系统》模拟实验系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SYSPRACTICE系统实践《操作系统》模拟实验系统的设计与实现◆杨瑞摘要:本文主要研究介绍了构成《操作系统》实验系统的两个主要部分,模拟操作系统和IDE集成实验环境。参考实际系统linux0.11的结构,使用c语言设计合理的数据结构来模拟计算机系统中的硬件资源。IDE实验环境采用目录树形式组织模拟系统的所有文件,它可以实现编辑、调试、执行等基本操作。关键词:操作系统;实验;进程;内存据linux0.11的结构,模拟OS十分小巧,结构清晰,但仍引言然涵盖了进程管理、内存管理、文件管理等操作系统功《操作系统》是计算机相关专业的一门专业基础能。系统与硬件无关,

2、并且在源代码中添加有注释,让课,该课程概念多、较抽象,学生理解困难,单独讲授阅读和理解源代码变得更加容易。原理已不能适应企业对人才的需求。把实验环节与理论1.1头文件。为了实现函数和变量的重用,使整个教学相融合,是有效提高教学效果的重要方法。程序的代码更简洁,将系统中的一些函数和变量放在不在西方一些电子计算机技术很发达的国家,很早同的头文件中,本模拟系统有process.h,page.h,file.h3就已开发出多种不同类型的教学实验系统,~HMinix系个头文件。统、OSP、NACHOS等。我国一些985或21172学,如清process.h是负责进程管理

3、的头文件,将进程控制块华大学也已开发了用于自己教学的《操作系统》实验系和记录型信号量声明为结构体类型,PCB中记录了进程统,该系统是在麻省理工学院开放的课程平台下自主开的基本情况及对于进程控制的全部信息。当操作系统创发的实验系统:TingHuaOperatingSystemProject。建了一个新进程时,就会为这个新创建的进程建立一虽然已经存在一些实验系统,但是并不适合我校学个PCB。模拟系统提供的Semaphore变量是记录型信号生使用,基于windows或linux的实验系统,与硬件系统量,Semaphore可以设定其整型变量的最大取值范围,关系紧密,

4、结构异常复杂,代码有数十万行,学生读懂并且信号量的signal操作可以指定整型变量的增加值而代码几乎不可能。对于一个个课程设计方式的实验,实不是默认增加1。proces.h的部分如下所示:typedefstruct际中,学生只认为是单个程序的编写,与普通的程序设_PROCESS{计一样,根本没有注意到系统的完整性,从而也达不到BOOLEANSystem;巩固操作系统的目的。//是否系统进程本实验系统是以自己开发的模拟系统(操作系统)UCHARPriority;为平台的实验系统,学生在学习课程原理的基础上,借//进程的优先级助于IDE可视化环境打开模拟系统的代

5、码,进行算法的PMMPASPas;修改、补充等操作,通过实验结果深入分析模拟操作系//进程地址空间统的架构和源代码,充分激发学生的兴趣和主动性,从LONGcounter;//进程已运行时间而加深学生对操作系统原理的理解,提高动手实践能LONGpriority//进程优先级力。每个实验代码中都留有一些接口,学生可根据算法LISTENTRYWaitListHead;//等原理编写代码,需要补充的代码一般在50行左右。待队列,等待进程结束的线程在此队列等待。PSTRCmdLine;一、模拟系统//命令行参数使用C语言编写、是一个可以在IntelX86平台上运ULO

6、NGExitCode;行的、面向教学的模拟操作系统。为了适合于教学,依//进程退出码36信息系统r程I20131120曼墨T1里墨塞>}PROCESS志和属性位typedefstructULONGCurrentByteOfset;//文—SEMAPHORE{L0NGCount:件当前读写偏移位置//信号量的整型值}FILE—OBJECT;L0NGMaximumCount;//允1.2源程序文件。模拟系统共有main.C、sched.C、许最大值mm.c、creaprocess.C等6个C语言文件。LISTENTRYWaitListHead;//等main.c

7、调用动态分配内存函数malloc()申请30K内存待队列来表示实际系统的用户区,完成内核初始化工作,然后}SEMAPHORE;循环等待,直到用户提出请求,调用JobSchedule()和模拟系统中有大量的数据,而这些数据经常需要动Schedule0~分配内存和处理器。态地调整,为了方便、高效的管理这些数据,模拟系统Schedule()函数实现进程管理功能。检测所有进程广泛使用了链表,特别是单向链表。系统中有多个管理的状态,如果处理器空闲并且存在就绪进程,就依据选链表的函数,包括创建、插入、删除等。择的算法执行进程调度。page.h是页式存储管理头文件,模拟系

8、统中使用结Sched.C是模拟系统的核心模块。包括S

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。