您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
分享到
操作系统基础知识(二)
 

作者 _追风的博客,火龙果软件 发布于:2014-06-26

 

存储管理-3

2.3存储管理

存储器管理的对象是主存储器(主存、内存)。

主要功能包括:分配 回收主存空间 提高主存利用率扩充主存 对主存信息实现有效保护

2.3.1 基本概念

1. 存储器的结构

一般结构有两种:寄存器—主存—外存

寄存器—缓存—主存—外存

存储组织的功能:是在存储技术和CPU寻址技术许可的范围内组织合理的存储结构,

使得各层次的存储器都处于均衡的繁忙状态

(1) 虚拟地址:对程序员来说,数据的存放地址是由符号决定的,故称为符号名地址

他是从0号单元开始编址,并顺序分配所有符号名所对应的地址单元。由于符号名地址不是主存中的真实地址,因此也称为相对地址,程序地址,逻辑地址,虚拟地址。

(2) 地址空间。把程序中由相对地址组成的空间叫做逻辑地址空间。相对地址空间通过

地址再定位机构转换到绝对对地址空间,绝对地址空间也叫物理地址空间。

总结:逻辑地址空间是逻辑地址的集合,物理地址空间是物理地址的集合。

2. 地址重定位。

将逻辑地址转换成主存物理地址的过程称为地址重定位。

地址重定位分为 静态地址重定位和动态地址重定位。

(1) 静态地址重定位。就是程序装入主存时已经完成了变换。

优点:无须硬件地址变换机构的支持。它只要求程序本身是可重定位的

缺点:必须给作业分配一个连续的存储区域,在作业的执行期间不能扩充存储空间,也不能在主存中移动,多个作业难以共享主存中的同一程序副本各数据。

(2) 动态地址重定位。就是程序运行期间完成交换。

优点:程序执行期间可以换入和换出主存,程序可在主存中移动,可以充分利用空间。可买实现共享。

2.3.2存储管理方案

存储管理的主要目的是解决多个用户使用主存的问题。

主要包括 分区存储管理、分页存储管理、分段存储管理、段页式存储管理、虚拟存储管理

(1) 分区存储管理,早期的方案,

按分区的划分方式分为 固定分区、可变分区 、 可重定位分区

固定分区:一种静态分区方式

可变分区:一种动态分区方式

可重定们分区。解决了碎片问题,基本思想是,移动所有已分配好的分区,使之成为连续区域,有代码,地址发生变化,所以有地址重定位问题。

分区的保护:通常采用上界和下界寄存器

上界寄存器存放作业的装入地址。下界寄存器装入作业的结束地址

形成的物理地址必须满足

上界寄存器<=物理地址<=下界寄存器

或者采用基址寄存器和限长寄存器,

基址寄存器存放作业的装入地址,限长寄存器存入作业的长度,

形成的物理地址必须满足:

基址寄存器<=物理地址<=基址寄存器+限长寄存器

2.3.3 分页存储管理

解决用户程序必须装入连续的地址空间中,在分区管理方案中,如果满足不了,则需要进行分区靠拢操作,这样耗费系统时间,为此,引入分页存储管理方案

1. 纯分页存储管理

1) 分页原理

将一个进程的地址空间划分成若干个大小相等的区域,称为页,相应地,将主存空间划分成与页相同大小的若干个物理块,称为块或页框,为进程分配主存时,可将进程中若干页分别装入多个不相邻接的块中。

2) 地址结构

分页系统的地址结构图2-10所示

特点:32位,注意看图

1) 页表

将进程的每一页离散地分配到内存的多个物理块中后,系统就保证能在内存中找到每个页面所对应的物理块,为此,系统为每个进程建立了一张页面射表,简称页表

2.快表

2.3.4分段存储管理

段是信息的逻辑单位。因此分段系统的一个突出优点是易于实现段的共享,即允许若干个进程共享一个或多个段,可简单地实现段的保护。在实现程序和数据的共享时,常常以信息的逻辑单位为基础,分页系统中的每一页只是存放信息的物理单位,其本身没有完整的意义,因而不便于信息共享,而段却是信息的逻辑单位,有利于信息的共享和保护。

