文档库 最新最全的文档下载
当前位置:文档库 › 操作系统讲义下-剪辑版

操作系统讲义下-剪辑版

操作系统讲义下-剪辑版
操作系统讲义下-剪辑版

第四章存储器管理

主要知识点:

计算机系统中的存储器可以分为两种:内存储器和辅助存储器。前者可被CPU直接访问,后者不能。

一、程序的装入和链接

将一个用户源程序变为一个可在内存中执行的程序,通常要经过编译、链接和装入几个步骤:(1)编译。由编译程序将用户源代码编译成若干个目标模块。(2)链接。由链接程序将编译后形成的目标模块以及它们所需要的库函数,链接在一起,形成一个装入模块。(3)装入。由装入程序将装入模块装入主存的过程。如图4.2

内存

第一步第二步第三步

图4.1 源程序执行过程

1.程序的装入

程序的装入就是把程序装入内存空间,采用三种方式

(1)绝对装入方式:是由装入程序根据装入模块中的地址,将程序和数据装入内存。程序中的逻辑地址与实现装入的物理地址相同,装入时无需地址转换。(适于单道环境)

①逻辑地址:用户的每一条程序指令要访问的数据都有一个对应的地址,这个地址被称为逻辑地址。由于它是相对于0的地址,因此又被称为相对地址。

②物理地址:内存中的实际地址被称为物理地址。由于它并不和任何相对地址相关,因此,物理地址又称为绝对地址。

(2)可重定位方式:是由装入程序根据内存当前的实际使用情况,将装入模块装入到内存适当的地方。

①重定位:将程序中的逻辑地址改为实际物理地址称为重定位,也称为地址变换过程。

②静态重定位方式:是指地址转换工作是在程序装入内存时由装配程序完成的。装配程序根据将要装入内存的起始地址,对程序模块中有关的地址部分进行调整和修改。一旦确定下来之后不再改变,即静态地址重定位是在程序执行之前完成的地址转换。物理地址=逻辑地址+程序存放在内存的起始地址

优点:无需硬件支持,容易实现。缺点:程序经地址重定位后不能再移动,程序在内存空间只能连续存储,程序很难被若干个用户所共享

(3)动态运行时装入方式:动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序要真正执行时才进行。

动态重定位方式:是指地址转换工作是在程序执行期间由硬件变换机构动态实现地址转换的。适于多道环境,允许程序移动,但是需要特殊硬件支持(重定位寄存器)。物理地址=逻辑地址+重定位寄存器的内容

2.程序的链接

链接程序的功能是将经过编译或汇编后所得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块。实现链接的方法有三种:

(1)静态链接:事先进行链接,以后不再拆开的链接方式

(2)装入时动态链接:用户源程序经编译后所得到的目标模块,是在装入内存时,边装入边链接的。

(3)运行时动态链接:某些目标模块的链接,是在程序执行中需要该(目标)模块时,才对它进行链接。(加快程序的装入过程,提高内存利用率)

二、连续分配方式

连续分配方式是指为一个用户程序分配一个连续的内存空间。

1.单一连续分配

只能用于单用户,单任务的操作系统。把内存分为系统区和用户区两部分,系统区给OS使用,通常在低址部分;用户区给用户使用。在主存中仅驻留一道程序,整个用户区为一用户独占。当用户作业空间大于用户区时,该作业不能装入。

2.固定分区分配

将内存中的用户空间划分为若干个固定大小的区域,每个分区中只装入一道作业,一个作业也只能装入一个分区中,这样可以装入多个作业,使它们并发执行。当有一个空闲分区时,便可从外存的后备队列中,选择一个适当大小的作业装入该分区;当该作业运行完时,又可从后备队列中选择另一个作业装入该分区(分区大小可以相同也可以不同)。要求把作业全部装入主存,且装入一个连续的存储空间。当分区较大作业较小时,仍然浪费许多主存空间(产生内部碎片),并且分区总数固定,限制了并发执行的作业数目。

3.动态分区分配

动态分区存储管理方式是在作业要求装入主存时,根据作业的大小动态地划分分区,适应作业的要求。分区的大小和数目都是不一定的。由于实施动态分区存储管理时,分区的划分是按照进入作业的尺寸进行的,因此在这个分区里不会出现内部碎片。动态分区存储管理消灭了内部碎片,不会出现由于内部碎片而引起的存储浪费现象。

动态分区存储管理方式必须解决三个问题:

(1)分区分配中所用的数据结构。

为了实现分区分配,系统中必须配置相应的数据结构,用来记录内存的使用情况。比如空闲分区的情况,为作业分配内存空间提供依据。常用的有空闲分区表和空闲分区链。P108

(2)分区的分配算法P108(注意!)。

①首次适应分配算法(FF)。要求空闲区按首址递增的次序组织空闲区表(队列)。当进程申请大小为SIZE的内存时,系统从空闲区链的链首开始查询,直到首次找到等于或大于SIZE的空闲区。从该区中划出大小为SIZE的分区分配给进程,余下的部分仍作为一个空闲区留在空闲区链中,但要修改其首址和大小。若找不到满足要求的,则分配失败,返回。算法是尽可能地利用低地址空间,从而保证高地址空间有较大的空闲区。缺点是容易产生过多的小地址碎片;降低了主存空间利用率;每次查找都是从低址开始,增加了查找的开销。

②循环首次适应算法(NF)。对首次适应算法进行了改进,不是每次都从链首开始找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到找到一个能满足要求的空闲分区。使内存中的空闲分区分布得更均匀,减少了查找时的开销,但会缺乏大的空闲分区。

③最佳适应算法(BF)。每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业,避免大材小用。要求按空闲区大小从小到大的次序组成空闲区链。当进程申请一个存储区时,系统从表头开始查找,当找到第一个满足要求的空闲区时,停止查找,并且这个空闲区是最佳的空闲区。缺点:空闲区的大小一般与申请分区大小不相等,因此将其一分为二,留下来的空闲区一般情况下是很小的,以致无法使用。随着时间的推移,系统中的小空闲区会越来越多,从而造成存储区的大量浪费。

④最坏适应算法(WF)。扫描整个空闲分区表,或链表,总是挑选一个最大的空闲区分割给作业使用。算法要求按空闲区大小从大到小的次序组成空闲区链。这样可使剩下的空闲区不至于太小,产生碎片的几率最小,对中、小作业有利。但缺乏大的空闲分区,不利于大作业。

(3)分区的分配和回收。

分区的分配是指系统根据用户的请求,在空闲区表或空闲区队列中寻找一个满足用户要求的空闲区,把这个空闲区分配给用户。

当某个进程释放某存储区时,系统首先检查释放区是否与系统中的空闲区相邻,若相邻则把释放区合并到相邻的空闲区中去,否则把释放区作为一个空闲区插入到空闲区表的适当位置。有可能会出现下面四种情况:如图4.2

图4.2 释放区与空闲区的位置情况

①释放区与前空闲区相邻:将释放区与前空闲区合并为一个空闲区。其首址仍为前空闲区首址,大小为释放区大小与空闲区大小之和。

②释放区与后空闲区相邻:则把释放区合并到后空闲区,首地址为释放区首地址,大小为二者大小之和。

③释放区与前后两个空闲区相邻:将这三个区合为一个空闲区,其首址为前空闲区首址,大小为这三个区大小之和,并取消原后空闲区表项。

④释放区不与任何空闲区相邻:将释放区作为一个空闲区,将其大小和首址插入到空闲区链的适当位置。4.可重定位分区分配(一般都需要重定位寄存器)

在连续分配中,必须把一个系统或用户程序装入一连续的内存空间。在动态分区分配方式中,经过一段时间的内存中会产生很多小的空闲分区,它们容量的总和大于要装入的程序,但由于这些分区不相邻接,无法把该程序装入内存。如果将主存中的所有作业进行移动,使它们相邻接,原来分散的多个小分区便拼接成一个大分区,从而就可以把作业装入该区。这种通过移动,把多个分散的小分区拼接成大分区的方法被称为“拼接”或“紧凑”,改变作业在主存中位置的工作称为“移动”。紧凑后的某些用户程序在内存中的位置发生了变化,所以须对移动的程序或数据进行重定位,称为可重定位分区分配。可重定位分区分配就是在动态分区分配方式的基础上增加了紧凑功能。

三、基本分页存储管理方式

非连续分配方式即将一个作业离散地存放到内存中去。

1.页面与页表

把用户程序按逻辑页划分成大小相等的部分,称为页(page ),从0开始编制页号,页内地址是

相对于0编址。同样把内存空间按页的大小划分为大小相等的区域,称为块或内存块(物理页面,页框)逻辑上相邻的页,物理上不一定相邻

在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块

中。进程的最后一页经常不满一块而形成了不可利用的碎片称之为“页内碎片”。

用户程序的划分是由系统自动完成的,对用户是透明的。

一般,页的大小为2的整数次幂,地址的高位部分为页号,低位部分为页内地址。

图4.3基本分页的地址结构

对某特定机器,其地址结构是一定的。若给定一个逻辑地址空间中的地址为A ,页面的大小为L ,则页号P 和页内地址d 可按下式求得:

页表的作用就是实现从页号到物理块号的地址映射。系统为每个进程建立一个页表,页表的长

度和首地址存放在该进程的进程控制块(PCB )中。

2.地址变换机构

地址变换机构的任务是实现从逻辑地址到物理地址的转换。即把程序地址转换成内存地址,这

个转换过程是在程序执行过程中完成的,是动态地址映射。

(1)基本的地址变换机构(图P116)

当进程要访问某个逻辑地址中的指令或数据时,地址变换机构自动地将逻辑地址分为页号和页

内地址两部分,并将页号与页表寄存器中的页表长度进行比较,若页号不小于页表长度,便产生越界中断,否则便以页号为索引去检索页表,从中得到该页的物理块号,送入物理地址寄存器与页内地址拼接,形成对应的物理地址。

页表是放在内存中的,需要访问两次内存:一是找指定页的物理块号,

再将块号与页内偏移量

W 拼接,形成物理地址.二是通过物理地址访问所需数据.

(2)具有快表的地址变换机构

在地址变换机构中,增设一个具有并行查找能力的高速缓冲寄存器,又称为“联想存储器”或

“快表”,用以存放当前被频繁访问的页面的页号和对应的页表项。

地址转换时,地址变换机构自动将逻辑地址中的页号并行地与快表中的所有页号进行比较,若

其中有与此相匹配的页号,便可直接从快表中读出该页对应的物理块号,送到物理地址寄存器。如果在快表中未找到,则其步骤与基本地址变换机构一样,同时还须将得到的页表项与页号一起放入快表中,若快表已满,则用某种置换算法淘汰某个快表项,再装入。

在有快表的情况下,如果该项在快表中找到,则访问内存的指令仅需访问一次内存,访问快表

的时间可忽略不计,访问内存的时间即是从所得地址中获得所需数据(或写入数据)的时间。 四、基本分段存储管理方式

引入段式管理方式主要是为了满足用户和程序员的需要。方便用户,用户希望逻辑分段;便于

信息共享;便于信息保护;便于数据段动态增长;便于程序段动态链接。

1.分段系统的基本原理

(1)分段与段表

