一、概述

1.操作系统概念

  • 是系统最基本最核心的软件,属于系统软件
  • 控制和管理整个计算机的硬件和软件资源
  • 合理的组织、调度计算机的工作与资源的分配
  • 为用户和其它软件提供方便的接口和环境

2.操作系统的设计目标

  • 功能:作为计算机系统资源的管理者

    目标:安全、高效

    • 处理器管理
    • 存储器管理
    • 文件管理
    • 设备管理
  • 功能:作为用户与计算机硬件系统之间的接口

    目标:方便用户使用

    • 命令接口
    • 程序接口
  • 功能:用作扩充机器(虚拟机)

    目标:实现对硬件机器的扩展

3.操作系统的基本特征

  • 并发
  • 共享
    • 互斥共享(如对摄像头设备的共享使用)
    • 同时共享(如对硬盘资源的共享使用)
  • 虚拟
    • 空分复用技术(如虚拟存储技术)
    • 时分复用技术(如虚拟处理器技术)
  • 异步
    • 多道程序环境允许多个程序并发执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进。

没有并发和共享,就没有虚拟和异步,因此并发和共享是操作系统的两个最基本的特征

二、进程管理

(1)进程描述与控制

进程的概念

程序段、数据段、PCB三部分组成了进程实体,一般情况下,我们把进程实体简称为进程;例如,创建进程实质上是创建进程实体的PCB。

引入进程实体的概念后,可把进程定义为:

进程是进程实体的运行过程,是系统进行资源分配调度的一个独立单位

严格来说,进程实体和进程不一样,进程实体是静态的,而进程是动态的。除非专门考察二者区别,我们都可以认为进程实体就是进程。因此我们可以说“进程由程序段,数据段,PCB三部分组成”

==PCB是进程存在的唯一标志==

进程的基本特征

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

进程状态及其转换模型(五状态+挂起状态)

转换模型(不含挂起)

进程控制块PCB的概念,其包含哪些信息

进程控制块PCB(Process Control Block)

PCB中记录了操作系统所需的,用于描述进程的当前情况以及控制进程运行的全部信息。

image-20211205212050708

内核模式和用户模式的概念

用户程序调用系统 API 函数称为系统调用(System Call);发生系统调用时会暂停用户程序,转而执行内核代码(内核也是程序),访问内核空间,这称为内核模式(Kernel Mode)

用户空间保存的是应用程序的代码和数据,是程序私有的,其他程序一般无法访问。当执行应用程序自己的代码时,称为用户模式(User Mode)

线程的概念,与进程的区别

线程是进程中的一个实体,是独立调度和分配的基本单位

image-20211207220705459

(2)进程调度

进程调度的目标

以满足系统目标(如响应时间、吞吐量、 处理器效率)的方式,将进程分配到一个或多个处理器上执行

进程调度规则

面向用户的规则

  • 响应时间快
  • 平均周转时间短
  • 满足截至时间

面向系统的规则

  • 系统吞吐量大
  • 处理器利用率高
  • 各类资源的平衡使用
  • 公平性
  • 优先权

进程调度算法(先来先服务调度算法,时间片轮转调度算法, 短进程优先,剩余时间最短者优先)

(3)进程同步

多道程序设计需要同步的原因

  • 进程是计算机中的独立个体,且具有异步性、并发性
  • 资源是计算机中的稀缺个体,需共享,如CPU、内存、 I/O设备
  • 进程之间可能需要协作完成任务

并发相关的关键术语(原子操作,互斥,临界资源,临界区,忙等,死锁,饥饿)

  • 原子操作
    • 由一个或多个指令序列实现的动作或函数,对外不可见,一组指令要么都执行,要么都不执行
  • 互斥
    • 当一个进程在临界区访问共享资源时,其他进程不能进入该临界区访问共享资源的情形
  • 临界资源
    • 不可同时访问,必须互斥访 问的资源,如打印机
  • 临界区
    • 访问临界资源的代码,任意时刻只能由一个进程在这段代码中运行。
  • 忙等
    • 当一个进程等待进入临界区时,它会继续消耗处理器的时间
  • 活锁
    • 两个或两个以上的进程为响应其他进程而持续改变自己状态但是不做有用工作的情形
  • 死锁
    • 两个或两个以上的进程因等待其他进程做完某些事而不能继续执行的情形。
  • 竞争条件
    • 多个进程或线程读写共享的数据时,结果取决于多个进程的指令执行顺序
  • 饥饿
    • 一个具备执行条件的进程,而被调度程序无限期的忽视而不能调度的情形

互斥的要求(访问临界区的原则)

  • 空闲让进:如临界区空闲,则有进程申请就立即进入。
  • 忙则等待:每次只允许一个进程处于临界区。
  • 有限等待:保证进程在有限时间内能进入临界区(不会死锁或饥饿)。
  • 让权等待:进程在临界区不能长时间阻塞等待某事件。

信号量实现进程互斥与同步的基本原理

  • 两个或多个进程可以通过传递信号进行合作
    • 迫使进程在某个位置暂时停止执行(阻塞)
    • 直到它收到一个可以“向前推进”的信号(被唤醒)
  • 将实现信号灯作用的变量称为信号量

经典同步问题(生产者/消费者问题,读者和写者问题)

(4)进程死锁

