操作系统笔记

来源:互联网 发布:数据预处理的意义 编辑:程序博客网 时间:2024/05/23 19:18

操作系统的特性:
1、并发
2、共享
3、 不确定性
4、 虚拟
操作系统的基本类型
1.批量操作系统
2.分时操作系统
3.实时操作系统
中断类型
1、按中断功能分类
(1)输入输出中断
(2)外中断
(3)硬件(机器)故障中断
(4)程序性中断
(5)访管中断
2、按中断方式分类
(1)强迫性中断
(2)自愿中断
3、按中断来源分类
(1)来自处理机外部的事件,称为外部中断,
(2)来自处理机的中断,称为内部中断。

资源利用率:指在给定时间内,系统中某一资源,如CPU、存贮器、外部设备等实际使用时间所占比率。
操作系统是一个大型的程序系统,它负责计算机系统软、硬件资源的分配;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境。
所谓中断是指某个事件发生时,系统中止现行程序的运行、引出处理事件程序对该事件进行处理,处理完毕后返回断点继续执行的过程。

操作系统提供的用户界面
(1) 操作界面 (命令接口)
(2) 系统功能服务界面 (程序接口)
计算:程序的一次执行过程称为一个计算,它由许多简单操作所组成。
程序的顺序执行:一个计算的若干操作必须按照严格的先后次序顺序地执行,这类计算过程就是程序的顺序执行过程。
程序顺序执行的特点
1.顺序性
2.封闭性
3.可再现性

程序并发执行 (定义):若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重迭是很小的,也称这几个程序段是并发执行的。

一、失去了程序的封闭性和可再现性
二、程序与计算不再一一对应
三、程序并发执行的相互制约

进程:就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程。

进程与程序的区别:
1、程序是指令的集合,是静态的概念。
2、进程是一个独立运行的活动单位。
3、进程是竞争计算机系统有限资源的基本单位。
4、一个程序可以对应多个进程;一个进程至少包含一个程序。

在系统中同时有多个进程存在,但归纳起来有两大类:
1、系统进程
系统进程起着资源管理和控制的作用。
2、用户进程
执行用户程序的进程

进程在系统中的活动规律是:
执行 暂停 执行
进程的三种基本状态:
运行状态
就绪状态
等待状态(又称阻塞、挂起、睡眠)
 1、就绪状态(Ready)
 存在于处理机调度队列中的那些进程,它们已经准备就绪,一旦得到CPU,就立即可以运行,这些进程所处的状态为就绪状态。(有多个进程处于此状态)
 2、运行状态(Running)
 当进程由调度/分派程序分派后,得到CPU控制权,它的程序正在运行,该进程所处的状态为运行状态。(在系统中,总只有一个进程处于此状态)
 3、等待状态(Wait)
 若一个进程正在等待某个事件的发生(如等待I/O的完成),而暂停执行,这时,即使给它CPU时间,它也无法执行,则称该进程处于等待状态。

存放进程的管理和控制信息的数据结构称为进程控制块。

进程是有生命周期的,产生、运行、暂停、终止。对进程的这些操作叫进程控制。
进程控制的职责是对系统中全部进程实施有效的管理,负责进程状态的改变。
它是处理机管理的部分(另一部分是进程调度)。

进程控制包括:进程创建、进程撤消、进程阻塞、进程唤醒。

运行状态 等待状态
进程阻塞/挂起/等待
等待状态 就绪状态
进程唤醒
新建进程置为就绪状态
进程创建
进程终止(消亡)
进程撤消
就绪状态 运行状态
进程调度

