操作系统期末复习

操作系统期末复习

第一章 操作系统介绍

操作系统

定义

操作系统是一组用于控制和管理计算机系统硬件和软件资源(计算机资源),合理地对各类作业进行调度,以及方便用户使用的程序集合

性能指标

  • 系统效率
  • 响应时间
  • 可靠性
  • 健壮性
  • 易用性

主要功能

  • 进程和处理机管理:主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度
  • **存储管理:**内存分配、地址映射、内存保护与共享、内存扩充
  • **文件管理:**文件存储空间的管理、目录管理、文件读写管理和保护
  • **设备管理:**缓冲管理、设备分配、设备处理、虚拟设备
  • 用户接口管理:提供用户接口方便用户操作

操作系统的主要功能包括?、?、?、?、?

处理机管理、存储器管理、设备管理、文件管理、用户接口

发展

手工操作阶段(此阶段无操作系统)

**缺点:**人机速度矛盾

批处理阶段(操作系统开始出现)

  • 单道批处理阶段

    • 优点:缓解人机速度矛盾
    • 缺点:系统资源利用率依然低
  • 多道批处理阶段(操作系统正式诞生)

    • 优点:多道程序并发执行,资源利用率高
    • 缺点:不提供人机交互能力(缺少交互性)

分时操作系统(不可以插队,有了人机交互)

  • 优点:提供人机交互(交互性
  • 缺点:不能优先处理紧急事务

实时操作系统(可以插队)

  • 硬实时系统:必须在被控制对象规定时间内完成(火箭发射系统)
  • 软实时系统:可以松一些(订票)
  • 优点:能优先处理紧急任务

多道程序设计特点

作业多道并发运行,宏观上并行,微观上串行,提高cpu的利用率

从可靠性看实时操作系统更强,从交互性看分时操作系统更强

?是基本的操作系统。

​ A.多处理器操作系统 B.分时操作系统
​ C.分布式操作系统 D.网络操作系统

B

操作系统主要有哪三种类型?各有什么特点

  • 批处理:多道程序并发执行,提高CPU的利用率
  • 分时:提高人机的交互性,人机交互性更好
  • 实时:能优先处理紧急任务,实时性更强

设计实时操作系统首先要考虑的因素

及时响应,可靠性

基本特征

并发

是指两个或多个活动在同一给定的时间间隔中进行

共享

计算机系统中的资源被多个进程所共用

异步

进程以不可预知的速度向前推进

虚拟

把一个物理上的实体变为若干个逻辑上的对应物

最基本特征:并发、共享(两者互为存在条件)

并发与并行的区别

**并发:**指的是计算机在宏观的过程中,是执行多个程序,但是在微观的过程中,处理器只执行一个程序

**并行:**在同一时刻执行两个或多个程序

同一时间间隔是并发,同一时刻是并行

虚拟的具体解释

在这里插入图片描述

脱机I/O和联机I/O

脱机I/O

多设一台外围计算机,专门处理I/O工作

联机I/O

由主机直接处理I/O操作

为用户提供的接口

命令行

输入一行命令直接执行

系统调用

系统给用户或程序员(应用程序)提供的唯一接口,可获得OS的服务,在用户态发生,核心态处理

图形化界面

提供图形界面方便用户使用

操作系统一般为用户提供了三种界面,它们是 ? 、
? 和?;在UNIX系统中,只能在C程序中使用的接口是_?_。

命令界面、程序界面、图形界面 系统调用

应用程序调用库函数,库函数也是使用操作系统提供的系统调用来运行程序

操作系统体系结构

  • 单体结构
  • 层次结构
  • 虚拟机结构
  • 微内核结构
  • 客户-服务器结构

操作系统在计算机系统的地位

操作系统在计算机系统中处于何种地位:是硬件层的第一次扩充,是计算机系统软件的重要组成部分

计算机系统的层次结构:硬件层—操作系统层—语言处理程序层—应用程序层

操作系统的作用:提高计算机系统的效率,增强系统的处理能力,充分发挥系统资源的利用率,方便用户使用。

处理机状态

两种指令

  • 特权指令:不允许用户程序使用(只允许操作系统使用) 如IO指令、中断指令
  • 非特权指令: 普通的运算指令

两种程序

  • 内核程序:系统的管理者,可执行一切指令、运行在核心态
  • 应用程序:普通用户程序只能执行非特权指令,运行在用户态

处理机状态

  • 用户态:CPU只能执行非特权指令
  • 核心态(管态、内核态):可以执行所有指令
  • 用户态到核心态:通过中断(是硬件完成的)
  • 核心态到用户态:修改特权指令psw的标志位,0用户态,1核心态

哪些指令只在核心态下进行

屏蔽所有中断、设置时钟日期、启动打印(I/O设备)、清内存

原语

  • 处在操作系统的最底层,最接近硬件的部分

  • 这些程序的运行具有原子性,其操作只能一气呵成

  • 这些程序的运行时间都较短,而且调用频繁

体系结构:大内核、微内核

微内核

微内核方法是将操作系统所有非基本部分从内核中移走,仅存放那些能实现现代OS最基本的核心功能的部分,使得操作系统核心部分很小。

**优点:**这样可以提高了系统的可扩展性;增强了系统的可靠性,可移植性,提供了对分布式系统的支持。

用户使用操作系统通常有三种手段,它们是终端命令、系统调用命令和( C )。

A.机器语言 B.特权指令 C.作业控制语言 D.汇编语言

用户使用操作系统通常有三种方式,它们是终端令、系统调用令和作业控制语言。

第二章 进程调度

进程的意义

为了更好地描述和控制程序并发执行,实现操作系统的并发性和共享性

在操作系统中引入“进程”概念
的主要目的是( )。
A.改善用户编程环境
B.描述程序动态执行过程的性质
C.使程序与计算过程一一对应
D.提高程序的运行速度

B

进程的定义

是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位

进程与程序

差别

  • 进程是动态的,而程序是静态的;

  • 进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为一个独立单位得到操作系统的认可。

  • 一个程序可以对应多个进程,但一个进程只能对应一个程序。

  • 进程和程序的组成不同。从静态角度看,进程由程序、数据和进程控制块(PCB)三部分组成,而程序是一组有序的指令集合。

进程的基本特征

  • 动态性:进程的最基本的特征,进程是程序的一次执行过程,是动态的产生、变化和消亡。
  • 并发性:内存中有多个进程实体,各进程可并发执行。
  • 独立性:进程是能独立运行、独立获得资源、独立接受调度的基本单位。
  • 异步性:各个进程按各自独立的、 不可预知的速度向前推进,操作系统要提供进程同步机制来解决异步问题。
  • 结构性:每个进程都会配置一个PCB。结构上看,进程由程序段、数据段和PCB组成。

进程的组成

  • PCB:保存进程运行期间相关的数据,是进程存在的唯一标志
  • 程序段:能被进程调度到CPU的代码
  • 数据段:存放数据

进程控制块(PCB)是专为用户进程设置的私有数据结构,每个进程仅有一个PCB

每个进程只有一个PCB,但是PCB不是进程私有的

PCB如何描述进程的动态性质

PCB中有表明进程状态的信息:该进程的状态是运行态、就绪态还是阻塞态,利用状态信息来描述进程的动态性质。

PCB组织方式

  • 线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况。
  • 索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。
  • 链接表方式:系统按照进程的状态将进程的PCB组成队列,从而形成就绪队列、阻塞队列、运行队列等

进程的状态

  • 运行态:进程正在占用CPU
  • 就绪态:进程已处于准备运行的转台,即进程获得了除处理机外的一切所需资源,一旦的到处理机即可运行
  • 阻塞态:进程由于等待某一事件不能享用CPU
  • 创建状态:进程正在被创建
  • 结束状态:进程正在从系统消失

进程同步

信号量

计数信号量又称结构性信号量,其中一个成员是整形变量,表示该信号量的值;另一个是指向PCB的指针。当多个进程都在等待同一信号量时,他们就排成一个队列,由信号量指针作为该队列队首,队列间通过PCB本身的指针项进行连接。

P、V操作

P操作:若S>0,S-1,程序继续执行,否则等待;
V操作:S+1
一般是P操作、临界区、V操作;信号量代表允许剩余允许访问临界资源的进程数,P操作需要先判断是否有访问名额,若有则访问,信号量减一;若没有则等待;访问完通过V操作将信号量加一,释放临界区。

引入原因

协调进程之间的相互制约关系

制约关系
  • 同步 直接制约关系,协调多个进程的工作次序来完成任务
  • 互斥 间接制约关系,当一个进程进入临界区使用临界资源时,另一个进程必须等待当前进程退出临界区

进程间相互合作的关系是______关系,而对资源争用的关系是________关系。若干进程使用同一临界资源时必须________执行。

同步互斥互斥

临界资源

一次仅允许一个进程使用的资源

临界区

在每个进程中访问临界资源的那段程序

临界区是指并发进程中涉及共享变量的( )
A. 程序段
B.管理信息区
C.公共数据区
D.信息保留区

A

临界区互斥

调度原则

  1. **空闲让进:**当没有进程进入临界区时,相应的临界资源处于空闲状态,因而允许一个请求进入临界区的进程立即进入自己的临界区;
  2. **忙则等待:**当已有进程进入自己的临界区时,即相应的临界资源正被访问,因而其它试图进入临界区的进程必然等待,以保证进程互斥地访问临界资源;
  3. **有限等待:**对要求访问临界资源的进程,应当保证进程能够在有限时间进入临界区,以免陷入“死等”状态;
  4. **让权等待:**当进程不能进入自己的临界区时应当释放处理机,以免进程陷入“忙等”状态。

基本方法

  • 信号量
  • 利用PV操作实现互斥

有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( )。
A.1至 –(m-1) B.1至m-1
C.1至–m D.1至m

A

设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示( )。
A.一个进程进入了临界区,另一个进程等待
B.没有一个进程进入临界区
C.两个进程都进入了临界区
D.两个进程都在等待

B

睡眠与唤醒操作可以解决临界区求解问题,因此可以不必使用信号量机制。

错误、需要共同使用来完成进程同步问题

进程的状态变化

在这里插入图片描述

某进程由于需要从磁盘上读入数据而处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将( )
A. 从就绪变为运行
B.从运行变为就绪
C.从运行变为阻塞
D.从阻塞变为就绪

进程的优先级

进程的静态优先级

静态优先级:在创建进程时确定的,且程序的整个运行期间不变。

进程的动态优先级

动态优先级:在程序运行期间可根据进程推进或随其等待时间的增加而改变

线程

引入目的

为了更好的使用多道程序并发执行,提高资源利用率和系统吞吐量

资源

是程序执行的最小单位,基本不拥有任何系统特点

与进程的关系

进程是资源分配和调度运行的单位,但是进程的切换代价太大,因此引入线程,进程只作为资源拥有者,线程作为调度拥有者。

线程是进程中实施调度的基本单位。一个进程可以拥有多个线程,至少一个。一个线程只能在一个进程的地址空间活动;同一进程的所有线程共享该进程的所有资源。

实现线程的两种方式

用户级线程只存在于用户层,它的管理都在一个进程的用户地址空间中进行,用户级线程的切换也仍在用户态下运行,不需要转换到核心态,这就节省了系统从核心态到用户态或从用户态到核心态转换的时间和空间的开销。同一进程中多个线程不能真正并行。
内核级线程管理的所有工作都是由内核来完成的,同一进程内多个线程可以并行执行,即如果进程中的一个线程被阻塞,内核可以调度同一个进程中的另一个就绪线程执行。在多处理机环境中,内核可以同时把同一个进程的多个线程分配到多个处理机上。在同一个进程中把控制权从一个线程切换给另一个线程需要内核的状态转换(即用户态到核心态的转换),所以内核级线程的创建和管理通常要慢于用户级线程的创建和管理。

管程

组成部分

局部于管程的共享变量;

对数据结构进行操作的一组过程;

对局部于管程的数据进行初始化的语句

基本特性

  • 共享性:管程可被系统范围内的进程互斥访问,属于共享资源
  • 安全性:管程的局部变量只能由管程的过程访问,不允许进程或其它管程直接访问,管程也不能访问非局部于它的变量。
  • 互斥性:多个进程对管程的访问是互斥的。任一时刻,管程中只能有一个活跃进程。
  • 封装性:管程内的数据结构是私有的,只能在管程内使用,管程内的过程也只能使用管程内的数据结构。进程通过调用管程的过程使用临界资源。管程在Java中已实现。

死锁

产生原因

资源有限且分配不当

定义

多个进程因竞争资源而造成的一种僵局,如果没有外力,这些进程将无法推进

解决办法
  • 预防死锁:死锁的预防就是在运行之前,预先防止死锁的产生,主要是通过破坏产生死锁的 4 个必要条件中任何一个来实现的。
    • 破坏互斥条件
    • 破坏不剥夺条件
    • 破坏请求和保持条件
    • 破坏循环等待条件
  • 避免死锁:注意避免死锁的发生,这就要求系统每当在进程申请资源时,都应根据一定的算法进行判断,仅当系统处于安全状态时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。
    • 安全状态
    • 银行家算法
  • 检测死锁:利用死锁定理
  • 解除死锁
    • 资源剥夺法
    • 撤销进程法
    • 进程回退法

死锁、活锁、饥饿

死锁会阻塞,一直等待对方释放资源,一直处在阻塞状态;

活锁会不停的改变线程状态尝试获得资源。活锁有可能自行解开,死锁则不行

饥饿:一个或者多个线程因为种种原因无法获得所需要的资源,导致一直无法执行的状态。

线程处于饥饿是因为不断有优先级高的线程占用资源,当不再有高优先级的线程争抢资源时,饥饿状态将会自动解除。

在多进程的并发系统中,肯定不会因竞争( D )而产生死锁。

A. 打印机 B. 磁带机 C. 磁盘 D. CPU

CPU属于可剥夺性资源,但一个进程已获得的资源,在未使用完之前,另一个进程要使用可以把它的资源剥夺过来,所以不会产生死锁。只有不可剥夺资源才会因为竞争资源而产生死锁

当每类资源只有一个个体时,下列说法中不正确的是( C )。

A、有环必死锁 B、死锁必有环

C、有环不一定死锁 D、被锁者一定全在环中

当每个资源类型只有一个实例,则有环等价于死锁。
当存在资源类型有多个实例,则死锁必有环,有环不一定死锁。

高级进程通信

引入原因

交换大量数据时,使用PV操作不能满足,要使用高级进程通信

类别

共享存储器系统:在贡献存储器系统中,相互通信的进程共享某些数据结构或贡献存储区,进程间通过这些空间进行通信。

管道通信系统:是指用于连接一个读进程和一个写进程以实现他们之间通信的一个文件,又名pipe文件。向管道(共享文件)提供输入的发送进程(即写进程)以字符流形式将大量数据送入管道,而接受管道输出的接受进程(即读进程)则从管道中接受数据。由于发送进程和接受进程都是利用管道通信的,故又称管道通信。

消息传递系统:直接通信、间接通信

**客户-服务器系统:**该机制是网络环境的各种应用领域当前主流的通信实现机制,主要实现放肆有:套接字、远程过程调用和远程方法调用。

第三章 处理机调度

处理机调度

概念

**是对处理机进行分配,**即从就绪队列中安装定的算法(公平、高效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行

目的

处理机调度的主要目的就是为了分配CPU

作业状态

提交状态:用户刚向系统提交一个作业时该作业所处的状况
后备状态:此时作业预输入结束放在辅存中,但尚未被选中执行
执行状态:作业分配到资源被调入内存。此时作业真正处于活动状态
完成状态:作业完成任务,由系统回收分配给他的资源准备退出系统

作业调度与进程调度的协调合作

在这里插入图片描述

分类
  • 高级调度(作业调度) 从外存把作业调到内存中
  • 中级调度(内存对换)在内存使用情况紧张时,将一些暂时不运行的进程从内存调出到外存上等待,当以后内存有足够的空闲空间时,再将适合的进程重新调入内存,等待进程调度。目的为了提高内存利用率和系统吞吐量
  • 低级调度(进程调度)最基本的,必不可少的,分配处理机给进程

处理机调度可分为三级,它们是 、 和
;在一般操作系统中,必须具备的调度是_____________

高级调度,中级调度,低级调度 ,进程调度

调度方式
  • 剥夺式(抢占式)
  • 非剥夺式(非抢占式)

在抢占调度方式中。抢占的原则主要有____、____、__。

时间片原则、短作业优先、优先权原则

调度评价准则

CPU利用率、系统吞吐量、周转时间、等待时间、响应时间

算法
  • 先来先服务 FCFS
  • 短作业优先 平均周转时间是最短的
  • 优先级调度算法
  • 高响应比优先调度算法 (运行时间+等待时间)/运行时间
  • 时间片轮转 RR算法
  • 多级反馈队列调度

最短作业优先调度算法其作业平均周转时间最短。 正确

简述高响应比的优先调度算法的优缺点

优点:兼顾长短作业

缺点:由于做响应比计算增加了系统开销

调度策略

linux内核的三种主要调度策略:
1,SCHED_OTHER 分时调度策略,
2,SCHED_FIFO实时调度策略,先到先服务
3,SCHED_RR实时调度策略,时间片轮转

进程分类

  • 普通进程
  • 实时进程

实时进程的优先级高于普通进程

中断和异常

  • 内中断(异常,信号来自内部):
    • 自愿中断——指令中断
    • 强迫中断:硬件中断、软件中断(eg:除以0)
  • 外中断(中断,信号来自外部):外设请求、人工干预(打印机)
中断响应

中断响应主要工作

  • 终止当前程序的执行
  • 保存原程序的断点信息
  • 转到相应的中断处理函数去

主要工作由CPU完成

中断处理过程
  • 保护现场
  • 开中断:实现中断嵌套
  • 中断服务处理
  • 恢复现场
  • 中断返回

第四章 存储管理

存储管理基本概念

常见概念
  • 物理地址:内存中的各物理存储单元的存储地址都是从统一的基地址开始编址的,这种地址称为物理地址或绝对地址
  • 逻辑地址:用户程序经编译之后的每个目标模块都是以0为基地址顺序编址,这种地址称为相对地址或逻辑地址
  • 逻辑地址空间 :由程序中逻辑地址组成的地址范围叫逻辑地址空间
  • 内存空间:由内存中一系列存储单元所限定的地址范围称作内存空间
  • 重定位:把逻辑地址转变为物理地址的过程称为重定位
  • 静态重定位:在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即重定位。装入时一次完成
  • 动态重定位:在程序访问期间每次访问内存前重定位。也就是当调度该程序在CPU上执行时才进行重定位。
  • 碎片:使用动态分区法时,由于各个进程申请和释放内存的结果,在内存中经常出现大量的分散的小空闲区,这种容量太小无法利用的小分区称为碎片。
  • 紧缩:移动已分配区的内存,使所有进程的分区紧挨在一起而把空闲区留在另一端,这种技术称为紧缩。
  • 虚拟存储器:只将少数作业装入内存运行,其他作业等待,在逻辑上扩充内存容量
引入目的

更好的支持多道程序的并发执行,提高系统性能

主要功能
  • 内存空间的分配与回收
  • **存储的保护和共享:**保证各道作业在各自的存储空间内运行,互不干扰
  • 地址转换:在多道程序环境下,程序中的逻辑地址与物理地址不可能一致,因此存储管理必须提供地址变换功能,把逻辑地址转换成相应的物理地址。
  • 内存扩充:利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存
用户程序的主要处理阶段
  • 编辑阶段:创建源文件
  • **编译阶段:**由编译程序将用户源代码编译成若干目标模块,生成目标文件
  • **链接阶段:**由链接程序将编译后形成的一组目标模块及所需的库函数链接到一起,形成一个完整的装入模块,生成可执行文件
  • **装入阶段:**由装入程序将装入模块装入内存运行
  • **运行阶段:**得到结果
程序的装入方式

装入程序

装入程序是指可处理所有的与指定的基地址或起始地址有关的可重定位的地址的程序。

绝对装入

用户程序经过编译之后,将产生绝对地址(物理地址)的代码,即按照装入模块中的地址,将程序和数据装入内存,将目标模块装入到内存中事先指定的位置中。

好处:时间效率高

缺点:

  1. 会受到内存大小限制

    1. 编译程序必须知道内存的当前空闲地址部分和其地址,而在多道程序下,编译程序根本不可能知道当前空闲地址的部分,因此绝对装入仿石漆只适用于单道程序环境

静态重定位装入

在这里插入图片描述

动态重定位

在这里插入图片描述

把逻辑地址转变为内存的物理地址的过程称作____________,它分为 和
两种形式,在现代操作系统中都采用____________形式来实现这种地址转换。

重定位、静态重定位、动态重定位、动态重定位

分区

固定分区

固定分区就是内存中分区个数固定不变,各个分区的大小也固定不变,每个分区只装入一个进程。

动态分区

动态分区就是各个分区都是在相应进程进入内存时才建立的,使其大小恰好适应进程的大小。

碎片

内部碎片

内部碎片是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;

外部碎片

外部碎片是由于太小而无法分配给申请内存空间的进程的空闲区域。

程序的链接

静态链接

在程序运行之前,先将各目标模块及他们所需的库函数链接成一个完整的可执行程序,以后不再拆开

装入时链接

将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式

运行时链接

对某些目标模块的链接,是在程序执行中需要该目标模块时,才对它进行的链接。其优点是便于修改和更新,便于实现读目标模块的共享

地址空间

在这里插入图片描述

在这里插入图片描述

连续分配管理方式

单一连续分配

分配到内存固定的区域(单用户/单任务的操作系统)

固定分区分配

分配到内存不同的固定区域,分区可以相等可以不等,但要求一定是固定

动态分区分配

  • 可变分区存储管理:按照程序的需要进行动态的划分
  • 分配策略算法:
    • 首次适应:将空闲分区链以地址递增的顺序连接;在进行内存分配时,从链首开始顺序查找,直到找到一块分区的大小可以满足需求
    • 最佳适应:将空闲分区链中的空闲分区按照空闲分区由小到大的顺序排序,每次从链首进行查找合适的空闲分区为作业分配内存,这样每次找到的空闲分区是和作业大小最接近的,所谓“最佳”。
    • 最坏适应:与最佳适应算法刚好相反,将空闲分区链的分区按照从大到小的顺序排序形成空闲分区链,每次查找时只要看第一个空闲分区是否满足即可。
    • 邻近适应:由首次适应算法演变而成,不同之处在于分配内存时从上次查找结束的位置开始继续查找

实存的存储分配算法用来决定输入的程序和数据放到主存中的位置,采用“总是把程序装入主存中最小的空闲区域”的算法称为( )。
A.最优适应算法 B.最坏适应算法
C.最先适应算法 D.循环最先适应算法

A

当内存碎片容量大于某一作业所申请的内存容量时,( )。
A、可以为这一作业分配内存
B、不可以为这一作业分配内存
C、拼接后,可以为这一作业分配内存
D、一定能够为这一作业分配内存

C

非连续分配管理方式

非连续分配管理方式

最大的好处可以看到非连续三个字,是解决了动态分区,连续分区,单一分区中必须要连续分配的弊端,因为连续分配可能会出现很多的外部碎片,导致空间不能够充分利用

基本分页式存储管理

在这里插入图片描述

在这里插入图片描述

分页系统

页面大小的设置主要因素是与系统的硬件有关。
如果页面较小,虚存的页面数就增加,页表也随着扩大,占用的空间多,但内碎片小,浪费少;如果页面较大,可以减少页表所耗费的存储空间,有利于提高 I/O的效率,但内部碎片大,浪费多。
页表的作用是实现从页号到物理块号的地址映射
如何将逻辑地址转换为物理地址:先算出逻辑地址的页号与页内偏移量,查询页表到内存块,根据偏移量得到物理地址。叫地址映射

请求分页与简单分页的区别,及优点

在分页存储管理方式中 :不具备页面对换功能,不支持虚拟存储器功能,在调度作业运行时 ,必须将它的所有页面一次调入内存 ,若内存没有足够的块, 则作业等待的这种分页管理方式被称为纯分页或基本分页存储管理方式.

而请求分页管理方式是支持虚拟存储的,具备了页面的对换功能.调度作业时 是将它的 一部分(而不是全部) 放入内存.当发现页面缺少时 会发出一个缺页请求 从外存调用页面文件进入内存.

基于以上所述:基于这一点,请求分页存储管理可以提供虚存,而分页存储管理却不能提供虚存。

基本分段式存储管理

在这里插入图片描述

什么是分页?什么是分段?二者区别?

分段:通常一个用户程序是由若干相对独立的部分组成的,他们各自完成不同的功能。为了变成方便,用户可以把自己的程序按照逻辑关系组织,分成若干段。例如有主程序段、子程序段、数据段、栈段。
分页: 用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。

  • 页是信息的物理单位,段是信息的逻辑单位。(虽然页分的逻辑地址,但是对应存在物理地址的块,所以是物理单位)
  • 页的大小固定且由硬件确定,段的长度却不固定,由用户决定。
  • 分页的作业地址空间是一维的,地址编号由0递增,只用一个地址编号可以确定唯一地址
    分段的作业地址空间是二维的,需要段名和段内地址两个信息。

在存储器管理中,页面是信息的 单位,分段是信息的 单位。页面大小由
确定,分段大小由____________确定。

物理、逻辑、系统、用户程序

分页系统中,将逻辑地址分成页号和页内地址是由?进行的,故分页系统的作业地址空间是?维的,在分段系统中,将逻辑地址分成段号和段内地址是由进行的,故分段系统的作业地址空间是?维的。

机器硬件(地址变换机构)、一、程序员、二

页式和段式算法都能实现内存共享 正确

为了进行内存保护,在分段存储管理方式中可以通过?和段表中的?来进行越界检查

段表寄存器的段表长,段长

内存扩充

覆盖(同一进程或进程中)

将程序分为多个段(模块),常用的段常驻内存,不常用段在需要时调入内存

交换(不同进程/作业之间进行)

内存空间紧张时,系统将内存中某些进程暂时换出外存,把外存中某些已具备运行条件的进程换入内存(进程在内存和磁盘间的动态调度)

虚拟内存

虚拟存储器的基本特征

  • 虚拟扩充 虚拟存储器不是扩充物理存储空间,而是扩充逻辑内存容量。借助外存扩大内存
  • 部分装入 每个进程不是一次性装入内存 而是分为若干部分,当进程要执行时只需将当前运行需要用到的那部分装入内存
  • 离散分配 将一个进程分为多个部分,没有被全部装入内存
  • 多次对换 在一个进程运行期间,他所需的全部程序和数据分成多次调入内存

虚拟存储器所具有的基本特征是 __ 、__________

虚拟扩充部分装入离散分配、系统调用

引入原因

在逻辑上扩充内存

组成部分

页表机制、中断机制(缺页中断)、地址变换机制、内存与外存

整体流程

CPU需要取地址,首先访问页表(页表包含页号和块号两部分),如果在页表中找到了,那么利用地址变换机制,变成真正的物理地址,计算机通过寻找物理地址找到自己需要的资源。

如果发现页表没有自己想要的页表项,那么会触发缺页中断(缺页中断就是访问的页不在主存,需要操作系统将其调入主存后再进行访问。)从外存调入内存的过程,如果页表满了,需要从满了的页表项中进行替换,这里就用到了我们讲的替换算法。

在这里插入图片描述

页面抖动

抖动
抖动:如果一个进程没有一定数量的内存块,很快会发生缺页。此时必须淘汰某页,淘汰的马上也要需要。CPU花费大量时间在页面调度上,这种现象叫抖动现象。

引起原因

  • 页面置换算法不合理
  • 分配的物理块不够

解决措施

  • 撤销部分进程可以减少所用到的页面数,防止抖动;
  • 采用局部置换策略;把工作集算法融入到处理机调度中;利用"L=S"准则调节缺页率
工作集

定义

在某段时间间隔内,进程要访问的页面集合

作用

提供内存利用率和系统的吞吐量

页面替换算法
  • 先进先出算法(FIFO):淘汰最先进入内存的页面
  • 最近最久未用页面替换算法(LRU):总是把最长的时间未被访问过的页面淘汰出去
  • 最近最少用页面替换算法(clock):总是把当前使用的最少的页面淘汰出去
  • 最优页面替换算法(OPT):把以后不再使用的或最长时间内不会用到的页面淘汰出去

第五章 文件系统

文件与文件系统

概念

**文件:**文件是以计算机硬盘为载体的存储在计算机上的信息集合

**文件系统:**就是操作系统中负责操纵和管理文件的一整套设施,它实现文件的共享和保护,方便用户“按名存取”。

目录项:为了方便对文件进行控制和管理,在控制系统中给 每个文件唯一设置文件控制块,管理文件名、文件信息等信息项。文件控制块称为目录项。

功能

文件管理、目录管理、文件空间管理、文件共享和保护、提供方便的接口

文件系统中用( D )管理文件。

A、堆栈结构 B、指针 C、页表 D、目录

D 目录:目录是为了方便用户对文件的存取和检索。

Linx系统的文件类型

普通文件、目录文件、特殊文件

文件的逻辑结构

定义

文件的逻辑结构就是用户所观察到的文件的组织形式, 是用户可以直接处理的数据及其结构,它独立于物理特性。

逻辑组织形式

无结构文件和有结构文件

无结构文件(流式文件)

在这里插入图片描述

有结构文件

  • 顺序文件:文件中的记录一个接一个地顺序排列,在访问时需要顺序搜索文件
  • 索引文件:通过一个索引表来检索文件
  • 索引顺序文件:上述两者的结合

在这里插入图片描述

在UNIX系统中,基本的文件类型分为 ? ,______________和 __________。

普通文件、目录文件、特别文件

文件的物理结构

文件的物理结构是逻辑文件在存储介质上的存储结构, 是指文件在存储介质上的存储组织形式,它与存储介质的特性有关,直接影响文件系统的性能。

物理组织形式

  • 顺序结构 :支持顺序存取和随机存取、顺序存取速度快、不利于文件插入和删除
  • 链式结构:提高了磁盘空间利用率,不需要为每个文件预留物理块、有利于文件插入和删除、存取速度慢,不适于随机存取
  • 索引结构:既能顺序存取,又能随机存取、满足了文件动态增长、插入删除的要求、较多的寻道次数和寻道时间、带来的系统开销大

文件实现

文件分配方式
  • 连续分配 顺序结构
  • 链接分配 链式结构
  • 索引分配 索引结构

如果采用符号链接的方式共享文件,那么当文件被删除时,该共享链接会( B)
A. 不受影响 B. 失效
C. 被一起删除 D. 悬空

在以下的文件物理存储组织形式中,(A )常用于存放大型的系统文件。
A.连续文件
B.串连文件
C.索引文件
D.多重索引文件

文件共享

定义

多用户(进程)共同使用某个文件

文件链接、共享原理

给文件起别名成为文件链接,使访问路径不只有一条,不同用户就能同时访问

文件保护

定义

防止对文件的非法,不合理操作

机制

设定存取类型,命名,口令,存取权限,加密

文件备份

定义

文件的备份就是把硬盘上的文件转储到其他外部介质上。

备份方法

将磁盘上的数据转储到磁带上有两种方式:物理转储和逻辑转储。

物理转储是从磁盘上第0块开始,把所有的盘块按照顺序写到磁带上,当复制完最后一块时,转储结束。

逻辑转储方式是从一个或多个指定的目录开始,递归地转储自某个日期以来被修改过的所有文件和目录。

备份策略

通常有以下三种备份策略:完全备份、增量备份和更新备份。

  • 完全备份也称简单备份,即每隔一定时间就对系统作一次全面的备份;

  • 增量备份使每隔一段较短的时间进行一次备份,但仅仅备份在这段时间间隔内修改过的数据;

  • 更新备份是备份从上次进行完全备份后至今更改的全部数据文件。

文件系统

构造形式

件系统的一般由引导块、超级块、空闲空间管理、I节点、根目录、构成

引导块

文件数据区引导块的作用是引导操作系统。它包括一个小程序,用于读入该分区上相应操作系统的引导部分,从而把该分区中的操作系统装入内存。

超级块

超级块的作用是对整个文件系统进行控制和管理。它包含有关文件系统的全部关键参数。

具备的功能

  • 文件管理
  • 目录管理
  • 文件存储空间管理
  • 文件的共享和保护
  • 提供方便的用户接口

目录

目录和目录结构

文件控制块

在文件系统内部给每个文件唯一地设置一个文件控制块,它用于描述和控制文件的数据结构,与文件一一对应

目录结构

  • 单级目录、实现简单,但存在重名问题

  • 二级目录、解决重名问题,但安全性和稳定性低

  • 树形目录 便于用户合理组织文件,但数据量少

    非循环图目录(带链接树形目录结构又称非循环图目录结构,它是指访问一文件 (或目录)可以有多条路径。)

在下述文件系统目录结构中,能够用多条路径访问同一文件(或目录)的目录结构是( )。
A.单级目录 B.二级目录 C.纯树型目录 D.非循环图目录

D

在UNIX文件系统中,文件的路径名有两种表示形式,它们是?
和?其中,以“/”开始的路径名表示_______________。

绝对路径名、相对路径名、绝对路径名

文件存储空间管理
  • 空闲表法
  • 空闲链表法
  • 位示图法

磁盘空闲区管理技术

  • 空闲盘块表法——所有连续的空闲盘块在表中占据一项,其中标出第一个空闲块号和该项中所包含的空闲块个数,以及相应的物理块号。利用该表进行盘块的分配和文件删除时盘块的回收。

  • 空闲块链接法——所有的空闲盘块链在一个队列中,用一个指针(空闲区头)指向第一个空闲块,而各个空闲块中都含有下一个空闲区的块号,最后一块的指针项记为NULL,表示链尾。分配和释放盘块都在链头进行。

  • 位示图法——利用一串二进位的值来反映磁盘空间的分配情况,每个盘块都对应一位。如果盘块是空闲的,对应位是0;如盘块已分出去,则对应位是1。

  • 空闲块成组链接——把所有空闲盘块按固定数量分组,组与组之间形成链接关系,最后一组的块号(可能不满一组)通常放在内存的一个专用栈结构中。这样,平常对盘块的分配和释放是在栈中进行(或构成新的一组)。

第六章 设备管理

设备管理

设备管理的功能
  • 缓冲管理

  • 设备分配

  • 设备分配

  • 地址转换

操作系统的设备管理应具备的主要功能是?、_?、?和 __?

监视设备状态、进行设备分配、完成I/O操作、缓冲管理与地址转换

设备管理的主要任务
  • 完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作
  • 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备
设备管理对外围设备的控制层次
  • 通道
  • 控制器
  • 设备

在一般大型计算机系统中,主机对外围设备的控制可通过通道、控制器和设备三个层次来实现。下述叙述中( A)是正确的。
A. 通道控制控制器,设备在控制器控制下工作
B. 控制器可控制通道,设备在通道控制下工作
C. 通道和控制器分别控制设备
D. 控制器控制通道和设备工作

设备管理目标
  • 使用方便
  • 与设备无关
  • 效率高
  • 管理统一
I\O设备

分类

  • 存储设备或输入输出设备
  • 块设备或字符设备
  • 低俗中速高速设备

I\O控制方式

  • 程序直接控制方式
    • 这种方式也可以称为查询方式,CPU不断地去查询设备控制器是否将数据放到了数据存储器中,或者从数据存储器存到设备中,当完成IO时cpu才能去干别的事
  • 中断方式
    • 这种方式当cpu发出指令后就可以去干别的事,当设备控制器把数据存在数据存储器后向cpu发出中断请求,然后cpu再来处理这部分数据
  • DMA方式
    • 虽然中断方式提高了cpu的利用率,但是数据寄存器有限,中断是以字节单位进行中断,也就是说读取或存储一个字节后就需要进行中断,那么其实cpu的利用率还是很低的,所以就诞生了DMA方式,这种方式由DMA控制器直接将设备中的数据以数据块为单位直接传输到内存中当传输结束后才向cpu发起中断
  • IO通道控制方式
    • DMA虽然大大地提升了cpu的利用率,但是DMA只能传输一个连续的数据块。所以引入了IO通道的控制方式,IO通道控制方式可以传输不连续的数据块,减少了cpu干预。cpu通过对IO通道发出指令,然后让IO通道自己工作,等数据传输完才向cpu发起中断

DMA工作流程

1、外设可通过DMA控制器向CPU发出DMA请求;

2、CPU响应DMA请求,系统转变为DMA工作方式,并把总线控制权交给DMA控制器;

3、由DMA控制器发送存储器地址,并决定传送数据块的长度;

4、执行DMA传送;

5、DMA操作结束,并把总线控制权交还CPU。

缓冲区

引入目的
  • 缓和CPU与外设设备速度不匹配的矛盾
  • 提供CPU与外设之间的并行性
  • 减少对CPU的中断次数
缓冲区的设置方式
  • 单缓存:当数据到达率与离去率相差很大时,可采用单缓冲方式
  • 双缓冲:当信息输入和输出率相同时,可利用双缓冲区,实现两者的并行
  • 多缓冲:对于阵发性的输入、输出,为了解决速度不匹配问题,可以设立多个缓冲区

常用设备分配技术

根据设备的使用性质
  • 独占设备:不能共享的设备,在一段时间内,该设备只允许一个进程独占。如打印机
  • 共享设备:可由若干个进程同时共享的设备。如磁盘机
  • 虚拟设备: 是利用某种技术把独占设备改造成可由多个进程共享的设备

引入虚拟设备的原因

克服独占设备速度慢,设备资源利用率低的缺点,提高设备的利用率

针对三种设备采用三种分配技术
  • 独占分配技术:把独占设备固定地分配给一个进程,直至该进程完成I/O操作并释放它为止
  • 共享分配技术:通常适用于高速、大容量的直接存取存储设备。由多个进程共享一台设备,每个进程只用其中的一部分
  • 虚拟分配技术:利用共享设备去模拟独占设备,从而使独占设备成为可共享的、快速I/O的设备。实现虚拟分配的最有名的技术是SPOOLing技术,也称作假脱机操作

SPOOLing系统的主要功能

外部设备同时联机操作,实现数据的预输入和缓输出

SPOOLing技术可以实现设备的( )分配。
A.独占
B.共享
C.虚拟
D.物理

C

磁盘管理

访问磁盘时间

定义

磁头移动到对应的磁道

组成

寻道时间、旋转延迟时间、传输时间

磁盘调度的主要目标

减少寻道时间

磁盘地址结构
  • 柱面号
  • 盘面号
  • 扇面号
磁盘调度算法
  • 先到先服务算法
  • 最短寻找时间优先算法
  • 扫描算法(电梯算法)
  • 循环扫描算法

下列算法中用于磁盘移臂调度的是(  )。
A.时间片轮转法 
B.响应比高者优先算法   
C.最短寻找时间优先算法
D.LRU算法

C

常见大题讲解

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

存放在某个磁盘上的文件系统,采用混合索引分配方式,设备目录表(FCB)中共有13个地址项,0-9为直接地址,10为一级索引,11为二级索引,12为三级索引。如果每个盘块的大小为512 Byte ,若盘块号需要用3个字节来描述,而每个盘块最多存放170个盘块地址。

(1)该文件系统允许文件的最大长度是多少?

(2)将文件的字节偏移量150000的逻辑块号、物理块号和块内偏移量各为多少?

(3)假设某个文件的设备目录表项(FCB)已在内存中,其它信息在外存,为了访问该文件的某个字节,最少需要几次访问硬盘,最多需要几次。

(1)10 + 170 + 170 x 170 + 170 x 170 x 170 = 4,942,080 盘块 4,942,080 * 512 Byte = 2,471,040 KB

(2)在这里插入图片描述

(3)最少一次(直接地址),最多四次(1:读三重索引,2:读二重索引,3:读一重索引,4:读内容)

在这里插入图片描述

带权周转时间

带权周转时间=周转时间/运行时间

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值