1. 分段的基本原理

在分段存储管理方式中,作业的地址空间被划分为若干段,每段是一组完整的逻辑信息,都是从零开始编址的一段连续的地址空间,各段长度不等,允许一个作业最多有64k段,每段的最大长度为64kb

在分段式存储管理系统中,为每段分配一个连续的分区,进程 中和段可以离散地分配到内存的不同分区,在系统中为每个进程建立一张段映射表,段表。每段在表中占有一表项,其中记录了该段在内存中的起始地址(基址)。和段的长度。利用段表寄存器中段表长度与逻辑地址中的段号比较,若段号超过段表长度则产生越界中断。

2.3.4虚拟存储管理

前面介绍的存储管理方案中,必须为每个作业分配 足够的空间,装入全部信息,当主存空间不能满足作业要求时,作业便无法装入主存执行。虚拟存储管理解决了这一问题。

即装入部分内容便可运行,其余部分暂时留在磁盘上,需要时再装入主存。

1. 虚拟存储器的实现

虚拟存储器具有请求调入功能和置换功能,可以把作业的一部分装入主存使其开始运行,能从逻辑上对主存容量进行扩充。虚拟存储器的逻辑容量由主存和外存容量之和以及CPU可寻址的范围来决定,其运行的速度接近于主存速度。虚拟存储器实现主要有以下三种方式。

(1)请求分页系统。

在分页系统的基础上,增加了请求调页功能和页面置换功能形成的页式虚拟存储系统。它允许只装入若干页的用户程序和数据(而非全部程序),就可以启动运行,以后再通过调页功能和页面转换功能,陆续把将要使用的页面调入主存,同时把暂不运行的页面置换到外存上,置换时以页面为单位。

(1) 请求分段系统。在分段系统的基础上。。。以请求分页系统雷同,只不过它是以段为单位的,注意是段,而不是页。

(2) 请求段页式系统,在段页式系统的基础上,增加了请求调页和页而置换功能 所形成的段页式虚拟存储系统。

2. 请求分页管理的实现

请求分页是在纯分页系统的基础上,增加了请求调页功能、页面转换功能所形成的页式虚拟存储系统,是目前常用的一种虚拟存储器的方式。

请求分页的是在纯分页系统的基础上,增加了请求调页功能、页面置换功能所形成的页式虚拟存储系统,是目前常用的一种虚拟存储器的方式。

请求分页的页表机制是在纯分页的页表机制上形成的,由于只将应用程序的一部分调入主存,还有一部分仍在外存上,故需在页表中再增加若干项,如状态位、访问字段、辅存地址等供程序在换进、换出参考。

***在请求分页系统中,每当所要访问的页面不在主存时,便产生一个缺页中断,请求调入所缺的页,缺页中断与一般中断的主要区别在于,缺页中断在指令执行期间产生和处理中断信号,而一般中断在一条指令执行结束后,下一条指令开始执行检查和处理中断信号,缺页中返回到被中断指令的开始重新执行该指令,而一般中断返回到下一条指令执行,一条指令在执行期间,可能会产生多次缺页中断。

3. 页面置换算法

在进程运行过程中,如果发生缺页而内存又无空闲块时,为了保证进程能正常运行,不必须从内存中调出一页程序或数据送入磁盘的对换区。但究竟将哪个页面调出,需要一个页面置换算法来确定,常用的页面转换算法如下:

1) 最佳(optimal)置换算法

该算法选择那些不使用的,或是在最长时间内不再被访问的页面置换出去,但要确定哪一个页面是未来最长时间不再被访问的,很难估计。

分析:当进程访问页面5时,产生缺页中断,根据最佳置换算法,页面0将在第18次才访问,是三页中将最久不被访问的页面。所以被淘汰。依此类推。

1) 先进先出(FIFO)置换算法

该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最入的页面予以淘汰,该算法实现简单,只需把一个进程中已调入内存的页面按先后次序链接成一个队列即可,但是性能差,会发生Belady异常现象,所谓Belady现象,是指如果对一个进程未分配它所要求 的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象,例:对页面访问序列为 ABCDABEABCDE,物理块从3块增加到4块,缺页次数增加.

