《王道》操作系统整理

操作系统是计算机系统的核心软件,负责资源管理和用户接口。它涉及并发和共享的特性,通过中断机制、时钟管理和原语进行系统控制。进程管理、内存管理和系统调用是其关键功能。文章还概述了OS的发展历程,从手工操作到批处理、分时、实时和网络操作系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第1章 OS概述

第1节 OS基本概念

在这里插入图片描述
操作系统定义:控制管理计算机硬件、软件资源,合理组织调度计算机的工作和资源的分配,向用户和其他应用提供方便使用的接口和环境,是计算机系统中最基本的系统软件

操作系统功能和目标

  • 资源管理者:处理器管理(CPU管理,合理调度进程、线程)、存储器管理(内存管理)、文件管理(文件系统、磁盘管理)、其他设备管理(通过IO管理其他设备)
  • 作为用户和计算机硬件直接的接口
    • 命令接口
      • 联机命令(交互式)
      • 脱机命令(批处理)
    • 程序接口:一组系统调用,供程序使用
    • GUI:图形化界面
  • 扩充机器:覆盖了软件的机器称为扩充机器或虚拟机

操作系统的特征

  • 并发:多个事件在一段时间间隔内发生(并行,指多个事件在同一时刻发生)
  • 共享:即资源共享,系统资源供多个并发进程同时使用
    • 互斥共享:一段时间内,只允许一个进程访问资源
    • 同时访问:微观上可能是多个进程交替使用资源,也可能是确实是同时访问资源
  • 虚拟:没有并发,就不需要时分复用,因此也就没有虚拟特征
    • 时分复用:虚拟处理器技术,通过使用多道程序设计技术,让用户感觉每个程序都在独占处理器
    • 空分复用:虚拟存储器技术,从逻辑上扩充内存,例如 60G 的游戏运行在 4G 内存的电脑上
  • 异步:多个程序并发执行,由于资源有限,程序执行不是一贯到底,而是走走停停,以不可预知的速度推进。没有并发,显然也没有异步。

并发和共享互为依存条件:没有并发,就不需要资源共享;如果系统不能很好的资源共享,就可能导致无法并发。并发和共享是操作系统的基本特征

做题补充:

  • 广义指令:系统调用
  • 单道批处理系统,程序顺序执行;多道批处理系统,程序并发执行。
    • 顺序执行:顺序性、封闭性、可再现性
      • 顺序性:严格按照程序指令顺序执行
      • 封闭性:程序在封闭的环境下运行,独占全机资源,资源状态只有其可以改变
      • 可再现性:同一个环境下,可以得到相同的执行结果
    • 并发执行:断续性(间断性,资源共享,受到其他程序的制约)、失去封闭性(环境可以被其他程序修改)、不可再现性
  • 库函数,用来为程序提供编写好的功能,方便使用;系统调用,用来向系统请求服务。库函数可能会使用系统调用,使用系统调用会陷入内核,需要保存现场,导致程序执行变慢,当库函数不适用系统调用时,程序完全在用户空间执行,速度更快。

第2节 OS发展与分类

在这里插入图片描述

手工操作阶段
在这里插入图片描述

  • 用户独占全机,资源利用率低
  • 人工操作慢和处理器处理速度快,速度矛盾,导致资源利用率低

批处理阶段

单道批处理系统,引入脱机输入输出到高速的磁带,用监督程序(OS雏形)控制作业输入输出处理器。自动(一批程序正常情况可以自动执行)、顺序(按进入内存顺序执行)、单道(同一时刻内存只有一个程序)。

  • 优点:引入了高速磁带,一定程度缓解了人机速度差异
  • 缺点:内存中只能有一个程序执行,执行完一个,才能输入下一个,处理器仍然需要等待 IO 时间
    在这里插入图片描述
    多道批处理系统:操作系统正式诞生,引入了中断,OS 负责管理程序执行。多道(内存中有多个程序)、宏观并行、微观串行。
    在这里插入图片描述
  • 优点:多道程序并发执行,共享资源,资源利用率大幅提升,系统吞吐量增大
  • 缺点:没有人机交互功能,必须等到程序运行结束或者异常终止,用户响应时间长

