操作系统应隐藏复杂的、困难的、丑陋的、特殊的硬件细节,呈现良好、清晰、优雅、一致的抽象
在相互竞争的程序之间有序地控制对处理器、存储器以及其他I/O接口设备的分配
操作系统的发展历程与计算机的发展历程密切相关,随着计算机硬件技术的进步,操作系统也在不断演进。详细的历史可阅读知乎文章操作系统的发展历史
延伸概念:单道/多道批处理系统,并发&并行,人机交互
现代 OS 的四个基本特征:
并发是最重要的特征,其它特征都以并发为前提
Key:
共享:是指系统中的资源可供内存中多个并发执行的进程共同使用。
虚拟:是指通过某种技术把一个物理实体变为(映射为)若干个逻辑上的对应物。
时分复用技术
虚拟处理机:分时实现
虚拟设备:SPOOLING 技术
空分复用技术
虚拟磁盘技术:逻辑分区
虚拟存储器:虚拟存储管理实现
异步 多道程序环境下程序(进程)以异步的方式执行,每道程序在何时执行、各自执行的顺序、完成时间都是不确定的,也是不可预知的。
操作系统的主要任务是为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用。
操作系统应具有五方面的功能:
按照一定的算法把处理机分配给进程(线程),并对其进行有效的管理和控制
为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。
内存分配
内存分配的两种方式 :
内存分配的主要任务是:
内存保护
确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。
绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它用户程序中去执行。
地址映射
为保证程序能正确运行,存储器管理必须提供地址映射功能,即能够将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成
内存扩充
借助于虚拟存储技术,从逻辑上扩充内存容量
完成用户进程提出的 I/O 请求;为用户进程分配其所需的 I/O 设备;提高 CPU 和 I/O 设备的利用率;提高 I/O 速度;方便用户使用 I/O 设备。
主要任务:对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。
用户接口,由 OS 实现的所有用户命令所构成的集合常被人们称为 OS 的 Interface(用户接口);有时也称为命令接口。该接口又进一步分为联机用户接口、脱机用户接口和图形用户接口三种。
程序接口,由 OS 实现的所有系统调用所构成的集合被人们称为程序接口或应用编程接口(Application Programming Interface,API)。程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。
操作系统是一个大型系统软件,其结构已经历了四代的变革:
使用分块结构的系统包含若干 module;其中,每个模块实现一组基本概念以及与其相关的基本属性。
块与块之间的相互关系
优点
提高了 OS 设计的正确性、可理解性和可维护性。
增强了 OS 的可适应性。
加速了 OS 的开发过程。
缺点
对模块的划分及对接口的规定要精确描述很困难。
从功能观点来划分模块时,未能将共享资源和独占资源加以区别。
使用分层系统结构包含若干 layer(层);其中,每一层实现一组基本概念以及与其相关的基本属性。
层与层之间的相互关系
层次的设置时应考虑的因素
所谓微内核技术,是指精心设计的、能实现现代 OS 核心功能的小型内核,它与一般的 OS(程序)不同, 它更小更精炼,它不仅运行在核心态,而且开机后常驻内存, 它不会因内存紧张而被换出内存。
当前比较流行的、能支持多处理机运行的 OS 几乎全部都采用了微内核结构,如 Mach OS,windows 2000
微内核所提供的功能,通常都是一些最基本的功能,如进程管理、低级存储器管理、中断和陷入处理、进程间通信、低级 I/O 功能
微内核特点