0


计算机操作系统知识点总结(一文搞定!)

操作系统架层次结构:硬件之上,应用程序之下(系统软件)

第一章

一、操作系统的功能

系统资源的管理者——安全、高效

  1. 处理机管理

  2. 存储器管理

  3. 文件管理

  4. 设备管理

向用户提供服务

用户接口还包括GUI图形界面

对硬件机器的扩展

二、操作系统的特征

并发:计算机系统同时存在多个运行的程序(一段时间内),需要OS管理和调度。并行是同一个时间点(区别)

共享:”同时“访问/互斥共享,系统资源可供内存中多个并发进程共同使用

虚拟:把一个物理上的实体变为若干个逻辑上的对应物(虚拟技术中的空分、时分复用技术)

异步:程序的执行不是一管到底,而是走走停停,速度不可知。但运行环境相同,程序结果也相同

三、操作系统的运行机制和体系结构

操作系统内核

内核时计算机上配置的底层软件,是操作系统最基本最核心的部分

微内核:时钟管理、中断处理、原语(结构清晰、方便维护但效率低)

大内核:进程管理、处理器管理、内存管理(性能高但结构混乱、难以维护)

四、中断和异常

中断机制实现了多道程序并发执行

本质:发生中断就需要操作系统介入,开展管理工作。(中断可以使CPU从用户态切换为核心态)

中断分为内中断(与当前执行指令有关)和外中断(与当前执行指令无关)

内中断分为自愿中断和强迫中断

外中断分为外设请求和人工干预

对于外部中断信号的处理:

  1. 在每个指令执行完时,都需要检查是否有外部中断信号

  2. 若检测到了,需要先保护被中断进程的CPU环境

  3. 根据中断信号类型转入相应的中断处理程序

  4. 恢复环境,退出中断,返回原进程

五、系统调用

按功能分类(在核心态下进行):

  1. 设备管理

  2. 文件管理

  3. 进程管理

  4. 进程通信

  5. 内存管理

系统调用和库函数的区别:有的库函数会涉及系统调用,有的不涉及

第二章

一、进程的定义、组成、组织方式、特征

定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位,由程序段、数据段和PCB组成,PCB是进程存在的唯一标志。

组织:链接方式、索引方式

特征:动态性、并发性、独立性、异步性、结构性

二、进程的状态和转换

五种进程的状态:

进程状态的转换:

三、进程控制

进程控制就是实现进程状态的转换

用原语实现进程控制,原语的特点是执行期间不允许中断(开关中断指令是特权指令)

四、进程通信

共享存储:使用共享空间来实现通信(互斥访问)

    1. 基于数据结构的共享

    2. 基于存储区的共享(高级通信)

管道通信

管道采用半双工通信(互斥访问),没有写满就不允许读,没读空就不允许写

消息传递:类似于计算机网络的报文,直接通信和间接通信(信箱通信方式)

五、线程概念和多线程模型

线程是基本的CPU执行单元,是程序执行流的最小单位

用户级线程:所有的线程管理工作由应用程序负责

内核级线程(处理机分配的单位):线程管理工作由操作系统内核完成

多线程模型(用户级线程映射到内核级线程):多对一(并发度低)、一对一(开销大)、多对多

六、处理机的调度

七、进程调度的时机、切换与过程、方式

进程切换:

  1. 对原来运行进程各种数据的保存

  2. 对新的进程各种数据的恢复

进程的切换是有代价的,频繁进行进程调度、切换会导致效率降低。

八、调度算法评价指标

**1.CPU利用率 **

利用率 = (忙碌时间/总时间)

2. 系统吞吐量

系统吞吐量 = (总共完成了多少道作业/总共花的时间)

3. 周转时间

从作业被提交给系统开始到作业完成为止所花费的时间

平均周转时间:周转时间之和/作业数

带权周转时间:作业周转时间/作业实际运行时间,同理也有平均带权周转时间

4. 等待时间

处于等待处理及状态时间之和

5. 响应时间

用户提交请求到首次产生响应所用的时间

九、FCFS SJF HRRN调度算法(交互性糟糕)

1. 先来先服务(FCFS)

按照作业/进程到大的而先后顺序进行服务

2. 短作业优先(SJF)

最短的作业/进程优先得到服务,有抢占式和非抢占式(默认)两种

3. 高响应比优先(HRRN)