分时操作系统:同时(多路,允许多个用户同时使用)、交互(人机交互)、独立(每个用户互不干扰,看不到别人)、及时(用户请求能在短时间内得到响应)

  • 优点:解决了人机交互
  • 缺点:不能处理紧急任务,完全公平,不区分任务优先级

实时操作系统:主要特点,及时、可靠。分为硬实时(严格遵守时限不能违反)、软实时(能够接受偶尔违反)

  • 优点:能够响应紧急任务

网络操作系统:实现网络中资源共享和各台计算机之间通信
分布式操作系统:分布性和并行性,若干计算机并行、协同完成任务。
个人操作系统、嵌入式系统、服务器系统、手机系统等。

做题补充:

  • 甘特图:横轴时间,纵轴程序,多种线段区分不同资源即可
  • CPU 利用率:CPU运行时间除以总时间

第3节 OS运行机制和体系结构

指令:不是代码,而是一个 CPU 可以执行的具体操作,是二进制的机器语言。

  • 特权指令:不允许用户执行直接使用的指令
  • 非特权指令

CPU状态:使用程序状态字寄存器(PSW)的某一位表示当前处理器处于什么状态。

  • 用户态(目态)
  • 核心态(管态)

两种程序

  • 内核程序:处于核心态,可以执行特权指令和非特权指令
  • 应用程序:用户态,只可以执行非特权指令

计算机层次结构:
在这里插入图片描述
内核包括:

  • 距离硬件最近的:时钟管理、中断处理、原语。
  • 系统资源管理:进程管理、存储器管理、设备管理等

1.3.1 操作系统的运行机制

1. 时钟管理
  • 时钟的第一功能是计时,向用户提供标准的系统时间。
  • 通过时钟中断,实现进程的切换。常用在一些和时间相关的调度中(分片、实时调度)
2. 中断机制

中断的初衷:提高多道程序运行环境中的 CPU 利用率,主要针对外设。
中断机制中只有一小部分属于内核(这部分负责保护现场,转移控制权到中断处理程序以及恢复现场)

3. 原语

原语特点:

  1. 处于操作系统最低层,是最近接硬件的部分
  2. 具有原子性,操作一气呵成,不可中断
  3. 运行时间一般较短,且被频繁调用

定义原语:通过关中断实现。

4. 系统资源管理或系统控制的数据结构及处理
  1. 进程管理:进程状态管理,进程调度和分派、创建、销毁进程控制块(PCB)
  2. 存储器管理:分配回收、代码对换等
  3. 设备管理:缓存区管理,设备分配与回收

1.3.2 中断和异常

中断:

  • 内中断(异常、陷入 trap)
    • 自愿中断(指令中断)
    • 强迫中断
      • 硬件故障
      • 软件中断
  • 外中断(强迫中断)
    • 外设请求
    • 人的干预

中断处理过程:

  1. 关中断 (硬件完成)
  2. 保存断点(硬件完成)
  3. 中断服务程序寻址(硬件完成)
  4. 保存现场和屏蔽字 (中断程序完成)
  5. 开中断(中断程序完成)
  6. 执行中断服务程序(中断程序完成)
  7. 关中断(中断程序完成)
  8. 恢复现场(中断程序完成)
  9. 开中断,中断返回(返回到保存的断点处)(中断程序完成)

1.3.3 系统调用

系统中各个资源由 OS 管理,用户程序中凡是与资源有关的操作,都必须通过系统调用向 OS 提出服务请求。 用户程序通过陷入指令来发起系统调用,请求 OS 提供服务。(用户态可以执行陷入指令,因此陷入指令非特权指令)

系统调用按功能分为以下几类:

  • 设备管理
  • 文件管理
  • 进程控制
  • 进程通信
  • 内存管理

用户态转向核心态的例子:

  1. 系统调用
  2. 中断
  3. 程序指令出现错误(除0,地址越界,算术溢出等)
  4. 用户程序企图执行特权指令(异常)

第2章 进程管理

第3章 内存管理

第4章 文件管理

第5章 IO管理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥羊也

感谢给肥羊投喂!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值