产生进程的相互制约关系的原因有二:
资源共享
进程合作
临界资源:一次仅允许一个进程使用的资源称为临界资源。
在每个进程中,访问临界资源的那段程序能够从概念上分离出来,称为临界区或临界段。它就是进程中对公共变量(或存储区)进行审查与修改的程序段,称为相对于该公共变量的临界区。
互斥定义:在操作系统中,当某一进程正在访问某临界区时,就不允许其它进程进入,否则就会发生(后果)无法估计的错误。我们把进程之间的这种相互制约的关系称为互斥。
什么是锁?
用变量w代表某种资源的状态,w称为“锁”。
在系统中为每个临界资源设置一个锁位,
0 表示资源可用,1 表示资源已被占用(不可用)。

P操作:
(1)s值减1;
(2)若相减结果大于等于0,则进程继续执行;
(3)若结果小于0,则该进程挂起。
注:挂起该进程包括:保留调用进程CPU现场;置“等待”状态;入等待队列;转进程调度
V操作:
(1)s值加1;
(2)若相加结果大于0,进程继续执行;
(3)否则,唤醒一个(或多个)等待该信号灯的进程,然后本进程继续执行。

同步:所谓同步就是并发进程在一些关键点上可能需要相互等待与互通消息,这样的相互制约关系称为进程同步。
进程通信:即进程间的信息交换。
前面介绍的进程互斥与同步就是一种进程间的通信方式。由于进程互斥与同步交换的信息量较少且效率较低,因此称这两种通信方式为低级通信方式,相应地也将P、V原语称为两条低级进程通信原语。
高级进程通信:进程之间可直接以较高的效率传递较多数据的信息交换方式。该方式采用的是通信机构。

消息传递系统因其实现方式不同可分为两类:
直接通信方式:发送进程直接把消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上,接收进程从消息缓冲队列中取得消息。
间接通信方式:发送进程把消息发送到某个中间实体中,接收进程从中间实体中取得消息。这种中间实体一般称为信箱,故这种通信方式也称为信箱通信方式。

消息缓冲通信是一种直接通信方式,即发送进程直接发送一个消息给接收进程。
消息:是一组信息,是进程之间相互传送的赖以发生交互作用的有结构的数据,通常由消息头和消息正文组成。
信箱通信是一种间接通信方式。
线程(Thread)是进程中实施调度和分派的基本单位。
线程与进程的主要区别:
(1)调度方面。在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。而在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程切换。在不同的进程中进行线程切换,将会引起进程切换。
(2)拥有资源。不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位,而线程不拥有系统资源(只有一点必不可少的资源),但线程可以访问其所隶属进程的资源。
(3)并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多个线程之间也可以并发执行。
(4)系统开销。由于创建进程或撤消进程时,系统都要为之分配或回收资源,操作系统所付出的开销远大于创建或撤消线程时的开销。在进行进程切换时,涉及到整个当前进程CPU环境的保存及新调度到进程的CPU环境的设置;而线程切换时,只需保存和设置少量寄存器内容,因此开销很小。另外,由于同一进程内的多个线程共享进程的地址空间,因此,多线程之间的同步与通信非常容易实现,甚至无需操作系统的干预。
引入线程的好处
① 易于调度。
② 提高并发性。
③ 开销少。
④ 利于充分发挥多处理器的功能。
什么是资源描述器
描述各类资源的最小分配单位的数据结构称为资源描述器 rd (resource descriptor)。
资源描述器的内容
资源名 资源类型 最小分配单位的大小 最小分配单位的地址 分配标志
描述器链接信息 存取权限 密级 最后一次存取时间 记账信息