11 12 31 页号P 页内位移量W MODL A d L A INT P ][=??????=

①用户程序划分

按程序自身的逻辑关系划分为若干个程序段。段号从0开始,每一段段内也从0开始编址,段内地址是连续的。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。逻辑地址:由段号和段内地址组成。

图4.4基本分段的地址结构

②内存划分

内存空间被动态的划分为若干个长度不相同的区域,称为物理段,每个物理段由起始地址和长度确定。

③内存分配

以段为单位分配内存,每一个段在内存中占据连续空间(内存随机分割,需要多少分配多少),但各段之间可以不连续存放

④段表

每个程序有一个段表,记录了该段在内存中的起始地址和段的长度。可放在内存中,也可放在寄存器中。段表是用于实现从逻辑段到物理内存区的映射。

(2)地址变换机构

为了实现从进程的逻辑地址到物理地址的变换功能,系统中设置了段表寄存器,用于存放段表始址和段表长度TL。在进行地址变换中,系统取出逻辑地址中的段号S和段内位移W;若S>TL,段号太大,产生越界中断;否则根据段表始址找到段表,查找段号为S的表目,得到该段在内存的起始地址;然后检查段内地址d是否起过该段的段长SL,若超过产生越界中断;否则把段首地址与段内位移相加,形成内存物理地址。

与基本分页一样,每访问一个数据都要访问两次内存,可增设一个快表保存最近常用的段表项。

(3)分页与分段的区别(注意)

两者都采用离散分配方式,且都要通过地址变换机构来实现地址变换。两者主要区别:

①页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。

②页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。

③分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

2.信息共享

分段系统的一个突出优点就是易于实现段的共享,即允许若干个进程共享一个或多个分段,且对段的保护也十分简单。在分段系统中,只需在每个进程的段表中为共享的段设置一个段表项,即可实现段的共享。

优点:便于动态申请内存,管理和使用统一化,便于共享,便于动态链接

缺点:产生外部碎片

3.段页式存储管理方式

段页式存储管理方式结合页式段式优点,能像分页系统那样有效的利用内存,又可以像分段系统那样满足用户的多方面需要。

(1)段页式系统的基本原理

①用户程序划分:按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分

每一段)。

②逻辑地址:分为段号、段内页号和页内地址三部分。

图4.5基本段页式地址结构

③内存划分:按页式存储管理方案。

④内存分配:以页为单位进行分配。

⑤段表:记录了每一段的页表始址和页表长度。

⑥页表:记录了逻辑页号与内存块号的对应关系(每一段有一个,一个程序可能有多个页表)。

(2)地址变换过程(P124)

进行地址变换时,首先利用段号,将它与段表长进行比较,若段号小于段表长度,则利用段表始址和段号求出该段所对应的段表项得到该段的页表始址;然后利用段内页号与页表长度比较,若页号小于页表长度,则利用页表找到该页所对应的页表项得到该页所在的物理块号;再利用块号和页内地址构成物理地址。

在段页式系统中,为了获得一条指令数据,须三次访问内存:

①访问内存中的段表,从中取得页表始址

②访问内存中的页表,从中取出该页所在的物理块号,将该块号与页内地址一起形成指令或数据的物理地址

③从物理地址中取出指令或数据。

也可增设快表,减少访问内存的次数,提高指令执行速度。

总结:关于碎片问题:(记清楚了)

(1)固定分区的分配方式会产生内零头,因为是找出一个满足作业要求的空闲分区分配给作业,大小不一定刚好合适,分区中有一部分存储空间会被浪费。

(2)在可变式分区分配中,是按照作业的大小找出一个分区来分配如果大于作业申请的空间,则一分为二,剩下的一分部作为系统的空闲分区,有可能很小无法利用而成为外零头。

(3)为了解决外零头的问题,提出了离散的分配方式,在分页式存储管理中,存储空间被分面与页大小相等的物理块,作业的大小不可能都是物理块的整数倍,因此在作业的最后一页中有可能有部分空间未被利用,属于内零头。

(4)分段式存储管理中,其内存分配方式类似于动态分区的分配,因此会产生外零头。

(5)段页式存储管理中,其内存分配方式类似于页式的分配,因此会产生内零头。

五、虚拟存储器的基本概念

1.虚拟存储器的引入

(1)常规存储管理方式的特征

①一次性。作业在运行前必须一次性地全部装入内存中,直至作业运行结束。

②驻留性。作业装入内存后,一直驻留在内存中,直至作业运行结束。

(2)程序局部性原理

①时间局部性。一条指令被执行了,则在不久的将来它可能再被执行,如果某数据被访问过,则不久以后该数据可能再次被访问。(循环操作)

②空间局部性。若某一存储单元被使用,则在一定时间内,与该存储单元相邻的单元可能被使用,即程序在一段时间内所访问的地址,可能集中在一定的范围之内。(程序的循序执行)(3)虚拟存储器的定义

所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对主存容量进行扩充的一种存储器系统。其逻辑容量是由内存容量和外存容量之和所决定的。

2.虚拟存储器的实现方法

(1)请求分页系统。(2)请求分段系统。(3)请求段页式系统。

3.虚拟存储器的特征

(1)多次性。一个作业被分成多次调入主存运行。

(2)对换性。允许在作业的运行过程中换进、换出。

(3)虚拟性。能够从逻辑上扩充内存容量,使用户所看到的主存容量远大于实际主存容量。

六、请求分页存储管理方式

请求页存储管理方式是建立在纯分页基础上的,增加了请求调页功能、页面置换功能所形成的请求分页存储管理系统。它把作业分成大小相等的若干页,把主存分成与页大小相等的若干块;对每个作业限定分给它的主存块数,先把作业的部分页装入主存的这些块中,在作业运行时再装入所需要的页。实现虚拟存储管理。

1.请求分页中的硬件支持

为了实现请求分页,系统必须提供一定的硬件支持,除了需要内存和外存的支持外,还需要有页表机制、缺页中断机构和地址变换机构。

(1)页表机制

页表的基本作用仍是页号与物理块号的映射。为了实现只将一部分程序调入内存,还须在页表中添加其它项,供程序在换进,换出时参考。

图4.6 请求分页中的页表内容

①状态位:表示该页是否已调入内存,供程序访问时参考。

②访问位:用于记录本页在一段时间内被访问的次数或最近已有多长时间未被访问,供选择换

出页面时参考。

③修改位:查看此页是否在内存中被修改过,供置换页面时参考。

④外存地址:该页存放在外存上的地址。供调入该页时参考。

(2)缺页中断机构

在请求分页系统中,每当所要访问的页面不在主存时,便要产生一次缺页中断,请求操作将所缺的页调入主存。此时应将缺页的进程挂起,待调页完成再将其唤醒。

如果内存中有空闲块,则分配一个块,将要调入的页装入该块,并修改页表中相应页表项目的驻留位及相应的内存块号;若此时内存中没有空闲块,则要淘汰某页(若被淘汰页在内存期间被修改过,则要将其写回外存)。

缺页中断同一般中断的区别:缺页中断同一般中断都是中断,都需要经历保护现场,中断处理,恢复现场等步骤。不同点:

①缺页中断是在指令执行期间产生和处理中断信号。一般中断是一条指令完成后中断,缺页中断是一条指令执行时,发现所要访问的指令或数据不在内存时所产生的中断。

②一条指令执行时可能产生多个缺页中断。如一条指令可能访问多个内存地址,这些地址在不同的页中。

(3)地址变换机构

请求分页系统中的地址变换与页式存储管理相同,为了实现虚拟存储功能,又增加了产生和处理缺页中断和从内存换入换出一页的功能等等。

地址变换过程:首先检索快表,若找到,修改页表中的访问位。对于写指令,要将修改位也置成“1”,然后利用页表项中给出的物理块号和页内地址,形成物理地址。若快表中没有,则需去页表中找。

2.内存分配策略和分配算法

(1)最小物理块数的确定

最小物理块数是指能保证进程正常运行所需的最小物理块数。进程应获得的最小物理块数与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。

(3)物理块分配算法

采用固定分配策略时,可使用下述几种算法将系统中可供分配的所有物理块分配给各个进程。

①平均分配算法:将系统中所有可供分配的物理块平均分配给各个进程。

②按比例分配算法:根据进程的大小按比例分配物理块。

③考虑优先权的分配算法:为了照顾到重要的、紧迫的作业能尽快地完成,为它分配较多的内存空间。

七、页面置换算法(课本上的例题自己看看)P133

用来选择换出页面的算法称为页面置换算法。

1.最佳置换算法(OPT)

选择以后永不使用的,或许是在最长(未来)时间内不再被访问的页面淘汰。采用最佳置换算法,通常可保证获得最低的缺页率。

2.先进先出页面置换算法(FIFO)

当要进行页面淘汰时,总是把最早进入内存的页面作为淘汰的对象。有可能会出现belady现象即增加页框数反而提高了缺页次数。

3.最近最久未使用置换算法(LRU)

在要进行页面置换时,检查这些页面的被访问时间,总是把最长时间未被访问过的页面置换出去。此算法需要;较多硬件支持(如移位寄存器)。

4.Clock置换算法

是一种近似LRU算法,为每一页设置一位访问位,再将内存中的所有页面都通过链接指针链接成一个循环队列。当某页被访问时,其访问位被置1,用一个指针指向当前最先进入内存的页面。当发生缺页中断并要求页面淘汰时,首先检查指针指向的页面的访问位。如果它的访问位为“0”,则就把它淘汰,让新的页面进入它原来占用的内存块,并把指针按顺时针方向向前移动一个位置;如果它的访问位为“1”,则将其访问位清为“0”,然后把指针按顺时针方向向前移动一个位置,去重复这一过程,直到找到一个访问位为“0”的页面为止。该算法又称为最近未用算法(NRU)。5.改进型Clock置换算法

在此算法中,除了考虑页面的使用情况外,还要考虑页面是否被修改过,先置换未被修改过的,这样在换出时不必写回到磁盘。即要选择未使用过且未被修改过的页面进行置换。

1类(A=0, M=0): 表示该页最近既未被访问,又未被修改,是最佳淘汰页。

2类(A=0, M=1):表示该页最近未被访问,但已被修改,并不是很好的淘汰页。

3类(A=1, M=0):最近已被访问,但未被修改,该页有可能再被访问。

4类(A=1, M=1):最近已被访问且被修改,该页可能再被访问。

页面分配策略

内存分配策略:固定和可变置换策略:全局和局部

固定分配局部置换:每个进程分配固定页数的内存空间(页框),在整个运行过程中保持不变。

发生缺页中断时,只能从该进程在主存中的N个页面中选出一页换出,保持其占有的内存数不变。困难:固定,而实现难以确定,若太大,造成内存浪费;若太小,进程频繁换入换出

可变分配全局置换:OS保持一个空间块队列

首先为进程分配一定数目内存块,当缺页时从空闲队列中摘取一块,

当空闲队列空时,系统找出任意进程的页换出

缺点:会使那个进程的缺页次数增加。

可变分配局部置换:首先为进程分配一定数目内存块

发生缺页时只能从自己的页面中选出一页换出

若某进程缺页中断频繁,则系统给他增加一些块,反之,若某进程缺页中断特别低,则系统给他减少一些块,但不能引起其缺页率明显增加。

八、请求分段存储管理方式

在基本分段的基础上加入了请求调段功能和段置换功能。

1.请求分段的硬件支持

