操作系统


背景

本文旨在整理学习《OSETP》一书中的知识点,以供自己复习之用。

操作系统

基本特征

  1. 并发

    并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。

    并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。

    操作系统通过引入进程和线程,使得程序能够并发运行。

  2. 共享

    系统中的资源可以被多个并发进程共同使用。两种方式:互斥共享(同步机制来实现临界资源的互斥访问)和同时共享。

  3. 虚拟

    将一个物理实体转换为多个逻辑实体。

    主要为时分复用(多个进程在同一处理器上并发执行)和空分复用(虚拟内存的页面置换)。

  4. 异步

    不是一次性执行完毕,而是走走停停,以不可知的速度向前推进。

基本功能

  1. 进程管理

    进程控制、进程通信、进程同步、处理机调度、死锁处理等

  2. 内存管理

    内存分配、地址映射、内存保护和共享、虚拟内存等

  3. 文件管理

    存储空间的管理、文件读写管理和保护、目录管理等

  4. 设备管理

    完成IO请求,方便用户使用各种设备。

    主要包括缓冲管理、虚拟设备、设备分配、设备处理等

系统调用

如果一个进程在用户态需要使用内核态的功能,通过系统调用陷入内核态,由操作系统代为完成。

中断分类

  • 外中断

    由CPU执行以外的事件引起。

  • 异常

    由CPU执行指令的内部事件引起。

  • 陷入

    在用户程序使用系统调用。

进程与线程

进程是资源分配的基本单位,线程不拥有资源,只能访问隶属于进程的资源。

进程控制块(PCB)描述进程的基本信息与运行状态。创建进程和撤销进程都是对PCB的操作。

线程是独立调度的基本单位。同一进程中的线程切换不会引起进程切换。不同进程之间的线程切换会导致进程切换。

一个进程可以有多个线程,共享进程资源。

进程的系统开销远大于线程的系统开销。

线程之间可以通过直接读写同一进程中的数据进行通信,但是进程通信需要借助IPC。

进程状态的切换中,主要有三种情况:就绪状态、运行状态、阻塞状态。只有就绪和运行之间可以相互切换(CPU时间片的切换),其他都是单向转换。

阻塞状态是缺少需要的资源由运行状态转换来的,但是其中的缺少的资源不包括CPU时间。

进程调度算法

批处理系统

调度算法的目标是保证吞吐量和周转时间(从提交到终止的时间)。



文章作者: 不二
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 不二 !
  目录