1) 最近最少未使用(Least Recently Used,LRU)置换算法

选择最少使用的页面予以淘汰,系统在每个页面设置一个访问字段,用以记录这个页面自上次被访问以来所经历的时间T,当要淘汰一个页面时,选择T最大的页面。

4)最近未用(Not Used Recently,NUR)置换算法

最近一段时间未引用过的页面换出,与LRU近似,该算法为每个页面设置一位访问位,将内存中的所有页面通过链接指针连成一个循环队列,当某页被访问时,其访问位置1,在选择一页淘汰时,就检查其访问位,如果是0,就选择该页换出。

设备管理-4

2.4设备管理

设备管理是操作系统中最繁杂而且与硬件紧密相关的部分,不但要管理实际I/O操作的设备

,还要管理诸如设备控制器、DMA控制器、中断控制器和I/O处理等支持设备。

2.4.1设备管理概述

1.设备的分类

打印机、显示器、绘图仪、扫描仪、键盘、鼠标是常见的设备。

(1) 按数据组织分类

块设备:以数据块为单位组织传送数据信息,磁盘

字符设备:以单个字符为单位来传送数据信息,打印机

(2) 从资源分配角度

独占设备:一段时间内只允许一个进程访问的设备,用户终端

共享设备:一段time内允许多个进程访问的设备,磁盘

虚拟设备:通过虚拟技术将一台独占设备变换为若干台供多个进程共享的逻辑设备

(3) 按数据传输率分类

低速设备:键盘、语音的输入、鼠标。每秒几个字节到百个字节

中速设备:激光打印机。每秒数千个字节到一万个字节。

高速设备:磁带机,磁盘,光盘机。每秒 数百千个字节到M

2.设备管理的目标与任务

目标:提高设备的利用率,就是提高CPU与输入输出设备之间的并行操作程序

主要有的技术:中断技术、DMA技术、通道技术、缓冲技术。

2.4.2设备管理技术

1.通道技术

引入通道的目的是使数据的传输独立于CPU,设置通道后,CPU只需向通道发出输入输出命令,通道收到命令后,从内存中取出本次输入输出要执行的通道程序加以执行。不过通道价格昂贵。

2.DMA技术

直接内存存取是指数据在内存与输入输出设备之间实现直接成块传送。即在内存与输入输出设备之间传送一个数据块的过程,只需要CPU在开始与结束时进行处理,实际操作过程由DMA硬件直接执行完成,CPU在此传送过程中可执行别的任务。

3.缓冲技术

缓冲技术可提高外设利用率,尽可能使外设处于忙状态。缓冲技术可以采用硬件缓冲和软件缓冲。硬件缓冲是利用专门的硬件寄存器作为缓冲,软件缓冲通过操作系统来管理。

引入缓冲的好处:

(1) 缓和CPU与输出输入设备速度不匹配的矛盾。

(2) 减少对CPU和输入输出设备中断频率,放对中断响应时间的限制

(3) 提高CPU和输入输出设备之间的并行 性。

在所有的输入输出设备与处理机(内存)之间,都使用了缓冲区来交换数据,

缓冲可分为单缓冲、双缓冲、环形缓冲。

4,Spooling 技术(假脱机技术)

是关于慢速字符设备如何与计算机主机交换信息的一种技术

工作过程:操作系统初启后激活Spooling预输入程序

使它处于捕获输入请求的状态,一旦有输入请求消息,Spooling输入程序立即得到执行,

把装在输入设备上的作业输入到硬盘的输入井中,并填写好作业表以便作业在执行中要求输入信息时,可以随时找到它们的存放位置,当作业需要输出数据时,可以先将数据送到输出井,当输出井空闲时,由Spooling输出程序把硬盘上输出井的数据传送到慢速的输出设备上。

Spooling系统中拥有一张作业表,用来登记进入系统的所有作业的作业名、状态和预输入表位置等信息。每个用户作业拥有一张预输入表用来登记该作业的各个文件的情况,包括设备类、信息长度、及存放位置等,输入井的作业有如下4种状态。

