




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统课程设计操作系统课程设计 1 操操 作作 系系 统统 OperatingOperating SystemSystem 设 计 报 告 作 者 万高朋 王腾蛟 吕伟军 韩龙珠 武志超 指导教师 李新荣 操作系统课程设计操作系统课程设计 2 给力团队照片给力团队照片 口号 口号 操作系统课程设计操作系统课程设计 3 操作系统课程设计 任务书 设计目的 本课程设计是学生学习完 操作系统 课程后 进行的一次全面的综合训练 通过课程设计 让学生 更好地掌握操作系统的原理及实现方法 加深对操作系统基础理论和重要算法的理解 加强学生的动手能 力 设计时间 两周 设计要求 1 每 5 人组成一个团队 每个团队开发一个操作系统内核 内核具有传统操作系统的基本功能 包 括 处理机管理 内存管理 设备管理 作业管理 用户接口等 每部分的算法可根据需要简单或复杂 2 课程设计做完后 按组进行验收和答辩 验收和答辩合格后 给出相应的成绩 3 每个团队写一份课程设计报告 要在报告中写明分工情况 4 课程报告要按照模版撰写 报告中要写明 1 软件功能描述 2 界面说明 3 程序处理流程 4 任务的定义及实现 5 调试过程中遇到的问题和解决的方法 6 进一步改进方案和应用建议 7 使用说明书 设计步骤 1 选定题目 每组提交设计方案 初期检查 2 项目中期检查 每个团队提交中期检查报告 写出目前开发状况 3 项目验收和答辩 成绩评定 课程设计成绩按 100 分制计算 评定的依据有考勤 设计文档资料 项目验收和答辩四个成绩组成 总成绩 考勤 10 设计文档 30 项目验收 40 答辩 20 提交的资料 课设完成后要提交项目的设计方案 用户手册 源程序等内容 课设提交具体内容见下面的清单 操作系统课程设计操作系统课程设计 4 课设提交内容清单 内容内容详细说明详细说明 提交清单 txt 建议提交内容按照类别存放在不同的目录中 请按照存放路径说明 文档存放情况 便于文件管理 用户手册 doc 说明系统运行环境 系统配置要求 系统配置方法和系统配置步骤 开发文档 设计报告 doc 建议总字数控制在 10000 字左右 包括系统方案 功能与指标 实 现原理 硬件框图 软件流程 系统测试方案 测试设备 测试数 据 结果分析 实现功能 特色等 源程序代码规范 注释详细 代码冗余少 电路图图例清晰 标识详细 规范 应用程序用于下载到平台运行的最终可执行程序 数据 电子文档 系统运行需要用到的所有数据 以保证系统运行 系统名称 团队成员 指导教师 联系电话 联系邮件 所在班级 等 团队介绍 doc 团队口号 20 字左右 展示团队风采 团队照片 jpg 体现团队风采的一张数码照片 答辩 ppt 每组答辩时所作的 ppt 注 1 开发文档交打印版 提交完整的设计报告 2 刻光盘 以上所有内容均放到光盘中 每组一分 提交时间 12 月 18 号 参考资料 1 自己动手写操作系统 于渊 编著 2005 年 08 月 电子工业出版社 2 Orange S 一个操作系统的实现 于渊 著电子工业出版社 2009 6 1 操作系统课程设计操作系统课程设计 5 摘摘 要要 此操作系统可以将数据存入内存中 并且能实现对内存的整理 通过处理机对内存的访问 实现作 业的调度 采用分页式内存管理 系统可以实现对简单进程的调度 管理 同步以及进程间通信 当进程 调入处理机时能够对设备进行有序调用 实现输入输出功能 用户接口通过 shell 实现用户与操作系统内核 进行交互 作业管理即作业调度 实现作业由外存调入内存 通过各种算法进行作业的调度 一个简单的 操作系统虽然功能不是很强大 但是麻雀虽小五脏俱全 对操作系统的编写也注入了整个团队的艰辛和汗 水 所以感觉这次课设很是值得 因为这使我们学习了更多的知识 增长了自学能力 也锻炼了团队配合 的能力 通过完成此课设我们收获了很多 关键词 进程 处理机 设备 内存 接口 作业 AbstractAbstract Though this operating system is able to put data into memory and can tidy the memory consolidation through the processor to memory access achieveing the attempering of the process Memory user subentry management System can realize the scheduling of simple process process management the process of ynchronization and interprocess communication When the process attemper the processor can call on equipment realize the orderly input and output functions The user interface through shell achieve the user to interact with an operating system kernel Operation management and realize that job scheduling homework by a gelatinous memory Exterior story through various scheduling algorithm A simple operating system although function is not very strong but although it s function is very completely The operating system of the whole team write also infuse of hard work and sweat so feel this class set because it is forcing us to learn more knowledge a growth of self study ability also tempered the teamwork ability by completing the kernel we learned a lot of KeyKey wordswords course processor equipment EMS memory interface busywork 操作系统课程设计操作系统课程设计 6 目 录 摘 要 5 第一章 绪论 7 1 1 Linux 操作系统的概述 7 1 2课程设计任务和意义 7 第二章 系统方案 8 2 1 内存管理 8 2 2 处理机调度 9 2 3 设备管理 9 2 3 1 设备管理的功能 10 2 3 2 外部设备的输入 输出方式 10 2 4 用户接口 11 2 4 1 系统接口概述 11 2 4 2 系统接口设计要求 11 2 4 3 shell 语言 11 2 4 4 文件系统的实现 11 2 5 作业调度 13 2 5 1 作业概念及相关词语 13 2 5 2 作业管理基本功能 13 2 5 3 作业状态及转换 14 2 5 4 作业控制块和作业后备队列 14 2 5 5 作业调度 14 第 3 章功能与指标 16 第 4 章 实现原理 17 操作系统课程设计操作系统课程设计 7 第一章第一章 绪论绪论 1 1 Linux 操作系统的概述操作系统的概述 Linux 操作系统核心最早是由芬兰的 Linus Torvalds 1991 年 8 月在芬兰赫尔辛基大学上学 时发布的 那年 Torvals 25 岁 后来经过众多世界顶尖的软件工程师的不断修改和完善 Linux 得以在全球普及开来 在服务器领域及个人桌面版得到越来越多的应用 在嵌入式开 发方面更是具有其它操作系统无可比拟的优势 并以每年 100 的用户递增数量显示了 Linux 强大的力量 Linux 的是一套免费的 32 位多人多工的操作系统 运行方式同 UNIX 系统很像 但 Linux 系统的稳定性 多工能力与网络功能已是许多商业操作系统无法比拟的 Linux 还有一 项最大的特色在于源代码完全公开 在符合 GNU GPL General Public License 的原则下 任何 人皆可自由取得 散布 甚至修改源代码 1 2课程设计任务和意义课程设计任务和意义 本次课程设计任务是由学生组成开发团队 利用所学的知识以及网络和其他课外书资料进行编写一个 简易的操作系统的内核 内核的功能必须要全面 设计可以不需要复杂但是要有最基础的功能 内核所需 的功能包括处理机管理 内存管理 设备管理 作业管理 用户接口等 本课程设计是学生学习完 操作系统 课程后 进行的一次全面的综合训练 通过课程设计 让学生 更好地掌握操作系统的原理及实现方法 加深对操作系统基础理论和重要算法的理解 加强学生的动手能 力 操作系统课程设计操作系统课程设计 8 第二章第二章 系统方案系统方案 2 1 内存管理内存管理 在 32 位 x86 系统上 理论上每一个进程可以访问 4 GB 内存 但在实际情况中每个进程所使用的 内存少于 4 GB 因此 当加载一个进程时 它会得到一个取决于某个称为 系统中断点 system break 的特定地址的初始内存分配 该地址之后是未被映射的内存 用于在 RAM 或者硬盘中没有分配相应 物理位置的内存 因此 如果一个进程运行超出了它初始分配的内存 那么它必须请求操作系统 映射进 来 map in 更多的内存 映射是一个表示一一对应关系的数学术语 当内存的虚拟地址有一个对 应的物理地址来存储内存内容时 该内存将被映射 基于 UNIX 的系统有两个可映射到附加内存中的基 本系统调用 brk brk 是一个非常简单的系统调用 联想系统中断点 该位置是进程映射的内存边界 brk 只 是简单地将这个位置向前或者向后移动 就可以向进程添加内存或者从进程取走内存 mmap mmap 或者说是 内存映像 类似于 brk 但是更为灵活 首先 它可以映射任何位置的 内存 而不单单只局限于进程 其次 它不仅可以将虚拟地址映射到物理的 RAM 或者 swap 它还可以将 它们映射到文件和文件位置 这样 读写内存将对文件中的数据进行读写 不过 在这里 我们只关心 mmap 向进程添加被映射的内存的能力 munmap 所做的事情与 mmap 相反 可见 brk 或者 mmap 都可以用来向我们的进程添加额外的虚拟内存 但有时会使用 brk 因 为它更简单 更通用 如果由硬件管理虚拟内存 内存是按照所谓的内存页方式进行管理的 对于大部分体系结构来说都是 4KB Linux 包括了管理可用内存的方式 以及物理和虚拟映射所使用的硬件机制 Linux 提供了对 4KB 缓冲区的抽象 这种内存管理模式使用 4KB 缓冲区为基数 然后从中分配结构 并跟踪内存页使用情况 比如哪些内存页是满的 哪些页面没有完全使用 哪些页面为空 这样就允许该 模式根据系统需要来动态调整内存使用 然而当机器上的安装的物理内存不够用的时候 我们需要在硬盘 操作系统课程设计操作系统课程设计 9 上建立一个交换分区 系统将当前运行进程的页面放入物理内存 将很久不运行的进程相关数据放到硬盘 上的交换分区 2 2 处理机调度处理机调度 在多道程序系统中 调度的实质是一种资源分配 处理机调度是对处理机进行分配 处理机调度算法是指 根据处理机分配策略所规定的处理机分配算法 处理机调度分高级中级低级三级调度 高级调度是对作业的调度 又称长程调度 主要用于多道批处理系统 分时和实时系统中不设置高级调度 低级调度是对进程的调度 又称短程调度 它的运行频率最高 因此又叫短程调度 在多道批处理 分时 实时三种 OS 中必须配置这级调度 中级调度又称内存调度 中程调度 引入它是为了是为了提高内存利用率和系统吞吐量 实际上是处理 器管理中的对换功能 在处理机调度中重要的是实现对进程的调度 所以本次课程设计主要实现的就是进程调度实现进程的调 度 进程控制 进程同步 进程通信 进程有三种状态 就绪状态 运行状态 阻塞状态 针对着这三种状态 我们有对于进程的控制 包括 1 进程的创建与撤销 2 进程的挂起与恢复 进程表 也叫进程控制块 PCB 3 进程的调度与切换 还有进程同步 1 进程的并发执行 2 进程的互斥 信号量机制 进程通信 实现进程间的通信 进程间的信息交换过程如下图 进程调度算法有 轮转调度算法 优先级调度算法 多级反馈队列调度算法 基于公平原则的调度算法 2 3 设备管理设备管理 设备管理是指计算机系统中除了 CPU 和内存以外的所有输入 输出设备的管理 操作系统课程设计操作系统课程设计 10 2 3 1 设备管理的功能设备管理的功能 1 缓冲管理 为达到缓解 CPU 和 I O 设备速度不匹配的矛盾 达到提高 CPU 和 I O 设备利用率 提高系统吞吐量 的目的 许多操作系统通过设置缓冲区的办法来实现 2 设备分配 设备分配的基本任务是根据用户的 I O 请求 为他们分配所需的设备 如果在 I O 设备和 CPU 之间还 存在设备控制器和通道 则还需为分配出去的设备分配相应的控制器和通道 3 设备处理 设备处理程序又称设备驱动程序 其基本任务是实现 CPU 和设备控制器之间的通信 4 设备独立性和虚拟设备 用户向系统申请和使用的设备与实际操作的设备无关 2 3 2 外部设备的输入 输出方式外部设备的输入 输出方式 1 循环测试 I O 方式 2 中断处理方式 3 直接内存存取 DMA 方式 4 通道方式 通道方式分为 1 通道及通道控制结构 通道是一个用来控制外部设备工作的硬件机构 相当于一个功能简单的 处理机 在一般大型计算机系统中 主机对外部设备的控制可以分成三个层次来实现 即通道 控制器和设备 一旦 CPU 发出启动通道的指令 通道就可以独立于 CPU 工作 通道控制控制器工作 控制器用来控制设 备的电路部分 这样 一个通道可以连接多个控制器 而一个控制器又可以连接若干台同类型的外部设备 最终 设备在控制器控制下执行操作 2 通道控制的设备采用何种连接方式 一般设备的连续采用交连接 其好处是 1 提高系统的可 性 当某条通路因控制器或通道故障而断开时 可使用其他通路 2 提高设备的并行性 对于同一个设 备 当与它相连的某一条通路中的控制器或通道被占用时 可以选择另一条空闲通路 减少了设备因等待 通路所需要花费的时间 3 通道按传送数据的工作方式可以分 字节多路通道 选择通道 成组多路通道 4 设备分配的任务是 设备分配的任务是按照一定的策略为申请设备的进程分配合适的设备 控 制器和通道 设备分配应坚持的原则是 设备的独立性 不能因物理设备的更换而影响用户程序的正常运 行 系统特性 设备分配不能导致死锁现象发生 5 什么是设备的独立性 根据设备的类型 设备的分配策略有哪些 以磁盘为例 有哪些优化 调度算法 应考虑哪些因素 进程申请设备时 应当指定所需设备的类别 而不是指定某一台具体的设备 系统根据当前请求以及设备分配情况在相应类别的设备中选择一个空闲设备并将其分配给申请进程 这称 作设备的独立性 磁盘管理 1 先来先服务磁盘调度算法 FCFS 2 最短寻道时间优先磁盘调度算法 SSTF 3 扫描算法 SCAN 设计磁盘调试算法应考虑两个基本因素 1 公平性 2 高效性 4 为实现设备的有效管理 应采用 为实现设备 控制器 通道资源的分配与回收 系统需要记录有关 的 通常设备管理要建立以下数据结构 以实施有效的管理 1 设备控制块 2 控制器控制块 操作系统课程设计操作系统课程设计 11 3 通道控制块 4 系统设备表 2 4 用户接口用户接口 2 4 1 系统接口概述系统接口概述 操作系统作为作为计算机系统资源的管理者 对系统中的所有硬件和软件 进行统一的管理和操纵 无论是用户或 的外层软件 凡是涉及系统资源的有关操作 都必须作为服务请求提交给 有它来 完成 用户通过操作系统的帮助可以快速 有效和安全可靠的使用计算机的各类资源 操作系统作为计算 机系统资源的管理者 对系统的所有硬件和软件资源 进行统一的管理和操作 为了使用户能方便的使用 计算机 操作系统提供了相应的用户接口 操作系统与用户接口的目标是就是提供一个友好的 用户访问 操作系统的接口 使得用户能将自己的要求告诉操作系统 帮助用户快速 有效 安全 可靠地操作计算 机系统中的各类资源 完成相关的处理 用户接口可分为连机用户接口和脱机用户接口 2 4 2 系统接口设计要求系统接口设计要求 系统接口系统的具体要求如下 1 允许用户在终端上输入命令或向操作系统提交作业书 来取得操作系统的服务 并控制自己程序的 运行 2 通过图形化联机用户接口 用户可以轻松的通过选择窗口 菜单 对话框和滚动条 完成对作业和 文件的各种控制和操作 多用户系统中 保证系统的安全性 4 系统的外部特征应接近于真实系统 每个操作系统都提供一组文件 目录操作命令 显示 复制 文件 重命名 删除 5 提供友好的用户接口 2 4 3 shell 语言语言 在 Linux 系统中 shell 是命令语言 命令解释器及程序设计语言的统称 1 作为命令语言 它拥有自己内建的 shell 命令集 可以为用户提供使用操作系统的接口 用 户 利用该接口与机器交互 2 作为一种程序设计语言 它支持绝大多数在高级语言中能见到的程序元素 如函数 变量 数组和 程序控制结构 3 作为一个命令解释器 可对输入的命令解释执行 2 4 4 文件系统的实现文件系统的实现 1 系统程序 库函数 系统调用的分层关系图 操作系统课程设计操作系统课程设计 12 2 系统结构图 系统 调用 命令 3 系统调用接口设计流程图如下 标准系统程序 实用程序 系统程序 汇编 编译 编辑 shell 用户 标准库函数 标准函数 打开 关闭 读 写 创建 撤销 操作系统 系统调用 进程管理 存储管理 文件管理 设备管理 用户接口 库函数接口 系统调用接 口 用户 应用程序用户界面 操作系统 硬件 操作系统课程设计操作系统课程设计 13 2 5 作业调度作业调度 在多道批处理系统中 作业是用户提交给系统的一项相对独立的工作 操作员把用户提交的作业 通 过相应的输入设备输入到磁盘存储器 并保存在一个后备队列中 再由作业调度程序将其从外存调入内存 2 5 1 作业概念及相关词语作业概念及相关词语 作业 Job 它不仅包含了通常的程序和数据 而且还应配有一份作业说明书 系统根 据该说明书来对程序的运行进行控制 再批处理系统中 是以作业为基本单位 作业步 Job steps 完成作业中若干个相对独立 相互联系的顺序加工步骤 作业控制块 JCB 作业在系统中存在的标志 保存了系统对作业进行管理和调度所 需的全部信息 包括 作业标识 用户名称 用户账号 作业类型 作业状态 调度信息 2 5 2 作业管理基本功能作业管理基本功能 作业管理的基本功能是 1 作业调度 2 作业控制 作业控制 作业控制就是用户使用操作系统提供的作业控制语言 JCL 或作业控制命令 来组 织控制用户作业的运行 作业控制方式有 操作系统课程设计操作系统课程设计 14 1 脱机作业控制 就是用户先用系统提供的作业控制语言或控制命令 把要求系统进 行的工作 包括发生故障时的处理方法写成作业说明书 随同源程序和数据一齐交给计算机 系统 2 联机作业控制 采用人 机对话的方式控制作业的运行 2 5 3 作业状态及转换作业状态及转换 一个作业进入计算机系统后 一般要经过收容 运行和完成三个阶段 每个阶段相应的状态分别是 后备 运行和完成三种状态 1 后备 一个作业处于随时等待作业调度程序调度的状态 2 运行 作业从后备状态被选中 给它分配资源 进入执行状态 3 完成 当作业正常结束或异常终止 该作业进入完成状态 2 5 4 作业控制块和作业后备队列作业控制块和作业后备队列 作业控制块 JCB 是记录与该作业有关的各种信息的登记表 为了管理和调度作业 系 统为每个作业设置了一个作业控制块 JCB 它记录该作业的有关信息 是作业在系统中存 在的唯一标志 包括用户名 作业名和状态标志等信息 为了对已经接纳的作业进行管理 系统将把每个作业的 JCB 链接成队列 形成后备作 业队列 当需要调度作业进入主存运行时 作业调度程序就扫描此队列 从中选出合适者 把它的作业控制块摘下来 插入到运行作业队列中 2 5 5 作业调度作业调度 所谓作业调度 又称高级调度或宏观调度 就是按某种算法从处于后备状态的作业选 择一个作业装入主存开始执行 完成这种功能的程序称为作业调度程序 1 如何选择一个好的调度算法 1 选择的调度算法应与系统的整个设计目标一致 2 注意系统资源的均衡使用 使 I O 繁忙 的作业和 CPU 繁忙 的作业搭配起来 执行 3 平衡系统和用户的要求 2 作业调度算法 1 先来先服务 FCFS 操作系统课程设计操作系统课程设计 15 作业平均周转时间 作业完成时刻 i 作业提交时刻 i n 个作业 2 短作业优先 在作业内容参差很不均衡时有合理性 3 高 响应比 的优先 响应 系数 比 作业响应时间 等待和运行 作业运行时间 4 定时轮转法 按时间片 适合作业不定的情况 5 优先级调度法 急事先办的原则 6 均衡调度法 3 作业调度算法性能的衡量指标 1 周转时间 从作业提交到完成作业的时间 作业等待进入内存 在就绪队列中等待 在 CPU 上运行 完成 I O 操作 作业的周转时间 Ti Ti tci tsi tsi 作业提交时间 tci 作业完成时间 设 系统中有 n 个作业 则平均周转时间 T 为 i 1 2 n 利用平均周转时间可衡量不同调度算法对相同作业流的调度性能 2 带权周转时间 W 能够合理反映作业长短差别的指标 W T R R 实际运行时间 平均带权周转时间 利用平均带权周转时间可比较某种调度算法对不相同作业流的调度性能 操作系统课程设计操作系统课程设计 16 第第 3 章章功能与指标功能与指标 本操作系统的能够把数据存入内存中 并且能实现内存的整理 通过处理机对内存的访问 实现 作业的调度 采用分页式内存管理 系统可以实现对简单进程的调度 进程的管理 进程的同步和进程间 通信 当进程调入处理机时能够对设备进行有序调用 实现输入输出功能 用户接口通过 shell 实现用户与 操作系统内核进行交互 作业管理即作业调度 实现作业由外存调入内存 通过各种算法进行作业的调度 作业管理 job management 提供用户使用操作系统的方法 进程管理 process management 如何将处理机真正合理地分配给每个任务 存储器管理 memory management 对内存进行分配 保护和扩充 设备管理 devices management 提供一个管理设备的良好界面 主要性能指标 可靠性可靠性 R Reliability 指系统能正常工作时间的平均值 用平均无故障时间 MTBF Mean Time Before Failure 来衡量 R 值越大 系统的可靠性越高 可维修性可维修性 S Serviceability 指平均故障修复时间 MTRF Mean Time Repair a Failure 从故障 发生到故障修复所需的时间 S 越小 可维修性越高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美容化妆人员试题及完整答案详解【各地真题】
- 园艺节日:庆祝园艺相关的节日
- 实现财富梦想的关键即将揭秘
- 优化办公自动化流程规划
- 叛逆与秘密:青少年戏剧的创作与指南
- 2025年心脏康复方案设计考核答案及解析
- 就业实习报告写作规范
- 医院感染防控策略的实施效果
- 业主权益维护的监督方式
- 工业废水治理技术与应用案例
- T/CAQI 183-2021燃煤电厂脱硫废水处理技术规范
- 四史教育考试试题及答案
- 舞龙舞狮二级裁判员理论考试题库(含答案)
- 9.《复活(节选)》课件 统编版高二语文选择性必修上册
- 《翡翠玉石翡翠玉》课件
- 2025-2030中国成品润滑剂行业市场发展趋势与前景展望战略研究报告
- 保密警示教育典型泄密案例教育学习
- 道路货物运输经营申请表
- 乡村积分超市协议书
- 小学一年级上册体育全册教案
- 电焊工理论知识培训课件
评论
0/150
提交评论