出现死锁的必要条件

image-20211219183638299

系统资源分配的安全状态

image-20211219183829525

银行家算法

三、数据存储与管理

(1)基本内存管理

名空间,逻辑空间,物理空间,以及他们之间的关系

名空间:用汇编语言或高级语言编写程序时,常常用符号名来访问某一单元。把程序中由符号名组成的程序空间称为符号名空间,简称名空间

逻辑空间:由源程序经过汇编或编译后,形成目标程序,每个目标程序都是以0为基址顺序进行编址的,原来用符号名访问的单元用具体的数据——单元号取代。这样生成的目标程序占据一定的地址空间,称为逻辑地址空间,简称逻辑空间。在 逻辑 空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址

物理空间:

  • 内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可唯一标识一个存储单元,称为内存地址(或物理地址)
  • 内存地址的集合称为内存地址空间(或物理地址空间) ,简称内存空间(或物理空间)。0
  • 一维线性空间,编址顺序为0,1,2,3,…… n-1,n的 大小由实际组成存储器的存储单元个数决定。比如, 64K内存的空间编号为0,1,2,3,……65535

image-20211207223219402

内存动态分区分配算法(首次适应算法,循环匹配算法,最佳匹配算法,最坏(差)适应算法)

首次适应算法image-20211219181725084

image-20211219181825829

image-20211219181856243

最佳适应算法

image-20211219182027918image-20211219182107436image-20211219182117738

最坏适应算法

image-20211219182231699image-20211219182323949

循环匹配算法

image-20211219182420923image-20211219182549013image-20211219182621362

动态重定位和紧凑

image-20211207224418811

image-20211207224440467

覆盖与交换的概念及思想

image-20211207224745602

覆盖image-20211207224954008

image-20211207225025410

交换

image-20211207225033951

分页存储管理原理,分页系统地址转换

image-20211219130801077

image-20211219130858760

快表的引入和工作原理

image-20211219131914946image-20211219131938743

分页系统和分段的比较

image-20211219141121219

image-20211219141136399

分段的逻辑地址结构

image-20211219141500471

(2)虚拟内存管理

程序的局部性原理

image-20211215194727226

虚拟存储管理技术的基本思想

image-20211215194920368

虚拟存储器的特征

image-20211215195257431

请求分页存储管理中的页面置换算法(最优置换算法(OPT),先进先出置换算法(FIFO),最近最久未使用算法(LRU),时钟置换算法)

image-20211219172854795image-20211219172917979

image-20211219173312187image-20211219173332229

image-20211219173353453image-20211219173508126image-20211219173520851

image-20211219173607358image-20211219173850853

请求分段存储、段页式虚拟存储的基本原理

请求分段存储

image-20211215195817259

 **段页式虚拟存储**

image-20211215200249079

image-20211219181148801

image-20211219181311302image-20211219181321540image-20211219181332174

四、设备与IO管理

1.计算机系统中参与I/O的外设的种类

image-20211215200721553

2.I/O设备之间的主要差别

image-20211215200823969

3.设备控制器的基本功能和组成

image-20211215200938852

image-20211215200950367

image-20211215201049990

4.执行I/O的三种技术的基本原理及优缺点(程序控制I/O,中断驱动I/O,直接存储器访问(DMA))

image-20211215201139949

image-20211215201216334

image-20211215201259926

image-20211215201549245

           ![image-20211215201817126](https://cdn.jsdelivr.net/gh/Collapssar/CDN@master/img/myblog/202112152018178.png)

5.设备驱动程序的功能

image-20211215202212933

6.在设备管理中,引入缓冲区的主要原因

image-20211215202410141

7.SPOOLing技术的概念、SPOOLing系统的组成

image-20211215202618214

image-20211215202827838

8.磁盘调度算法(先进先出(FIFO)算法,最短服务时间优先(SSTF),扫描算法(SCAN))

image-20211219172439476

image-20211219172521468

image-20211219172547385

image-20211219172617267

image-20211219172629259image-20211219172641917

五、文件管理

1.文件的理想属性

  • 长期存在
    • 文件存储在硬盘或其他辅存中,用户退出系统时文件不会丢失
  • 可在进程间共享
    • 文件有名字,具有允许受控共享的相关访问权限
  • 结构
    • 取决于具体的文件系统,一个文件具有针对某个特定应用的内部结构

2.文件系统模型的组成部分

image-20211217211736797

3.文件逻辑结构和物理结构的概念

  • 逻辑结构
    • 从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织
  • 物理逻辑
    • 指文件在外存上的存储组织形式

4.文件的组织形式

  • 顺序文件
  • 索引文件
  • 索引顺序文件
  • 直接或散列文件

5.文件目录的概念

image-20211219165714177

6.文件控制块(FCB)和索引结点,引入索引结点的目的

image-20211219165812105

image-20211219165857653

7.文件分配方法的基本原理(连续分配,链式分配,索引分配)

image-20211219170554838

image-20211219170630403image-20211219170640348image-20211219170728268

image-20211219171334814

image-20211219171541911

image-20211219171555120

image-20211219171623677

8.磁盘空闲空间管理方法的基本原理(位表,链接空闲区,索引,空闲块列表)

image-20211219171713028

image-20211219171750525image-20211219171857494

image-20211219172039587