(1)段表机制

在基本段表中加入了存储方式,访问字段,修改位,存在位,增补位和外存始址等表项。

①存取方式:用于标识本段的存取属性是只读,只执行还是允许读/写。

②访问字段:记录该段被访问的频繁程度。

③修改位:表示该段在进行内存后是否被修改过,供段置换时使用。

④存在位:表示本段是否已调入内存。

⑤增补位:表示本段在运行过程中是否做过动态增长。

⑥外存始址:本段在外存中的起始地址。

(2)缺段中断机构

当发现运行进程所要访问的段未调入内存时,由缺段中断机构产生缺页中断信号,进入OS后邮缺段中断处理程序将所需的段调入内存。检查内存中是否有足够的空闲空间

①若有,则装入该段,修改有关数据结构,中断返回

②若没有,检查内存中空闲区的总和是否满足要求,是则应采用紧缩技术,转①;否则,淘汰一(些)段,转①

(3)地址变换机构

在基本分段系统地址变换机构中加入了检查是否要访问段在内存中,若不在产生缺段中断,将此段调入内存后再进行地址变换。

3.请求段页式存储管理方式*

在基本段页式存储管理基础上加入了增加了请求调段及请求调页及置换功能,这样只要一个作业中的某一段的某一个页面存放于内存该作业就可以被运行。

第五章设备管理

主要知识点:

一、设备管理基本概念

设备管理是指操作系统对除CPU和内存之外所有设备的管理。

设备管理的基本任务是完成用户提出的I/O请求,提高I/O的速率以及提高I/O设备的利用率。

1.I/0硬件设备

(1)I/O设备的分类

1) 按设备的使用特性分类:存储设备,输入/输出设备

2)按传输速率分类:低速设备,中速设备,高速设备

3)按信息交换的单位分类:块设备:I/O传输的单位是块,如磁盘、磁带。

字符设备:I/O传输的单位是字节,如打印机、modem等。

4) 按设备的共享属性分类

①独占设备:在一段时间内只允许一个用户(进程)访问的设备。

②共享设备:在一段时间内允许多个用户同时共享的设备。

③虚拟设备:通过虚拟技术将一台独占的设备改造成为若干台逻辑设备,供若干个用户同时使用。2.设备控制器

设备控制器是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作,是处理机从繁杂的设备控制事务中解脱出来。组成部分:设备控制器与处理机的接口,设备控制器与设备的接口,I/O逻辑。

3.I/O通道(通道=I/O处理机)

专门的处理I/O操作的处理机,并把这种处理机称为通道。通道方式能够使CPU彻底从I/O中解放出来。不仅数据传输独立于CPU,而且I/O操作的组织管理也独立于CPU。通道在CPU的控制下独立地执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换。I/O通道的分类

(1)字节多路通道:以字节为基本传输单位。字节多路通道主要用来控制低速、并且以字节为基本传送单位的设备。如打印机。

(2)数据选择通道:按数组方式进行数据传送的数组选择通道的形成。主要用来控制高速外设。(3)数组多路通道:用于连接多台高、中速的外围设备,其数据传送是按数组方式进行的。

二、I/O控制方式

外部设备与内存或CPU之间的信息传输控制方式有:

1.程序直接控制方式

早期的计算机系统中,无中断机构,处理机对I/O设备的控制采用程序直接控制方式,这是一种循环测试的I/O方式。CPU的速度远远高于外设的I/O速度,使得CPU大部分时间都在等待I/O

完成的循环测试中,这使得CPU不能充分发挥其效率,外设也得不到合理使用,并且也无法支持多道程序并发执行。

2.中断控制方式(比直接控制方式CPU利用率大大提高)(字节)

在中断控制方式下,I/O设备完成相应的I/0操作后自动地向CPU发出中断请求,而不必再由CPU反复询问操作是否完成。在中断控制方式下,CPU一旦启动I/O设备后便可转去执行其他用户进程,仅当I/O操作正常完成或异常结束发出中断请求时,CPU才暂停当前的工作转向相应的中断处理程序处理该中断请求。中断控制方式在一定程度上实现了CPU与I/0设备之间的并行工作能力。

缺点:每台设备每输入输出一个字节的数据都有一次中断。如果设备较多时,中断次数会很多,使CPU的计算时间大大减少。

3.DMA(直接内存存取)方式、(数据块)

在DMA方式中,I/O控制器除了具有中断机构的功能外,还增添了DMA控制机构。在DMA控制器控制下,外设直接与内存交换成批数据而不用CPU干预。这样即减轻了CPU的负担,又使得I/O 数据传送的速度大为提高。DMA方式适用于块设备的数据传送。

DMA方式仍存在一定的局限性,如数据传送的方向、存放数据的内存始址以及传送数据的长度都需由CPU控制。此外,每台设备都需配置一个DMA控制器,这样,当设备较多时使用过多的DMA 控制器也不经济。

4.通道控制方式(一组数据块)

I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实

现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。

通道有它自己的指令系统,用一系列通道指令构成的程序叫通道程序。通道通过执行通道程序,并与设备控制器共同实现对I/O设备的控制。

三、缓冲管理

(1)缓冲技术的引人

缓冲区是为了减缓CPU与I/O设备之间速度不匹配的问题。是在内存划出一定区域。

(2)缓冲的好处

①缓解了CPU与外部设备之间速度不匹配的矛盾。

②减少了CPU的中断频率

③提高了CPU和I/O设备之间的并行操作程度。

(3)对缓冲区管理

①单缓冲:通常由硬件实现,管理简单,但无法实现并行操作。

②双缓冲:通常由硬件实现,管理简单,用在速度匹配的两台设备之间的数据交换,效率较高。

③循环缓冲:是指在设备与CPU之间设置多个缓冲区,实现设备与CPU之间的数据交换。多缓冲分输人多缓冲和输出多缓冲,由软件实现缓冲。输入缓冲主要用来存放由各种输入设备输入的信息,输出缓冲主要用来存放传送给输出设备的信息。由于这类缓冲区是专用的,缓冲区的设置不容易控制,设置过多,将造成浪费,过少则又不够用。

④缓冲池:又叫公共缓冲区。它既可用于输入,也可用于输出,较好地解决了专用缓冲区的缺点。一方面提高了缓冲区的利用率,另一方面也提高了设备与CPU的并行操作程度。

四、I/O系统的软件组织

为了实现I/0软件设计目标,I/0系统应组织成以下4个层次。

(1)中断处理程序:由硬件实现,位于I/O系统的最低层与硬件紧密相关。当进程需要进行I/O 操作时,操作系统将该进程挂起,直至I/O操作结束。它的主要功能,保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后再恢复被中断进程的现场后返回到被中断进程。

(2)设备驱动程序(设备处理程序):它包括了所有与设备有关的代码。每一个设备驱动程序只处理一种设备或一类相关的设备,其功能是从与设备无关的软件中接受抽象的请求并执行之。

(3)与设备无关的I/0软件(设备独立性):它提供了适用于所有设备的常用I/0功能,并向用户层软件提供了一个一致的接口。设备独立性是指用户在编制程序时所使用的设备与实际使用的设备无关,即引入了逻辑设备和物理设备的概念,在用户程序中对I/O设备的请求采用逻辑设备名,而系统在实际执行时,则是通过逻辑设备表将逻辑设备名映射为物理设备名。好处:设备分配时的灵活性和易于实现I/O的重定向。

(4)用户空间的I/0软件:这是与用户程序链接在一起的库例程,或是在核心外运行的程序。系统调用包括I/0系统调用,通常是库例程调用。

五、设备分配

在多道程序环境下,系统中的设备不允许用户自行获取,必须由系统统一分配。设备分配程序的任务就是按照一定的分配算法为申请设备的进程分配设备及有关资源。

1.设备分配中的数据结构

(1)系统设备表(SDT):记录系统中全部设备的情况,每个设备占一个表目,包括设备类型、设备标识符、设备控制表、设备驱动程序入口等。

(2)设备控制表(DCT):系统为每个设备配置一张设备控制表,用于记录本设备的情况,如设备类型、设备标识号、设备状态、设备队列、控制器表等。

(3)控制器控制表(COCT):系统为每个控制器设置一张用于记录本控制器情况的控制器控制表,它反映控制器的使用状态以及与通道的连接情况等。

(4)通道控制表(CHCT):在有通道控制器的系统中,记录通道的特性、状态以及其他管理信息。

2.设备的使用性质

根据设备自身使用性质的不同,可采用以下3种不同分配方式。

(1)独占分配:独占设备应采用独占分配方式,即将一个独占设备分配给某进程后便一直由它独占,直到该进程完成或释放该设备时,系统才能将该设备分配给其他进程。

(2)共享分配:对共享设备可将其同时分配给多个进程使用。共享分配方式显著提高了设备的利用率,但对设备的访问需进行合理的调度。

(3)虚拟分配:虚拟分配是对虚拟设备而言的。当进程申请独占设备时,由系统分配给它共享设备(如磁盘)上的一部分存储空间;当进程要与设备交换信息时,系统就将要交换的信息存放到这部分存储空间中;在适当的时候,系统再将存储空间中的信息传送到独占设备上。

3.设备分配算法

(1)先来先服务算法:根据多个进程对同一设备提出I/0请求的先后次序,将这些进程排成一个设备请求队列,并且设备分配程序总是把设备分配给队列的队首进程。

(2)优先级高者优先算法:按照进程优先级由高到低的次序进行设备分配。

4.设备分配步骤

当某一进程提出I/O请求后,系统的设备分配程序的设备分配:

(1)分配设备(2)分配控制器(3)分配通道

此时,进程本次I/O请求所需要的设备、控制器、通道等均已分配,可由设备处理程序去实现真正的I/O操作。

5.SPOOLing技术

SPOOLing的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,是操作系统中采用的一项将独占设备改造成共享设备的技术。允许多个用户共享一台物理I/O设备。

SPOOLing系统的组成如图5.2所示,主要包括以下三部分:

图5.2 SPOOLing系统的组成

1、输入井和输出井:在磁盘上开辟的两个大存储空间存放作业信息和作业执行结果

2、输入缓冲区和输出缓冲区:在内存中开辟的两个缓冲区

3、输入进程和输出进程:用两个进程来模拟脱机I/O时的外围控制机。

特点:1、提高了I/O速度2、将独占设备改造为共享设备3、实现了虚拟设备功能

六、磁盘调度(课本上的例题自己做做)

磁盘是一种可随机读写的辅助存储设备,磁盘空间的地址是以扇区作为一个基本访问单位而进

行编址的。磁盘空间是一个三维空间,磁盘上的每一个盘区均由柱面号(亦称磁道号)、盘面号(亦称磁头号)、扇区号3部分组成。磁盘访问的时间由下述3个时间组成。

(1)寻道时间:磁头从当前位置移到所需柱面(磁头)花费的时间。启动磁臂的时间s 磁头移动n

条磁道所花费的时间之和, 即T s=m ×n +s (m 是一常数,与磁盘驱动器的速度有关)

(2)旋转等待时间:欲访问的扇区旋转到磁头下所花费的时间。1/r 为转一周的时间。

(3)读写时间:读写当前扇区数据所花费的时间。。 Tt 的大小与每次所读/写的字节数b 和旋转速度有关: 最终的访问时间Ta :

