新开一坑,操作系统学习,梳理操作系统的基础。本篇笔记主要整理操作系统的概述。
操作系统目标和作用
- 目标:有效性(提高资源利用率,系统吞吐量), 方便性, 可扩充性, 开放性。
- 作用:作为用户和硬件的接口(命令方式,系统调用方式,图形、窗口方式),计算机系统资源的管理者,实现对计算机资源的抽象。
操作系统的发展历史
- 无操作系统的计算机系统:人工操作,脱机输入/输出方式。
- 单道批处理系统:自动性,顺序性,单道性。
- 多道批处理系统:
- 优缺点:资源利用率高,系统吞吐量大;平均周转时间长,无交互能力。
- 运行躲到批处理系统需要解决的问题:
- CPU 管理问题;
- 内存管理问题;
- I/O 设备管理问题;
- 文件管理问题;
- 作业管理问题。
- 操作系统是一组控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户使用的程序集合。 * 分时系统:多个用户通过自己的终端以交互方式使用计算机,共享主机的资源。
- 关键问题:用户如何能与自己的作业进行交互(及时接受,及时处理)。及时处理要求每个程序不能长时间占用 CPU,运行规定的时间片,就需要暂停该作业。
- 分时系统的特征:
- 多路性,每个用户轮流运行一个时间片,多路性即同时性。
- 独立性
- 及时性
- 交互性
- 实时系统:系统能及时(或即时)相应外部事件的请求,在规定事件内完成对事件的处理,并控制所有实时任务协调一直地运行。
- 根据对截止时间的要求分为:硬实时任务和软实时任务。
操作系统的基本特性
- 并发性:多个事件在同一时间间隔内发生。
- 与并行不同。
- 引入进程:进程是系统中能够独立运行并作为资源分配的基本单位,由机器指令、数据和堆栈等组成。
- 引入线程:线程作为独立运行和独立调度的基本单位(但不是资源分配的基本单位)。因为没有资源分配,调度开销更小。
- 共享性:系统资源由内存中多个并发执行的进程(线程)共同使用。资源类型不同,共享方式不同。
- 互斥共享方式:一段时间内仅允许一个进程访问该资源(临界资源或独占资源)。
- 同时访问方式:可能是宏观上的同时访问。
- 虚拟技术:时分复用和空分复用技术。
- 时分复用:虚拟处理机技术和虚拟设备技术。
- 空分复用:虚拟磁盘技术,虚拟存储器技术。
- 异步性:进程以人们不可预知的速度推进称为进程的异步性。
操作系统的基本功能
- 处理器(进程)管理功能:主要是对进程(线程)占用 CPU 的使用过程管理。主要有:进程管理,进程同步,进程通信,调度。
- 存储器管理功能(内存管理):内存分配,内存保护,地址映射和内存扩充等功能。
- 设备管理功能:缓冲管理,设备分配,设备处理等。
- 文件管理系统:文件存储空间的管理,目录管理,文件的读/写管理和保护。
- 操作系统与用户之间的接口。
操作系统结构设计
- 传统的操作系统结构:
- 无结构操作系统
- 模块化结构操作系统,模块-结构法
- 分成式结构操作系统,保证系统的正确性,易扩充和维护。
- 客户-服务器模式:Client/Server,C/S 模式。
- 面对对象的程序设计。
- 微内核系统设计:将操作系统分为微内核和多个服务器。
- 特点:足够小的内核,基于客户/服务器模式,应用“机制与策略分离”原理,采用面对对象技术。
- 微内核基本功能:进程(线程)管理,低级存储器管理,中断和陷入处理。
- 优点:可扩展性,可靠性,可移植性,对分布式系统的支持,融入面对对象。
- 缺点:内核分离会导致效率下降。