操作系统思维导图

《操作系统思维导图》

一、操作系统概述

1.1 定义与作用

  • 定义:管理计算机硬件与软件资源的系统软件,是计算机系统的核心。
    • 作用:
      • 资源管理:有效分配和管理计算机资源(CPU、内存、I/O设备)。
      • 进程管理:创建、调度、同步、通信和终止进程。
      • 存储管理:分配和回收内存空间,提供虚拟内存机制。
      • 设备管理:控制和驱动各种外围设备。
      • 文件管理:组织、存储、检索和保护文件数据。
      • 提供用户接口:用户可以通过命令或图形界面与操作系统交互。

1.2 操作系统的类型

  • 批处理操作系统:
    • 特点:成批处理作业,自动化运行,资源利用率低。
    • 适用场景:早期的科学计算。
      • 分时操作系统:
    • 特点:多个用户共享计算机资源,交互性强,响应时间短。
    • 适用场景:多用户交互式应用。
      • 实时操作系统:
    • 特点:强调实时性,能在规定的时间内完成特定任务。
    • 适用场景:工业控制、航空航天等领域。
      • 网络操作系统:
    • 特点:支持网络通信和资源共享,提供网络服务。
    • 适用场景:服务器、网络设备。
      • 分布式操作系统:
    • 特点:将多台计算机组成一个逻辑整体,协同完成任务。
    • 适用场景:高性能计算、大规模数据处理。
      • 嵌入式操作系统:
    • 特点:体积小、功耗低、实时性强,专门为嵌入式设备设计。
    • 适用场景:智能手机、物联网设备。

1.3 操作系统的结构

  • 单内核:所有操作系统服务都在内核空间运行。
    • 优点:效率高。
    • 缺点:稳定性差,模块耦合度高。
      • 微内核:内核只提供最基本的服务,其他服务在用户空间运行。
    • 优点:稳定性好,模块化,易于扩展。
    • 缺点:效率相对较低。
      • 混合内核:结合了单内核和微内核的优点。

二、进程管理

2.1 进程与线程

  • 进程:程序的一次执行实例,拥有独立的资源。
    • 线程:进程中的一个执行单元,共享进程的资源。
    • 区别:
      • 资源:进程是资源分配的基本单位,线程是CPU调度的基本单位。
      • 开销:创建、销毁和切换进程的开销比线程大。
      • 并发性:一个进程可以包含多个线程,实现并发执行。
    • 多线程的优点:提高程序并发度,提高资源利用率。

2.2 进程状态

  • 创建态:进程正在被创建。
    • 就绪态:进程已准备好运行,等待CPU调度。
    • 运行态:进程正在CPU上执行。
    • 阻塞态(等待态):进程因为等待某个事件而暂停运行。
    • 终止态:进程执行完毕或被终止。

2.3 进程调度

  • 调度算法:
    • 先来先服务 (FCFS):按到达顺序调度。
    • 短作业优先 (SJF):优先调度运行时间短的作业。
    • 优先级调度:根据优先级调度,优先级高的先运行。
    • 轮转调度:每个进程分配一个时间片,轮流执行。
    • 多级反馈队列调度:结合了多种调度算法。
      • 调度指标:
    • 周转时间:作业完成时间 - 作业到达时间。
    • 带权周转时间:周转时间 / 作业运行时间。
    • 响应时间:用户提交请求到系统首次响应的时间。

2.4 进程同步与互斥

  • 临界区:访问共享资源的代码段。
    • 互斥:保证只有一个进程能访问临界区。
    • 同步:进程间协同完成任务,有先后顺序关系。
    • 实现方式:
      • 互斥锁 (Mutex):保证只有一个线程能访问共享资源。
      • 信号量 (Semaphore):控制多个线程对共享资源的访问。
      • 管程 (Monitor):提供了一种更高级的同步机制。

2.5 进程间通信 (IPC)

  • 管道:单向通信,适用于父子进程或兄弟进程。
    • 命名管道:允许无亲缘关系的进程通信。
    • 消息队列:以消息为单位进行通信,异步通信。
    • 共享内存:进程间共享一块内存区域,效率高。
    • 信号:通知进程发生某种事件。
    • Socket:用于网络通信。