磁盘驱动调度的原则是:先进行移臂(即寻道)调度,再进行旋转调度,并且移臂时间因其是机

械移动,所以比旋转等待时间和读写时间都长,因此在设计磁盘驱动调度算法时,主要考虑减少移臂时间。移臂调度算法如下。

(1)先来先服务算法(FCFS):按照进程请求访问磁盘的先后次序进行调度。由于只考虑申请者申请的先后次序,优点:公平、处理简单,且每个进程的请求都能得到处理,不会出现一个进程的请求长时间得不到满足的“饥饿”情况。但此算法未对寻道进行优化,故使平均寻道时间过长。仅适应于请求磁盘I/O 的进程数目较少的场合

(2)最短寻道时间优先算法(SSTF):申请者提出访问的磁道距离当前磁头位置最近者优先。

优点:改善了磁盘平均服务时间; 缺点:造成某些访问请求长期等待得不到服务,“饥饿现象”

(3)扫描算法(SCAN):这种算法也称为“电梯”算法。由于请求队列具有动态性质,所以可采用扫描算法。读/写磁头从磁盘的一端出发,向另一端移动,遇到所需的磁道时就进行服务,直至到达磁盘的另一端。在另一端上,磁头移动方向反过来往回扫描,遇到所需的磁道时就进行服务,直至到达磁盘的一端。SCAN 算法综合考虑了移动方向和移动距离两个因素,所以调度更趋合理,使得等待时间的平均值较小。此外,SCAN 算法也避免了“饥饿”现象。如果进入队列的请求恰好在磁头前面的磁道上,那么该请求几乎立即得到服务;若不巧,它落在磁头的后面,那么它必须等街直到磁头移到一端,然后返回到它的前面。

(4)C-Scan(巡回扫描)是Scan 的变种。与Scan 相同,C-Scan 也是把磁头从盘的一端移向另一

端,到达请求的磁道就进行服务。然而,当它到达另一端时,就立即返回到盘的开头,在返回过程中不进行服务。从本质上看,C-Scan 把磁道视为一个环,它的最后一磁道挨着最初一道。

第六章 文件管理

一、文件和文件系统

1、 文件、记录和数据项

文件是数据的一种组织形式,而文件管理系统是指文件和对文件进行操纵和管理的软件集合。

基于文件系统的概念而把数据的组成分为数据项、记录和文件三级。

(1)数据项:最低级的数据组织形式

1)基本数据项

这是用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即

原子数据,又称为数据元素或字段。

2)组合数据项

它由若干个基本数据项组成简称组项。基本数据项除了数据名外,还应有数据类型。

rN b T t =rN b r T T s a ++=21

(2)记录(一组有意义的数据项集合)

记录是一组相关数据项的集合,用语描述一个对象某方面的属性。关键字是能唯一标识一个记录的数据项。

(3)文件

文件是具有文件名的一组相关信息的集合,可分为有结构文件和无结构文件两种。在有结构的文件中,文件由若干个相关记录组成,而无结构文件则被看成是一个字符流。文件在文件系统中是一个最大的数据单位,它描述了一个对象集。文件必须有文件名。

(4)文件的属性

1)文件类型。可以从不同的角度来规定文件的类型。

2)文件长度。指文件的当前长度,长度的单位可以是字节、字或块,也可能是最大允许的长度;

3)文件的物理位置。用语指示文件在哪一个设备上及在该设备的哪个位置;

4)文件的存取控制。规定那些用户能够读、哪些用户能够读/写、或者执行;

5)文件的建立时间。只最后依次的修改时间等。

2、文件类型

在OS中都把文件类型作为扩展名而缀在文件名的后面,在文件名和扩展名之间用“.”号分开。(1)按用途分类

系统文件,用户文件,库文件。

(2)按文件中的数据形式分类

1)源文件:通常由ASCII码或汉字组成。

2)可执行文件。经便宜后所产生的目标代码,再由链接程序链接后所形成的文件。

3)目标文件。目标代码经过链接后形成的。

(3)按存取控制属性分类

1)只执行文件。只允许被核准的用户调用执行,即不允许读,更不允许写。

2)只读文件。只允许文件主及被核准的用户去读,但不允许写。

3)读写文件。允许文件主和被核准的用户去读文件和写文件。

(4)按文件的逻辑的结构分类

1)有结构文件。这是由若干个记录所构成的文件,故又称为记录式方式。根据记录的长度是定长的还是可改变的又可进一步分为定长记录文件和可变长记录文件。

2)无结构文件。直接由字符序列所构成的文件,故称为流式文件。

(5)按文件的物理结构分类

1)顺序文件。它是指把逻辑文件中的记录顺序地存储到连续的去里盘块中

2)连接文件。它是指文件中的各个记录可以存放在不相邻接的各个物理盘快中,通过物理块中的链接针对,将它们连接成一个链表。

3)索引文件。它是指文件中的各个记录可存储在不相邻接的各个物理块中。

Windows文件系统支持任意扩展名所指定的类型,只要求进行文件类型注册,同时还注册用什么程序打开这类文件之类的信息。

几种Windows中的常见文件类型。

程序文件。计算机可以识别的二进制编码。如 .COM .EXE

文本文件。由ASCII码字符组成的文件。如 .TXT .DOC

图象文件。如 .BMP、.GIF、.JPG

声音文件。如 .WAV、.MP3

其他文件类型。如 .ttf是字体文件,.reg是注册信息文件。

3、文件操作

对文件自身的操作,创建一个新文件、删除一个老文件、拷贝一个文件、为文件改名等。

(1)基本文件操作

最基本的文件操作有:创建、删除、读、写、截断文件和设置文件的读、写位置。

(2)文件的“打开”和“关闭”操作

所谓“打开”,是指系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。以后,当用户再要求对该文件进行相应的操作时,便可利用系统所返回的索引号向系统提出操作请求。系统这时便可直接利用该索引号到打开文件表中去查找,从而避免了对该文件的再次检索。这样不仅节省了大量的检索开销,也显著地提高了对文件的操作速度。如果用户已不再需要对该文件实施相应的操作时,可利用“关闭”(close)系统调用来关闭此文件,OS将会把该文件从打开文件表中的表目上删除掉。

二、文件的逻辑结构

1 文件的两种结构

(1)文件的逻辑结构

1)定义

从用户的观点出发,所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立与物理特性,又称为文件组织。

对文件逻辑结构的要求:

●提高检索效率

●便于修改(增加、删除、修改)

●降低文件存储费用

2)类型

定长记录:文件中所有记录的长度都是相同的,所有记录中的各数据项,都处在相同的位置,具有相同的顺序和长度。

变长记录:指文件中各记录的长度不相同。

①有结构文件

●顺序文件:由一系列记录按某种顺序排列所形成的文件,其中的记录通常是定长记录。

●索引文件:当记录为变长记录时,通常为之建立一张索引表,并为每个记录设置一张表项,

以加快对记录的检索速度。

●索引顺序文件:是上述2种文件的一个结合,它为文件建立一张索引表,为每一组记录中的

第一个记录设置一个表项。

②无结构文件

大量的源程序、可执行文件、库函数等,采用的是无结构的文件形式,即流式文件。其长度以字节为单位,访问时,采用的是读写指针来指出下一个要访问的字符。流式文件可以看作是记录式文件的一个特例。

(2)文件的物理结构

又称为文件的存储结构,是指文件在外存的存储组织形式,它与存储介质的存储性能有关,而且与所采用的外存分配方式有关。

注意:不管是文件的物理结构还是组织结构,都会影响文件的检索速度。

2、顺序文件

(1)逻辑记录的排序

一般有2种情况:

1)串结构:记录顺序与关键字无关,通常由时间来确定,即按存入时间的先后次序排列记录。

2) 顺序结构:文件中的所有记录按关键字排列。可以按关键字有小到大(大到小)排序;或

按英文字母顺序排序。

(2)对顺序文件的读/写操作

对于定长记录的顺序文件:若已知当前记录的逻辑地址,变很容易确定下一记录的逻辑地址。

在读一个文件时,可设置一个读指针Rptr,使它指向下一个记录的首地址,每当读完一个记录时,使执行:

Rptr:=Rptr+1操作。

对于变长记录的顺序文件:在顺序读写时的情况相似,应分别为他们设置一个读或写指在每次

读或写完一个记录时,须将读或写指针加Li ,Li 是刚读或写完的记录的长度。

(3)、顺序文件的优缺点

优点: 适合于对大批量记录的存取操作,对顺序文件的存取效率是所有文件中存取效率最高的。 缺点

①在交互场合,若 用户要求查找或修改单个记录,顺序文件的查找效率低。

②增加或删除记录比较困难。为此,可为顺序文件配置一个运行记录文件或称为事务文件。用

来存放欲删除、修改、增加的记录。规定每隔一定时间将运行记录文件与原开的主文件加以合并,并产生一个按关键字排序的新文件。

3、索引文件

(1)为什么要建立索引文件?

对于定长记录文件,可以实现顺序存取和直接存取。第i 个记录相对于第一个记录的首地址:

Ai=i*L

对于变长记录的文件,要查找第i 个记录,须首先计算出该记录的首址。为此,须顺序地查找

每个记录,从中获取相应记录的长度Li ,再按下式计算第i 个记录的首址:

10i i i i A L

i -==+∑

对于变长记录较难实现直接存取,为此,可为变长记录文件建立一张索引表,对主文件中的每

个记录,在索引表中设置一个表项,用于记录该记录的长度L 及指向该记录的指针。

索引表是按记录排序的,因此,索引表本身是一个定长记录的顺序文件。从而也就可以方便地

实现顺序存取。

(2)索引文件的检索

步骤:

a) 根据用户提供的关键字,利用折半查找法去检索索引表,从中找到相应的表项;

b) 再利用该表项中给出的指向记录的指针值,去访问所需记录。

c) 要向索引文件中增加一个记录,便须对索引表进行修改。

(3)优点

检索速度快,主要用于对信息处理的及时性要求较高的场合。

(4)缺点

存储费用高,因为除了主文件外,还需配置一张索引表,且每个记录都有一个索引项。

4、索引顺序文件

(1)定义

将顺序文件中的所有记录分成若干组(50个记录是一组),为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项(键值、指向该记录的指针),

(2)索引顺序文件的检索

步骤:根据用户提供的关键字,利用某种查找法去检索索引表,从中找到该记录所在记录组第一个

记录的表项,从中得到该记录组第一个记录在主文件中的位置;

a)再利用顺序查找法去查找主文件,去访问所需记录。

b)要向索引文件中增加一个记录,便须对索引表进行修改。

(3)、优点:便于直接存取,付出代价小。

三、外存分配方式

顺序结构——连续分配方式链接结构——链接分配方式索引结构——索引分配方式

1、连续分配方式

(1)分配过程

连续分配要求为每一个文件分配一组相邻接的盘块。一组盘块的地址定义了磁盘上的一段线性地址。采用连续分配方式的文件物理结构,将是顺序式的文件结构。因为可把逻辑文件中的记录顺序地存放在邻接的物理块中,这样所形成的文件结构称为顺序文件结构,此时的物理文件称为顺序文件。

(2)优缺点

a)保证了逻辑文件中的记录顺序与存储器中文件的占用盘块的顺序的一致性。