计算响应比,(等待时间+要求服务时间)/要求服务时间

十、时间片轮转、优先级调度、多级反馈队列(适用于交互式系统)

1. 时间片轮转

如果时间片太大,算法会退化为FCFS,时间片太小,频繁切换会降低效率

2. 优先级调度

3. 多级反馈队列

十一、进程同步、进程互斥

十二、进程互斥的软件实现方法

1. 单标志法

违背了空闲让进的原则

2. 双标志先检查法

违背了忙则等待原则

3. 双标志后检查法

违背了空闲让进和有限等待原则

4. peterson算法

十三、进程互斥的硬件实现方法

1. 中断屏蔽方法

** 2. TestAndSet指令**

3. Swap指令

十五、 信号量机制

用一个整型信号量,用来标识系统中某种资源的数量(不满足让权等待原则)。

记录型信号量:一个记录型数据结构表示

十六、用信号量实现进程互斥、同步、前驱关系

互斥信号量初始化为1 , 同步信号量初始化为0

十七、生产者-消费者问题(互斥、同步的综合问题)

** 实现互斥的P操作,一定要在实现同步的P操作之后(引发死锁)**

V操作的顺序不会造成进程阻塞

十八、多生产者-多消费者

缓冲区大小大于1时,需要设置互斥信号量来实现互斥访问缓冲区。

十九、吸烟者问题

二十、读者-写者问题

上述算法由于源源不断的读进程会导致写操作等待时间过久,饿死的问题。

使用count计数器,来判断进程是否是第一个和最后一个读进程,从而做出不同的处理,再通过互斥信号量来实现代码执行一气呵成的问题。

二十一、哲学家进餐问题

二十二、管程

由于信号量机制的编写困难,容易出错

二十三、死锁

死锁的概念:并发环境下,各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进。

死锁产生的必要条件:

  1. 互斥条件:只有对必须互斥使用的资源争抢,才会导致死锁。

  2. 不剥夺条件: 进程获得资源未使用完前,不能被其他进程强行夺走,只能主动释放。

  3. 请求和保持条件:进程已经保持了至少一个资源,有提出了新的资源请求,进程阻塞,又对已有资源不放。

  4. 循环等待条件:存在一个进程资源的循环等待链。

什么时候会发生死锁:

死锁的处理策略:

预防死锁(静态策略):

  1. 破坏互斥条件:使用SPOOLing技术将独占设备在逻辑上改造成共享设备。

  2. 破坏不剥夺条件:处理机资源强行剥夺给优先级更高的进程(适用于易保存和恢复状态的资源)。

  3. 破坏请求和保持条件:使用静态分配,运行前一次申请完所需所有资源。

4.. 破坏循环等待条件:顺序资源分配法,给资源编号,进程必须编号递增的顺序请求资源。

避免死锁(动态策略):

处于不安全状态有可能会发生死锁。使用银行家算法来预判此次分配是否会防止系统进行不安全状态。

** 死锁的检测和解除:**

二十四、内存的基础知识

内存是存放数据(快速)的硬件,程序执行前需要先放到内存中才能被CPU处理。

三种连接模式(形成完整的逻辑地址):

三种装入方式(形成物理地址):

绝对装入(适用于单道程序环境):

静态重定位:

动态重定位(现在使用):

二十五、内存管理的概念

二十六、覆盖与交换

覆盖技术(程序大小超过物理内存总和):

** 交换技术:**

注意:PCB不会被换出外存

二十七、连续分配管理方式(内存空间的分配与回收)

连续分配:系统为进程分配的内存必须连续。

单一连续分配:

** 固定分区分配:**

动态分区分配:

对于分区的分配和回收需要需要对分区表或者分区链进行改变。

可以通过紧凑技术来解决外部碎片。

二十八、动态分区分配算法

首次适应算法

最佳适应算法

但这种分配方式会产生很多的外部碎片。

最坏适应算法

** 邻近适应算法**

二十九、基本分页存储管理的基本概念

三十、基本地址变换机构

三十一、具有快表的地址变换机构

三十二、二级页表

三十三、基本分段存储管理

分段、分页管理的对比:

分段比分页更容易实现信息的共享和保护(页面不是按照逻辑模块划分)。

三十四、段页式管理方式

分页 、分段管理的优缺点:

段页式管理结构

三十五、虚拟内存的基本概念

传统存储管理方式的特征、缺点:

