【操作系统】知识点(概括)总结 面试问答

操作系统知识点(概括) 面试问答

0.简介

操作系统知识点总结。

本文为博主纯手打,如有文字错误或理解错误,请批评指正,将在第一时间修改。

1.请简述操作系统

1.1 概念

能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。

1.2 作用

  1. 通过资源管理提高计算机系统的效率;
  2. 改善人机界面向用户提供友好的工作环境;

1.3 特征

  1. 并发性*

    正是系统中的程序能并发执行这一特征,才使得OS能有效地提高系统中的资源利用率,增加系统的吞吐量。

  2. 共享性*

    资源共享/资源复用是指OS中的资源可供内存中多个并发执行的进程共同使用。

  3. 虚拟性

    通过技术将一个物理实体编程若干个逻辑上的对应物的功能称为“虚拟”。

    OS中利用时分复用空分复用技术实现“虚拟”。

  4. 不确定性/随机性/异步

    对于内存中的每个进程,在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,没到程序需要多长时间才能完成等等,都是不可预知的。

    或者说,进程是以人们不可预知的速度向前推进的,此即进程的异步性。

1.4 功能

  1. 处理机/进程管理。

    实质上是对处理器的执行“时间”进行管理,采用多道程序等技术将CPU的时间合理地分配给每个任务。

    主要包括进程控制、进程同步、进程通信和进程调度。

  2. 文件管理。

    对文件存储空间管理、目录管理、文件的读/写管理和存取控制。

  3. 存储管理。

    对主存储器(内存)“空间”进行管理,主要包括存储分配与回收、存储保护、地址映射和主存扩充。

  4. 设备管理。

    对硬件设备的管理,包括对输入/输出设备的分配、启动、完成和回收。

  5. 作业管理

    包括任务、界面管理、人机交互、图形界面等。

1.5 发展过程/分类

  1. 未配置OS的计算机系统

    1. 人工操作方式

      由程序员将事先已穿孔的纸带/卡片,装入纸带输入机/卡片输入机,再启动计算机运行。

    2. 脱机输入/输出方式

      实现将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带上的数据输入到磁带上。当CPU需要这些程序时,再从磁带上高速地调入内存。

      即程序和数据的输入输出都是在外围机的控制下完成的,都是在脱离主机的情况下进行的。

  2. 单道批处理系统

    该系统可以提交多个作业,但一次只有一个作业装入内存执行,随即自动调入同批的下一个作业。

  3. 多道批处理系统

    允许多个作业装入内存执行,在任意一个时刻,作业都处于开始点和终止点之间。每当运行中的一个作业由于输入/输出操作需要调用外部设备时,就把CPU交给另一个等待运行的作业。

    特点:多道、宏观上并行,微观上串行。

  4. 分时系统

    此系统中,一个计算机系统与多个终端设备连接。

    分时操作系统将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。

    特点:多路性、独立性、交互性、及时性。

  5. 实时系统

    实时系统对交互能力要求不高,但要求可靠性有保障。

    实时系统与分时系统的区别

    1. 系统目标不同。

      前者大多是专用系统,后者是设计成一个多用户的通用系统。

    2. 交互性强弱不同。

      前者仅允许操作并访问有限的专用程序,交互能力差,后者是多用户的通用系统,交互能力强。

    3. 响应时间的敏感程度不同。

      前者是以被测物体所能接受的延迟为系统设计依据,后者是以用户能接收的等待时间为系统的设计依据。因此前者对响应时间的敏感程度更强。

  6. 网络操作系统

    网络操作系统是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关系协议的集合。

2.请简述进程管理/处理器管理

2.1 概念

进程管理重点需要研究诸进程之间的并发特性,以及进程之间相互合作与资源竞争产生的问题。

进程:资源分配和独立运行的基本单位。传统的进程具有两个基本属性:可独立调度和分配的基本单元、可拥有资源的独立单元。

线程:可以将传统进程的两个基本属性分开,线程作为调度和分配的基本单位,进程作为独立分配资源的单位。

程序、进程和线程的区别:

程序进程线程
静态动态动态
系统资源分配的基本单元处理器调度的基本单元
永远存在暂时暂时

2.2 进程的状态及其转换

  1. 三态模型。运行、就绪、阻塞。

  2. 五态模型。新建、就绪、运行、阻塞、终止。

  3. 具有挂起状态的进程状态。(就绪包括活跃就绪、静止就绪,阻塞分为活跃阻塞、静止阻塞)

2.3 进程的控制

进程控制即对系统中的所有进程从创建到消亡的全过程实施有效的控制。由操作系统内核原语实现的。