b)要求有连续的存储空间,容易形成外存碎片(可通过紧凑功能消除)。

c)顺序访问容易。

d)顺序访问速度快。

e)必须事先知道文件的长度。

2、链接分配

(1)分配过程

通过在每个盘块上的连接指针,将同属于一个文件的多个离散的盘块连接成一个链表,把这样形成的物理文件称为链接文件。

(2)优缺点

a)消除了外部碎片,提高了外存空间的利用率。

b)根据文件的当前需要,为他分配必须的盘块,故无须事先知道文件的长度。

c)对文件的增、删、改也比较方便。

(3)链接分配的方式

1)隐式分配

采用这种方式时,在文件目录的每个目录项中,都须含有指向链接文件第一个盘块和最后一个盘块的指针。它①只适合与顺序访问,随即访问的效率很低;②可靠性差。(通过链接指针将一大批离散的盘块连接起来,若有一个指针出现问题,回导致整个链的断开断开。

2)显式链接

把用于连接文件各物理块的指针,显式地存放在内存的一张链接表中,该表在整个磁盘仅设一张,表的序号是物理块号(从0开始,到N-1),在每个表项中存放链接指针,即下一个盘块号。在该表中,凡是属于某一文件的第一个盘块号,均作为文件地址被填入相应文件的FCB的“物理地址”字段中,由于查找是在内存中进行的,因而提高了检索速度和减少了磁盘访问的次数。

由于分配给文件的所有盘块都放在该表中,故把该表称为文件分配表(FAT)

3、索引分配

(1)链接分配的2个问题

不能支持高效的直接存取。FAT需占用较大的内存空间。

(2)索引分配的基本方法

为每个文件分配一个索引块(表),再把分配给该文件的所有盘块号,都记录在该索引表中,因而该索引块就是一个含有盘块号的数组。在建立文件时,便须在为之建立的目录项中,填上指向该

索引块的指针。

(3)优缺点

a)支持直接访问,可方便地直接从索引块中找到第i个盘块的盘块号;

b)不会产生外部碎片,

c)当文件较大时,索引分配方式无疑要优于链接分配方式。

d)花费较多的外存空间。

e)索引块的利用率低。

(4)多级索引分配

四、目录管理

文件目录是一种数据结构,用于表示系统中的文件及其物理地址,共检索时使用,对目录管理的要求如下:

(1)实现“按名存取”。

(2)提高对目录的检索速度。

(3)文件共享。

(4)允许文件重名。

1、文件控制块(FCB)和索引结点

(1)文件控制块(FCB)

用于描述和控制文件的数据结构。FCB是文件存在的唯一标志。

1)文件目录:文件控制块的有序集合称为~。

2)目录文件:一个文件目录也被看成是一个文件。

3)文件控制块(FCB)包含的信息

①基本信息类:

a) 文件名:标识一个文件的符号名,每个文件都有惟一的名字,用于该名字进行存取。

b) 文件物理位置:指文件在外存的存取位置。

c)文件逻辑结构指示文件是流式文件还是记录式文件、记录数;文件是定长记录还是变长记录等。

d)文件的物理结构,指示文件是顺序文件,还是链接式文件或索引文件。

②存取控制信息类。

包括:文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。

③使用信息类。

包括:文件的建立日期和时间、文件上一次修改的日期和时间及当前使用信息(这包括:当前已打开该文件的进程数、是否被其它进程锁住、文件在内存中是否已被修改但尚未拷贝到盘上,)。应该说明,对于不同OS的文件系统,由于功能不同,可能只含有上述信息中的某些部分。

(2)索引结点

1)索引结点的引入

文件目录通常是存放在磁盘上的,当文件很多时,文件目录可能要占用大量的盘块。在查找目录的过程中,先将存放目录文件的第一个盘块中的目录调入内存,然后把用户所给定的文件名与目录项中的文件名与目录项中的文件名逐一比较。若未查找到指定文件,便再将下一个盘块中的目录项调入内存。设目录文件所占用的盘块数为N ,按此方法查找,则查找一个目录项平均需要调入盘块(N+1)/2次。

例如:一个FCB为64B,盘块大小1KB,则每个盘块中只能存放16个FCB;若一个文件目录中共有640个FCB,需占用40个盘块,故平均查找一个文件需启动磁盘20次。

在检索目录文件的过程中,只用到了文件名,仅当找到一个目录项时,才需从该目录项中读出该文件的物理地址,而其他一些对文件进行描述的信息,在检索目录时,一概不用,因此,这些信

息在检索目录时,不需调入内存。为此,可把文件名与文件描述信息分开。

使文件描述信息单独形成一个称为索引结点的数据结构,简称为i结点,在文件目录的每个目录项,仅由文件名和指向该文件所对应的i结点的指针构成。

2、目录文件

目录结构的组织,关系到文件系统的存取速度、共享性、安全性。

(1)单级目录结构

整个文件系统中只有一张目录表,每个文件占一个目录项,目录项中包含:文件名、文件扩展名、文件长度、文件类型、文件物理地址以及其他文件属性。此外,为表明每个目录项是否空闲,又设置了一个状态位。

优缺点:1)实现按名存取.2)查找速度慢。3)不允许重名。4)不便于实现文件共享。

(2)两级目录

为每一个用户建立一个单独的用户文件目录UFD,这些目录具有相似的结构,它由用户所有文件的文件控制块组成。

在系统再建立一个主文件目录MFD,每个用户目录文件都在MFD中占有一个目录项,其目录项包括:用户名、指向该用户目录文件的指针。图6-17所示(p201)。

优点:

1)提高了检索目录的速度。

2)在不同的用户目录中,可以使用相同的文件名。

3)不同用户还可使用不同的文件名访问系统中的同一共享文件。

(3)多级目录结构(树型结构)

1)目录结构:树型。

2)路径名。它是文件的唯一标识。路径名由根目录和所经过的目录名和文件名以及分隔符组成,通常使用分隔符 /。例如/d1/f1

3)当前目录。若路径名以/开头,则从根目录开始查找(绝对路径),否则从当前目录开始查找(相对路径)

五、文件存储空间管理

1、空闲表法和空闲链表法

(1)空闲表法

属于连续分配,系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应一个空闲表项。(2)空闲链表法

将所有空闲盘区,拉成一条空闲链,根据构成链所用的基本元素的不同,可把链表分成2种形式:

①空闲盘块链

将磁盘上所有空闲区空间,为盘块为单位拉成一条链,当用户因创建文件而请求分配存储空间时,系统从链首开始,依次摘下适当数目的空闲盘块链给用户。当用户因删除文件而释放存储空间时,系统将回收的盘块依次插入空闲盘块链的末尾。

优点:分配和回收一个盘块的过程非常简单。

缺点:但在为一个文件分配盘块时,可能要重复多次操作。

②空闲盘区链

将磁盘上所有空闲盘区拉成一条链,在每个盘区上包含若干用于指示下一个空闲盘区的指针,指明盘区大小的信息。分配盘块时,通常采用首次适应算法(显式链接法)。在回收时,要将回收区与空闲盘区相合并,

2、位示图法

(1)位示图

用二进制位表示磁盘中的一个盘块的使用情况,0:空闲;1:表示已分配。磁盘上的所有盘块都于一个二进制位相对应,由所有的二进制位构成的集合,称为位示图。位示图可描述为一个二维数组:

var map:array[1……m,1……..n] of bit;

(2)盘块的分配

步骤:

a)顺序扫描位示图

b)将找到的一个或一组二进制位。转换成与之相应的盘块号。例如:找到第i行、第j列其

值为“0”的二进制位,则计算盘块号为:b=n(i-1)+j。

c)修改位示图:令map[i,j]=1。

(3)盘块的回收

1)步骤:将回收盘块的盘块号转换为位示图中的行号和列号。转换公式为:

a)i=(b-1) div n+1

b)j=(b-1) mod n+1

2)修改位示图:令map[i,j]=0。

优点:

●很容易找到一个或一组相邻的空闲盘块。

●位示图小,可以把它保存在内存中,从而节省了磁盘的启动操作。

六、文件共享与文件保护

1、基于索引结点的共享方式(硬链接)

(1)索引结点。

将文件的物理地址及其它的文件属性等信息,都放在索引结点之中,在文件目录中只设置文件名及指向相应索引结点的指针。

(2)链接计数

表示链接到本索引结点(亦即文件)上的用户目录项的数目。

由任何用户对文件进行Append操作或修改,所引起相应结点内容的改变,都是其他用户可见的,从而也就能提供给其他用户所共享。

Test

基于索引结点的共享方式

2、利用符号链实现文件共享(软链接)

在新文件中只包含被链接文件F的路径名,这样的链接方法被称为符号链接。新文件中的路径名被看作是符号链。Os是根据新文件中的路径名读该文件。从而实现文件共享的。

在利用符号链实现文件共享时,只有文件主才拥有指向其索引结点的指针;而共享该文件的其

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

新版教材全国自考网络操作系统02335_复习笔记.

1.计算机系统的定义:计算机系统 是一种可以按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。【广义的包含:机械式系统和电子式系统,电子式又可划分为模拟式和数字式】 【计算机系统包括:硬件系统和软件系统】 2.操作系统的定义:操作系统是计 算机系统中的一个系统软件,它是这样一些程序模块的集合:它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统高效地运行。设置操作系统的目的:提高计算机系统的效率,增强系统的处理能力,充分发挥系统资源利用率,方便用户的使用。【操作系统的任务:1、组织和管理计算机系统中的硬件及软件资源;2、向用户提供各种服务功能。】 3.操作系统的作用和地位 操作系统是系统软件,连接了硬件和软件,是两者之间的桥梁。作为系统软件,其是 a.计算机资源的管理者、b.人机交互的接口、c.扩展机和虚拟机。【所以对操作系统来讲,具体应用领域的工作不是其所关心的事。】 4.操作系统的主要特征 (1)并发性b.共享性:(互斥共享:打印机,磁带机,扫描仪;同时共享)处理机、CPU、辅助存储器、输入/输出设备c.随机性。【在计算机系统中,对资源的共享有两种形式:互斥共享和同时共享】【操作系统的分类:批处理、分时、实时、桌面、嵌入式、网络、分布式操作系统】 5.批处理操作系统的概念 用户将需要计算的一组任务(一般称为作业,即JOB)请求交给系统操作员,系统操作员在收到后并不立即将其输入计算机,而是在收到一定数量的用户作业之后组成一批作业,再把这批作业输入到计算机中。 【又分为单道批处理、多道批处理系统:不适合交互式的作业】 6.分时(交互式)操作系统的概 念多个用户通过终端设备与计算机交互来运行各自的作业,并且共享一个计算机系统而互不干扰,每个终端可由一个用户使用,每个用户就好像自己拥有一台计算机。 7.实时操作系统的概念使计算机 能在规定的时间内及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致的工作的操作系统。【特征:及时性、实时性、高可靠性、高过载防护性】 8.网络操作系统的概念 基于计算机网络、在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件,它包括网络管理、通信、安全、资源共享、各种网络应用。 9.分布式操作系统的概念 将大量的计算机通过网络连结在一起,可以获得极高的运算能力及广泛的数据共享,这样的系统称为分布式系统,为分布式系统配置的操作系统称为分布式操作系统。 10.操作系统的基本功能:a.进程 (线程)管理、b.处理机调度、c.存储管理、d.文件管理、e.输入/输出管理。 11.存储管理的任务(P25 L3) 存储管理的任务是管理计算机内存的资源a.当多个程序共享有限的内存资源时,要考虑如何为多个程序分配有限的内存空间;b.存放在内存中的多个程序和数据应该彼此隔离、互不侵扰;c.解决内存扩充的问题,即将内存和外存结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。 【存储管理的主要任务 a.内存的分配和回收b.存储共享c.存储保护d.“扩充”内存容量。】 12.文件管理的任务(P26 L3) 其任务为有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件。 13.输入/输出管理的功能: 其功能是按照输入/输出子系统的结构和设备类型指定分配和使用设备的策略,为输入/输出操作的进程分配一条传输信息的通路,合理地控制输入/输出操作,最大程度地实现并行操作。 14.网络操作系统的结构 a.整体式结构(结构紧密,用户界面简单直接,系统效率较高)、 b.层次式结构(易于调试、修改、扩充、维护、保证正确性)、 c.微内核(客户机/服务器)结构(特点:提供最基本服务和其他服务,很好的扩展性,简化应用程序开发,减少磁盘空间和存储器的需求,微内核和硬件部件有接口,并向可安装模块提供一个接口)。 15.网络操作系统的特点a.微内 核,即运行在核心态的内核;b.以通信方式请求服务并返回结果,即运行在用户态的并以客户机/服务器方式运行的进程层。【优点:可靠、灵活、适宜于分布式