三、存储管理

3.1 内存管理

  • 连续分配:
    • 单一连续分配:整个内存空间分配给一个用户程序。
    • 固定分区分配:内存划分成固定大小的分区。
    • 动态分区分配:根据用户需求动态分配内存空间。
      • 分配算法:首次适应算法、最佳适应算法、最坏适应算法。
        • 非连续分配:
    • 分页存储管理:将进程的逻辑地址空间划分为固定大小的页,内存空间划分为页框。
    • 分段存储管理:将进程的逻辑地址空间划分为段,每个段大小可以不同。
    • 段页式存储管理:结合了分页和分段的优点。

3.2 虚拟内存

  • 原理:允许进程使用大于物理内存的地址空间。
    • 实现方式:
      • 请求分页:只有当需要时才将页加载到内存。
      • 请求分段:只有当需要时才将段加载到内存。
    • 页面置换算法:
      • 最佳置换算法 (OPT):选择未来最长时间内不会被访问的页面置换。
      • 先进先出置换算法 (FIFO):选择最先进入内存的页面置换。
      • 最近最久未使用置换算法 (LRU):选择最近最久未使用的页面置换。
      • 时钟置换算法 (Clock):改进的FIFO算法。

3.3 地址映射

  • 逻辑地址到物理地址的转换。
    • 页表:存储逻辑页号与物理页框号的对应关系。
    • 快表 (TLB):高速缓存,存储常用的页表项,加速地址转换。

四、设备管理

4.1 I/O 系统

  • I/O 设备:输入输出设备,如键盘、鼠标、显示器、硬盘。
    • I/O 控制器:控制 I/O 设备与 CPU 之间的通信。
    • I/O 驱动程序:操作系统中用于控制特定 I/O 设备的程序。
    • I/O 通道:独立于 CPU 的硬件设备,负责数据传输。

4.2 I/O 控制方式

  • 程序直接控制:CPU 直接控制 I/O 设备,效率低。
    • 中断驱动 I/O:I/O 设备完成操作后,发送中断请求给 CPU。
    • DMA (直接内存访问):I/O 设备可以直接访问内存,无需 CPU 干预。

4.3 磁盘管理

  • 磁盘调度算法:
    • 先来先服务 (FCFS):按请求到达顺序调度。
    • 最短寻道时间优先 (SSTF):选择离当前磁头位置最近的磁道。
    • 扫描算法 (SCAN):磁头在一个方向上移动,扫描所有磁道。
    • 循环扫描算法 (C-SCAN):磁头在一个方向上移动,到达最后一个磁道后直接返回到起始位置。
      • 磁盘存储空间的管理:
    • 空闲空间管理:位图、链表。

五、文件管理

5.1 文件系统

  • 文件的概念:一组带标识的、在逻辑上具有完整意义的数据项的序列。
    • 文件类型:文本文件、二进制文件。
    • 文件结构:顺序文件、索引文件、索引顺序文件。

5.2 文件目录

  • 目录结构:
    • 单级目录:所有文件放在同一目录下。
    • 两级目录:用户目录 + 文件目录。
    • 树形目录:多级目录结构。
      • 目录项:文件名、文件属性、文件物理地址。

5.3 文件存储空间管理

  • 连续分配:将文件存储在连续的磁盘块中。
    • 链接分配:将文件存储在不连续的磁盘块中,通过指针链接。
    • 索引分配:为每个文件建立一个索引表,存储文件块的物理地址。

5.4 文件保护

  • 访问控制:
    • 访问矩阵:定义每个用户对每个文件的访问权限。
    • 访问控制列表 (ACL):为每个文件关联一个列表,列出允许访问的用户及其权限。
    • capability 列表:为每个用户关联一个列表,列出该用户可以访问的文件及其权限。
      • 加密:对文件进行加密,防止未经授权的访问。
上一个主题: 西游记思维导图 下一个主题: 梯形的思维导图

相关思维导图推荐

分享思维导图