一 需求分析
用高级语言编写程序,模拟实现一个简单功能的操作系统。
实现作业调度(先来先服务)、进程调度功能(时间片轮转)
实现内存管理功能(连续分配)
实现文件系统功能(选做内容)
这些功能要有机地连接起来
二 程序设计
2.1 算法简介
先来先服务算法:
如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列的后面,那么先来先服务(FCFS: first come first service)总是把当前处于就绪队列之首的那个进程调度到运行状态。也就说,它只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU周期的长短及其他因素。FCFS算法简单易行,但性能却不大好。
时间片轮转算法:
时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。
动态分配算法:
主要算法有首次适应算法、循环首次适应算法、最坏适应算法、最佳是适应算法等,是一种具有较高性能的内存分配算法。
三 程序实现
3.1 开发与运行环境
运行系统:Windows 10
编译工具:Dev C++
3.2 主要方法介绍
方法 功能
OS() 操作系统主界面
jobS() 作业调度算法(先来先服务)
courseS() 进程调度算法(时间片轮转)
memory() 内存管理算法
参考文档和完整的文档和源码下载地址:
本文详细介绍了如何使用高级语言设计和实现一个简易操作系统,包括作业调度、进程调度、内存管理及文件系统的基本功能。重点讲解了先来先服务、时间片轮转和动态分配算法的原理与实现。
919

被折叠的 条评论
为什么被折叠?