操作系统原理知识知识点复习,梁光祥

目录 第一章操作系统概论 (2) 1.1操作系统概念 (2) 1.2操纵系统的主要功能 (2) 1.3操作系统的基本特征 (3) 1.4操作系统的逻辑结构和运行模型 (3) 1.5操作系统的形成与发展 (3) 1.6操作系统主要类型 (3) 第二章进程管理 (4) 2.1.进程概念 (4) (4) 2.2.进程控制 (5) 2.3.进程互斥与同步 (5) 2.4.进程通信 (5) 2.5.线程 (5) 第三章处理器调度与死锁 (6) 3.1.处理器调度 (6) 3.2.死锁 (7) 第四章存储管理 (8) 4.1.程序的链接和装入 (8) 4.2.分区式存储管理 (8) 4.3.分页式存储管理 (8) 4.4.分段式存储管理 (9) 4.5.段页式存储管理 (9) 4.6.虚拟存储管理 (10) 第五章设备管理 (11) 5.1.输入输出系统 (11) 5.2.输入输出控制方式 (11) 5.3.缓冲技术 (14) 5.4.分配策略: (14) 5.5.输入输出软件 (14) 5.6.虚拟设备 (14) 5.7.磁盘存储管理 (14) 第六章文件管理 (15) 6.1.概述 (15) 6.2文件数据的组织和存储 (15) 6.3.文件目录 (15) 6.4.文件储存空间管理 (16)

第一章操作系统概论1.1操作系统概念 1.配备操作系统的目的 1)方便人们使用计算机 2)有效管理计算机 2.操作系统的目标 1)有效地管理计算机的硬件和软件资源 2)提高系统效率 3)具有可扩充性 4)具有开放性 5)具有可靠性 6)具有可移植性 1.2操纵系统的主要功能 1.处理器管理功能 1)进程控制 2)进程同步 3)进程通信 4)调度 2.存储管理功能 1)内存的分配与回收 2)内存保护 3)地址映射 4)内存扩充 5)内存共享 3.设备管理功能 1)缓冲管理 2)设备分配与回收 3)设备驱动 4)实现设备独立性 5)实现虚拟设备 4.文件管理功能 1)文件的存储空间管理 2)目录管理 3)文件的读写管理 4)文件保护 5.网络功能 1)网络资源管理 2)网络通信管理

计算机操作系统教学大纲

《计算机操作系统》课程教学大纲 一. 课程名称 操作系统原理 二. 学时与学分 学时共64学时(52+12+8) 其中,52为理论课学时,12为实验学时,8为课外实验学时 学分 4 三. 先修课程 《计算机组成原理》、《C语言程序设计》、 《IBM—PC宏汇编程序设计语言》、《数据结构》 四. 课程教学目标 通过本课程的学习,要达到如下目标: 1.掌握操作系统的基本原理与实现技术,包括现代操作系统对计算机系统资源的管理策略与方法、操作系统进程管理机制、现代操作系统的用户界面。 2.了解操作系统的结构与设计。 3.具备系统软件开发技能,为以后从事各种研究、开发工作(如:设计、分析或改进各种系统软件和应用软件) 提供必要的软件基础和基本技能。 4.为进一步学习数据库系统、计算机网络、分布式系统等课程打下基础。 五. 适用学科专业 信息大类各专业

六. 基本教学内容与学时安排 主要内容: 本课程全面系统地阐述计算机操作系统的基本原理、主要功能及实现技术,重点论述多用户、多任务操作系统的运行机制;系统资源管理的策略和方法;操作系统提供的用户界面。讨论现代操作系统采用的并行处理技术和虚拟技术。本书以Linux系统为实例,剖析了其特点和具体的实现技术。 理论课学时:52学时 (48学时,课堂讨论2学时,考试2学时) ?绪论4学时 ?操作系统的结构和硬件支持4学时 ?操作系统的用户界面4学时 ?进程及进程管理8学时 ?资源分配与调度4学时 ?存储管理6学时 ?设备管理4学时 ?文件系统6学时 ?Linux系统8学时 七、教材 《计算机操作系统》(第2版),庞丽萍阳富民人民邮电出版社,2014年2月 八、考核方式 闭卷考试

02323操作系统概论2012年4月自考试题及答案

全国2012年4月高等教育自学考试 操作系统概论试题 课程代码:02323 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.操作员接口是操作系统为用户提供的使用计算机系统的手段之一,该接口是指()A.一组操作控制命令B.一组系统调用程序 C.一条访管指令D.一条I/O指令 2.在一个能提供多个用户同时直接输入、调试和运行自己程序的计算机系统中应配置() A.批处理操作系统B.分时操作系统 C.实时操作系统D.嵌入式操作系统 3.多道程序系统指的是() A.在实时系统中同时运行多个程序 B.同一时刻在一个处理器上运行多个程序 C.在网络系统中同时运行多个程序 D.在一个处理器上并发运行多个程序 4.进程有若干属性,它们是() A.进程是静态的、有多种状态;多个进程可以对应于相同的程序 B.进程是动态的、只有一种状态;多个进程可以对应于相同的程序 C.进程是动态的、有多种状态;多个进程不可以对应于相同的程序 D.进程是动态的、有多种状态;多个进程可以对应于相同的程序 5.控制进程的原语中,创建原语的功能是() A.分配工作区、建立进程控制块、置进程为运行态 B.分配工作区、建立进程控制块、置进程为就绪态 C.分配工作区、建立进程控制块、置进程为等待态 D.分配工作区、建立进程控制块、置进程为挂起态 6.操作系统会按若干原因选择进程运行,不是 ..立即进入操作系统进行进程选择的情况是() A.运行进程的时间片用完B.运行进程出错 C.运行进程要等待某一事件发生D.有新进程进入就绪状态 7.基址寄存器和界限寄存器是属于() A.指令寄存器B.通用寄存器 C.控制寄存器D.时钟寄存器

操作系统概论复习大纲

操作系统概论自学考试大纲 第一章引论 (一)内容简介 本章介绍了学习操作系统必须先掌握的一些基础知识,包括以下几部分内容: 1.计算机系统 2.操作系统 3.操作系统的形成和操作系统的基本类型 4.操作系统的发展 5.处理器的工作状态 6.操作系统与用户的接口 (二)学习的目的与要求 了解操作系统在计算机系统中的作用;各类操作系统的特点;用户与操作系统的关系;处理器的工作状态和系统功能调用的作用。 重点是:操作系统在计算机系统中的作用;各类操作系统的特点;程序状态字的作用;系统功能调用。 (三)考核知识点与考核要求 根据本章内容的特点,和大纲要求掌握的重点,该章考核可以出以下题型:选择题,名词解释,问答题。 名词解释:操作系统、嵌入式操作系统、特权指令 问答题: 1. 计算机系统由哪些部分组成? 2. 从资源管理的观点看,操作系统有哪些功能? 3. 各类操作系统的特点? 4. 操作系统为什么要提供“系统功能调用”? 第二章处理器管理 (一)课程内容 本章介绍了操作系统中处理器管理部分的实现,包括以下几部分内容: 1.多道程序设计 2.进程的概念 3.进程控制块 4.进程队列 5.中断与中断处理 6.处理器调度 7.线程的概念 (二)学习目的与要求 通过本章学习应该掌握多道程序设计时如何提高计算机系统效率的;进程和程序有什么区别;进程的基本状态以及状态的变化;处理器调度策略;中断的作用。

重点是:多道程序设计,进程,处理器调度。 (三)考核知识点与考核要求 根据本章内容的特点,和大纲要求掌握的重点,该章考核可以出以下题型:选择题,名词解释,问答题,综合题。 名词解释:多道程序设计,进程,中断,线程 问答题: 1.进程有哪些基本状态,画出进程基本状态变化图。 2.进程控制块的作用和基本内容? 3.简述中断响应的过程。 4.设计调度算法的原则有哪些? 5.有哪些作业调度策略,其各自的特点是什么? 6.有哪些进程调度策略,其各自的特点是什么? 7.在分时系统中采用时间片轮转的调度策略有哪些优越性? 8.采用多线程技术有哪些优越性? 综合题(辅导时可以修改下时间) 1.在单道批处理系统中,有四个作业到达输入井和需要的计算时间如表所示,现采用响应比最高者优先算法,忽略作业调度所需的时间。当第一个作业进入系统后就可开始调度。 (1)填充表中空白处 (2)四个作业的执行次序为__________________。 (3)四个作业的平均周转时间为__________________。 2.在某计算中心的一道单道程序设计系统中,有A、B、C三个作业在等待处理,它们到达系统的时间和估计需计算的时间如下表所示: 法调度时各自的等待时间和完成时间。

操作系统课程教学大纲

GDOU-B-11-213 《操作系统》课程教学大纲 课程简介 课程简介: 本课程主要讲述操作系统的原理,使学生不仅能够从系统内部了解操作系统的工作原理,而且可以学到软件设计的思想方法和技术方法。主要内容 包括:操作系统的概论;操作系统的作业管理;操作系统的文件管理原理; 操作系统的进程概念、进程调度和控制、进程互斥和同步等;操作系统的各 种存储管理方式以及存储保护和共享;操作系统的设备管理一般原理。其次 在实验环节介绍实例操作系统的若干实现技术,如:Windows操作系统、Linux 操作系统等。 课程大纲 一、课程的性质与任务: 本课程计算机学科的软件工程专业中是一门专业方向课,也可以面向计算机类的其它专业。其任务是讲授操作系统的原理,从系统内部了解操作系统的工作原理以级软件设计的思想方法和技术方法;同时介绍实例操作系统的若干实现技术。 二、课程的目的与基本要求: 通过本课程的教学使学生能够从操作系统内部获知操作系统的工作原理,理解操作系统几大管理模块的分工和管理思想,学习设计系统软件的思想方法,通过实验环节掌握操作系统实例的若干实现技术,如:Windows操作系统、Linux操作系统等。 三、面向专业: 软件工程、计算机类 四、先修课程: 计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构。 五、本课程与其它课程的联系:

