一、操作系统的定义
概念:
-
控制和管理整个计算机系统的 硬件和软件 资源,并合理地组织调度计算机的工作和资源的分配。(中间的角度①)
-
提供给用户和其他软件方便的接口和环境(从下到上的角度②)
-
计算机系统中最基本的系统软件(从上到下的角度③)
操作系统的功能和目标
操作系统的特性
-
并发——宏观上式同时发生、微观上是交替发生(注意与并行区别)
-
共享——资源共享,指系统中的资源可供内存中多个并发执行的进程共同使用
-
虚拟——时分复用技术——如虚拟存储器技术、空分复用技术——如虚拟处理器。建立在并发的基础上。
-
异步——进程执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。建立在并发的基础上。
操作系统的发展和分类(以下下者是对上者的发展)
-
手工操作阶段:用户独占全机、人机速度矛盾导致资源利用率较低
-
批处理阶段(单道批处理系统、多道批处理系统)
单道批处理阶段:引入脱机输入/输出技术(用磁带完成),并监督程序——操作系统的雏形负责控制作业的输入、输出
-
主要优点:缓解了一定程度的人机矛盾,资源利用率有所提升。
-
主要缺点:内存中仅有一道程序运行,CPU大量时间在空闲等待I/O完成,资源利用率依然很低。
-
多道批处理系统:每次往内存中输入多道程序,操作系统正式诞生,引入中断技术
-
- 多道程序并发执行,共享计算机资源。资源利用率大幅度提升
- 用户响应时间长,没有人机交互功能(用户提交自己作业之后就只能等待计算机处理完成,中间不能控制自己的作业)
分时操作系统:计算机以时间片为单位轮流为各个用户/作业服务
- 主要优点:解决了人机交互问题,允许多个用户同时使用一台计算机
- 缺点:不能优先处理一些紧急任务。
实时操作系统
-
主要优点:可以优先处理一些紧急任务
-
其他操作系统
- 网络操作系统:实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。example :Windows NT
- 分布式操作系统:特点:并行性和分布性,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。
- 个人计算机操作系统:Windows XP等
操作系统的运行机制和体系结构
指令(定义):CPU能够识别、执行的最基本命令。
处理器的状态调换体现在psw(程序状态字)的0或1.
内核:计算机配置的底层软件,是操作系统最基本、最核心的部分,实现操作系统内核功能的就是内核程序。
中断和异常
中断:操作系统诞生,引入中断机制,实现多道程序并发执行。本质:发生中断意味着需要操作系统介入,开展管理工作(比如进程切换、分配I/O设备等)。
中断可以使得CPU从用户态转换为核心态(只有中断这个唯一途径,然后在PSW(程序状态字)),使得操作系统获得计算机的控制权。有了中断,才有多道程序并发执行。
系统调用
系统调用背后的过程:
传递系统调用函数->执行陷入指令(用户态)->执行系统调用相应(核心态)->返回用户程序
注意:
- 陷入指令(trap/访管指令/陷入指令)是在用户态执行的,执行陷入指令之后立即引发一个内中断,从而CPU进入核心态
- 发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行
- 陷入指令是唯一一个只能在用户态执行,而不可在核心态执行的指令