输入状态:作业的信息正从输入设备上预执行

收容状态:作业预输入结束但被选中执行

执行状态:作业已被选中运行,运行过程中,可从输入井读取数据,也可向输出井写信息

2.4.3磁盘调度

磁盘是可被多个进程共享的设备。当有多个进程请求访问磁盘时,为了保证信息的安全,系统每一时刻允许一个进程启动磁盘进行IO操作,其余进程只能等待。

1. 磁盘驱动调度

(1) 先来行服务

(2) 最短寻道时间时间优先

(3) 扫描算法。扫描算法(SCAN)不考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向,就像电梯的运行一样,故又称为电梯高度算法

2. 旋转调度算法

当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序?

这就是旋转调度要考虑的问题。系统应该选择延迟时间最短的进程对磁盘的扇区进行访问。

旋转调度应考虑如下情况:

(1)进程请求访问的是同一磁道上的不同编号的扇区

(2)里程请求访问的是不同一磁道上的不同编号的扇区。

首先到达读写磁头位置下的扇区先进行传送操作。

(3),进程请求访问的是不同磁道上具有相同编号的编区

可任选一个磁头位置下的扇区进行传送操作。

文件管理-5

2.5文件管理

2.5.1 基本概念

1.文件

文件(file)是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。

信息项是构成文件内容的基本单位,可以是一个字符,也可一个记录。

文件包括:文件体和文件说明

文件体:是文件真实的内容

文件说明:是操作系统为了管理文件所使用的信息,主要包括文件名、文件内部标识、文件的类型、文件的存储地址、文件的长度、访问权限、建立时间等。

特别说明:文件是一种抽象机制,它隐藏了硬件和实现细节。。。

2.文件系统

就是用来统一管理文件的

文件系统包括如下功能。

(1) 按名存取,即用户可以按名存取,而不是按地址存取。

(2) 统一的用户接口,即在不再设备上提供同样的接口,方便用户操作和编程

(3) 并发访问和控制,即支持并发访问和控制

(4) 安全性控制。即不再的用户对同一文件的访问权限不同

(5) 优化性能:采用相关技术提高系统对文件的存储效率,检索,读写性能

(6) 差错恢复,即能够验证文件的正确性,并具有一定的差错恢复能力。

3.文件分类

(1)按文件性质分:系统文件、库文件、用户文件

(2)按信息保存期限分:临时文件、档案文件、永久文件

(3)按文件的保护方式分:只读、读写、可执行、不保护文件

(4)UNIX系统将文件分为普通、目录、设备文件。

2.5.2文件的结构和组织

文件的结构是指文件的组织形式。

1. 文件的逻辑结构

分两大类:有结构的记录式文件,它是由一个以上的记录构成的文件,故又称为记录式文件。

无结构的流式文件。它是由一串顺序字符流构成的文件。

1)有结构的记录式文件

在记录式文件中,所有的记录通常都是描述一个实体集,有着相同或不同数目的数据项,记录的长度可分为定长和不定长两类。

(1) 定义记录。指文件中所有记录的长度相同,所有记录中各个数据项都处在记录中相同的位置,具有相同的顺序及相同的长度,文件的长度用记录数目表示。

(2) 变长记录。长度不相同,可能一个记录中所包含的数据项数目不同。

2)无结构的流式文件

文件体为字节流,通常采用顺序访问的方式。且每次读写访问可以说指定任意的数据长度,

原理是利用读写指针指出下一个要访问的字符。

2.文件的物理结构

文件的物理结构是指文件的内部组织形式,即文件在物理存储设备上的存放方法,由于文件的物理结构决定了文件在存储设备上的存放位置,所以文件的逻辑块号到物理块号的转换也是由文件的物理结构决定的。

(1)连续结构。它将逻辑上的连续的文件信息依次连续存放在连续编号的物理块上,只要知道文件的起始物理块号和文件的长度,。批量存取快,随机查找或修改慢,增加或删除也不好, 为了为采用连续结构的文件配置一个运行记录文件或称为事务文件,规定每隔一定时间,将运行记录文件与原来的主文件进行合并,产生一个新文件,这样,不必每次对记录进行增加或删除操作,物理移动磁盘信息,使其成为连续结构。