本课程以计算系统基础,C/C++语言程序设计,计算机组成结构,数据结构等为先修课程,在学习本课程之前要求学生掌握先修课程的知识,在学习本课程的过程中能将数据结构、计算机组成结构等课程的知识融入到本课程之中。 六、教学内容安排、要求、学时分配及作业: 第一章:操作系统概论(2学时) 第一节:操作系统的地位及作用 操作系统的地位(A);操作系统的作用(A)。 第二节:操作系统的功能 单道系统与多道系统(B);操作系统的功能(A)。 第三节:操作系统的分类 批处理操作系统(B);分时操作系统(B);实时操作系统(B)。 第二章:作业管理(2学时) 第一节:作业的组织 作业与作业步(B);作业的分类(B);作业的状态(B);作业控制块(B)。 第二节:操作系统的用户接口 程序级接口(A);作业控制级接口(A)。 第三节:作业调度 作业调度程序的功能(B);作业调度策略(B);作业调度算法(B)。 第四节:作业控制 脱机控制方式(A);联机控制方式(A)。 第三章:文件管理(8学时) 第一节:文件与文件系统(1学时) 文件(B);文件的种类(B);文件系统及其功能(A)。 第二节:文件的组织结构(1学时) 文件的逻辑结构(A);文件的物理结构(A)。 第三节:文件目录结构(1学时) 文件说明(B);文件目录的结构(A);当前目录和目录文件(B)。 第四节:文件存取与操作(1学时) 文件的存取方法(A);文件存储设备(C);活动文件(B);文件操作(A)。 第五节:文件存储空间的管理(2学时) 空闲块表(A);空闲区表(A);空闲块链(A);位示图(A)。 第六节:文件的共享和保护(2学时)

操作系统复习资料-整理版本

操作系统复习 第一章概述 1、操作系统的概念、基本类型、基本特征及基本功能; 2、操作系统的结构设计方法; 第二章进程管理 1、多道程序设计技术(多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行); 2、进程的概念、特征、基本状态及与程序的区别和联系; 3、PCB的概念、前趋图与进程图; 4、原语的概念及进程控制原语的种类; 5、进程的同步与互斥的概念、临界资源与临界区的概念; 6、信号量及其应用; 7、线程的概念及种类、引入线程的目的; 第三章处理机调度与死锁 1、调度的层次与作用; 2、常用调度算法及计算; 3、死锁的概念、产生的原因及必要条件; 4、处理死锁的基本方法; 5、银行家算法及计算; 第四章存储管理 1、存储管理的目的及功能; 2、重定位的概念及方法; 3、内碎片与外碎片; 4、常用分区分配算法及对应的空闲区排列方式; 5、基本分页(分段、段页式)的概念、页(段)表的作用、地址变换; 6、分页与分段的区别、各自的优缺点; 7、快表的作用、内存访问时间的计算; 8、虚拟存储器的基本概念、理论依据、基本特征及关键技术; 9、页面置换算法、缺页率计算、LRU算法的硬件实现方法、抖动、Belady异常、缺页中断; 第五章设备管理 1、设备管理的任务、功能及目标; 2、I/O设备的分类,设备、控制器及通道的关系; 3、通道的基本概念及分类; 4、I/O控制方式及推动发展的因素、各自适用的场合及设备类型; 5、缓冲区的概念、分类及引入目的; 6、I/O软件的层次、各层主要功能、设备独立性的概念; 7、SPOOLING技术的概念、作用及SPOOLING系统的组成; 8、磁盘访问过程及访问时间的确定、块号与柱面、磁道、扇区号的对应关系、磁盘调度算法及其计算;扇区的优化; 第六章文件管理 1、文件系统的组成、功能; 2、打开、关闭操作的目的; 3、文件逻辑结构、物理结构的分类; 4、FAT表的作用、FAT表大小的计算;

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

02323操作系统概论2006年4月试题及答案

2006年4月高等教育自学考试全国统一命题考试 操作系统概论试卷 (课程代码2323) 一、单项选择题(本大题共15小题,每小题1分.共15分) 在每小题列出的四个备选项中只有一个选项是符合题目要求的。请将其代码填写在题后的括号内。错选、多选或未选均无分。 l、以资源管理的观点考察操作系统,操作系统的功能是【】 A、存储管理、设备管理、文件管理、目录管理 B、设备管理、文件管理、目录管理、处理器管理 c、文件管理、目录管理、处理器管理、存储管理 D、处理器管理、存储管理、设备管理、文件管理 2、关于基本类型的操作系统,正确的描述是【】 A、批处理系统需要提供与用户交互的功能 B、实时操作系统的主要功能是提供与用户交互的功能 c、分时操作系统需要提供与用户交互的功能; D、分时操作系统需要提供在严格的时限内处理完接受的请求 3、关于中断,正确的描述是【】 A、程序中断是自愿性中断事件 B、输入输出中断是强迫性中断事件 C、外部中断是自愿性中断事件 D、硬件故障中断是自愿性中断事件 4、关于处理器调度,正确的说明是【】 A、处理器的调度有两级,输入井是用于作业和进程调度的 B、处理器的调度有两级,输入井是用于进程调度的 C、处理器的调度有两级,输入井是用于作业调度的 D、处理器的调度有两级,输入井是用于作业和进程注册的 5、常用的进程调度算法是【】 A、先来先服务、时间片轮流调度、最高优先级调度。 B、时间片轮流调度、最高优先级调度、响应比高者优先。 C、最高优先级调度、响应比高者优先、先来先服务。 D、响应比高者优先、先来先服务、时间片轮流调度。 6、采用两级页表的页式存储管理中,按给定的逻辑地址进行读写时,通常需访问主存 【】 A、1次 B、2次 C、3次 D、4次 7、淘汰过去一段时间里被访问次数最少的页的算法是【】 A、LRU B、LFU C、FIFO D、随机 8、文件系统的使用者需要记住【】 A、存放文件的磁盘的容量 B、文件的逻辑结构

操作系统概论重点整理2017(2017年张琼声版)

操作系统概论-02323(2017年张琼声版本) 第1章操作系统简介 1.1什么是操作系统 (1)操作系统概念: 操作系统是一种复杂的系统软件,是不同程序代码、数据结构、初始化文件的集合,可执行。 操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件资源,并且通过这个接口使应用程序的开发变得简单、高效。 接口是两个不同部分的交接面。接口分为硬件接口和软件接口,计算机的所有功能最终都是由硬件的操作来实现的,计算机屏蔽了对硬件操作的细节。 (2)操作系统完成的两个目标: 1)与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提供服务; 2)为运行在计算机系统上的应用程序(即用户程序)提供执行环境。 现代计算机特点是支持多任务,一方面保证用户程序的顺利执行,另一方面使计算机系统资源得到高效的利用,保证计算机系统的高性能。 (3)操作系统的功能: 处理机管理、内存管理、设备管理、文件管理。 1.2操作系统的发展 1)无操作系统 2)单道批处理系统 3)多道程序系统(多道批处理系统、分时系统) 4)微机操作系统 5)实时操作系统 6)嵌入式操作系统 7)物联网操作系统 1.2.1无操作系统阶段: 电子管,无存储设备,第一台:1946年宾夕法尼亚大学的「埃尼阿克」 单道批处理系统: 晶体管,磁性存储设备,内存中有一道批处理作业,计算机资源被用户作业独占。 吞吐量是指单位时间内计算机系统处理的作业量

1.2.2单道批处理系统 特点:自动性、顺序性、单道性。 优点:减少了等待人工操作的时间 缺点:CPU资源不能得到有效的利用。 1.2.3多道程序系统 多道程序系统:集成电路芯片,出现了分时操作系统(多个终端)。 特点:多道性、无序性、调度性、复杂性。 优点:能够使CPU和内存IO资源得到充分利用,提高系统的吞吐量。 缺点:系统平均周转时间长,缺乏交互能力。 1.2.4微机操作系统: 第一台Intel公司顾问GaryKildall 编写的CP/M系统,是一台磁盘操作系统,用于Intel8080. 1.2.5操作系统特点 (1)分时系统: 特点:多路性、及时性、交互性、独立性。 优点:提供了人机交互,可以使用户通过不同终端分享主机。 缺点:不能及时接收及时处理用户命令。 (2)实时操作系统(用户实时控制和实时信息处理): 实时操作系统:广泛应用于各种工业现场的自动控制、海底探测、智能机器人和航空航天等。 特点:多路性、独立性、及时性、交互性、可靠性。 在实时系统中,往往采取多级容错措施来保证系统安全和数据安全。 (3)操作系统产品: 1)主机操作系统(批处理、事务处理(银行支票处理或航班预订)、分时处理) 2)微机操作系统 3)服务器操作系统 4)嵌入式操作系统(物联网操作系统) 1.3操作系统的特征 现代操作系统都支持多任务,具有并发、共享、虚拟和异步性特征。 (1)并发: 指两个或多个事件在同一时间间隔内发生; (2)共享:指系统中的资源可供内存中多个并发执行的进程共同使用。 资源共享两种方式:互斥共享,同时共享; (3)虚拟:指通过某种技术把一个物理实体变成若干逻辑上的对应物;

操作系统课程设计2014教学大纲

《操作系统课程设计》大纲 一、设计目的和要求 目的:本课程设计是为配合计算机相关专业的重要专业课《操作系统》而开设的,其主要内容是让学生实际进行操作系统功能模块的设计和编程实现。通过本课程设计的实施,使学生能将操作系统的概念具体化,并从整体和动态的角度去理解和把握操作系统,以巩固和补充操作系统的原理教学,提高学生解决操作系统设计及实现过程中的具体问题的能力。 要求:通过本课程设计的实施,要求培养学生以下能力: (1)培养学生在模拟条件下与实际环境中实现功能模块和系统的能力:课程设计要求学生实际进行操作系统功能模块的设计和编程实现,具体包括:基于线程的多任务调度系统的设计与实现;一个简单文件系统的设计与实现。 (2)培养学生设计和实施工程实验的能力,合理分析试验结果的能力:学生在完成项目的过程中,需要进行实验设计、程序调试、错误分析,从而熟悉实验设计方法及实验结果的分析方法。 (3)培养学生综合运用理论和技术手段设计系统和过程的能力:学生需根据设计项目的功能要求及操作系统原理的相关理论提出自己的解决方案,需考虑项目实现的软硬件环境,设计相关数据结构及算法,在实现过程中发现解决方案的问题并进行分析改进。 (4)培养学生分析并清楚阐述设计合理性的能力:要求学生在项目上机验收和实验报告中分析阐述设计思路的合理性和正确性。 (5)培养学生的组织管理能力、人际交往能力、团队协作能力:课程设计分小组进行,每个小组有一个组长,负责组织本组成员的分工及合作。 二、设计学时和学分 学时:32 ;学分:1 三、设计的主要内容 以下三个题目中:1、2中选做一题,第3题必做。 1、基于线程的多任务调度系统的设计与实现 (1)线程的创建、撤消和CPU切换。 掌握线程的定义和特征,线程的基本状态,线程的私有堆栈,线程控制块TCB,理解线程与进程的区别,实现线程的创建、撤消和CPU切换。 (2)时间片轮转调度 理解各种调度算法、调度的原因,完成时钟中断的截取,具体实现调度程序。 (3)最高优先权优先调度 理解优先权的概念,并实现最高优先权优先调度策略。 (4)利用记录型信号量实现线程的同步