内核:是计算机系统硬件的首次延伸,是基于硬件的第一层软件扩充,为系统对进程进行控制和管理提供了良好的环境。

原语:由若干条指令组成,用于完成特定功能的程序段。特点是在执行时不能被分割,即要不都做,要不都不做。大部分操作系统的内核都包含支撑功能和资源管理功能。

2.4 进程间的通信

  1. 同步和互斥

    同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。

    临界资源管理原则:有空即进、无空则等、有限等待和让权等待。(了解)

  2. 信号量机制(整型信号量)(低级通信原语)

    信号量S:S>=0表示某资源的可用数。S<0则其绝对值表示阻塞队列中等待该资源的进程数。

    P操作:表示申请一个资源。对S进行-1操作,如果S>=0,则执行P操作的进程继续执行,如果S<0,则置该进程为阻塞状态,并将其插入阻塞队列中等待。

    V操作:表示释放一个资源。对S进行+1曹邹,如果S>0,则执行V操作的进程继续执行,如果S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。

  3. 高级通信原语

    低级原语操作有些问题:编程难度大且造成容易死锁、效率低、

    为了提高信号通信的效率,传递大量数据,降低程序编制的复杂度,系统引入的高级通信方式

    高级通信方式主要有:

    1. 共享存储方式。进程间共享某些存储区。
    2. 消息传递模式。进程间数据交换以消息为单位。
    3. 管道通信。进程间通信时使用管道。(管道,用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件)

2.5 管程

  1. 概念

    为解决PV操作分散编程带来的问题,提出管程,基本思路是采用资源集中管理的方式,将系统中资源用某种数据结构抽象地表示出来。

    管程由一些共享数据、一组能为并发进程所执行的作用在共享数据上的操作的集合、初始代码以及存储权组成。

  2. 应用

    消费者问题

2.6 死锁

  1. 概念

    指两个及以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。

  2. 产生原因

    竞争资源、进程推进顺序非法。

    • 产生死锁的四个必要条件:
      1. 互斥条件
      2. 请求和保存条件
      3. 不可剥夺条件
      4. 环路/循环等待条件
  3. 处理

    1. 鸵鸟策略(不理睬策略)

    2. 预防策略

      破坏“不可剥夺条件”、破坏“环路条件”、

    3. 避免策略

      使用迪杰斯特拉提出的银行家算法

    4. 检测策略

      系统定时运行一个死锁检测程序,判断是否发生死锁,如果有死锁则设法解除。(可借助资源分配图判断)

    5. 解除策略

      1. 资源剥夺法。从一些进程剥夺足够数量的资源给死锁进程。
      2. 撤销进程法。根据某种策略逐个撤销死锁进程,直到解除死锁为止。

3. 存储管理

3.1 概念

  • 存储管理的对象主要是主存储器/主存/内存

  • 存储器结构:寄存器-高速缓存-内存-外存。

  • 相关概念:

    • 虚拟地址/逻辑地址/程序地址/相对地址

      面向程序员用于操纵数据的地址。

    • 地址空间

      把程序中由符号名组成的空间称为名空间

      相对地址空间地址重定位转换到绝对地址空间,绝对地址空间也称为物理地址空间。

    • 地址重定位

      将逻辑地址变换为主存物理地址的过程。

      在解决可执行文件转入时,需要由操作系统完成装入程序和地址重定位机构完成。

      • 静态重定位:程序装入内存时完成变换。

      • 动态重定位:程序运行期间完成变换。

3.2 分区保护

目的是防止未经核准的用户访问分区,有以下两种方式

  1. 上界/下界寄存器保护。上界寄存器<=物理地址<=下界寄存器。
  2. 基址/限长寄存器保护。基址寄存器<=物理地址<=基址寄存器+限长寄存器。

3.3 分区存储管理

把主存的用户区划分为若干个区域,每个区域分配给一个用户使用,并且限定它们只能在自己的区域中运行。

  1. 固定分区

    在系统生成时已将主存划分为若干个分区,每个分区的大小可不等。存在空间浪费的问题。

  2. 可变分区

    存储空间的划分是在作业装入时进行的,故分区的个数是可变的,分区的大小刚好等于作业的大小。

    对于可变分区的请求和释放分区主要有以下算法:最佳适应算法、最差适应算法、首次适应算法、循环首次适应算法。

  3. 可重定位分区

    移动所有已分配好的分区,使之成为连续区域,即“靠拢”。“靠拢”一般只在用户请求空间得不到满足时进行,因为有地址重定向问题会增加系统负担。

