操作系统课程设计(页式存储管理)任务书
- 格式:docx
- 大小:8.70 KB
- 文档页数:3
实验四页式虚拟存储管理中地址转换和缺页中断一、实验目的深入了解页式存储管理如何实现地址转换;进一步认识页式虚拟存储管理中如何处理缺页中断。
二、实验预备知识页式存储管理中地址转换的方法;页式虚拟存储的缺页中断处理方法。
三、实验内容编写程序完成页式虚拟存储管理中地址转换过程和模拟缺页中断的处理。
实验具体包括:首先对给定的地址进行地址转换工作,若发生缺页则先进行缺页中断处理,然后再进行地址转换;最后编写主函数对所做工作进行测试。
假定主存64KB,每个主存块1024字节,作业最大支持到64KB,系统中每个作业分得主存块4块。
四、提示与讲解页式存储管理中地址转换过程很简单,假定主存块的大小为2n字节,主存大小为2m'字节和逻辑地址m位,则进行地址转换时,首先从逻辑地址中的高m-n位中取得页号,然后根据页号查页表,得到块号,并将块号放入物理地址的高m'-n位,最后从逻辑地址中取得低n位放入物理地址的低n位就得到了物理地址,过程如图6所示。
逻辑地址图6 页式存储管理系统地址转换示意图地址转换是由硬件完成的,实验中使用软件程序模拟地址转换过程,模拟地址转换的流程如图7所示(实验中假定主存64KB,每个主存块1024字节,即n=10,m'=16,物理地址中块号6位、块内地址10位;作业最大64KB,即m=16,逻辑地址中页号6位、页内地址10位)。
在页式虚拟存储管理方式中,作业信息作为副本放在磁盘上,作业执行时仅把作业信息的部分页面装入主存储器,作业执行时若访问的页面在主存中,则按上述方式进行地址转换,若访问的页面不在主存中,则产生一个“缺页中断”,由操作系统把当前所需的页面装入主存储器后,再次执行时才可以按上述方法进行地址转换。
页式虚拟存储管理方式中页表除页号和该页对应的主存块号外,至少还要包括存在标志(该页是否在主存),磁盘位置(该页的副本在磁盘上的位置)和修改标志(该页是否修改过)。
课程设计课程设计名称:计算机操作系统专业班级:计算机科学与技术学生姓名:学号:指导教师:课程设计时间:操作系统专业课程设计任务书说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页目录一、设计目的为了掌握Linux环境下常用编译工具如gcc/g++/nasm及开源虚拟机bochs 的下载、安装、使用,掌握x86架构下分页式存储管理系统的基本原理,设计一个请求分页式虚拟存储系统。
掌握Linux系统下程序的编写及运行等方面展开实验。
二、设计要求2.1要求熟练掌握sudo apt-get install的用法。
2.2要求能够掌握分页存储管理系统的基本原理。
2.3要求学会在Linux系统下编写程序、执行程序。
三、设计容3.1运行环境3.1.1虚拟机系统下3.1.2使用Ubuntu下提供的apt-get软件包安装工具安装vim、 g++ 、nasm 、bochs等3.2 2.详细设计1)回顾虚拟页式存储系统:作业分页,存分块,只有当进程要使请认真阅读readme.txt文件,弄清楚各个文件的作用2)用其虚拟存时,其对应的数据才装入物理存。
3)完成frame_pool.H 、frame_pool.C 、page_table.C三个文件,其中page_table.H已经提供,我们需要添加page_table.C,自己设计并实现这些函数。
4)在frame_pool.H定义所需要的数据结构,在frame_pool.C完成这些函数。
添加代码如下所示:class FramePool {private: unsigned long base_frame_no; unsigned long nframes;unsigned long info_frame_no; unsigned char* free_frames;public:static const unsigned char USED -1;static const unsigned char UNUSED -0;static const unsigned int FRAME_SIZE -4096;public:FramePool(unsigned long _base_frame_no,unsigned long _nframes,unsigned long _info_frame_no);5)建立Frame_pool.C文件系统中使用位示图bitmap标识页面是否使用,start_frame表示第一个页面的起始地址(如系统存池从2M开始),pool_size表示在用户池中页框的总数(如系统存池的页框从2M~4M,因此共有(4M-2M)/4KB=512个页框)。
操作系统的虚拟存储管理与页式存储技术操作系统是计算机系统中非常重要的一个组件,它负责管理计算机硬件和软件资源,协调各个应用程序的执行,以及提供用户与计算机之间的接口。
虚拟存储管理是操作系统中的一个核心功能,它通过将主存(内存)和辅存(磁盘)结合起来,在有限的主存空间中管理多个应用程序的运行和数据存储。
页式存储技术是一种常用的虚拟存储管理技术,下面将详细介绍虚拟存储管理以及页式存储技术的原理和实现方式。
一、虚拟存储管理的概念和原理虚拟存储管理是一种用于管理计算机主存和辅存的技术,它将辅存中的数据自动地转移到主存中,并且能够在程序运行时动态地分配和回收主存空间。
通过虚拟存储管理,即使计算机的主存空间有限,也可以实现更多应用程序的并发执行和大规模数据的存储与处理。
虚拟存储管理的主要原理是将辅存中的数据划分为若干个固定大小的存储块,称为页面(Page)。
同样,主存也被划分为与辅存页面大小相同的存储块,称为页框(Page Frame)。
每个页面和页框都有唯一的标识符,用于管理和映射页面到页框的关系。
当一个应用程序需要访问或执行某个页面时,操作系统将其从辅存中读入一个空闲的页框,并将其映射到相应的页面标识符。
如果主存中没有空闲的页框,则需要使用一定的页面置换算法将某个页面替换出去,以腾出页框给新的页面使用。
虚拟存储管理能够有效地利用计算机的主存资源,并且能够在不同的应用程序之间进行数据保护和隔离。
通过页面和页框的映射关系,操作系统可以实现虚拟地址空间的划分和隔离,每个应用程序都认为自己独占了整个计算机的内存空间,而不需要关心其他应用程序的存在。
二、页式存储技术的实现方式页式存储技术是一种基于虚拟存储管理的实现方式,它将主存和辅存划分为固定大小的页面,并且使用页表来管理页面和页框的映射关系。
下面将详细介绍页式存储技术的实现方式。
1. 页面和页框的划分页式存储技术将辅存和主存划分为固定大小的页面和页框,通常大小为2的幂次方,例如2KB、4KB或者16KB等。
《计算机操作系统》课程设计教学大纲课程编号:08120070课程名称:计算机操作系统/Computer Operating System课程总学时/学分:56/3.5(其中理论46学时,实验10学时课程设计时间/学分:1周/1学分适用专业:计算机科学与技术一、设计任务及目的《计算机操作系统》课程是计算机科学与技术专业的一门重要专业基础课,“计算机操作系统课程设计”的目的是在学生学习了《计算机操作系统》课程之后理论联系实践,一方面延续《计算机操作系统》课程实验的要求,进一步加深与巩固学生对计算机操作系统中概念、基本原理、算法的理解和掌握,培养学生对计算机常用操作系统的操作能力;另一方面通过本环节加强培养学生分析、修改和设计操作系统的能力。
期望达到学为所用,并且能进一步提高使用计算机和编程能力。
二、课程设计的基本要求1、了解所选择开发环境的调试功能,掌握跟踪,修改错误的技巧。
2、能根据实际问题选择数据结构,清淅的描述算法。
3、培养良好的编程风格。
4、撰写课程设计报告,按格式要求写出完整的、规范的报告并打印,其中模块图、流程图要清楚规范,特别要求学生独立完成。
三、设计需运用的基本理论设计需运用计算机系统知识、操作系统基本概念、进程管理、存储管理技术、I/O管理技术、文件管理、高级语言程序设计、数据结构等内容。
四、课程设计内容与时间安排1、设计内容:可以选择下面提供的参考选题,也可以自选,如果自选,需要将自选题,目的详细内容以及实现要求提供给老师,老师批准后方可采用。
课题一:进程管理演示设计目的:加深对进程概念及进程管理各部分内容的理解;熟悉进程管理中主要数据结构的设计及进程调度算法、进程控制机构、同步机构及通讯机构的实施。
设计内容:设计一个允许n个进程并发运行的进程管理模拟系统。
该系统包括有简单的进程控制、同步与通讯机构,其进程调度算法可任意选择(优先级调度,时间片轮转,短进程优先中的一种)。
每个进程用一个PCB表示,其内容根据具体情况设置。
操作系统——页式存储管理分区式存储管理最⼤的缺点是碎⽚问题严重,内存利⽤率低。
究其原因,主要在于连续分配的限制,即它要求每个作⽤在内存中必须占⼀个连续的分区。
如果允许将⼀个进程分散地装⼊到许多不相邻的分区中,便可充分地利⽤内存,⽽⽆需再进⾏“紧凑”。
基于这⼀思想,产⽣了“⾮连续分配⽅式”,或者称为“离散分配⽅式”。
连续分配:为⽤户进程分配的必须是⼀个连续的内存空间。
⾮连续分配:为⽤户进程分配的可以是⼀些分散的内存空间。
分页存储管理的思想:把内存分为⼀个个相等的⼩分区,再按照分区⼤⼩把进程拆分成⼀个个⼩部分。
分页存储管理分为:实分页存储管理和虚分页存储管理⼀、实分页式存储管理实分页式存储最⼤的优点是内存利⽤率⾼,与⽬前流⾏的虚分页存储管理相⽐,具有实现简单,程序运⾏快的优点。
⽬前,飞速发展的硬件制造技术使得物理内存越来越⼤,因此我们认为,实分页式存储管理将是⼀种最有发展前途的存储管理⽅式。
1.1、基本原理假设⼀个⼤型饭店,所有的客房都是标准的双⼈间,部分客房已经住进客⼈,现在⼜有⼀个旅游团要求⼊住。
接待员统计了⼀下,对旅游团领队说:“贵团全体成员都能住下,两⼈⼀个房间,但是不能住在同⼀楼层了,因为每层空着的客房不够,更没有⼏个挨着的。
请原谅!”。
对于这样的安排,⼀般⼈不会感到奇怪。
因为旅游团本来就是由⼀位位个⼈或夫妻等组成的,⽽饭店的客房本来也是两⼈⼀间的,两⼈⼀组正好可住在⼀个客房⾥;另外,饭店⼏乎每天都有⼊住的和退房的客⼈,想在同⼀楼层找⼏间挨着的客房实在不容易。
①将整个系统的内存空间划分成⼀系列⼤⼩相等的块,每⼀块称为⼀个物理块、物理页或实页,页架或页帧(frame),可简称为块(block)。
所有的块按物理地址递增顺序连续编号为0、1、2、……。
这⾥的块相当于饭店的客房,系统对内存分块相当于饭店把⼤楼所有的客房都设计成标准的双⼈间。
②每个作业的地址空间也划分成⼀系列与内存块⼀样⼤⼩的块,每⼀块称为⼀个逻辑页或虚页,也有⼈叫页⾯,可简称为页(page)。
操作系统集中上机实验1:银行家算法一、目的和要求银行家算法是避免死锁的一种重要方法,本实验要求用高级语言编写和调试一个简单的银行家算法程序。
加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。
二、实验内容1.设计进程对各类资源最大申请表示及初值确定。
2.设定系统提供资源初始状况。
3.设定每次某个进程对各类资源的申请表示。
4.编制程序,依据银行家算法,决定其申请是否得到满足。
三、算法描述银行家可以把一定数量的资金供多个用户周转使用,为保证资金的安全银行家规定:1.当一个用户对资金的最大需求量不超过银行家现有的资金就要接纳该用户;2.用户可以分期贷款,但贷的总数不能超过最大需求量;3.当银行家现有的资金不能满足用户的沿需贷数时,对用户的贷款可推迟支付,但总能使用户在有限的时间里得到贷款;4.当用户得到所需的全部资金后,一定能在有限的时间里归还所有的资金。
实验2:时间片轮转法基本思想:将CPU的处理时间划分成一个个时间片,就绪队列中的诸进程轮流运行一个时间片,当时间片结束时,就强迫运行进程让出CPU,该进程进入就绪队列,等待下一次调度,同时,进程调度又去选择就绪队列中的一个进程,分配给它一个时间片,以投入运行。
在轮转法中,时间片长度的选择非常重要,将宜接影响系统开销和响应时间。
如果时间片长度很小,则调度程序剥夺处理机的次数频繁,加重系统开销;反之,如果时间片长度选择过长,比方说一个时间片就能保证就绪队列中所有进程都执行完毕,则轮转法就退化成先进先出算法。
实验3-4:抢占式(或非抢占式)优先级调度算法基本思想:该算法的基本思想是进程优先级高者优先调度,是一种常用的进程调度算法。
该算法的关键是如何确定优先数。
通常确定优先数的方法有两种,即静态法和动态法。
(1)静态优先权是在创建进程时确定的,其运行特征是优先数确定之后在整个进行运行期间不再改变。
确定静态优先权的依据有进程的类型、进程所使用的资源、进程的估计运行时间等因素。
实践课设计报告课程名称操作系统课程设计模拟设计内存管理中的地址题目转换(动态分区、页式十进制)学院班级学号姓名指导教师年月日课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 模拟设计内存管理中的地址转换(动态分区、页式十进制)初始条件:1.预备内容:阅读操作系统的内存管理章节内容,理解动态分区、页式、段式和段页式存储管理的思想及相应的分配主存的过程。
2.实践准备:掌握一种计算机高级语言的使用。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.下列内部存储器管理中地址转换,在完成指定存储管理技术中的地址转换基础上还可以选择其它内部存储器管理中的地址转换进行模拟设计并实现:⑴动态分区方案,用最先适用算法对作业实施内存分配,然后把作业地址空间的某一逻辑地址转换成相应的物理地址。
能够处理以下的情形:输入某一逻辑地址,程序能判断地址的合法性,如果合法,计算并输出相应的物理地址。
如果不能计算出相应的物理地址,说明原因。
⑵页式存储管理中逻辑地址到物理地址的转换(十进制)。
能够处理以下的情形:输入某一十进制逻辑地址,能检查地址的合法性,如果合法进行转换,否则显示“地址非法”;物理地址用十进制表示。
⑶页式存储管理中逻辑地址到物理地址的转换(八进制)。
能够处理以下的情形:输入某一八进制逻辑地址,能检查地址的合法性,如果合法进行转换,否则显示“地址非法”;物理地址用八进制表示。
⑷页式存储管理中逻辑地址到物理地址的转换(十六进制)。
能够处理以下的情形:输入某一十六进制逻辑地址,能检查地址的合法性,如果合法进行转换,否则显示“地址非法”;物理地址用十六进制表示。
⑸段式存储管理中逻辑地址到物理地址的转换。
能够处理以下的情形:指定内存的大小,进程的个数,每个进程的段数及段大小;能检查地址的合法性,如果合法进行转换,否则显示地址非法的原因。
⑹段页式存储管理中逻辑地址到物理地址的转换。
计算机科学与技术学院操作系统课程设计报告课题:模拟页式存储管理姓名:学号:同组姓名:专业班级:网工10101指导教师:刘国清设计时间: 2013-6-25 评阅意见:评定成绩:指导老师签名:年月日目录一、目的和要求 (2)1、设计目的 (2)2、设计要求 (2)二、设计思路及过程 (2)1、概要设计 (2)2、过程设计 (3)三、数据定义 (5)四、核心代码 (5)五、运行截图 (8)六、小结 (10)七、参考文献 (11)附录 (12)一、目的和要求1、设计目的通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。
2、设计要求根据模拟的页式管理设计,掌握在页式存储管理中最基本的三种页面调度算法FIFO、LRU以及OPT。
但在三种算法中均要求在调度程序中产生的页面序列是随机产生的,而不是人为的输入,在执行时只需改变页面的大小及内存容量就可以得到不同的页面序列,另外还需要说明随机的性能和其性能可能对算法的影响,并对随机性要有一定的参数控制能力。
此外,计算并输出FIFO、LRU以及OPT算法在不同内存容量下的命中率。
根据方法的执行过程,编写一个解决上述问题的程序,显示访问每个值页面中的值。
具体参数:访问串的长度,访问串,页面个数。
分别用3种不同的方法实现页面的置换,并输出相关信息。
二、设计思路及过程1、概要设计1.1 问题概述根据三种不同的置换算法,依据其不同的算法方式,分别计算该算法在不同情况下的命中率,并显示各页面的变化情况。
1.2 内容分析对于该课程设计中模拟的页式存储管理的页面置换过程,只要掌握其中最基本的三种算法,包括FIFO、LRU及OPT。
但最重要的一点就是要求产生随机序列,所以在编写程序时要采用控制产生随机值的种子数函数,如此能产生随机的访问序列。
另外,不能在执行完一次操作后就只能进行另外一种算法的操作,必须还要有更加详细的操作,比如:是否要重新得到新序列?还是要不改变访问序列而只改变访问串的内存容量?抑或是不操作就退出该算法以进行下一种调度算法?因此,在执行完每次操作后都必须要有提示语,看是否进入更细节的操作,还是退出本次算法的操作以进入下一种算法的调度。
操作系统-请求页式存储管理实验报告操作系统实验三存储管理实验班级:学号:姓名:目录1. 实验目的 ..................................................................... ........................................................................ (2)2. 实验内容 ..................................................................... ........................................................................ (2)(1) 通过随机数产生一个指令序列,共320条指令 ..................................................................... ............ 2 (2) 将指令序列变换成为页地址流 ..................................................................... ........................................ 2 (3) 计算并输出下述各种算法在不同内存容量下的命中率 .....................................................................23. 随机数产生办法 ..................................................................... (3)环境说明 ..................................................................... ........................................................................ . (3)4. 程序设计说明 ..................................................................... . (3)4.1. 全局变量...................................................................... (3)4.2. 随机指令序列的产生...................................................................... . (4)4.3. FIFO算法...................................................................... .. (4)4.4. LRU算法...................................................................... . (4)4.5. OPT算法...................................................................... . (5)5. 编程实现(源程序): ................................................................... ....................................................... 5 6. 运行结果及分析 ..................................................................... . (11)6.1. 运行(以某两次运行结果为例,列表如下:).................................................................... . (11)6.2. Belady’s anomaly................................................................. . (11)11. 实验目的存储管理的主要功能之一是合理地分配空间。
操作系统课程设计报告课程设计题目:页式存储管理中的地址变换作者所在系部:计算机科学与工程系作者所在专业:网络工程专业作者所在班级: B09521 作者姓名:作者学号: 200940521指导教师姓名:完成时间: 2011-12-12北华航天工业学院教务处制摘要页表的功能可以由一组专门的寄存器来实现。
一个页表项一个寄存器。
由于寄存器具有较高的访问速度,因而有利于提高地址变换的速度;但由于寄存器成本较高,且大多数现在计算机的页表又可能很大,是页表项的总数可达几千甚至几十万个,显然这些页表项不可能都用寄存器来实现,因此,页表大多驻留在内存中。
在系统中只设置页表寄存器PTR(Page-Table-Register),在其中存放页表在的内存的始址和页表的长度。
平时,进程为执行时,页表的始址和页表长度存放在本进程的PCB中。
当调度程序调度到某进程时,才将这两个数据装入页表寄存器中。
因此,在单处理机环境下,虽然系统中可以运行多个进程,但只需一个页表寄存器。
当进程要访问某个逻辑地址中的数据时,分页地址变换机构会自动地将有效地址(相对地址)分为页号页内地址两部分,再以页号为索引去检索页表。
查找操作由硬件执行。
在执行检索之前,先将页号与页表长度进行比较,如果页号大于或等于页表长度,则表示本次所访问的地址已超越进程的地址空间。
于是,这一错误将被系统发现并产生一地址越界中断。
若未出现越界错误,则将页表始址与页号和页表项长度的乘积相加,便得到该表项在页表中的位置,于是可从中得到该页的物理块号,将之装入物理地址寄存器中。
与此同时,再将有效地址寄存器中的页内地址送入物理地址寄存器的块内地址字段中。
这样便完成了从逻辑地址到物理地址的变换。
在内存的管理的分页管理中,进程的存放是分为若干页的,这些可能存放在连续的内存中,也可能存放在不联系的内存中。
进程所分的页的大小与内存中块的大小相同。
在页表中存放着页与内存块的对应关系,调度进程时要先访问页表,将所需的页调入内存才能执行。
课程设计管理系统任务书一、教学目标本课程的教学目标是使学生掌握XX学科的基本概念、原理和方法,能够运用所学知识解决实际问题。
具体目标如下:知识目标:1. 掌握XX学科的基本概念和原理;2. 了解XX学科的发展历程和现状;3. 熟悉XX学科的实验方法和技巧。
技能目标:1. 能够运用XX学科的知识解决实际问题;2. 具备XX学科的实验操作能力;3. 学会XX学科的科学研究方法和技巧。
情感态度价值观目标:1. 培养对XX学科的兴趣和热情;2. 形成科学的世界观和方法论;3. 增强团队协作意识和能力。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.XX学科的基本概念和原理:通过讲解和案例分析,使学生了解XX学科的基本概念和原理,掌握其核心思想。
2.XX学科的发展历程和现状:通过历史回顾和现状分析,使学生了解XX学科的发展过程,了解其在现代社会的应用和发展趋势。
3.XX学科的实验方法和技巧:通过实验操作和数据分析,使学生掌握XX学科的实验方法和技巧,培养其实验操作能力和科学思维。
三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:通过教师的讲解,使学生掌握XX学科的基本概念和原理。
2.讨论法:通过分组讨论和课堂讨论,激发学生的思考,培养其团队协作能力和科学思维。
3.案例分析法:通过分析实际案例,使学生了解XX学科的应用和实践,提高其解决实际问题的能力。
4.实验法:通过实验操作和数据分析,培养学生的实验操作能力和科学思维。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用国内权威的XX学科教材,为学生提供系统的学习资料。
2.参考书:推荐学生阅读相关的参考书籍,丰富其知识体系。
3.多媒体资料:制作课件和教学视频,提高课堂教学的趣味性和互动性。
4.实验设备:准备充足的实验设备,确保每个学生都能动手操作,提高其实验能力。
五、教学评估本课程的评估方式包括平时表现、作业和考试等,旨在全面客观地评估学生的学习成果。
请求分页式存储管理一、问题描述设计一个请求页式存储管理方案,为简单起见。
页面淘汰算法采用FIFO页面淘汰算法,并且在淘汰一页时,只将该页在页表中修改状态位。
而不再判断它是否被改写过,也不将它写回到辅存。
二、基本要求页面尺寸1K,输入进程大小(例如5300bytes),对页表进行初始化页表结构如下:系统为进程分配:任意输入一个需要访问的指令地址流(例如:3635、3642、1140、0087、1700、5200、4355,输入负数结束),打印页表情况。
每访问一个地址时,首先要计算该地址所在的页的页号,然后查页表,判断该页是否在主存——如果该页已在主存,则打印页表情况;如果该页不在主存且页框未满(查空闲块表,找到空闲块),则调入该页并修改页表,打印页表情况;如果该页不在主存且页框已满,则按FIFO页面淘汰算法淘汰一页后调入所需的页,修改页表,打印页表情况。
存储管理算法的流程图见下页。
三、实验要求完成实验内容并写出实验报告,报告应具有以下内容:1、实验目的。
2、实验内容。
3、程序及运行情况。
4、实验过程中出现的问题及解决方法。
#include<stdio.h>#include<stdlib.h>int PUB[20][3];int ABC[3][2]={{0,1},{1,1},{2,1}};//物理块int key=0;void output(int size){//打印int i,j;printf("页号\t\t物理块号\t\t状态位\n\n");for(i=0;i<size;i++){printf(" %d\t\t%d\t\t\t%d\n\n",PUB[i][0],PUB[i][1],PUB[i][2]);}printf("物理块号\t\t是否空闲\n\n");for(i=0;i<3;i++){printf(" %d\t\t\t%d\n\n",ABC[i][0],ABC[i][1]);}}void main(){int size;int i,j;int address=0;int select=0;printf("请输入进程大小\n");scanf("%d",&size);if(size<=0 || size>20000){printf("进程大小超出范围\n");exit(0);}size%1000==0 ? size=size/1000 : size=size/1000+1;for(i=0;i<size;i++){PUB[i][0]=i; //页号PUB[i][1]=0; //物理块号PUB[i][2]=0; //状态位}output(size);while(1){printf("输入指令地址\n");scanf("%d",&address);if(address<0 || address>20000){printf("地址超出范围\n");exit(0);}address%1000==0 ? address=address/1000 : address=address/1000;if(PUB[address][2]==0) //不在主存{if(ABC[2][1]==0) //满了{printf("满了\n");if(select!=address) key++;for(i=0;i<size;i++){if(PUB[i][1]==key){PUB[i][1]=0;PUB[i][2]=0;}}PUB[address][1]=key;PUB[address][2]=1;key++;if(key>3) key=1;}if(ABC[2][1]==1) //没满{printf("没满\n");for(i=0;i<3;i++){if(ABC[i][1]==1){ABC[i][1]=0;PUB[address][1]=i+1;PUB[address][2]=1;break;}}}output(size);}else{printf("该页已在内存\n");output(size);}select=address;}}。
一、课程设计的原始资料及依据
查阅有关计算机操作系统的教材、实验指导书等资料,进一步熟悉操作系统的基本原理,算法的设计思想。
页式和段式存储管理是操作系统中存储管理中实现离散式存储管理的重要内容。
本设计要求用高级语言编写和调试一个简单的页式和段式存储管理程序。
通过本设计
可以加深理解有关页表、段表、进程队列的概念,并体会和了解地址转换。
二、课程设计主要内容及要求
1 •认真阅读资料,掌握离散式存储管理的原理和思想。
2 •要求在设计的过程中,建立清晰的层次结构。
3•画出主要的功能结构图和主要算法的流程图。
4. 设计页表和段表结构,实现离散式存储管理功能。
页表通常包括以下信息:页号,块号。
根据调度算法的不同,页表结构的内容可以作适
当的增删。
5•实现逻辑地址到物理地址的转换。
6. 建立进程序列。
7. 实现进程的离散式分配。
&运行程序,检查结果是否和理论值一致。
9.环境可以使用Windows. Turbo C环境或Linux。
三、对课程设计说明书撰写内容、格式、字数的要求
1. 课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。
一般不应少于3000字。
2. 在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3. 设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。
4. 课程设计说明书手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑
墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18 磅。
文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四
号字,表题与图题采用宋体五号字。
5. 课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。
四、设计完成后应提交成果的种类、数量、质量等方面的要求
1. 完成“任务书”中指定的功能,运行结果正确。
2. 课程设计说明书。
五、时间进度安排
六、主要参考资料(文献)
[1] 凤羽•操作系统•北京:电子工业出版社,2004
[2] 马季兰、冯秀芳等•操作系统原理与Linux.北京:人民邮电出版社,2000
[3] 孟静•操作系统原理教程•北京:清华大学出版社,2000
[4] 周苏、金海溶•操作系统原理实验•北京:科学出版社,2000。