【信息化-精编】操作系统教学复习讲义

操作系统教学复习讲 义

操作系统复习资料 赖国勇 一、教学内容、要求、重点和难点: 第一章操作系统引论 教学内容:操作系统的定义,特征,功能,分类及其发展简史等。教学要求:1、了解:操作系统的发展简史,分时和实时操作系统的特点。2、理解:操作系统的分类,分时概念。 3、掌握:操作系统的定义,特征和主要功能。 4、重点:操作系统的定义、特征、功能及其分类。 5、难点:操作系统的特征和主要功能。 第二章进程管理 教学内容:进程、线程的基本概念,进程状态,进程控制,进程同步和互斥,进程通信等。教学要求:1、了解:经典进程同步问题,进程通信方式,线程的类型、特征、创建和终止。2、理解:引入进程的原因,进程控制块的作用,信号量的物理意义,用信号量实现互斥与同步(P、V操作),引入线程的原因。3、掌握:进程的定义与特征,进程与程序的异同,进程基本状态变化,临界资源,临界区,同步机制应遵循的原则,信号量的含义。4、重点:进程基本状态转换,用信号量实现互斥与同步(P、V操作),经典进程同步算法。5、难点:进程基本状态转换,用信号量实现互斥与同步(P、V操作),经典进程同步算法。第三章处理机管理 教学内容:进程(作业)调度,死锁的概念,产生死锁的原因和必要条件,处理死锁的方法等。教学要求:1、了解:高响应比优先调度算法,多级队列调度算法,多级反馈队列调度算法,预防死锁的方法。2、理解:调度层次,FIFO调度算法,短进程(作业)优先调度算法,时间片轮转调度算法,优先权调度算法,银行家算法。3、掌握:死锁的概念,产生死锁的原因和必要条件。4、重点:进程(作业)调度算法,死锁的概念,银行家算法。 5、难点:进程(作业)调度算法,产生死锁的原因,银行家算法。

2015年4月全国自考操作系统概论考前密卷02323(含答案)

2015年4月全国自考操作系统概论考前密卷02323(含答案) 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 第1题进程——资源图中出现(),会产生死锁。 A. 断点 B. 互斥 C. 环路 D. 同步 【正确答案】 C 【你的答案】 本题分数1分 第2题多道批处理系统的硬件支持是60年代初发展起来的() A. RISC技术 B. 通道和中断机构 C. 集成电路 D. 高速缓存 【正确答案】 B 【你的答案】 本题分数1分 第3题操作系统中,存储介质上的分块是()来进行划分的。 A. 根据文件的逻辑结构 B. 根据逻辑记录的大小 C. 根据用户的实际需要 D. 根据存储介质的特性 【正确答案】 D 【你的答案】 本题分数1分 第4题死锁四个必要条件中,无法破坏的是() A. 互斥使用资源 B. 占有且等待资源 C. 非抢夺式分配 D. 循环等待资源

【正确答案】 A 【你的答案】 本题分数1分 第5题当一进程运行时,系统可基于某种原则,强行将其撤下,把处理器分配给其他进程,这种调度方式是() A. 非剥夺方式 B. 剥夺方式 C. 中断方式 D. 查询方式 【正确答案】 C 【你的答案】 本题分数1分 第6题访问一次磁盘操作必须给出如下参数() A. 磁头号 B. 扇区号 C. 柱面号 D. 三个都给出 【正确答案】 D 【你的答案】 本题分数1分 第7题操作系统通过()对进程进行管理。 A. 进程名 B. 进程控制块 C. 进程启动程序 D. 进程控制区 【正确答案】 B 【你的答案】 本题分数1分 第8题共享设备是指可让若干个作业同时使用的设备,这里的“同时使用”是指() A. 多个作业在同一时刻使用共享设备 B. 一个作业尚未撤离,另一个作业即可使用共享设备,但任一时刻只有一个作业占用该设备

操作系统概论自考复习资料.doc

操作系统(operating system , OS)是计算机系统中必不可少的系统软件。它是计算机系统中各种资源的管理者和各种活动的组织者、指挥者。它使整个计算机系统协调一致且有效地工作。通过本课程的学习,我们将知道操作系统要做什么、怎么做和为什么要这样做。 学习操作系统,首先我们应该知道操作系统的概念。本章主 要讲述了以下几个问题。 一、什么是操作系统 二、操作系统的形成 三、操作系统的类型 四、操作系统的功能 一、什么是操作系统 在回答这个问题之前,我们先来了解一下什么是计算机系统。计算机系统是按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。 计算机系统由硬件系统和软件系统组成。软硬件系统的组成部分就是计算机系统的资源,当不同的用户使用计算机时都要占用系统资源并且有不同的控制需求。 操作系统就是计算机系统的一种系统软件,由它统一管理计算机系统的资源和控制程序的执行。 操作系统的设计目标一是使计算机系统使用方便。二是使得计算机系统能高效地工作。 二、操作系统的形成 早期没有操作系统→原始汇编系统→管理程序→操作系统可以看到,操作系统是随着计算机硬件的发展和应用需求的推动而形成的。 三、操作系统的类型

按照操作系统提供的服务,大致可以把操作系统分为以下几类: 批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统(加亮) 1、批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。又可分为批处理单道系统和批处理多道系统。单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率。 2、分时操作系统,这种系统中,一个计算机系统与许多终端设备连接,分时系统支持多个终端用户,同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。分时系统的主要特点是同时性、独立性、及时性和交互性。 3、实时操作系统能使计算机系统接收到外部信号后及时进行处理,并在严格的规定时间内完成处理,且给出反馈信号。它是较少有人为干预的监督和控制系统。实时系统对可靠性和安全性要求极高,不强求系统资源的利用率。 4、网络操作系统可以把若干计算机联合起来,实现各台计算机之间的通信及网络中各种资源的共享,像我们现在使用的Windows ,UNIX和Linux等操作系统都是网络操作系统。 5、分布式操作系统的网络中各台计算机没有主次之分,在任意两台计算机间的可进行信息交换和资源共享。这一点上分布式操作系统和网络操作系统差别不大,他们的本质区别在于:分布式操作系统能使系统中若干计算机相互协作完成一个共同的任务。这使得各台计算机组成一个完整的,功能强大的计算机系统。 四、操作系统的功能 从资源管理的观点出发,操作系统功能可分为五大部分:处理器管理、存储管理、文件管理、设备管理和作业管理。 计算机系统是由硬件系统和软件系统两部分组成,操作系统是软件系统的一个组成部分,它是直接在硬件系统的基础上工作的,所以在研究操作系统之前,先必须对计算机系统的结构有一个基本的了解,本章就是讲述计算机系统结构的基本知识。

操作系统课程教学网站论文

摘要 通过操作系统教学网站的建设,完成了对于操作系统课程的远程化授课。可以使学生不受时间空间的限制,通过网络对于这门课程进行学习。建立起了基于B/C的网络化教学系统。本网站采用当前最流行的JSP网络编程技术,可以实现数据的高效、动态、交互访问,具有强大的Server/Client交互能力。本文中所做的主要工作:介绍Win2000 +JSP(J2DK+TOMCAT)系统并且嵌入 JAVABEAN的一般原理;阐述整个操作系统教学网站的概要设计,系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;详细设计实现学院介绍、教学资源、课程表、课堂教学、在线答疑、其他课程、课件下载、留言反馈、自我测试、成绩管理、站内搜索、公告专栏、友情链接、校园风景、新闻中心、栏目导航等程序模块;各个模块的具体实现,且分析并解决实现中的若干技术问题;建立完整的实验网站,进行测试并分析结果。 关键字: JAVABEAN JSP 交互访问 JAVASCRIPT JDBC

Abstract Through the operating system teaching website construction, completed long-distance has taught regarding the operating system curriculum, was allowed to cause the student without the time space limit, and carried on the study through the network regarding this curriculum. Established based on the B/C network teaching system. This website uses the current most popular JSP network programming technology, may realize the data to be highly effective, dynamically, alternately visits, and has the formidable Server/Client interactive ability. In this article does main work: Introduced Win2000 +JSP (J2DK+TOMCAT) the system and to insert JA V ABEAN the general principle; Elaborates the entire operating system teaching website outline design, the system structure and the principle of work; Has analyzed in the system realization particularity, the difficulty and key; The detailed design realization institute introduced, in the teaching resources, the class schedule, the classroom instruction, the on-line Q/A, other curricula, class downloading, the message feedback, the self- test, the result management, the station search, program module and so on announcement column, friendship link, campus scenery, news center, column navigation; Each module concrete realization, also in analysis and solution realization certain technical questions; The establishment integrity experimental website, carries on the test and the analysis result. Key words: JA V ABEAN JSP alternately visits JA V ASCRIPT JDBC

操作系统第1章复习资料

操作系统基础 本课程章节 第1章操作系统引论 第2章进程管理 第3章处理机调度与死锁 第4章存储器管理 第5章文件管理 第6章设备管理 第7章Linux操作系统基础 第8章Linux操作系统的使用 第一章操作系统概述 §1.1 什么是操作系统 §1.1.1 操作系统是计算机系统的基本系统软件,是硬件系统的延伸 1.计算机系统的组成——硬件系统和软件系统 硬件系统:裸机,没有配置任何软件的计算机。 软件系统是指计算机系统所使用的各种程序的集合。计算机软件一般分为两大类: –系统软件用于计算机的管理、维护和运行,以及对程序进行翻译、装入等服务工作,包括操作系统、程序设计语言处理程序、系统实用程序及工具软件等。 –应用软件通常指那些为某一方面应用而设计的程序,或用户为解决某个特殊问题而编写的程序。 2.操作系统用作扩充机器 如果在裸机上覆盖一层为用户屏蔽硬件细节的软件,这样的计算机称为软件扩充的机器,或称虚拟机。 §1.1.2 OS是用户与计算机硬件系统之间的接口 这种接口是软件接口,OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。可以用以下两种方式来使用计算机。 (1)系统命令方式。(命令行、菜单式、命令脚本式、图形用户接口GUI-图标)这是指由OS提供了一组联机命令,用户可通过有关的命令,来直接操纵计算机系统。 (2)系统调用方式。(形式上类似于过程调用,在应用编程中使用)OS提供了一组系统调用,用户可在应用程序中通过调用相应的系统调用来操纵计算机。 §1.1.3 操作系统是系统资源的管理者 在一个计算机系统中,可将资源分为四类,相应地,OS的主要功能也正是针对这四类资源进行有效的管理。即: (1)处理机管理。用于分配和控制处理机; (2)存储器管理。主要负责内存的分配与回收; (3)I/O设备管理。负责I/O设备的分配与操纵; (4)文件管理。负责文件的存取、共享和保护。 结论:OS的定义 操作系统是计算机系统中的一个系统软件,是计算机系统所使用的各种程序的集合。它管理和控制计算机系统中的硬件和软件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大、使用方便和可扩展的工作环境,从而在计算机与用户之间起到接口作用。

相关文档
相关文档 最新文档