操作系统课程设计
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统课程设计相关的知识,希望对你有一定的参考价值。
设计二 页式存储管理模拟器
目的与要求:本设计的目的是通过进程与内存管理模拟设计,使学生掌握存储管理的一些基本方法。
要求学生在熟悉DOS操作系统的中断接口及程序接口的基础上,利用C语言设计实现,并通过图形化方式跟踪显示内存变化状态。
设计内容:利用C语言,、DOS中断中21H与屏幕显示相关的中断调用设计完成,具体包括:
1、 进程模拟数据读取与分析
2、 进程调度(状态转换)
3、 进程运行状态显示
4、 页式空间组织与管理
5、 页式存储空间分配
6、 页式存储空间回收
7、 页的调入与调出
8、 虚拟存储空间的组织与管理
9、 存储空间使用情况跟踪显示
上述功能根据提供的进程原始数据以及屏幕显示状态信息,运行验证程序得到预期结果。
有会的师兄记得打救我 有答案之后我会立马加分。
设计1 进程管理
设计内容
进程的创建和控制
编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。每个进程在屏幕上显示一个字符,记录屏幕上的显示结果,并分析原因。修改以编写的程序,将每个进程输出一个字符改为每个进程输出一句话。
进程的软中断通信
使用系统调用fork()创建两个子进程,使用系统调用signal()让父进程捕捉用alarm函数设置时钟的时间段终止时产生的信号,当捕捉到该信号后,父进程使用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出子进程被杀死信息后终止,父进程等待两个子进程终止后,输出父进程被杀死信息后终止程序。记录屏幕上的显示结果,并分析原因。
进程的管道通信
使用系统调用pipe()建立一个管道;两个子进程分别向管道写信息,父进程则从管道读出来自子进程的信息,显示在屏幕上。
记录屏幕上的显示结果,并分析原因。
设计2 进程的同步与互斥
设计内容
用程序实现生产者-消费者问题
问题描述: 一个仓库可以存放K件物品。生产者每生产一件产品,将产品放入仓库,仓库满了就停止生产。消费者每次从仓库中去一件物品,然后进行消费,仓库空时就停止消费。
设计3 存储管理
设计内容
将指令序列转换为用户虚存中的请求调用页面流。
页面大小为1K
用户内存容量为4页到40页
用户外存的容量为40k
在用户外存中,按每K存放10条指令,400条指令在外存中的存放方式为:
0-9条指令为第0页
10-19条指令为第1页
。。。。。
390-399条指令为第39页
按以上方式,用户指令可组成40页
通过随机数产生一个指令序列,共400个指令(0-399)
模拟请求页式存储管理中页面置换算法
执行一条指令,首先在外存中查找所对应的页面和页面号,然后将此页面调入内存中,模拟并计算下列各述算法在不同内存容量下的命中率(页面有效次数/页面流的个数)
先进先出的算法(FIFO)
最久未使用算法(LRU)
提示
随机指令的产生
rand() 或srand()
用户内存中页面控制结构采用链表
页面控制结构
struct p_str
int pagenum; /* 页号 */
int count; /* 访问页面的次数 */
struct p_str next; /* 下一指针 */
p_str;
课程设计|MFC火车票售票系统(含课程报告+源码)
目录
以上是关于操作系统课程设计的主要内容,如果未能解决你的问题,请参考以下文章