(2)链接结构,将逻辑上的连续的文件信息存放在不连续的物理块上。。。

(3)索引结构。将逻辑连续的文件信息存放在不连续的物理块中,系统为每个文件建立一张索引表。

(4)多个物理块的索引表,索引是在文件建立时由系统自动 建立的,并在文件一起存放在同一文件卷上,

2.5.3 文件目录

为了实现 按名存取,系统必须为每个文件设置用于描述和控制文件的数据结构,它至少要包括文件名和存放文件的物理地址,这个数据结构称为文件控制块(FCB),文件控制块的有序集合称为文件目录。就是说,文件目录是由文件控制块组成的,专门用于文件检索,文件控制也称为文件的说明或文件目录项。

1. 文件控制块

文件控制块包含以下三类信息

(1) 基本信息类,如文件名、文件的物理地址、文件长度、文件块数等。

(2) 存取控制信息类。文件的存取权限,如读、写、执行权限等

(3) 使用信息类,如文件建立日期、最后一修改日期、最后一次访问日期、当前使用的信息、打开文件的进程数、

特别说明:文件控制块的信息因操作系统不同而异,UNIX文件系统中,PCB的各项信息为文件类型和存取权限、键接数、文件主、组名、文件长度、最后一次修改日期、文件名。

文件目录可以存放在文件存储器固定位置,也可以以文件的形式存放在磁盘上,将这种特殊的文件称之为目录文件。

2. 目录结构

文件目录结构的组织方式直接影响文件的存取速度,文件共享性,安全性。

常见的目录结构有三种:一级目录结构、二级目录结构、多级目录结构。

(1) 一级目录结构。一级目录的整个目录组织是一个线性结构,在整个系统中只需要建立一张目录表,系统为每个文件分配一个目录项,一级目录结构简单,但缺点是查找速度慢,不允许重名和不便于实现文件共享等。

(2) 二级目录结构。一级目录结构的升级版,克服了一级目录的缺点而引入的,它是由主文件目录(Master File Directory,MFD)和用户目录(User File Director, UFD)组成的,在主文件目录中,每个用户文件目录都占有一个目录项,其目录项包括用户名和指向该用户目录文件的指针,用户目录由用户所有文件的目录项组成。

(3) 多级目录结构,为了解决二级目录存在的问题,这种目录结构像一颗倒置的有根树,所以也称为树型目录结构,从树根向下,每一个节点是一个目录,叶节点是文件,windows 和unlx等操作系统采用多级目录结构。

2.5.4 存取方法、存取控制

1. 文件的存取方法

文件的存取方法是指读写文件存储器上的一个物理块的方法,通常分为顺序存取和随机存取,顺序存取是指对文件中的信息按顺序依次读写的方式,随机存取是指可在按任意的次序随机地读写文件的信息。

(1) 顺序存取法。在提供记录式文件结构的系统中,顺序存取法严格按物理记录排列的顺序依次读取,如果当前读取的是Ri记录,则下一次要读取的记录自动地确定Ri+1,在只提供无结构的流式文件中,顺序存取法是按读写的位移(offset)从当前位置开始读写,每读完一段信息,读写位移自动加上这段信息的长度,以便读下段信息。

(2) 直接存取法,直接存取法允许用户随意存取文件中任意一个物理记录,对于无结构的流式文件,采用直接存取法,必须事先移动到特读写信息的位置上再进行读写。

(3) 按键存取法。按键存取法是直接存取法的一种,它不是根据记录的编号或地址来存取文件中的记录,而是根据文件中各记录的某个数据项内容来存取记录的,这种数据项称为 键。

2. 文件存储空间的管理

外存是具有很容量的存储空间,因此,文件系统必须对磁盘空间进行管理,外存空闲空间管理的数据结构通常称为磁盘分配表,常用的空闲空间的管理方法有位示图、空闲区和空闲块链三种。

(1) 空闲区表,将外存空间上一个连续未分配区域称为“空闲区”,操作系统为磁盘外存上所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表中包含序号、空闲区的第一块号、空闲块的块数和状态等信息,如下图所示,它适用于连续的文件结构。

