🗒️操作系统

type
status
date
slug
summary
tags
category
icon
password
✅一些操作系统知识。简单记录,方便回顾。

操作系统基础

  1. 操作系统概念
操作系统是控制应用程序执行的程序,是应用程序和计算机硬件间的接口。
  1. 操作系统的设计目标
①方便:使计算机更易于使用
②有效:允许以更有效的方式使用计算机系统资源
③扩展能力:在不妨碍服务的前提下,有效地开发、测试和引入新的系统功能
  1. 操作系统的基本特征
①并发:两个或多个事件在同一时间间隔内发生
②共享:系统中的资源可供内存中多个并发执行的进程共同使用
③虚拟:通过某种技术把一个物理实体变为若干个逻辑上的对应物
④异步:在多道程序环境下,程序执行过程的不确定性
  1. 现代操作系统的特征
微内核体系结构、多线程、对称多处理、分布式操作系统、面向对象设计

进程描述与控制

  1. 进程的概念
一个正在执行的程序。一个正在计算机上执行的程序实例。能分配给处理器并由处理器执行的实体。由一组指令、一个当前状态和一组相关的系统资源表征的活动单元。
  1. 进程的基本特征
①动态性:(本质)一个正在计算机上执行的程序实例,存在生命周期
②并发性:(重要)任何进程都可以同其他进程一起向前推进
③独立性:各进程的地址空间相互独立,除非采用进程间通信手段
④异步性:按各自独立的、不可预知的速度向前推进
  1. 进程状态及其转换模型(五状态+挂起状态)
  1. 进程控制块PCB的概念,其包含哪些信息
进程存在的唯一标志。
①进程标示符:唯一地标识一个进程。内部、父进程、用户
②处理机状态:由处理器的各种寄存器中的内容组成。通用寄存器、控制和状态寄存器:程序状态字寄存器如Intel X86的EFLAGS寄存器、栈指针
③进程控制信息:与进程调度和进程切换有关的信息(进程状态、优先级、调度信息、阻塞原因)
  1. 内核模式和用户模式的概念
内核模式:与操作系统相关的处理器模式。
用户模式:与用户程序相关的处理器执行模式。
  1. 线程的概念,与进程的区别
线程是进程中的一个实体,是独立调度和分派的基本单位。
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

进程调度

1.进程调度的目标
以满足系统目标(如响应时间、吞吐量、处理器效率)的方式,将进程分配到一个或多个处理器上执行。
2.进程调度规则
面向用户:响应时间快(从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间)、周转时间短(从作业被提交给系统开始,到作业完成为止的这段时间间隔)、截止时间(某任务必须开始执行的最迟时间,或必须完成的最迟时间)。
面向系统:吞吐量大(在单位时间内,系统所完成的作业数)、利用率高、公平性、优先级。
3.进程调度算法(先来先服务调度算法,时间片轮转调度算法,短进程优先,剩余时间最短者优先)

进程同步

  1. 多道程序设计需要同步的原因
进程是计算机中的独立个体,且具有异步性、并发性。资源是计算机中的稀缺个体,需共享,如CPU、内存、I/O设备。进程之间可能需要协作完成任务。
  1. 并发相关的关键术语(原子操作,互斥,临界资源,临界区,忙等,死锁,饥饿)
①原子操作:由一个或多个指令序列实现的动作或函数,对外不可见,一组指令要么都执行,要么都不执行。
②互斥:当一个进程在临界区访问共享资源时,其他进程不能进入该临界区访问共享资源的情形。
③临界资源:不可同时访问,必须互斥访问的资源,如打印机。
④临界区:访问临界资源的代码,任意时刻只能由一个进程在这段代码中运行。
⑤忙等:当一个进程等待进入临界区时,它会继续消耗处理器的时间。
⑥死锁:两个或两个以上的进程因等待其他进程做完某些事而不能继续执行的情形。
⑦饥饿:一个具备执行条件的进程,被调度程序无限期的忽视而不能调度的情形。
  1. 互斥的要求(访问临界区的原则)
①空闲让进:如临界区空闲,则有进程申请就立即进入。
②忙则等待:每次只允许一个进程处于临界区。
③有限等待:保证进程在有限时间内能进入临界区(不会死锁或饥饿)。
④让权等待:进程在临界区不能长时间阻塞等待某事件。
  1. 信号量实现进程互斥与同步的基本原理