3.4 分页存储管理

  1. 纯分页存储管理

    • :将一个进程的地址空间划分为若干个大小相等的区域。

      块/叶框:将主存空间划分成与页相同大小的若干个物理块。

    • 在为进程分配主存时,将进程中若干页分别装入多个不相邻接的块中。

    • 地址变换过程准备:

      1. 在系统中设置页表寄存器,用来存放页表的始址和页表的长度。
      2. 系统未执行时,每个进程对应的页表的始址和长度存放在进程的PCB中
      3. 当进程被调度时,则将它们装入页表寄存器。
    • 地址变换过程:

      逻辑地址 = 页号 + 页内地址;

      物理地址 = (页表中页号对应的)块号 + 页内地址;

      1. 系统将页号与页表长度进行比较,根据页表寄存器中的页表始址和页号计算出该页在页表项中的位置,得到该页的物理块号。
      2. 将此物理块号装入物理地址寄存器中。与此同时,将逻辑地址寄存器中页内地址直接装入物理地址寄存器的块内地址字段中,完成。
  2. 快表

    在地址映射机构中增加一个小容量的联想存储器,联想存储器由一组高速存储器组成,称之为块表,用来保存当前访问频率高的少数活动页的页号及相关信息。

  3. 两级页表机制

    将页表进行分页,每个页面的大小与主存物理块的大小相同,并未它们进行编号,可以离散地将各个页面分别存放在不同的物理块中。

    需要建立再一张页表,成为外层页表(页表目录),即

    • 第一级是页目录表,其中每个表目存放某个页表的物理地址。

    • 第二级是页表,其中每个表目存放的是页的物理块号。

3.5 分段存储管理

  • 概念

    作业地址空间被划分为若干个段,每个段是一组完整的逻辑信息,都是从0开始编址的一段连续的地址空间,各段的长度是不等的。

  • 结构

    逻辑地址 = 段号 + 段内地址;

    物理地址 = 段基址 + 段内地址;

3.6 段页式存储管理

  • 前言

    分页和分段存储管理方式各有优缺点,分页是由OS完成的,对用户透明,所以用户不必担心分页过程,但缺点是不易实现共享;分段易于实现段的共享,即允许若干个进程共享一个或多个段,而且对段的保护也十分简单。

  • 建立

    段页式的基本原理利用两者有点,先将整个主存划分为大小相等的块(页框),将用户程序按程序的逻辑关系分为若干个段,并为每个段赋予一个段名,再将每个段划分为若干页,以页框为单位离散分配。

  • 结构

    逻辑结构 = 段号 + 段内地址 + 页内地址;

3.7 虚拟存储管理

  • 概念

    为扩大主存容量而采用的一种设计方法,其容量由计算机的地址结构决定的。

    虚拟存储器是具有请求调入功能和置换功能,能仅把作业的一部分装入主存便可运行作业的存储器系统。

  • 局限性原理

    • 时间局限性:如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行。
    • 空间局限性:一旦一个程序访问了某个存储单元,则不就的将来其附近的存储单元最有可能被访问。
  • 虚拟存储器的实现

    • 请求分页系统。
    • 请求分段系统。
    • 请求段页式系统。
  • 页面置换算法

    1. (Optimal)最佳置换算法。性能最好但难以实现。
    2. (FIFO)先进先出算法置换算法。总是淘汰最先进内存的页面。
    3. (LRU)最近最少未使用替换算法。如名。
    4. (NUR)最近未用置换算法。

4. 设备管理

4.1 概念

管理实际I/O操作的设备、设备控制器、DMA控制器、中断控制器和I/O处理器(通道)等支持设备。
设备管理包括各种设备分配、缓冲区管理和实际物理I/O设备操作,通过管理达到提高设备利用率和方便用户的目的。

4.2 I/O软件

层名功能(了解)
用户层I/O软件进行I/O调用、格式化I/O、Spooling
与设备无关的系统软件命名、保护、阻塞、缓冲
设备驱动程序检查状态
中断处理程序执行I/O操作

4.3 相关技术

  1. 通道技术

    目的是使数据的传输独立于CPU,解放CPU的I/O工作。有字节多路通道数组选择通道数组多路通道

  2. DMA(直接主存存取)技术

    指数据在主存与I/O设备间直接成块传送,传送中不需要CPU干涉,只需要CPU发送“传送”命令即可。

  3. 缓冲技术

    为缓和CPU与I/O设备间速度不匹配的矛盾、减少对CPU的中断频率和提高CPU和I/O设备之间的并行性。

    可以采用硬件缓冲和软件缓冲。

  4. Spooling(外围设备联机操作)技术

    用一类物理设备模拟另一类物理设备,使独占使用的设备变成多态虚拟设备的一种技术,也算一种速度匹配技术。