什么是资源信息块: 描述某类资源的请求者、可用资源和该类资源分配程序等必要信息的数据结构。
资源分配有两种方式:
1、静态分配:当一个进程(或程序)运行前,将它要求的资源一次分配加该进程,直到该进程终止,释放其占用的所有资源。这种分配方法效率太低;
2、动态分配:当一个进程要求使用某个(类)资源时,向系统提出资源的请求,系统响应程序的请求将某种资源分配给请求者,这种方法使得系统资源的利用率提高,但有可能造成死锁。
死锁就是两个或两个以上的进程等候着一个永远不会发生的事件时所处的一种系统状态。
计算机系统产生死锁的根本原因是:
系统资源不足 进程推进顺序非法。
产生死锁的四个必要条件:
1、互斥条件
2、不剥夺条件
3、部分分配条件
4、环路等待条件
解决死锁的基本方法
1、 采用静态资源分配方法预防死锁;
2、采用有序资源分配方法避免死锁;
3、检测死锁和解除死锁。
预防死锁:
采用的分配策略本身就否定了产生死锁的四个必要条件之一,这就保证了不会发生死锁;
死锁避免:
是在动态分配资源的策略下采用某种算法来预测可能发生的死锁,从而拒绝可能产生死锁的某个资源的请求。
安全状态:系统按照某种序列为多个进程分配资源直到最大需求,如果能够保证所有进程全部顺利执行完毕,则称系统是安全的。

死锁检测与恢复是指系统设有专门的机构,当死锁发生时,该机构能够检测到死锁发生的位置和原因,且能通过外力破坏死锁发生的必要条件,从而使并发进程从死锁状态中解脱出来。
死锁检测方法:化简资源分配图法
1、资源分配图G = (V, E)。式中,V是顶点的集合,E是边的集合。顶点集合可分为两部分:P={p1, p2, …, pn},它由系统中所有活动进程组成;R={r1, r2, …, rm},它由系统中全部资源类型组成。
有向边pi →rj称为申请边(请求边);而有向边rj →pi称为赋给边。
在资源分配图中,通常用圆圈表示每个进程,用方框表示每种资源类型。

对待死锁问题除以上三种最基本的方法外,还有第四种方法,即采取“鸵鸟政策”—— 完全忽略死锁问题。

把上述对作业的操作归纳成四种状态:
1、提交状态 用户将自己的程序和数据提交给系统,等待输入。
2、后备状态 作业已存放在磁盘上,等待调度。
3、执行状态 作业进入主存开始运行。
4、完成状态 作业计算完成开始,退出系统。
作业调度的主要任务是完成作业从后备状态到执行状态和从执行状态到完成状态的转变。
作业调度的功能:
1. 确定数据结构
建立作业控制块jcb (job control block)。
作业控制块记录了每个作业类型、状态、资源请求及分配情况 。
2. 确定调度策略与调度算法
3. 分配资源
为选中的作业分配所需要的系统资源。
4. 善后处理
收回该作业所占用的全部资源,撤消作业控制块以及与该作业有关的全部进程。

确定调度算法时应考虑的因素
1.应与系统的整体设计目标一致
2.考虑系统中各种资源的负载均匀
3.保证作业的执行
4.对一些专用资源的使用特性的考虑
作业的周转时间:
ti = tci-tsi
ti:作业周转时间 tci:作业完成时 tsi: 作业提交时间
周转时间: 一个作业提交给计算机系统到该作业的结果返回给用户所需要的时间。说明作业在系统中停留时间的长短。
带权周转时间: 一个作业的周转时间与其运行时间的比值。说明作业i在系统中相对等待时间。
先来先服务算法是按作业来到的先后次序进行调度的。
短作业优先调度算法考虑作业的运行时间,每次总是选择一个运行时间最短的作业调入内存。
处理机分配由调度和分派两个功能组成。
调度:组织和维护就绪进程队列。包括确定调度算法、按调度算法组织和维护就绪进程队列。
分派:是指当处理机空闲时,从就绪队列队首中移一个PCB,并将该进程投入运行。
调度与进程控制和进程通信的功能有密切的联系,当一个进程阻塞时,这种进程将进入相应的等待队列中,并让出CPU,调用进程分派程序选择一个就绪进程占用CPU;当一进程被唤醒时,这种进程将插入到就绪进程队列中。
在一般的操作系统教材中把上述功能称为进程调度。
进程调度包括:
调度算法的选择(调度算法)
调度时机的选择(调度时机)
实施进程调度(调度程序)

