前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >操作系统知识点复习总结

操作系统知识点复习总结

作者头像
卡伊德
发布2022-07-27 10:43:30
5960
发布2022-07-27 10:43:30
举报
文章被收录于专栏:caidblog

操作系统

一. 概述

1. 操作系统的概念、功能和目标

1.1 操作系统的概念

操作系统是指控制和管理整个计算机的软件和硬件资源,并合理地组织调度计算机的工作和资源的分配,提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。

1.2 操作的功能

1.2.1 作为系统资源的管理者
提供的功能
  1. 处理机管理
  2. 存储器管理
  3. 文件管理
  4. 设备管理
操作系统的目标

高效、安全

1.2.2 作为用户和计算机硬件之间的接口
提供的功能
  1. 命令接口 联机命令接口:用户说一句,系统做一句 非联机命令接口:用户说一堆,系统做一堆
  2. 程序接口:由一组系统调用组成
  3. 图形用户界面
操作系统的目标

方便用户使用

1.2.3 作为最接近硬件的层次
提供的功能和目标

实现对硬件机器的拓展(逻辑 虚拟机)

2. 操作系统的特点

2.1 并发(最基本特点)

**并发:**并发是指两个或多个事件在同一时间间隔内发生。这些事件在宏观上是同时发生,但在微观上是交替发生的。 **并行:**是指两个或多个事件在同一时刻同时发生。

2.2 共享(最基本特点)

共享: 即资源共享,是指系统中的资源可供内存中并发执行的进程共同使用。

共享方式:

  1. 互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但是在一个时间段内只允许一个进程访问该资源。
  2. 同时共享方式:允许一个时间段由多个进程“同时”对它们进行访问。

2.3 虚拟

虚拟: 把物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,逻辑上的对应物是用户感受到的。

虚拟技术:

  • 空分复用技术(如虚拟存储器)
  • 时分复用技术(虚拟处理器)

2.4 异步

异步: 是指 在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

3. 操作系统的发展和分类

3.1 手工操作阶段

缺点:用户独占全机、人机速度矛盾导致

3.2 批处理阶段

  1. 单道批处理系统缺点:CPU有大量的时间是在空闲等待I/O完成
  2. 多道批处理系统(操作系统开始实现)缺点:没有人机交互功能

3.3 分时操作系统

优点: 提供人机交互

缺点: 不能优先处理紧急业务

3.4 实时操作系统

分类:

**硬实时系统: ** 必须在严格的规定时间内完成处理

软实时系统: 能接受偶尔违反时间规定

3.5 网络操作系统、 分布式操作系统、个人计算机操作系统

4. 操作系统的运行机制和体系结构

4.1 运行机制

  1. 两种指令
    • 特权指令:不允许用户使用
    • 非特权指令
  2. 两种处理器状态
    • 核心态(管态):特权指令和非特权指令都可以执行
    • 用户态(目态):CPU只可以执行非特权指令 切换: 用户态 –> 核心态: 通过中断来实现,中断是唯一途径 核心态 –> 用户态: 通过执行一个特权指令来实现,将程序状态字(PSW)的标志位设置为“用户态”
  3. 两种程序
    • 内核程序:系统的管理者,特权指令和非特权指令都可以执行,运行在核心态
    • 应用程序:为了保证运行安全,只能执行非特权指令,运行在用户态

4.2 操作系统内核

  1. 时钟管理:实现计时功能
  2. 中断处理:负责实现中断机制
  3. 原语(设备驱动、CPU切换)
    • 是一种特殊的程序
    • 处于操作系统最底层,是最接近硬件的部分
    • 这种程序的运行具有原子性……其运行只能一气呵成,不可中断
    • 运行时间较短、调用频繁
  4. 对系统资源进行管理的功能
    • 进程管理
    • 设备管理
    • 存储器管理

4.3操作系统的体系结构

4.3.1 大内核
  1. 将操作系统的主要功能模块都作为系统内核,运行在核心态
  2. 优点:高性能
  3. 缺点:内核代码庞大,结构混乱,难以维护
4.3.2 微内核
  1. 只把基本的功能保留在内核
  2. 优点:内核功能少,结构清晰,方便维护
  3. 缺点:需要频繁地在核心态和用户态之间切换,性能低

5. 中断和异常

5.1 中断机制的诞生

本质 发生中断就意味着需要操作系统的介入,开展管理工作。

5.2 中断的概念和作用

  1. 当中断发生时,CPU立即进入核心态
  2. 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
  3. 对于不同的中断信号,会进行不同的处理
  4. 发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。