两个或多个进程可以通过传递信号进行合作:迫使进程在某个位置暂时停止执行(阻塞),直到它收到一个可以“向前推进”的信号(被唤醒)。将实现信号灯作用的变量称为信号量
5.经典同步问题(生产者/消费者问题,读者和写者问题)

进程死锁

  1. 出现死锁的必要条件
①互斥:任何时刻只能有一个进程使用一个资源实例
②持有并等待:进程保持至少一个资源,并正在等待获取其他进程持有的资源
③非抢占:资源只能在进程使用后自愿释放
④循环等待:存在等待进程集合{P0,P1,...,PN},P0正在等待P1所占用的资源,P1 正在等待P2占用的资源,...,PN-1在等待PN所占用资源, PN正在等待P0所占用的资源
  1. 系统资源分配的安全状态
当进程请求资源时,系统判断分配后是否处于安全状态。所谓安全状态,是指系统能按某种进程顺序(P1 , P2 , …,Pn )(称〈P1 ,P2 , …, Pn〉序列为安全序列),来为每个进程Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。如果系统无法找到这样一个安全序列,则称系统处于不安全状态。
  1. 银行家算法
银行家算法是一个避免死锁产生的算法。以银行借贷分配策略为基础,判断并保证系统处于安全状态。客户在第一次申请贷款时,声明所需最大资金量,在满足所有贷款要求并完成项目时,及时归还。在客户贷款数量不超过银行拥有的最大值时,银行家尽量满足客户需要

基本内存管理

  1. 名空间,逻辑空间,物理空间,以及他们之间的关系
名空间:用汇编语言或高级语言编写程序时,常常用符号名来访问某一单元。把程序中由符号名组成的程序空间称为符号名空间,简称名空间。
逻辑空间:由源程序经过汇编或编译后,形成目标程序,每个目标程序都是以0为基址顺序进行编址的,原来用符号名访问的单元用具体的数据——单元号取代。这样生成的目标程序占据一定的地址空间,称为逻辑地址空间,简称逻辑空间。在逻辑空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址。
内存空间(物理空间):①内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可唯一标识一个存储单元,称为内存地址(或物理地址)。②内存地址的集合称为内存地址空间(或物理地址空间),简称内存空间(或物理空间)。③一维线性空间,编址顺序为0,1,2,3,…… n-1,n的大小由实际组成存储器的存储单元个数决定。比如,64K内存的空间编号为0,1,2,3,……65535。
  1. 内存动态分区分配算法(首次适应算法,循环匹配算法,最佳匹配算法,最坏(差)适应算法)
  1. 动态重定位和紧凑
动态重定位:在连续分配方式中,必须把一个系统或用户程序装入一连续的内存空间。在动态分区中,由于分区的不断划分与合并,会产生许多零散分区。若零散分区均很小,则即使总空间空间很大,也可能无法装入大进程。采用动态重定位技术的分区分配称为可重定位分区分配。
紧凑:将内存中的所有作业进行移动,使它们全都相邻接,这样,可把原来分散的多个小分区合成一个大分区的方法。
  1. 覆盖与交换的概念及思想
覆盖:在任何时候只在内存中保留所需的指令和数据;当需要其它指令时,它们会装入到刚刚不再需要的指令所占用的内存空间。基本思想:一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。
对换:把内存中暂不能运行的进程或者暂不使用的程序和数据换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程或进程所需要的程序和数据换入内存。
  1. 分页存储管理原理,分页系统地址转换
划分物理内存至固定大小的帧,划分逻辑地址空间至相同大小的页。转换:分离出页面号、页内地址,检索页面号得页框号,页框号×页面大小=起始地址,放高端,页内地址放低端。
  1. 快表的引入和工作原理
为了提高地址变换速度,为进程页表设置一个专用的高速缓冲存储器,称为快表。工作原理:类似于系统中的数据高速缓存,其中专门保存当前进程最近访问过的一组页表项。根据局部性原理,在一个很短的时间段内,程序的执行总是局部于某一个范围。即,进程最近访问过的页面在不久的将来还可能被访问。
  1. 分页系统和分段的比较
① 页是信息的物理单位,分页的目的是实现离散分配,减少内存的外部碎片,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。
② 页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。
③ 分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
④ 分页存储管理系统不易实现“共享”和“运行时动态链接” ,而分段系统易于实现。
  1. 分段的逻辑地址结构
段号+段内偏移量

虚拟内存管理

  1. 程序的局部性原理