静态:
进程的优先数在进程创建时确定后就不再变化
确定进程优先数:
系统确定:(运行时间、使用资源,进程的类型)
用户确定:(紧迫程度,计费与进程优先数有关)
系统与用户结合(用户可以为本用户的进程设置优先数,但不是作调度用,系统还要根据系统情况把用户设置的进程优先数作为确定进程优先数的一个参数)

动态进程优先数:
系统在运行的过程中,根据系统的设计目标,不断地调整进程的优先数,这种方法的优点是能比较客观地反映进程的实际情况和保证达到系统设计目标。

循环轮转调度
优点是实现简单、系统开销小
缺点是不灵活,当系统中进程较少时,系统开销变大
由于该算法简单易于实现,且系统开销较小,早期的分时操作系统和目前一些应用系统中广泛采用了这种调度算法。

存储器:能接收数据和保存数据、而且能根据命令提供这些数据的装置。

主存储器(主存、内存):
中央处理机能直接访问的存储器称为主存储器,用来存放正在或将要执行的系统程序、用户程序和数据,以及程序执行时要求的临时存储空间。
辅存储器(辅存、外存):
中央处理机不能直接访问的存储器,如磁盘、磁带、光盘、U盘等,用来存放大量的数据信息。

主存储器的类型
只读存储器ROM(Read-only memory)
一般只能从中读出数据,不能随意用普通的方法向其中写入数据。
随机访问存储器 RAM(random access memory)
既可读又可写。

存储保护
当几个进程共享主存时必须保持它们各自的完整性,任何一个进程不能改变已经分配给其它进程的主存区域的内容。
采用方式:
上、下界防护;
存储健防护等。

内存储器(简称内存、主存、物理存储器)
处理机能直接访问的存储器。用来存放系统和用户的程序和数据,其特点是存取速度快,存储方式是以新换旧,断电信息丢失。

外存储器(简称外存、辅助存储器)
处理机不能直接访问的存储器。用来存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。在文件系统中介绍。

把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址(物理地址、绝对地址、实地址),存储单元占8位,称作字节(byte)。
物理地址空间:物理地址的集合称为物理地址空间(主存地址空间),它是一个一维的线性空间。
程序地址:用户编程序时所用的地址(或称逻辑地址 、虚地址 ),基本单位可与内存的基本单位相同,也可以不相同。
程序地址空间(逻辑地址空间、虚地址空间):用户的程序地址的集合称为逻辑地址空间,它的编址总是从0开始的,可以是一维线性空间,也可以是多维空间

  1. 存储管理功能
    (1)地址映射 将程序地址空间中使用的逻辑地址变换成主存中的地址的过程。有时也称为地址重定位 !!!!
    实现地址映射有三种方式:
    1.编程或编译时确定地址映射关系
    2.静态地址映射
    静态地址映射是在程序装入内存时完成从逻辑地址到物理地址的转换的。

3.动态地址映射
动态地址映射是在程序执行时由系统硬件完成从逻辑地址到物理地址的转换的。
系统中设置了重定位寄存器。

(2) 主存分配
按照一定的算法把某一空闲的主存区分配给作业或进程。
(3) 存储保护 保证用户程序(或进程映象)在各自的存储区域内操作,互不干扰。
(4) 提供虚拟存储技术 使用户程序的大小和结构不受主存容量和结构的限制,即使在用户程序比实际主存容量还要大的情况下,程序也能正确运行

内存管理策略有三种:
1、放置策略
决定内存中放置信息的区域(或位置),即如何在若干个空闲区中选择一个或几个空闲区的原则;
2、调入策略
决定信息装入内存的时机,有两种:在用户请求时调入,称为请调;根据某种算法,确定系统将要使用的信息,并在执行前预先调入内存,称为预调 ;
3、淘汰策略
分页的概念程序地址空间分成大小相等的页面,同时把内存也分成与页面大小相等的块,当一个用户程序装入内存时,以页面为单位进行分配。
当内存不足时,决定将某些信息调出内存的策略 。

