【基础】《操作系统》学习笔记(B站王道考研)(1)

第一章

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

操作系统的概念

操作系统(OS)是指

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

操作系统的功能和目标

  1. 作为系统资源的管理者

    1. 处理机管理:将对应的进程交给**处理机(CPU)**处理
    2. 存储器管理:将要执行的程序的相关数据放入内存
    3. 文件管理:找到文件存放位置的过程
    4. 设备管理:将外接设备分配给进程、回收的过程
    5. 目标:安全、高效

    (进程是一个程序的执行过程,执行前需要将该程序放到内存中,才能被CPU处理

  2. 用户与计算机硬件之间的接口

    1. 命令接口:允许用户直接使用
      1. 联机命令接口:交互式(e.g. cmd)
      2. 脱机命令接口:批处理(e.g. 代码文件)
    2. 程序接口(系统调用 / 广义指令)(允许用户通过程序间接使用):由一组系统调用组成
    3. GUI(图形用户界面)
    4. 目标:方便用户使用

    (命令接口和程序接口统称用户接口)

  3. 最接近硬件的层次

    1. 对硬件机器的扩展

    (把覆盖了软件的机器称为扩充机器、虚拟机)

操作系统的特征

  1. 并发
  2. 共享
  3. 虚拟
  4. 异步

并发与共享是两个最基本的特征,两者互为存在条件。(如果不存在其中一种,另一种也就失去了意义)

并发

  • 并发:指两个或多个事件在同一时间间隔内发生宏观上同时发生,微观上交替发生
  • 并行:指两个或多个事件在同一时刻同时发生

操作系统的并发性指计算机系统中同时存在多个运行中的程序。即单核处理机同一时刻只能执行一个程序,操作系统赋值协调多个(宏观)程序交替(微观)执行。

共享

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

两种资源共享方式:

  • 互斥共享方式
    • 一个时间段内只允许一个进程访问
    • (微信和QQ不能同时视频聊天)
  • 同时共享方式
    • 一个时间段内允许多个进程访问(宏观上同时,微观上交替)
    • (微信和QQ同时发送文件,微观上交替访问硬盘)

虚拟

指把一个物理实体(实际存在)变为若干个逻辑对应物(用户感受)。

虚拟技术:

  • 空分复用技术
    • 如虚拟存储器
  • 时分复用技术
    • 如虚拟处理器:即使只有一个单核CPU,宏观上似乎有多个CPU为自己服务,微观上处理机在各个微小的时间段内交替为各个进程服务。

如果失去并发性,则一个时间段内系统只能运行一段程序,则失去实现虚拟性的意义

异步

在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行需要不可预知地不断地中断开始。这就是进程的异步性。

如果失去并发性,则每个进程执行完才执行下一个,则失去实现异步性的意义

操作系统的发展和分类

OS的发展与分类:

  • 手工操作阶段
    • 缺点:人机速度矛盾
  • 批处理阶段
    • 单道批处理系统(引入脱机输入输出技术)
      • 优点:缓解人机速度矛盾
      • 缺点:资源利用率依然很低
    • 多道批处理系统(操作系统开始出现)
      • 优点:多道程序并发执行,资源利用率高
      • 缺点:不提供人机交互功能
  • 分时操作阶段
    • 优点:提供人机交互功能
    • 缺点:不能优先处理紧急任务
  • 实时操作阶段
    • 硬实时系统
    • 软实时系统
    • 优点:能优先处理紧急任务
  • 网络操作系统
  • 分布式操作系统
  • 个人计算机操作系统

操作系统的运行机制与体系结构

运行机制

指令是处理器能识别、执行的最基本的命令。(即代码翻译过来的机器语言指令)

两种指令:

  • 特权指令:不允许用户程序使用(如内存清零)
  • 非特权指令:允许用户程序使用(如普通的运算)

两种处理器状态(通过程序状态字寄存器(PSW)中的某标志位类标识状态(0用户态1核心态)):

  • 用户态(目态):此时只能执行非特权指令
  • 核心态(管态):此时都可以执行

两种程序:

  • 内核程序:可以执行两种指令,运行在核心态
  • 应用程序:可以执行非特权指令,运行在用户态

内核

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

  • 对系统资源进行管理的功能(非必要内核程序):进程管理、存储器管理、设备管理等功能(大内核拥有,微内核无)
  • 时钟管理:实时计时功能
  • 中断管理
  • 原语(设备驱动、CPU切换等):一种特殊的程序,最接近硬件的部分,具有原子性(不执行或执行至结束)。

(时钟管理、中断管理、原语是必要的)

体系结构

在这里插入图片描述

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

中断和异常

中断机制的诞生

为了实现多道程序并发执行而引入的一种技术。

中断的概念和作用

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

背景:由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。

作用:中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断才能实现多道程序的并发执行。

表现:

  1. 当中断发生时,CPU立即进入核心态
  2. 当中断发生后,当前进程暂停运行,由操作系统内核对中断进行处理
  3. 对于不同的中断信号会进行不同的处理

中断是CPU从用户态进入核心态唯一途径。核心态进入用户态只需执行特权指令修改PSW的标志位。

中断的分类

第一种分类方式

  • 内中断(也称异常、例外、陷入):信号来源CPU内部,与当前执行的指令有关

    • 自愿中断——指令中断(系统调用)
    • 强迫中断
      • 硬件故障(缺页)
      • 软件中断(整数除0)
  • 外中断(也称中断):信号来源CPU外部,与当前执行的指令无关

    • 外设请求
    • 人工干预

第二种分类方式

  • 内中断
    • 陷入:有意的异常(系统调用)
    • 故障:可处理的故障(缺页)
    • 终止:不可修复的错误(整数除0)
  • 外中断
    • I/O中断请求
    • 人工干预

外中断的处理过程

  1. 每次执行完一条指令,CPU检查当前是否有外中断信号
  2. 如果有,保存当前进程的CPU环境
  3. 转入相应的中断处理程序(核心态)
  4. 恢复进程CPU环境,继续执行下一条指令

系统调用

在这里插入图片描述

概念:

  1. 系统调用是操作系统提供给应用程序使用的接口
  2. 通过系统调用来获得操作系统的服务
  3. 系统调用会使处理器从用户态进入核心态
  4. 系统中的各种共享资源都由操作系统统一管理,凡是与资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用向操作系统提出服务请求,由操作系统完成。

作用:保证系统的稳定性和安全性,防止用户非法操作。

分类(按功能划分):

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

系统调用的功能需要执行一些特权指令才能完成,故需要在核心态上进行。

系统调用的过程

传递系统调用参数 =》执行陷入指令(用户态) =》 执行系统调用相应的服务程序(核心态) =》 返回用户程序

注意:

  1. 陷入指令是在用户态执行的,执行后引发一个内中断,使CPU进入核心态
  2. 发出系统调用请求是在用户态系统调用相应的处理是在核心态
  3. 陷入指令是唯一一个只能在用户态执行,不能在核心态执行的指令

第二章

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

进程的定义

程序:一个指令序列。

单道程序技术:在内存中,程序保存在程序段,程序运行过程的数据保存在数据段

在这里插入图片描述

多道程序技术:为方便管理,引入进程、进程实体。PCB、程序段、数据段三部分构成进程实体(进程映像)

(PCB:进程控制块,用来描述进程的各种信息,是进程存在的唯一标志

在这里插入图片描述

定义:

  1. 进程是程序的一次执行过程
  2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
  3. 进程是具有独立功能的程序在数据集合上运行的过程动态性),它是系统进行资源分配和调度的一个独立单
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值