Jason Zhou的Coding之路 凡是过往皆为序章

操作系统学习笔记一 概述


新开一坑,操作系统学习,梳理操作系统的基础。本篇笔记主要整理操作系统的概述。

操作系统目标和作用

  • 目标:有效性(提高资源利用率,系统吞吐量), 方便性, 可扩充性, 开放性。
  • 作用:作为用户和硬件的接口(命令方式,系统调用方式,图形、窗口方式),计算机系统资源的管理者,实现对计算机资源的抽象。

操作系统的发展历史

  • 无操作系统的计算机系统:人工操作,脱机输入/输出方式。
  • 单道批处理系统:自动性,顺序性,单道性。
  • 多道批处理系统
    • 优缺点:资源利用率高,系统吞吐量大;平均周转时间长,无交互能力。
    • 运行躲到批处理系统需要解决的问题:
      1. CPU 管理问题;
      2. 内存管理问题;
      3. I/O 设备管理问题;
      4. 文件管理问题;
      5. 作业管理问题。
    • 操作系统是一组控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户使用的程序集合。 * 分时系统:多个用户通过自己的终端以交互方式使用计算机,共享主机的资源。
    • 关键问题:用户如何能与自己的作业进行交互(及时接受,及时处理)。及时处理要求每个程序不能长时间占用 CPU,运行规定的时间片,就需要暂停该作业。
    • 分时系统的特征:
      • 多路性,每个用户轮流运行一个时间片,多路性即同时性。
      • 独立性
      • 及时性
      • 交互性
  • 实时系统:系统能及时(或即时)相应外部事件的请求,在规定事件内完成对事件的处理,并控制所有实时任务协调一直地运行。
    • 根据对截止时间的要求分为:硬实时任务和软实时任务。

操作系统的基本特性

  • 并发性:多个事件在同一时间间隔内发生。
    • 与并行不同。
    • 引入进程:进程是系统中能够独立运行并作为资源分配的基本单位,由机器指令、数据和堆栈等组成。
    • 引入线程:线程作为独立运行和独立调度的基本单位(但不是资源分配的基本单位)。因为没有资源分配,调度开销更小。
  • 共享性:系统资源由内存中多个并发执行的进程(线程)共同使用。资源类型不同,共享方式不同。
    • 互斥共享方式:一段时间内仅允许一个进程访问该资源(临界资源或独占资源)。
    • 同时访问方式:可能是宏观上的同时访问。
  • 虚拟技术:时分复用和空分复用技术。
    • 时分复用:虚拟处理机技术和虚拟设备技术。
    • 空分复用:虚拟磁盘技术,虚拟存储器技术。
  • 异步性:进程以人们不可预知的速度推进称为进程的异步性。

操作系统的基本功能

  • 处理器(进程)管理功能:主要是对进程(线程)占用 CPU 的使用过程管理。主要有:进程管理,进程同步,进程通信,调度。
  • 存储器管理功能(内存管理):内存分配,内存保护,地址映射和内存扩充等功能。
  • 设备管理功能:缓冲管理,设备分配,设备处理等。
  • 文件管理系统:文件存储空间的管理,目录管理,文件的读/写管理和保护。
  • 操作系统与用户之间的接口。

操作系统结构设计

  • 传统的操作系统结构:
    • 无结构操作系统
    • 模块化结构操作系统,模块-结构法
    • 分成式结构操作系统,保证系统的正确性,易扩充和维护。
  • 客户-服务器模式:Client/Server,C/S 模式。
  • 面对对象的程序设计。
  • 微内核系统设计:将操作系统分为微内核和多个服务器。
    • 特点:足够小的内核,基于客户/服务器模式,应用“机制与策略分离”原理,采用面对对象技术。
    • 微内核基本功能:进程(线程)管理,低级存储器管理,中断和陷入处理。
    • 优点:可扩展性,可靠性,可移植性,对分布式系统的支持,融入面对对象。
    • 缺点:内核分离会导致效率下降。

Similar Posts

Comments