虚拟存储器:为用户提供一种不受物理存储器结构和容量限制的存储器的技术称为虚拟存储器,或称虚拟存储技术。
下界寄存器 存放程序装入内存后的开始地址(首址)
上界寄存器 存放程序装入内存后的末地址
判别式:下界寄存器 ≤ 物理地址 < 上界寄存器

基址寄存器 存放程序装入内存后的开始地址(首址)
限长寄存器 存放程序地址空间的总长度
判别式:0 ≤ 逻辑地址 < 限长寄存器
区别:
1、寄存器的设置不同;
2、判别式中用的判别条件不同
上下界寄存器保护法用的是物理地址
基址、限长寄存器保护法用的是程序的逻辑地址

分区存储管理技术的实现:
1、地址映射
2、动态存储管理的机构(数据结构)
3、分区的分配和回收
4、三种基本的放置策略
分区存储管理使用的数据结构主要是空闲区表、空闲区队列两种。

根据空闲区队列组织的方法的不同,有不同的放置策略,它们是最佳适应算法、首次适应算法和最坏适应算法三种。
首次适应算法的空闲区队列是按空闲区首址升序的(即空闲区队列是按空闲区首址从小到大)方法组织的。
最佳适应算法是将申请者放入与其大小最接近的空闲区中。
最坏适应算法:为了克服最佳适应算法把空闲区切割得太小的缺点,人们提出了一种最坏适应算法,即每次分配时,总是将最大的空闲区切去一部分分配给请求者,其依据是当一个很大的空闲区被切割了一部分后可能仍是一个较大的空闲区。避免了空闲区越分越小的问题。

分页的概念:程序地址空间分成大小相等的页面,同时把内存也分成与页面大小相等的块,当一个用户程序装入内存时,以页面为单位进行分配。

页式存储管理要解决如下问题:
1、页式存储管理系统的地址映射;
2、调入策略;
3、淘汰策略;
4、放置策略。

页表是页式存储管理的数据结构,它包括用户程序空间的页面与内存块的对应关系、页面的存储保护和存取控制方面的信息。

  页号  内存块号  存取控制 状态 其它  

在实际的系统中,为了节省存储空间,在页表中可以省去页号这个表目。

虚地址结构(程序字):虚地址是用户程序中的逻辑地址,它包括页号和页内地址(页内位移)。
区分页号和页内地址的依椐是页的大小,页内地址占虚地址的低位部分,页号占虚地址的高位部分。假定页面大小1024字节,虚地址共占用2个字节(16位)
当要把一页面并送入到全满的内存中时,必须把已在内存中的某一页淘汰掉。用来选择淘汰哪一页的规则叫做置换算法。
请调:进程在执行的过程中,发现要执行的程序或处理的数据不在内存,向系统提出调入相应程序的请求,系统响应用户的请求。

第二次机会置换算法:该算法是对FIFO算法的改进—–避免把经常使用的页面转换出去。
当选择某一页置换时,就检查最老页面的引用位:如果是0,就立即淘汰该页;如果是1,就给它第二次机会,并将引用位清0,把它放入页面链表的末尾,把它的装入时间重置为当时时间(实际上是把该页看成是新装入的页),然后选择下一个FIFO页面。

时钟置换法 :该算法对第二次机会法进行了改进,避免在页面链表中移动页面所带来的效率问题。该算法也是LRU算法的近似算法。
实现方法:所有的页面保存在一个类似钟表表盘的环状链中,由一个指针指向最老的页面。

页式系统的存储保护的方法类似于基址限长存储保护,当地址映射机构分离出页号和页内位移后。若0≤页号<用户程序的总页数,则访问合法,否则访问越界。
页式系统的存储保护还包括存取控制。
在页表中增加存取控制位,表示该页的存取控制权限,如r表示可读,w表示可读可写,e表示可执行。当有一程序访问该页时,系统就按存取控制位设置的权限实施存取控制。

