操作系统课程设计报告

发布 2022-10-05 13:25:28 阅读 2997

操作系统是信息管理与信息系统专业一门重要的专业理论课程,了解和掌握操作系统的基本概念、功能和实现原理,对认识整个计算机系统的工作原理十分重要。以下是xx整理的。

页面置换算法定义。

在地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断。当发生缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。

所使用的算法。

1) 最佳置换算法(opt):将以后永不使用的或许是在最。

长(未来)时间内不再被访问的页面换出。

2) 先进先出算法(fifo):淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。

3) 最近最久未使用算法(lru):淘汰最近最久未被使用的页面。

设计思想。选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换:

opt基本思想:

是用一维数组page存储页面号序列,memery是存储装入物理块中的页面。数组next记录物理块中对应页面的最后访问时间。每当发生缺页时,就从物理块中找出最后访问时间最大的页面,调出该页,换入所缺的页面。

fifo基本思想:

是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。或者借助辅助数组time记录物理块中对应页面的进入时间,每次需要置换时换出进入时间最小的页面。 lru基本思想:

是用一维数组page存储页面号序列,memery是存储装入物理块中的页面。数组flag标记页面的访问时间。每当使用页面时,刷新访问时间。

发生缺页时,就从物理块中页面标记最小的一页,调出该页,换入所缺的页面。

实验环境:vc++,编程语言:c语言 #include #include /*全局变量*/

int msize; /物理块数*/

int psize; /页面号引用串个数*/

static int memery=; 物理块中的页号*/ static int page=; 页面号引用串*/ static int temp=; 辅助数组*/ 置换算法函数*/ void fifo ; void lru ; void opt ; 辅助函数*/

void print(unsigned int t); void designby ; void download ;

void mdelay(unsigned int delay); 主函数*/ void main while (code!=4); getch ;

/*载入数据*/ void download printf(" finish. 载入成功,按任意键进入置换算法选择界面:

>>>getch ;

/*设置延迟*/

void mdelay(unsigned int delay)

if(k==msize) /如果不在物理块中*/

int flag=; 记录页面的访问时间*/ int i,j,k,m;

int max=0; /记录换出页*/ int count=0; /记录置换次数*/ 前msize个数直接放入*/ for(i=0;i

memery=page; flag=i;

for(j=0;j

for(i=msize;i

if(memery!=page) k++;else flag=i; /刷新该页的访问时间*/

if(k==msize) /如果不在物理块中*/

int next=; 记录下一次访问时间*/ int i,j,k,l,m;

int max; /记录换出页*/

int count=0; /记录置换次数*/ 前msize个数直接放入*/ for(i=0;i

memery=page; for(j=0;j

for(i=msize;i

/*判断新页面号是否在物理块中*/ for(j=0,k=0;j

if(memery!=page) k++;

if(k==msize) /如果不在物理块中*/ count++;得到物理快中各页下一次访问时间*/ for(m=0;m=next?0:1; for(m=2;mnext) max=m; /下一次访问时间都为psize,则置换物理块中第一个 */memery=page; for(j=0;j

for(j=0;j

第一组数据:

1.运行结果。

2. 按任意键进行初始化:

3. 载入数据:

4. 进入置换算法选择界面:

5.运算中延迟操作:

6.三种算法演示结果。

7.退出算法。

第二组数据:

1.运行结果。

2.按任意键进行初始化:

3.载入数据:

4.进入置换算法选择界面:

5.运算中延迟操作:

6. 三种算法演示结果。

7.退出算法。

由于时间有限,本次设计完成的并不是很完美,下面从以下几点来说明本次课程设计的个人体会:

1.本次课程设计中做的比较好的地方:

做的好的地方就是在于对题目意思的正确理解,以及在此基础上的模型设计。最开始一看题目的时候感觉很迷茫,有点不知道如何着手,等静下心来仔细分析了程序,明确了目标,明确了思路,才对程序有了一个较为完整的实现。

2.做得不太好的地方,以及以后如何改正:

做得不太好的地方就是不能把自己所学的c知识和本次课程设计的相关知识很好的结合起来,以至于没有很好的表达出本次课程设计的细节。在以后的过程中,我会运用本次课程设计中所学的知识,以及思考问题的方式和方法,争取能够发扬优点,尽量克服不细心,不严谨等缺点。

3.从本次设计中得到的收获:

操作系统课程设计报告

西安郵電大學。院系名称 计算机学院。专业名称 软件工程。班级 1104 学生姓名 赵大伟。学号 8位 04113124 指导教师 舒新峰。设计起止时间 2013.11.10 2013.11.20 1 通过观察 分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在posix 规范中...

操作系统课程设计报告

课程设计。课程名称操作系统。题目名称多级文件系统 2 学生学院计算机学院 专业班级。学号。学生姓名。指导教师。年月日。目录。一 课程设计 6 二 开发工具及环境 6 三 设计内容 6 四 结构图 8 五 部分 9 六 运行截图 11 七 参考文献 15 八 心得体会 15 本课程设计要求设计一个模拟...

操作系统课程设计报告

实验一进程管理。一 实验目的。1 开发一个函数,建立进程控制块和资源控制块结构,并实现相关数据结构的初始化。2 开发一系列操作,由进程调用这些操作,达到控制进程申请或释放各种资源的目的。通过实验理解进程的概念,进程的组成 pcb结构 进程的并发执行和操作系统进行进程管理的相关原语 主要是进程的创建 ...