4.4 磁盘调度

磁盘调度的目的是使磁盘的平均寻道时间最少。

  1. (FCFS)先来先服务。
  2. (SSTF)最短寻道优先。不能保证平均寻道时间最短。
  3. (SCAN)扫描算法/电梯调度算法。朝一个方向扫描,到头后掉头继续扫描。
  4. (CSCAN)单向扫描调度算法。朝一个方向扫描,到头后再从起点继续朝此方向扫描。

5. 文件管理

5.1 文件逻辑结构

  1. 有结构的记录式文件

    记录式文件中,所有的记录一般都是描述一个实体集的,有着相同或不同书目的数据项,记录的长度也可以分为定长记录与不定长记录。

  2. 无结构的流式文件

    通常采用顺序访问方式,每次读写访问可以指定任意数据长度,其长度以字节为单位。

5.2 文件物理结构

  1. 连续结构/顺序结构

    将逻辑上的连续文件信息一次存放在连续编号的物理块上。只要知道文件的起始物理块号和文件的长度,就可以很方便地进行文件的存取。

  2. 链接结构/串联结构

    将逻辑上连续的文件信息存放在不连续的物理块上,每个物理块设有一个指针指向下一个物理块。

  3. 索引结构

    将逻辑上连续的文件信息存放在不连续的物理块上,物理块中,系统为每个文件建立一张索引表。索引表记录了文件大小的不同,其索引表占用物理块的个数不等,一般占一个或几个物理块。

  4. 多个物理块上的索引表。

    索引表是在文件创建时由系统自动建立的,并与文件一起存放在同一文件卷上,多个物理块的索引表可以有两种组织方式:链接文件、多重索引文件。

5.3 磁盘空闲空间的管理方法

  1. 空闲去表

    将外存空间上的连续的未分配区域称为“空闲区”。

  2. 位示图

    在外存建立一张位示图,记录文件存储器的使用情况,适用于各种物理结构。

  3. 空闲块链

    每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上,不需要磁盘分配表,节省空间。

  4. 成组链接法

    UNIX系统采用的方法。

5.4 文件的共享/保护/安全/可靠性措施

  1. 共享

    指不同用户进程使用同一文件,不仅是不同用户完成同一任务所必须的功能,还可以节省大量的主存空间,减少由于文件复制而增加的访问外存的次数。
    常用的文件链接:

    1. 硬链接/基于索引结点的链接。两个文件目录表指向同一索引结点的链接。
    2. 符号链接。建立新的文件或目录,并与原来文件或目录的路径名进行映射,当访问一个符号链接时,系统通过该映射找到原文件的路径,并对其进行访问。
  2. 保护

    1. 存取控制矩阵。二维表记录对每个用户对对一个文件的权限。
    2. 存取控制表。按用户对文件的访问权力的差别对用户进行分类。UNIX系统采用的方法。
    3. 用户权限表。以用户或用户组为单位将用户可存取的文件几种起来存入表中。
    4. 密码。对文件加密。
  3. 安全

    1. 系统级。不允许未经授权的用户进入系统。
    2. 用户级。对所有用户分类和对指定用户分配访问权。
    3. 目录级。规定只有系统核心才具有写目录的权限。
    4. 文件级。通过系统管理员或文件主对文件属性的设置来控制用户对文件的访问。
  4. 可靠性

    1. 转储和恢复。
    2. 日志文件。
    3. 文件系统的一致性。

6. 作业管理

6.1 概念

作业:是系统为完成一个用户的计算任务/事务处理所做的工作总和,由程序、数据和作业说明书3个部分组成。

6.2 作业状态

  1. 提交

    通过输入设备送入计算机系统的过程状态。

  2. 后备

    通过Spooling系统将作业输入到计算机系统的磁盘红,随时等待作业调度程序调度时的状态。

  3. 执行

    当作业被调度状态选中,为其分配了必要资源,并建立起相应的进程后,该作业便进入了执行状态。

  4. 完成

    当作业正常结束或异常终止时。

6.3 作业调度算法

  1. 先来先服务。
  2. 短作业优先。
  3. 响应比高优先。R = 作业响应时间/作业执行时间 = 1 + 作业等待时间/作业执行时间。
  4. 优先级调度算法。
  5. 均衡调度算法。根据系统的运行情况和作业本身的特性对作业进行分类。作业调度程序轮流地从这些不同类别的作业中挑选作业执行。力求均衡地使用系统各种资源。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值