段式存储管理的实现思想
段式存储管理中以段为单位分配内存,每段分配一个连续的内存区,但各段之间不要求连续。
段表:段号 段长 主存始址 存储控制
段表寄存器,用于存放段表起始地址和段表长度。
在进行地址变换时,系统将逻辑地址中的段号与段表长度进行比较。
然后,再检查段内地址是否超过该段的段长。
段、页式存储管理的比较

             分页式             分段式

划分方法 物理划分 逻辑划分
地址空间 一维 二维
大小 固定 不固定
透明度 透明 有程序员参与

段页式系统:对主存的分配以存储块为单位。
为了实现地址变换,段页式系统中也要设立段表和页表。系统为每个进程建立一张段表,而每个分段有一张页表。
地址变换:
(1)由段表地址寄存器得到段表始地址去访问段表;
(2)由段表得到页表始地址去访问页表;
(3)由页表及页内偏移计算出内存物理地址。

在计算机系统中除CPU和内存外所有的设备和装置称为计算机外部设备。

存储设备:又称块设备,是存储信息的设备,如:磁盘、磁鼓。(以块为单位传输信息)。
I/O设备:又称字符设备,能将信息从计算机外部输入到机内,或反之,如:键盘、显示器、打印机。 (以字符为单位传输信息) 。
通信设备:通信设备负责计算机之间的信息传输,如调制解调器、网卡等。
I/O管理就是设备管理,它是操作系统的一个重要的组成部分,负责管理系统中所有的外部设备。

计算机外部设备种类繁多,特性各异。主要表现在以下几个方面:
1.速度
2.传输单位
3.容许的操作(操作特性)
4.出错条件

设备管理的设计目标
1.提高设备利用率
(1)合理分配设备
(2)提高设备与CPU、各外部设备之间的并行性
2.方便用户的使用 提供使用方便且独立于设备的界面
(1) 统一:对各种不同的设备提供一致的界面
(2)独立于设备:用户使用的设备与物理设备无关

1.状态跟踪
动态地记录各种设备的状态。
2. 设备分配
在多用户的环境下,负责设备的分配和回收。
① 静态分配 —— 应用程序级
程序进入系统时进行分配,退出系统时收回全部资源。
② 动态分配 —— 进程级
进程提出设备申请时进行分配,使用完毕后立即收回。
3.设备控制
设备控制包括设备的驱动、完成和故障中断处理。
4.制订设备分配策略
决定设备分配策略,以确定谁、何时使用设备,使用多长时间。
所谓设备独立性是指,用户在编制程序时所使用的设备与实际使用的设备无关,也就是在用户程序中仅使用逻辑设备名。

设备独立性的优点
1.方便用户编程
2. 改善设备利用率
3.提高系统的可扩展性和可适应性

设备控制块!
设备控制块是设备管理的数据结构,用来存放设备的管理和控制信息。系统通过设备控制块掌握设备的状态。

什么是缓冲!
缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。

为什么要引入缓冲!
CPU与各种外部设备的速度上的差异很大,设备与设备之间的速度的差异也很大。
系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O,造成I/O负荷的不均匀。
要解决这两个方面的问题就要引入缓冲的概念。

缓冲器:容量较小,是用来暂时存放数据的一种存储装置。
缓冲区/软件缓冲:在I/O操作期间用来临时存放I/O数据的一块存储区域。用来保存在两设备之间或在设备和应用程序之间所传数据的内存区域。

利用缓冲技术如何进行I/O操作
1、进程活动期间,请求从某字符设备读入数据
2、进程活动期间,请求从输出设备输出数据

缓冲技术是用来匹配CPU与设备之间速度差异和负荷的不均匀。
常用的缓冲技术有三种:
双缓冲
在双缓冲方案下,为输入或输出分配两个缓冲区buf1 buf2 。
环形缓冲
在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。
缓冲池
系统设置多个缓冲区,形成一个缓冲池。这个池中的缓冲区为系统中所有的进程共享使用。

