操作系统
1.什么是操作系统
Operating System,指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基础的系统软件
2.操作系统的功能及目标
命令接口:允许用户直接使用
程序接口:允许用户通过程序间接使用,由一组系统调用(程序接口)组成
GUI:图形用户接口
3.操作系统的特征
3.1 并发
两个或多个事件在同一时间间隔内发生。宏观上看是同时发生的,但微观上是交替发生的。
并行:两个或多个事件在同一时刻同时发生
3.2 共享
资源共享,系统中的资源可供内存中多个并发执行的进程共同使用
3.3 虚拟
是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上对应物是用户感受到的
- 空分复用技术:程序需要放到内存里,然后接收CPU的调用。但实际可以多开程序,远大于物理内存(虚拟存储器技术)
- 时分复用技术:一个程序需要被分配CPU才能运行。实际上可以运行大于CPU个数的程序,是因为使用了虚拟处理技术。微观上CPU在各个微小的时间段内交替着为各个进程服务
3.4 异步
在多个程序并发执行时,由于资源有限,进程的执行不是一贯到底的,而是走走停停。
总结:
-
并发和共享互为存在条件。操作系统的并发性是指同时存在多个允许的程序,共享是指多个允许的程序共享系统资源。
-
如果没有并发性和共享,虚拟和异步也无从谈起。
-
并发和共享是操作系统中最基本的两个特征
4.操作系统的分类和发展
5.运行机制
5.1 两种指令
指令是指处理器能够识别、执行的最基本命令
- 特权指令:不允许用户程序使用
- 非特权指令:运行用户程序使用
5.2 两种处理器状态
CPU通过处理器状态判断当前是否可以执行特权指令
- 用户态(目态):此时CPU只能执行非特权指令,受限地访问内存,且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取
- 内核态(管态):CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序
5.3 两种程序
- 内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在内核态
- 应用程序:为了保证系统的安全运行,普通应用程序只能执行非特权指令,运行在用户态
6.操作系统的体系结构
-
大内核:将系统的主要功能模块都作为系统内核,运行在核心态
-
微内核:只能最基本的功能保留在内核
7.中断和异常
7.1 中断
为了实现多道程序并发执行而引入中断机制
中断可以使CPU从用户态切换到核心态,使操作系统获得计算机的控制器,并且中断/异常/陷入是使用户态转换为核心态的唯一途径。
通过系统执行一个特权指令,设置程序状态字(PSW)的标志位,可以实现从内核态到用户态的切换。
7.2 中断的分类
(1)通过信号的来源分类
7.3 外中断的处理过程
8.系统调用
是指操作系统提供给应用程序使用的接口。应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统同一掌握,因此在用户程序中,凡是与资源有关的操作,都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成,从而保证系统的稳定性和安全性