5.3 中断的分类

  1. 内中断(也称为“异常”、例外、陷入)
    • 自愿中断:指令中断,如系统调用时使用的访管指令(又叫小茹指令、trap指令)
    • 强迫中断: 硬件故障,如缺页 软件中断,如除0运算.
  2. 外中断
    • 外设请求,如I/O操作完成发出的中断信号
    • 人工干预
  3. 区别
    • 信号来源:内中断是CPU内部,外中断是CPU外部
    • 内中断与当前执行的指令有关,而外中断无关

5.4 外中断的处理过程

二. 进程与线程

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

1.1 定义

程序: 就是一个指令序列 进程实体: 程序段、数据段、PCB三部分组成了进程实体 (进程映像) PCB是进程存在的唯一标志 进程: 进程实体的运行过程,是系统进行资源分配和调度的一个独立单位 注: 严格来说,进程实体时静态的,进程则是动态的。

1.2 组成

  1. 程序段(程序本身运行所需的数据):存放程序代码
  2. 数据段(程序本身运行所需的数据):存放程序运行时使用、产生的运算数据。如全局变量、局部变量、宏定义的常量等。
  3. PCB(进程的管理者即操作系统所需要的数据都在PCB中):操作系统通过PCB(进程控制块)来管理进程,因此PCB中应该包含操作系统对其进行管理所需的各种信息 PCB的内容:
    • 进程描述信息:进程标识符PID、用户标识符UID
    • 进程控制和管理信息:进程当前状态、进程优先级
    • 进程分配清单:程序段指针、数据段指针、键盘、鼠标
    • 处理机相关信息:各种寄存器值

1.3 组织方式

  1. 链接方式
    • 按照进程状态将PCB分为多个队列
    • 操作系统持有指向各个队列的指针
  2. 索引方式
    • 根据进程状态的不同,建立几张索引表
    • 操作系统持有指向各个索引表的指针

1.4 特征

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

2. 进程的状态与转换

2.1 状态

  1. 运行状态(基本):占用CPU,并在CPU上运行
  2. 就绪状态(基本):已经具备运行条件,但由于没有空闲CPU,而暂时不能运行
  3. 阻塞状态(又称等待态 基本):因等待某一事件而暂时不能运行
  4. 创建状态(又称新建态):进程正在被创建,操作系统为进程分配资源、初始化PCB
  5. 终止状态(又称结束态):进程正在从系统中撤销,操作系统会回收进程拥有的资源、撤销PCB

2.2进程状态间的转换

  • 就绪态 -> 运行态
  • 运行态 -> 就绪态
  • 运行态 -> 阻塞态
  • 阻塞态 -> 就绪态

3. 进程控制

3.1 基本概念

进程控制的主要功能是对系统中的所有实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能

3.2 进程控制相关的原语

用原语实现进程的控制:原语采用“关中断指令”和“开中断指令”来实现一气呵成的特点。 过程:

  1. 更新PCB中的信息(如修改进程状态标志)
    • a. 所有的进程控制原语一定都会修改进程状态标志
    • b. 剥夺当前运行进程的CPU使用权必然需要保存其运行环境
    • c. 某进程开始运行前必须要恢其运行环境
  2. 将PCB插入合适的队列
  3. 分配/回收资源

进程的创建

代码语言:javascript
复制
  1. 创建原语
  • a. 申请空白PCB
  • b. 为新进程分配所需资源
  • c. 初始化PCB
  • d. 将PCB插入就绪队列
    1. 引起进程创建的事件
  • 用户登录
  • 作业调度
  • 提供服务
  • 应用请求

进程的终止

代码语言:javascript
复制
  1. 撤销原语
  • 从PCB集合中找到终止进程的PCB
  • 若进程正在运行,立即剥夺CPU,将CPU分配给其他进程
  • 终止其所有子进程
  • 将进程拥有的所有资源归还给父进程或操作系统
    1. 引起进程终止的事件
  • 正常结束
  • 异常结束
  • 外界干预

进程的阻塞和唤醒

代码语言:javascript
复制
  1. 进程的阻塞
  • 阻塞原语
    • a.找到要阻塞的进程对应的PCB
    • b.保护进程运行现场,将PCB状态信息设置为“阻塞态”,暂时停止进程运行
    • c.将PCB插入相应事件的等待队列
  • 引起进程阻塞的事件
    • 需要等待系统分配某中资源
    • 需要等待相互合作的其他进程完成工作

