特征
并发性
并发和并行
并发指两个或多个事件在同一时间加个内发生。这些时间宏观上是同时发生的,但微观上是交替发生的。
并行指两个或多个事件在同一时刻同时发生,只能在多核cpu中出现,一个单核cpu同一时刻只能处理一个程序
共享性
共享指资源共享,系统中的资源可供内存中的多个并发执行的进程共同使用。
资源共享的方式有两种,
互斥共享方式:OS中的某些资源提供给多个进程使用,但一个时间端只允许一个进程使用。共享摄像头设备,互斥。
同时共享方式:OS中的某些资源提供给多个进程使用,由多个进程同时对他们进行访问。共享音频设备,同时播放音乐;qq微信同时读取硬盘
虚拟性
虚拟存储器技术,每个程序都有虚拟地址空间,空分复用技术。
虚拟处理器技术,CPU时间划分给不同的程序使用,时分复用技术。
异步性
在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是持续的,而是间歇的。这就是异步性
没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本特征。
发展和分类
运行机制与体系架构
什么是指令
代码都会被翻译成很多条的指令执行,每一条指令就是让cpu干一些工作。“指令”就是CPU能识别、执行的最基本命令。比如加法指令。
有的指令是普通的指令,比如加减乘除运算指令,我们称它为非特权指令。而有的指令拥有着很高的权限,比如内存清零、关机等,一旦用户程序执行了这个指令,可能会造成严重的后果,我们称这样的指令为特权指令。
特权指令不允许普通的用户程序使用的。
如何判断是否执行特权指令
我们将cpu分为用户态(目态)和内核态(管态)。
用户态(目态):此时cpu只能执行非特权指令,一般是用户程序在执行
内核态(管态):此时cpu可以执行非特权指令和特权指令,一般是内核程序在执行(内核程序是内核的管理者)
操作系统一般用程序状态关键字(PSW)中的某个标志位来识别当前处理器处于一个什么状态。如0表示用户态,1表示内核态。
操作系统内核结构
内核是计算机配置底层的软件,是操作系统最基本、最核心的部分。实现操作系统内核功能的程序就是内核程序。
操作系统分为内核部分和非内核功能。内核功能主要包括一些底层的操作,比如进程管理、存储器管理、设备管理、文件管理、处理机管理等。非内核功能主要是操作系统提供给用户的功能,比如任务管理器等。
时钟管理:实现计时功能
中断处理:处理中断请求
原语:原语是一种特殊的程序,是最接近硬件的部分,这种程序运行具有原子性,执行过程是不可分割的整体,运行时间比较短、调用频繁。
对于进程管理、存储器管理、设备管理,有的操作系统不会把这部分归作内核功能,也就是不同的操作系统内核划分可能不一样。