在一段较短的时间内,程序的执行仅局限于某个部分;相应地,它所访问的存储空间也局限于某个区域。其具体表现为
①时间局部性:一条指令的执行和下次执行、一个数据的访问和下次访问,都集中在一个较短的时间内。
②空间局部性:当前指令和将要执行指令、当前访问的数据和将要访问的数据,都集中在一个较小的区域内。
  1. 虚拟存储管理技术的基本思想
①在程序装入时,只需将当前需要执行的部分页或段读入到内存,就可让程序开始执行。
②在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。
③另一方面,操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要装入的程序以及将要调入的页或段。
  1. 虚拟存储器的特征
①离散性:程序在内存中离散存放
②局部性:进程无需全部驻留内存,只需载入必要的进程空间
③对换性:允许进程在运行过程中换入、换出
④虚拟性:能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量
  1. 请求分页存储管理中的页面置换算法(最优置换算法(OPT),先进先出置换算法(FIFO),最近最久未使用算法(LRU),时钟置换算法)
  1. 请求分段存储、段页式虚拟存储的基本原理
请求分段原理:
①建立在基本分段机制之上:程序的逻辑地址空间被划分为若干个大小不同的段,每个逻辑段装载到一段连续的物理内存区域,段表记录逻辑段和物理段的对应情况
②引入请求调段和分段置换机制,部分逻辑段载入内存,对换机制,以段作为换入或换出的基本单位
段页式原理:
①建立在段页式存储技术之上:程序的逻辑空间划分为若干大小不同的段,每个段划分为若干固定大小的页面,物理内存划分为若干固定大小的页框,页面可以载入任意页框—页表记录载入情况
②引入请求调页和页面置换机制:部分页面载入内存,对换机制,以页面作为换入或换出的基本单位
③地址变换:先查段表,再查该段的页表,缺段中断和缺页中断。

设备与IO管理

  1. 计算机系统中参与I/O的外设的种类
①人可读:适用于计算机用户间的交互,如打印机和终端。终端又包括显示器和键盘,以及其他一些可能的设备,如鼠标。
②机器可读:适用于与电子设备通信,如磁盘驱动器、USB密钥、传感器、控制器和执行器。
③通信:适用于与远程设备通信,如数字线路驱动器和调制解调器。
  1. I/O设备之间的主要差别
①数据传送速率:数据传送速率可能会相差几个数量级。
②应用:设备用途对操作系统及其支撑设施中的软件和策略都有影响。
③控制的复杂性:打印机仅需要一个相对简单的控制接口,而磁盘的控制接口则要复杂得多。
④传送单位:数据可按字节流或字符流的形式传送(如终端I/O),也可按更大的块传送(如磁盘I/O)。
⑤数据表示:不同的设备使用不同的数据编码方式,这些差别包括字符编码和奇偶校验约定。
⑥错误条件:随着设备的不同,错误的性质、报告错误的方式、错误造成的后果及有效的响应范围,都各有不同。
  1. 设备控制器的基本功能和组成
功能:
①接收和识别命令:有相应的Register存放命令(“命令/控制寄存器”)
②数据交换:实现 CPU 与控制器之间、控制器与设备之间的数据交换
③标识和报告设备的状态:设备控制器:“状态寄存器”。
④地址识别:CPU通过“地址”与设备通信,设备控制器应能识别它所控制的设备地址及其各寄存器的地址。
⑤数据缓冲:控制器中设置缓冲器。
⑥差错控制
组成 :
①设备控制器与处理机的接口。三类型号线:数据线、地址线、控制线。
②设备控制器与设备的接口。一个或多个设备接口,包含数据、命令、状态3种类型的信号。
③I/O 逻辑。接收I/O命令,并译码。
  1. 执行I/O的三种技术的基本原理及优缺点(程序控制I/O,中断驱动I/O,直接存储器访问(DMA))
程序控制I/O :处理器代表一个进程给I/O模块发送一个I/O命令;该进程进入忙等待,直到操作完成才能继续执行。缺点:CPU需花代价不断查询I/O状态,CPU资源浪费极大。
中断驱动I/O:处理器代表进程向I/O模块发出一个I/O命令。一个进程占有处理器运行时,由于自身或外界的原因(出现了某事件)使运行被打断。让操作系统处理所出现的事件,处理完中断事件之后,再让被打断的进程继续运行。把引起中断的事件称为“中断源” 。对出现的事件进行处理的程序称为“中断处理程序”。优点:在 I/O 设备输入每个数据的过程中,由于无需 CPU 干预,CPU 与 I/O 设备可以并行工作,提高了整个系统的资源利用率及吞吐量。
DMA控制方式:为了进一步减少CPU对I/O的干预,而引入了直接存储器访问方式。特点是:①数据传输的基本单位是数据块,即CPU与I/O设备之间,每次传送至少是一个数据块。②所传送的数据是从设备直接送入内存的,或者从内存送到设备输出。③仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在通道控制器的控制下完成的。
  1. 设备驱动程序的功能
