考研操作系统笔记

参考课本: 计算机操作系统第四版 (汤小丹)

第一章: 操作系统引论

操作系统的定义

操作系统的功能(4个管理,3个接口)

  1. 处理器管理
  2. 存储器管理
  3. 文件管理
  4. 设备管理
  5. 用户接口
    • 命令接口{ 联机命令接口, 脱机接口(批处理命令接口)(*.bat, shell脚本) }
    • 程序接口=系统调用
    • GUI图形接口

操作系统的特征

最基本的是: 并发性 共享性

  1. 并发性
    • 并发: 间隔着运行
    • 并行: 同时运行
  2. 共享性
    • 互斥共享
    • 同时共享
  3. 虚拟性
  4. 异步性

操作系统的发展阶段

  1. 无操作系统
  2. 批处理操作系统
    • 单道批处理操作系统
    • 多道批处理操作系统
  3. 分时操作系统
    优点: 提供人机交互功能
    缺点: 不能优点处理紧急任务
  4. 实时操作系统
    • 硬实时操作系统(必须在规定时间完成)
    • 软实时操作系统(偶尔接受超时)

系统调用

系统调用发生在用户态,处理是在核心态进行的
陷入指令会产生内中断,从用户态进入核心态

应用程序可以通过汇编语言直接进行系统调用,也可以通过c语言的库函数间接进行系统调用。

考研操作系统笔记_第1张图片

步骤

  1. 传递系统调用所需的参数
  2. 通过陷入指令trap指令, 用户态进入核心态
  3. 系统调用函数,执行特定的系统内核功能
  4. 最后返回结果,并且内核态返回用户态

附:
不要系统调用:

  • abs函数

要系统调用:(与资源有关的操作,会影响其他进程的操作)

  • 读写文件
  • 整数除以0

微内核

  • 优点: 可靠性好, 灵活性(可扩充性), 便于维护。
  • 缺点: 系统效率不高, 性能低

中断与异常

发生中断,系统进入核心态,当前的进程暂停运行,操作系统内核处理中断。

广义的中断:

  1. 内中断:(来源CPU内部)
    • 访管指令(trap指令)
    • 缺页
    • 除以零
  2. 外中断(狭义的中断):
    • 外设请求
    • 人工干预

用户态,核心态

用户态->核心态, 中断是唯一途径
核心态->用户态, 通过执行特权指令,将程序状态字PSW标志位设为用户态
特权指令只能由系统内核使用


第二章: 进程

进程的定义

进程的组成:

  1. PCB (进程控制块)
  2. 数据段
  3. 程序段

进程的组织

  1. 链接方式
  2. 索引方式

进程的特征: 4个

  1. 动态性 (最基本的特征)
  2. 并发性
  3. 独立性
  4. 异步性

进程的状态(重要考点)

3种基本状态

  1. 运行态
    单核CPU一次最多只能有一个进程同时运行
  2. 就绪态
    具备运行条件, 但没有空闲CPU
  3. 阻塞态
    进程执行受阻, 例如IO请求等, 没有资源, 没有空闲CPU

另外2种状态

  1. 创建状态
  2. 终止状态

状态之间的转换
考研操作系统笔记_第2张图片

小结
考研操作系统笔记_第3张图片

进程控制

进程通信

  1. 共享存储 (互斥)
    • 基于共享数据结构的通信 (低级)
    • 基于共享存储区的通信
  2. 管道通信
    每个管道只能半双工, 互斥访问,
    如果没写满,就不允许读, 如果没读完,就不允许写
  3. 消息传递
    系统提供接受发送原语
    • 直接通信方式
    • 间接通信方式

线程 Thread

引入线程后, 线程成为程序执行流的最小单位, 提高系统并发度
进程是资源分配的基本单位, 线程是调度的基本单位

线程的实现方式

  1. 用户级线程
    切换在用户态下完成
  2. 内核级线程
    切换在核心态下完成
    内核级线程才是CPU分配的单位
  3. 组合方式
    • 多对一模型
      缺点: 一个线程阻塞会导致整个进程被阻塞
    • 一对一模型
    • 多对多模型

调度的三个层次

  1. 高级调度 = 作业调度
    调度对象是作业,
    用于多道批处理系统
  2. 低级调度 = 进程调度
    调度对象是进程, 最基本的调度
  3. 中级调度 = 内存调度
    不运行的进程挂起, PCB仍留在内存中

进程调度的方式

  1. 非抢占式 (用于早期批处理系统)
  2. 抢占式 (用于分时,实时操作系统)

你可能感兴趣的:(学习笔记)