虚拟内存的定义和特征:

** 请求分页管理方式:**

页面置换算法:

最佳置换算法(OPT)——淘汰以后永不使用的页面,或者再最长时间内不被访问的页面。

先进先出置换算法(FIFO):淘汰最早进入内存的页面。(实现简单,算法性能差)

最近最久未使用置换算法(LRU):逆向扫面,淘汰最久未使用的页面。

缺点:需要专门的硬件支持,实现困难,开销大。

时钟置换算法(CLOCK):

页面分配策略:

第四章

一、文件的逻辑结构

无结构文件:由一系列二进制流或字符流组成。

有结构文件:由一组相似记录组成,每条记录由若干数据项组成,

顺序文件

索引文件

** 索引顺序文件**

** 多级索引顺序文件**

二、文件目录

三、文件的物理结构(文件分配方式)

文件的数据应该怎样存在外存中??

连续分配

要求每个文件在磁盘上占有一组连续的块。

  1. 支持顺序访问和直接访问(随机访问)。

  2. 连续分配的文件在顺序读写时,速度最快。

  3. 物理上采用连续分配的文件不方便扩展,并且连续分配存储空间利用率低,会产生难以利用的磁盘碎片。

链接分配—隐式链接

但方便文件拓展,且不会产生磁盘碎片。

链接分配—显式链接

通过文件分配表来表示磁盘块的链接(文件分配表需要占用一定存储空间)

索引分配

** 链接方案**

多层索引

混合索引

四、文件存储空间管理

空闲表法(适用于连续分配)

** 空闲链表法**

位示图法

成组链接法(UNIX)

五、文件的基本操作

六、文件共享

让多个用户共享使用同一个文件。

基于索引结点的共享(硬链接)

** 基于符号链的共享(软链接)— 访问速度比硬链接慢**

七、 文件保护(口令保护、加密保护、访问控制)

** 八、文件系统的层次结构**

九、磁盘的结构

磁盘表面由一些磁性物质组成,用磁性物质来记录二进制数据。

十、磁盘调度算法

一次磁盘读写需要的时间:

操作系统的磁盘调度算法是为了优化寻道时间。

先来先服务算法(FCFS)— 根据请求访问磁盘的先后顺序进行调度

最短寻找时间优先(SSTF)— 优先处理的磁道是与当前磁头最近的磁道

扫描算法(SCAN)— 只能到最外侧才能往内移动,移动要最内侧再往外移动

LOOK调度算法 — 在SCAN算法基础上,加了一个观察,如果移动方向没有请求,就掉头

循环扫描算法(C-SCAN)— 在SCAN算法基础上,返回时直接快速移动到起始端而不处理任何事

还有C-LOOK算法同C-SCAN在SCAN上的改进,不过多介绍。

十一、减少磁盘延迟时间的方法

将目标扇区转到磁头下方的时间

十二、磁盘的管理

第五章

一、I/O 控制器

CPU和I/O设备机械部件之间的“中介”

二、I/O 控制方式

程序直接控制方式

采用轮询的方式不断检查状态寄存器状态,CPU干预频率高,每次读/写一个字。

中断驱动方式

DMA方式

  1. 数据传送单位为块

  2. 数据的流向可以直接从设备到内存,内存到设备

  3. 仅在传送一个或多个块开始和结束时,才需要cpu干预

通道控制方式

总结

二、I/O 软件层次结构

三、I/O 核心子系统

在I/O 软件层次结构中,红色的三个结构为I/O 核心子系统

假脱机技术

脱机— 脱离主机的控制进行的输入/输出操作

**设备的分配与回收 **

设备的分配:

安全分配方式 —— 为进程分配一个设备后会被阻塞

不安全分配方式 —— 分配设备后不会被阻塞

静态分配 —— 进程运行前为其分配全部所需资源,运行结束后归还资源

动态分配 —— 进程运行过程中动态申请资源

缓冲区管理

缓冲区的作用

  1. 缓和CPU和I/O 设备之间的速度不匹配问题

  2. 减少CPU的中断频率

  3. 解决数据粒度不匹配问题

  4. 提高CPU和I/O 设备间的并行性


本文转载自: https://blog.csdn.net/rygy_/article/details/129262588
版权归原作者 逮到647了 所有, 如有侵权,请联系我们删除。

“计算机操作系统知识点总结(一文搞定!)”的评论:

还没有评论