①接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为具体要求
②检查用户I/O请求的合法性
③发出I/O命令
④及时响应由控制器或通道发来的中断请求,并根 据其中断类型调用相应的中断处理程序进行处理
⑤根据用户的I/O请求,自动地构成通道程序。
  1. 在设备管理中,引入缓冲区的主要原因
①缓和CPU与I/O设备间速度不匹配的矛盾。
②减少对CPU的中断频率,放宽对CPU中断响应时间的限制。
③提高CPU和I/O设备之间的并行性。
  1. SPOOLing技术的概念、SPOOLing系统的组成
概念:在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing。
组成:①输入#和输出#:在磁盘上开辟的2个大存储空间,模拟输入和输出设备。②输入buf和输出buf(内存中):1.输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。2.输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。
  1. 磁盘调度算法(先进先出(FIFO)算法,最短服务时间优先(SSTF),扫描算法(SCAN))

文件管理

  1. 文件的理想属性
①长期存在:文件存储在硬盘或其他辅存中,用户退出系统时文件不会丢失
②可在进程间共享:文件有名字,具有允许受控共享的相关访问权限
③结构:取决于具体的文件系统,一个文件具有针对某个特定应用的内部结构。
  1. 文件系统模型的组成部分
①对象及其属性。文件管理系统管理的对象有文件,它作为文件管理的直接对象。目录。磁盘(磁带)存储空间
②对对象操纵和管理的软件集合。这是文件管理系统的核心部分, 文件系统的功能大多是在这一层实现的。
③文件系统的接口。命令接口。程序接口。
  1. 文件逻辑结构和物理结构的概念
逻辑结构:从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。
物理结构:指文件在外存上的存储组织形式。
  1. 文件的组织形式
堆、顺序文件、索引顺序文件、索引文件、直接或散列文件
  1. 文件目录的概念
一个文件的说明信息称为该文件的目录。
  1. 文件控制块(FCB)和索引结点,引入索引结点的目的
文件控制块:用于描述和控制文件的数据结构,用于记载文件在内存中的使用情况。
索引结点:含文件描述信息。引入目的:FCB中含:文件名、描述信息,它们较占空间,当文件很多时,文件目录可能要占用大量的盘块。把文件名与文件描述信息分开,在文件目录中的每个目录项仅由文件名和指向该文件所对应的i结点的指针所构成。
  1. 文件分配方法的基本原理(连续分配,链式分配,索引分配)
连续分配:在创建文件时,给文件分配一组连续的块。
链式分配:为文件分配非连续的若干数据块,数据块之间用指针相连。以该方式管理的文件称为链接文件。
索引分配:为每个文件分配一个索引块,再把分配给该文件的所有盘块号都记录在该索引块中,因而该索引块就是一个含有许多盘块号的数组。
  1. 磁盘空闲空间管理方法的基本原理(位表,链接空闲区,索引,空闲块列表)
位表:又称为位示图,其中的每一位对应一个磁盘块。位的值为0或1,分别表示磁盘块空闲,或磁盘块已分配。利用位表容易找到一个或一组空闲盘块。位表适合于以上各种文件分配方法。位表很小,可以装入内存 。
链接空闲区:每个空闲分区包含一个指向下一个分区的指针,并记载分区大小。无空闲分区表空间开销。适合于各种文件分配方法。若每次分配一个磁盘块,则可取空闲分区链的第一个盘块进行分配,并调整空闲分区链首指针和分区链大小。若采用可变分区法,可用首次适应算法,从链表头开始查找,找到的第一个适合的分区则可分配,然后调整空闲分区链首指针和分区链大小。
索引:将空闲分区视为文件,按文件存储空间分配法为空闲分区建立索引。索引表中为每一个空闲分区建立一个索引项。为可变分区建立索引比为磁盘块建立索引效率高。适合于各种文件分配法。
空闲块列表:每块都指定一个序号,所有空闲块的序号保存在磁盘的一个保留区中。磁盘上用于空闲块列表的空间小于磁盘空间1%。两种有效技术把该表一小部分保存到内存中:该表可视为一个堆栈,该表可视为一个FIFO队列
上一篇
信息安全
下一篇
计算机网络
Loading...