虚拟技术:在一类物理设备上模拟另一类物理设备的技术,也是将独占设备转化为共享设备的技术。
虚拟设备:用来代替独占型设备的那部分外存空间。
虚拟分配:当进程需要与独占型设备交换信息时,系统将分配磁盘空间,并建立相应的数据结构,这种分配方法称为设备的虚拟分配。
虚拟技术的实现:
SPOOLING系统:操作系统提供的外部设备联机同时操作的功能。即假脱机操作(SPOOL)。
SPOOLING系统分三个部分:
1、预输入
在作业需要数据前,操作系统已将所需数据预先输入到辅存输入井存放。当作业(或进程)需要数据时,可以从辅存中读入内存。
2、缓输出
在作业执行时,将输出数据写入辅存输出井中。当作业(或进程)执行完毕(或需要数据时) ,由操作系统将数据输出。
3、井管理。

实现SPOOLING系统的基础
(1) 大容量的辅存空间
在辅存上需开辟两个较大的输入井和输出井,用以存放多作业的输入信息和输出信息。
(2) 硬件基础
通道装置、中断系统
(3) 数据结构
预输入表、缓输出表:描述辅存输入井和输出井的状态变化的表格。
如: 输入信息从哪台设备输入,存放在辅存输入井什么位置;输出信息存放在辅存输出井什么位置,从哪台输出设备输出。
所需软件程序
预输入程序:控制信息从独占设备输入到辅存
缓输出程序:控制信息从辅存输出到独占设备
井管理程序:控制用户程序和辅存之间的信息输交换

输入/输出控制方式
CPU通过I/O控制器与物理设备打交道。按照I/O控制器智能化程度的高低,将I/O设备的控制方式分为四类。
循环测试I/O方式
I/O中断方式
通道方式
DMA方式

设备驱动程序工作:
1、要求输入数据的进程把一个启动命令和允许中断位“1”写入相应设备的控制状态寄存器中,从而启动了该设备;
2、该进程因等待输入的完成进入睡眠状态。
3、当输入完成后,输入设备向CPU发出完成中断请求信号;

设备中断处理程序工作:
4、处理机响应中断,处理该中断,并唤醒等待输入完成的进程;
5、在以后的某个时期,该程序被调度到后,继续运行。
优点:大大地提高了CPU的利用效率。
缺点:每次I/O都要CPU的干预,如果系统中配备了多台(套)设备时,CPU的利用率也会降低。解决的方法是采用通道技术。

磁盘调度算法的选择
① 任何调度算法的性能都依赖于I/O请求的数量和类型。
若磁盘I/O请求队列中通常只有一个等待服务的请求,那么所有的算法实际上是等效的,只需用最易实现的FCFS算法即可。
而如果系统中磁盘的负荷很重,则采用SCAN和C-SCAN算法更合适。一般采用SSTF较普遍,可有效地提高磁盘I/O性能。
② 文件的物理存放方式对磁盘请求有很大影响。
如果一程序读取连续文件,那么所读文件占用的盘块是邻接在一起的,盘I/O请求是连续的,磁头的移动就很少。
对于串联文件和索引文件来说,所包含的盘块可能散布在磁盘各处,执行I/O操作时磁头移动的距离会较大。
③ 目录和索引块的位置对I/O请求队列有重要影响。
读写文件时要检索目录结构,若文件数据和它的目录项在盘上的位置相距很远,那么磁头的移动幅度将会很大。
④ 旋转延迟时间的影响。

文件是在逻辑上具有完整意义的信息集合,它有一个名字以供标识,文件名是以字母开头的字母数字串。

教材讲了三种文件分类的方法:
按文件性质和用途分:
系统文件:指由系统软件构成的文件。大多数系统文件只允许用户调用,而不允许用户去读或修改。
程序库文件:指由系统提供给用户使用的各种标准过程、函数和应用程序等。这类文件允许用户调用,不允许用户修改。
用户文件:指用户委托文件系统保存的文件。如源程序、目标程序、原始数据等。这类文件只能由文件所有者或所有授权用户使用。