(1) 位示图。这种方法是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况,每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。文件存储器上的物理块依次编号为 0,1,2,3,4….。假如系统中字长为32位,那么在位示图中的第一个字对应文件存储器上的 0,1,2,…,31号物理块,第二个字对应文件存储器上的 32….63号物理块,依此类推。

位示图的大小由磁盘空间的大小决定,其描述能力很强,适合各种物理结构。例如,大小为120GB的磁盘,物理块的大小为4MB,那么位示图的大小为

120*1024/4/8=3840字节。

(2) 空闲块链,每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上,不需要磁盘分配表,节省空间,每次申请空闲物理块只需根据链表的头指针取出第一空闲物理块,根据第一空闲物理块的指针可找到第二个空闲物理块,依此类推。

(3) 成组链接法,在UNLX系统中,将空闲块分成若干组,第100个空闲块为一组,每组的第一个空闲块登记了下一组空闲块的物理盘块号和空闲块总数,假如一个组的第一个空闲块号等于0的话,意味着该组是最后一组,无下一组空闲块。

2.5.5 文件的共享和保护

1. 文件的共享

文件共享是指不同用户进程使用同一文件,它不仅是不同用户完成同一任务所必须的功能,而且还可以节省大量的内存空间,减少由于文件复制而增加的访问外存的次数,文件共享有多种形式,采用文件名和文件说明分享的目录结构有利于实现文件共享,在UNLX系统中允许许多用户基于索引节点的共享,或利用符号链接共享同一个文件。符号链接是通过建立新的文件(或目录)与原来文件(或目录)的路径名映射,当访问一个符号链接时,系统通过该映射找到原文件的路径,并对其进行访问。采用符号链接可以跨越文件系统,只需要提供该文件所在地址,以及在该机器中的文件路径,可以通过计算机网络连接到世界上任何地方的机器中的文件,符号链接的缺点是其他用户读取符号链接的共享文件比读读取硬链接的共享文件需要增加读盘操作的次数。

2. 文件的保护

文件系统对文件的保护常采用存取控制方式进行,所谓存取控制,就是不同的用户对文件的访问规定不同的权限,以防止文件被未经文件主同意的用户访问,文件的保护方式主要有:存取控制矩阵、存取控制表、用户权限表、口令和密码等。

存取控制矩阵,是一个二维矩阵,其中一个一维列出计算机的全部用户,另一维列出系统中的全部文件,矩阵中每个元素Aij表示第i个用户对第j个文件的存取权限。

总结:存取控制矩阵在概念是简单清楚的,但实现却有困难,当一个系统用户数和文件数很大时,二维矩阵要占很大的存储空间。验证过程也将耗费许多系统时间。

(1) 存取控制表。存取控制矩阵的升级版,对文件的访问权力的差别对用户进行分类,由于某一文件往往只与少数几个用户有关,所以这种分类方法可使存取控制表大为简化,UNLX系统使用了存取控制表方法。

(2) 用户权限表。改进存取控制矩阵的另一种方法是以用户或用户级为单位半用户可存取的文件集中起来存入表中,这称为用户权限表,表中每个表目表示该用户对应文件的存取权限,这相当于存取控制矩阵一行的简化。

(3) 密码。在创建文件时,由用户提供一个密码。

2.5.6 系统的安全与可靠性

1. 系统的安全

系统的安全涉及两类不同的问题,一类涉及到技术、管理、法律、道德和政治等问题,另一类涉及操作系统的安全机制,一般可从4个级别:系统级、用户级、目录级和文件级上对文件进行安全性管理。

2.文件系统的可靠性

   
次浏览       
     
????

HTTP????
nginx??????
SD-WAN???
5G?????
 
????

??????????
IPv6???????
??????????
???????
????

????????
????????
???????????????
??????????


中国移动 网络规划与管理
医院安防系统远程探视方案解析
基于RFID技术的物联网研究
基于物联网、云计算架构...
基于RFID技术物联网研究与应用
物联网的发展瓶颈和关键技术