目录
1.1操作系统的概念、功能和目标
😀本节内容主要来自于B站王道计算机考研 操作系统
本节主要脉络
操作系统的概念
操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调
度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本
的系统软件。
操作系统的功能和目标
作为系统资源的管理者
操作系统作为系统资源的管理者,具有处理机管理、存储器(内存)管理、文件管理、设备管理等功能,具体举例如下。
作为用户和计算机硬件之间的接口
操作系统作为用户和计算机硬件之间的接口,提供了命令接口(允许用户直接使用),程序接口(允许用户通过程序间接使用),GUI。这三个统称为用户接口。
命令接口分为:联机命令接口和脱机命令接口。
联机命令接口
联机命令接口=交互式命令接口,用户说一句,操作系统做一句。
脱机命令接口
脱机命令接口=批处理接口,用户说一堆,操作系统做一堆。
程序接口
程序接口:可以在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程
序代码间接使用。
程序接口=系统调用=系统调用命令=广义指令
GUI
对硬件机器的拓展
操作系统对硬件机器的拓展:将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能。
普通用户无需关心这些硬件在底层是怎么组织起来工作的,只需直接使用操作系统提供的接口即可。
1.2操作系统的特征
本节主要脉络
并发
并发的定义(与并行的区别):指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
常考易混概念——并行:指两个或多个事件在同一时刻同时发生。
举例:ps:王道的举例都很形象。。。
操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行着的,而微观
上看是交替运行的。操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。
多道程序设计:通过安排作业(编码与数据)使得CPU总有一个执行作业,从而提高CPU利用率。
注意(重要考点):
单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行
比如Intel 的第八代 i3 处理器就是 4 核CPU,意味着可以并行地执行4个程序
共享
共享的定义:共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
资源共享方式分为两种:互斥共享方式、同时共享方式。
互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问。(微观上是交替的)
举例如下:
并发和共享的关系
并发和共享互为存在条件
并发性指计算机系统中同时存在着多个运行着的程序。
共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。
通过上述例子来看并发与共享的关系:
使用QQ发送文件A,同时使用微信发送文件B。
1. 两个进程正在并发执行(并发性)
2. 需要共享地访问硬盘资源(共享性)
如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义。
如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。
虚拟
虚拟:虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上
对应物(后者)是用户感受到的。
举例如下:
异步
异步的定义:异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,
而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。
笔者认为,此举例有点像后面章节所讲的阻塞与非阻塞的关系。
1.3操作系统的发展和分类
本节主要脉络
手工操作阶段
主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低。
单用户、无并发、利用率低。
批处理阶段
单道批处理阶段
解决了:一定程度上的资源利用率和人机速度矛盾;可以实现多用户的一次性的输入。
缺点:单道,I/O等待浪费时间,资源利用率仍然很低。
多道批处理阶段
解决了:单道不能并发的问题、提升了CPU吞吐量、CPU利用率大幅提升因为有并发了。
缺点:没有人机交互。
程序并发执行由中断技术实现
分时操作系统
解决了:人机交互的功能、多用户的同时使用(此同时是宏观的)。
缺点:不能优先处理紧急任务。
特性:及时性,多路性,可靠性。
影响分时系统响应时间的因素:1.用户数,2.时间片大小,3.CPU效率。
实时操作系统
解决了:能够优先响应一些紧急任务,具有严格的截至时间要求。
特性:实时性、多路性、交互性、可靠性。
网络操作系统
是伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如:Windows NT 就是一种典型的网络操作系统,网站服务器就可以使用)。
分布式操作系统
主要特点是分布性和并行性。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由它们并行、协同完成这个任务。
个人计算机操作系统
如 Windows XP、MacOS,方便个人使用。
1.4操作系统的运行机制和体系结构
本节主要脉络
操作系统的运行机制
两种指令
特权指令:不允许用户程序使用的,如内存清零指令。
用户指令:允许用户程序使用的,如普通的运算指令。
两种处理器状态
两种程序
核心态和用户态的转化
内核态->用户态:执行一条特权指令——修改PSW的标志位为“用户态”,这个动作意味着操作系统
将主动让出CPU使用权。
用户态->内核态:由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺
回CPU的使用权。触发中断后,硬件自动完成向内核态的转化。
除了非法使用特权指令之外,还有很多事件会触发中断信号。一个共性是,但凡需要操作系统介入的地方,都会触发中断信号。
操作系统的内核
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。实现操作系统内核功能的那些程序就是内核程序。
大内核和微内核
大内核和微内核的定义:看图会形象很多
大内核和微内核的优缺点:
1.5中断和异常
本节主要脉络
中断机制的诞生
中断是为了实现多道程序并发执行而引入的一种技术。
中断的概念和作用
中断的定义:“中断”会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权。
中断是CPU从用户态进入核心态的唯一途径,如果没有“中断”机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序。
中断的分类
内中断(也称异常、例外、陷入)
内中断的信号来源于CPU内部,与当前执行的指令有关。
内中断分为自愿中断(指令中断),如系统调用时使用的陷入指令;强迫中断。
强迫中断又分为硬件故障,如缺页;软件中断,如整数除0.
外中断
信号来源与CPU外部,与当前执行的指令无关。
外中断分为外设请求,如I/O操作完成发出的中断信号;人工干预,如用户强行终止一个进程。
另一种分类方法
中断的处理过程
CPU在执行指令时会检查是否有内中断产生,CPU在执行指令后会检查是否有外中断产生。
检测到中断信号后,首先保护被中断进程的CPU环境。
(ps:如果这里学习了汇编语言,会更好理解这个过程,即相当于pushf,push IP,push CS)。
根据中断信号类型,查找中断向量表(这里也是汇编的知识,因此简化了,不作详细解说),找到中断处理程序,执行。
然后返回原进程(会先将push的寄存器pop出来)。
声明:素材来自网络,侵删!