1.操作系统基本概念
基本概念
-
操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件。
-
没有任何软件支持的计算机成为裸机。在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器
-
通常把覆盖了软件的机器成为扩充机器,又称之为虚拟机
功能与目标
-
资源管理者 :设备,文件,存储器、处理机(进程线程)管理(各类资源的管理者)操作系统整个就围绕者这些资源的管理设计而展开的.
-
向上提供服务: 操作系统把一些硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。(封装思想)
- 操作系统实现了对硬件机器拓展(操作系统将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能)
2.操作系统特征
其中并发与共享是最基本的特征,二者互为存在条件。
并发:
指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。(并行:指两个或多个事件在同一时刻同时发生。)
注意:单CPU同一时刻只能进行一个程序,各程序只能并发不能并行。
eg:4核CPU,意味着可以并行地执行4个程序。
共享:
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
常见的共享方式为
-
互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
-
同时共享方式:系统中的某些资源,允许一个时间段内由多个进程交替对它们进行访问。
并发和共享的关系
- 并发性指计算机系统中同时存在着多个运行着的程序。
- 共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。
如果失去了并发性,则就不需要共享性了,并发共享是互为条件的。
虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
虚拟技术分为 1. 空分复用技术(虚拟存储器) 2.时分复用技术(虚拟处理器)
根据上文可知:如果失去并发性,虚拟性就没有存在的意义。
异步
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
根据上文可知:如果失去了并发性,即系统只能串行地运行各个程序,那么每个程序的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性。
3.操作系统的发展与分类
学习时注意对比优缺点
手工操作阶段
- 主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低。计算机大量时间处于空余状态。
批处理阶段
- 单道批处理系统:引入脱机输入/输出技术(用外围机+磁带完成),并由监督程序负责控制作业的输入、输出
外围机将程序放入到磁带中,计算机读取程序从磁带中读取。
主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升。
主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序。CPU有大量的时间是在空闲等待I/O完成。资源利用率依然很低。
- 多道批处理系统:操作系统正式出现,每次往内存中读入多道程序。支持多道程序并发运行。
第一个程序输入完成后,输入空闲。第二个程序不需要等到第一个程序运行完毕,就可以继续输入。
主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU和其他资源更能保持“忙碌”状态,系统吞吐量增大。
主要缺点:用户响应时间长,没有人机交互功能(用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业的执行
分时操作系统
分时操作系统:计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。
主要优点:用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
主要缺点:无法处理紧急任务,操作系统对各个用户/作业都是完全公平的
实时操作系统
在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性。
主要优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
网络操作系统(了解)
是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如: Windows NT就是一种典型的网络操作系统,网站服务器就可以使用)
分布式操作系统(了解)
主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。
个人计算机操作系统(了解)
如Windows xP、MacOs,方便一人使用。
4. 操作系统的运行机制
内核程序与用户程序
普通程序员写的程序就是“应用程序”
微软、苹果有一帮人负责实现操作系统,他们写的是“内核程序”。
由很多内核程序组成了“操作系统内核”,或简称“内核(Kernel)内核是操作系统最重要最核心的部分,也是最接近硬件的部分
特权指令与非特权指令
特权指令:
操作系统内核,有时会让CPU执行一些“特权指令”,如:内存清零指令。这些指令影响重大,只允许操作系统内核使用。
内核程序中才允许出现特权指令。
非特权指令
用户程序中只能有非特权指令。
内核态与用户态
CPU为了区分内核程序与用户程序,划分出了内核态与用户态
- 处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令
- 处于用户态时,说明此时正在运行的是应用程序,此时只能执行非特权指令
CPU中有一个寄存器叫程序状态字寄存器(PSW),其中有个二进制位,1表示内核态,0代表用户态。
eg:
- 计算机开机时,CPU处于内核态,内核程序在CPU上运行。
- 完成开机启动应用程序,操作系统内核程序在合适的时候主动让出CPU,让该应用程序上CPU运行。
- 操作系统在让出CPU前会从内核态切换到用户态。应用程序在用户态运行。用户态无法运行特权指令(通过中断停止运行程序)
- 内核态→用户态:执行一条特权指令―一修改PSw的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权
- 用户态→内核态:由“中断”引发,硬件自动完成切换状态的过程,触发中断信号意味着操作系统将强行夺回CPU的使用权