操作系统的设计与实现
- 格式:ppt
- 大小:2.40 MB
- 文档页数:37


--
--
中南大学
操作系统课程设计
实验报告
题 目:多用户多任务的类操作系统
学 院:信息科学与工程学院
姓 名:
班 级:
日 期:2014/07
--
--
目录
一、 概述
二、 课程设计要求
三、 设计的基本原理和概念
四、 总体设计:实现的方法和主要技术路线
1.总体功能模块图
2.总体功能流图
五、 详细设计:
1. 模块内部的流程
2. 实现算法
3. 运行结果
六、 完成的情况
七、 使用说明
八、 实验总结
九、 参考文献
十、 附件:源程序代码
--
-- 一、 概述
操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。
二、 课程设计要求
采用VC、VB、java或C等编程语言,模拟开发一个多用户多任务的类操作系统软件。要求如下:
1. 模拟进程调度算法,模拟各种进程调度算法,并能管理各种进程调度算法的演示过程。
2. 模拟各种内存分配算法及回收过程,并能动态演示。结合进程调度算法,能为进程模拟分配内存,并设计一个跟踪该内存模拟分配的进程或线程,记录内存分配的结果;
3. 模拟多用户登录管理过程,能允许多个用户登录,为每个用户建立进程或线程,并进行进程管理;
4. 能模拟文件系统管理,进程可以对文件系统(包括文件和目录)进行读、写、创建、删除、打开、关闭等操作;
5. 模拟磁盘管理过程,结合文件系统管理,显示磁盘管理的结构和文件在磁盘上的分布情况。
6. 能模拟进程通信管理,用户之间可以相互通信交流;
7. 最好能采用类似于Windows的窗口界面。
三、 设计的基本原理和概念
一个教学用操作系统的设计与实现
摘要:本文首先指出了现有的教学用操作系统存在的不足,然后设计并实现了一个运行在虚拟机上的微内核结构的教学用操作系统,描述了系统中进程管理、进程间通信、基本内存管理、磁盘服务器以及文件服务器的设计和实现。本系统的实现将有利于学生从微观上观察操作系统的行为特征,并且帮助他们理论联系实际,具有较好的教学价值。
关键词:微内核;操作系统
A Design and Implementation of an Operating System for Tutorial
WANG HonglingZHU YamingLV Qiang
(School of Computer Science and Technology, Soochow University, Suzhou,
215006, China)
Abstract: This paper firstly points out the weaknesses of current popular
operating systems for tutorial, then designs and implements a microkernel operating
system for tutorial on Bochs. It describes the design and implementation of process
management, IPC, basic memory management, file system server and disk server in
detail. The system will do benefits to students in helping them learning operating
system principles and offering them a platform to practices what they have learned in
收稿日期:2009209221作者简介曲波(53—),男,辽宁大连人,南京晓庄学院数学与信息技术学院教授研究方向操作系统、嵌入式系统、软件工程2009年11月第6期南京晓庄学院学报JOURNALOFNANJINGXIAOZHUANGUNIVERSITYNov.2009No.6
小型单内核嵌入式操作系统的设计与实现
曲 波
(南京晓庄学院数学与信息技术学院,江苏南京210017)
摘 要:文章阐述了小型单内核嵌入式操作系统的设计与实现.该系统以流行的PC机做研发平
台,以VMWare虚拟机做实验环境,以Linux操作系统及开放软件做开发工具,整个系统的源码约为4200行.该系统可实现多进程优先级调度、信号处理、段页式存储管理、写时复制、虚拟内存等功
能.结构简洁、易于移植,适用于嵌入式系统应用开发及操作系统教学实验.
关键词:嵌入式系统;单内核操作系统;进程调度;写时复制;虚拟内存中图分类号:TP316 文献标识码:A 文章编号:100927902(2009)0620079204
0 引言
随着计算机技术的不断发展,嵌入式系统的应
用也越来越普及.如何有效设计实现嵌入式系统,是
当前业界研究的一个重要课题.另一方面,如何加强
计算机专业操作系统课程的实践性教学,也是多年
来操作系统课程教学研究的重要课题.本文阐述的
小型单内核嵌入式操作系统设计与实现,就是在这
方面的一个深入研究与探讨.
本文实现的小型单内核嵌入式操作系统(以下
简称EMK)以流行的PC机做研发平台,以VMWare
虚拟机做实验环境,以Linux操作系统及开放软件
做开发工具,整个系统的源码约为4200行,其中汇
编代码约1100行,C代码3100行.该系统可实现多
进程优先级调度、信号处理、段页式存储管理、通过
写时复制功能实现简单的虚拟内存.
EMK由引导程序和系统内核两大部分组成.为
了便于开发、便于移植、便于理解,整个程序结构简
洁,使用GCC编译器,采用标准的GCC汇编语言(AT&T语法)及C语言语法,程序设计风格类似于
南通大学计算机科学与技术学院
操作系统课程设计报告
专业:
学生姓名:
学号:
时间: 操作系统模拟算法课程设计报告
设计要求
将本学期三次的实验集成实现:
处理机管理;
存储器管理;
虚拟存储器的缺页调度。
设计流程图
主流程图
开始的图形界面
处理机管理 存储器管理 缺页调度
先来先服务 时间片轮转 首次适应法 最佳适应法 先进先出 LRU算法 A.处理机调度
1)先来先服务FCFS
N
Y
先来先服务算法流程
开始
初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队
调度数组中首个进程,并让数组中的下一位移到首位
计算并打印进程的完成时刻、周转时间、带权周转时间
其中:周转时间 = 完成时间 - 到达时间
带权周转时间=周转时间/服务时间
更改计时器的当前时间,即下一刻进程的开始时间
当前时间=前一进程的完成时间+其服务时间
数组为空
结束 2)时间片轮转法
开始输入进程总数指针所指的进程是否结束输入各进程信息输出为就绪状态的进程的信息更改正在运行的进程的已运行时间跳过已结束的程序结束N指向下一个进程Y如果存在下一个进程的话YN输出此时为就绪状态的进程的信息
时间片轮转算法流程图
B.存储器管理(可变式分区管理)
1)首次适应法
分配流程图
申请xkb内存
由链头找到第一个空闲区
分区大小≥xkb
大于
分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+xkb;修改上一个空闲区的前向指针为(前向指针)+xkb 将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针 等于 小于 延链查找下一个空闲区
到链尾了
作业等待
返回 是 否
登记已分配表
返回分配给进程的内存首地址 开始
首次适应算法回收流程图
最佳适应法 开始
输入完成进程的标号
在分配区表中查找
释放区p下邻分区空前一个空闲区的后向指针指向p的后一个分区,p的后一个分区的前向指针指向p的前一个分区,且p的前一个分区大小更改为加上p的大小,释放p 释放区p上邻分区空