按文件保护级别分:
执行文件:允许授权用户调用执行,但不允许对它进行读写。
只读文件:允许所有者或授权用户对文件进行读,但不允许写。
读写文件:允许所有者或授权用户对文件进行读写,但禁止未授权用户读写。
不保护文件:指不加任何访问限制的文件。

按文件流向分:
输入文件:如键盘上的文件,只能读入。
输出文件:如打印机上的文件,只能写出。
输入输出文件:如磁盘、磁带上的文件,既可读又可写。

文件系统是操作系统中负责管理和存取文件信息的软件机构,它是由管理文件所需的数据结构和相应的管理软件以及访问文件的一组操作组成。

文件系统的功能
从用户的角度看:文件系统是用户在计算机上存储信息和使用信息的接口,实现了按名存取。
从系统的角度看:文件系统是一个负责文件存储空间管理的机构。

文件的组织:
文件的逻辑结构:
文件的逻辑结构是指用户思维中文件的结构。
文件的物理结构:
文件的物理结构是指文件在存储介质上的结构(或称组织)。文件的存储介质是磁盘,包括软盘、硬盘和光盘、磁带,早期还有磁鼓。由于磁带是模拟磁盘的结构,所以文件的物理结构主要是指磁盘上文件的结构。

逻辑记录
逻辑记录是文件中按信息在逻辑上的独立含义来划分的信息单位。
逻辑记录是对文件进行存取操作的基本单位。
物理记录
在存储介质上,由连续信息所组成的一个区域称为块,也叫物理记录。
逻辑记录与物理记录的区别与关系
一个是逻辑的概念,一个是物理的概念
逻辑记录最终存放到物理记录上
文件的逻辑结构:
无结构文件--流式文件
结构文件--记录式文件。
文件的物理结构指文件在存储介质上的结构,目前有三种基本结构,即:
连续文件结构(连续区分配)
串联文件结构(链接块方式)
索引文件结构(索引式)

连续文件的优点是不需要额外的空间开销,只要在文件目录中指出文件的大小和首块的块号即可,对顺序的访问效率很高。适应于顺序存取。还可以根据文件起始地址及记录长度进行随机存取。缺点是动态地增长和缩小系统开销很大;文件创建时要求用户提供文件的大小;存储空间浪费较大。
串联文件克服了连续文件的不足之处,但串联文件只能按照文件的指针链顺序访问,因而查找效率低。另外指针信息的存放也要消耗一定数量的外存空间。适应于顺序访问的文件。
索引文件既适应于顺序存取访问,也适应于随机访问,是一种比较好的文件物理结构,但要有用于索引表的空间开销和文件索引的时间开销。

文件类型 连续文件 串联文件 索引文件 Hash文件
文件长度 固定 固定、可变 固定、可变 固定、可变
存取方法 随机、顺序 顺序 随机、顺序 随机、顺序
空闲文件目录:该管理方法是将文件存储设备上的每个连续空闲区看作一个空闲文件。系统为所有空闲文件单独建立一个目录,每个空闲文件在这个目录中占一个表项,表项的内容包括第一个空白块的物理块号、空闲块的数目。
空闲块链:这种管理方法是将文件存储设备上的所有空闲块链接在一起,并设置一个头指针指向空闲块链的第一个物理块。

位示图:这种方法是为文件存储空间建立一张位示图,以反映整个存储空间的分配情况。在位示图中,每一个二地制位都对应一个物理块,当某位为1时表示该块已分配,当某位为0时表示该块空闲。
文件目录的最基本的功能是:实现文件名与存放盘块之间的映射。具有将文件名转换成该文件在外存的物理位置的功能。

——2015.7.7 9:50am

0 0
原创粉丝点击