4. 进程通信

4.1 共享存储

两个进程对共享空间的访问必须是互斥的

  • 基于数据结构的共享:比如共享空间里只能放一个长度为10的数组,特点:速度慢、限制多(低级通信方式)
  • 基于存储区的共享:在内存中画出一块共享存存储区,数据的形式、存放位置都由进程控制,而不是操作系统,特点:速度更快(高级通信方式)

4.2 消息传递

以格式化的消息为单位,通过“发送消息/接收消息”完成。一条消息包括消息头和消息体两部分

  • 直接通信方式
  • 间接通信方式

4.3 管道通信

  1. 采用半双工通信
  2. 各进程互斥地访问管道
  3. 当管道写满时,写进程的write()系统调用被阻塞,等待读进程将数据取走。当读进程全部取完数据时,读进程的read()系统调用被阻塞
  4. 如果没写满,就不允许读。如果没读空,就不允许写
  5. 数据一旦读出,则该数据就被抛弃,意味着,读进程最多只能有一个

5. 线程概念、多线程模型

5.1 概念

线程: 是一个基本的CPU执行单元,也是程序执行流的最小单位 引入线程后,进程只作为除CPU之外的系统资源的分配单元(如打印机都是分配给进程的)

5.2 优点

  • 资源分配、调度
  • 并发性
  • 系统开销

5.3 属性

  • 线程是处理机调度的单位
  • 多CPU计算机中,各个线程可占用不同的CPU
  • 多个线程都有一个线程ID、线程控制块(TCB)
  • 线程也有就绪、阻塞、运行三种基本状态
  • 线程几乎不拥有系统资源
  • 同一进程的不同线程间共享进程的资源
  • 由于共享内存地址,同一进程中的线程间通信甚至无需系统干预
  • 同一进程中的线程切换,不会引起进程切换
  • 不同进程中的线程切换,会引起进程切换
  • 切换同进程内的线程,系统开销很小

5.4 实现方式

  1. 用户级线程
  • 由应用程序通过线程库实现。所有的线程管理工作都由应用程序负责(包括线程切换)。
  • 切换线程可以在用户态下即可完成,无需操作系统干预
  • 在用户看来,是有多个线程。但是操作系统内核看来,并意识不到线程的存在。(用户级线程对用户不透明,对操作系统透明)
  1. 内核级线程 重点: 操作系统只”看得见“内核级线程,因此只有内核级线程才是处理机分配的单位

5.5 多线程模型

  1. 多对一模型:多个用户级线程映射到一个内核级线程。每个用户进程对应一个内核级线程
  2. 一对一模型:一个用户级线程映射到一个内核级线程。每个用户进程有与用户及线程同数量的内核级线程
  3. 多对多模型:n用户级线程映射到m个内核级线程(n>=m)。每个用户进程对应m个内核级线程
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作系统
  • 一. 概述
    • 1. 操作系统的概念、功能和目标
      • 1.1 操作系统的概念
      • 1.2 操作的功能
    • 2. 操作系统的特点
      • 2.1 并发(最基本特点)
      • 2.2 共享(最基本特点)
      • 2.3 虚拟
      • 2.4 异步
    • 3. 操作系统的发展和分类
      • 3.1 手工操作阶段
      • 3.2 批处理阶段
      • 3.3 分时操作系统
      • 3.4 实时操作系统
      • 3.5 网络操作系统、 分布式操作系统、个人计算机操作系统
    • 4. 操作系统的运行机制和体系结构
      • 4.1 运行机制
      • 4.2 操作系统内核
      • 4.3操作系统的体系结构
    • 5. 中断和异常
      • 5.1 中断机制的诞生
      • 5.2 中断的概念和作用
      • 5.3 中断的分类
      • 5.4 外中断的处理过程
  • 二. 进程与线程
    • 1. 进程的定义、组成、组织方式、特征
      • 1.1 定义
      • 1.2 组成
      • 1.3 组织方式
      • 1.4 特征
    • 2. 进程的状态与转换
      • 2.1 状态
      • 2.2进程状态间的转换
    • 3. 进程控制
      • 3.1 基本概念
      • 3.2 进程控制相关的原语
    • 4. 进程通信
      • 4.1 共享存储
      • 4.2 消息传递
      • 4.3 管道通信
    • 5. 线程概念、多线程模型
      • 5.1 概念
      • 5.2 优点
      • 5.3 属性
      • 5.4 实现方式
      • 5.5 多线程模型
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档