操作系统的概念和功能

什么是操作系统?它的功能和目标有哪些?
操作系统是指控制和管理整个计算机系统的系统资源(软件和硬件),并合理的组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境(向上层提供便以服务);它是计算机系统中最基本的系统软件。

1、管理系统资源

举例:使用微信与好友视频
文件管理:找到微信所在的位置
eg:D:\Tencent\WeChat…
存储器管理:双击打开WeChat.exe
(需要把该程序相关数据放入内存,执行一个程序前需要将该程序放入内存中,才能被cpu处理)
处理机管理:微信程序正常运行(对应的进程被处理机cpu处理)
设备管理:开始和朋友视频聊天(需要将摄像头设备分配给进程)
2、向上层提供便易服务

联机命令接口(交互式命令):在命令提示框中输入指令
脱机命令接口(批处理指令)
程序接口和命令接口统称为用户接口
3、最基本的系统软件–最接近硬件的层次

操作系统的特征

1、并发
指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。
易混概念—并行:指的是两个或多个事件在同一时刻同时发生。
操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同事运行着的,而微观上看是交替运行的。
单核cpu同一时刻只能执行一个程序,多个程序只能并发地执行。
多核cpu同一时刻可以执行多个程序,多个程序可以并行地执行。
eg:四核cpu可以并行四个程序,四个以上的程序需要“同时”运行时,那么并发性依然是必不可少的,因此并发性是操作系统一个最基本的特性。
2、共享
共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用

1)互斥共享方式
一个时间段内只允许一个进程访问该资源
2)同时共享方式
允许一个时间段内由多个进程“同时”对它们进行访问
eg:
互斥共享: QQ和微信不能同时与两位不同的好友视频。
同时共享用QQ发送文件A,用微信发送文件B。(宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交易访问硬盘的)
3、虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。

4、异步
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,已不可预知的速度向前推进,这就是进程的异步性。
操作系统的发展与分类

1、手工操作阶段
主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低
2、批处理阶段
引入**脱机输入/输入技术(用外围机+磁带完成)通过外围机把程序提前存入磁带,并由监督程序(操作系统的雏形)**负责控制作业的输入输出
1)单道批处理系统
优点:缓解一定程度上的人机速度矛盾,资源利用率有所提升。
缺点:内存中仅能有一道程序进行运行,只有该程序运行结束之后才能调入下一道程序。CPU有大量的事件实在空闲等待I/O完成。资源利用率依然很低。
2)多道批处理系统
优点:多道程序 并发 执行,共享计算机资源。资源利用率大幅提升(在I/O工作时,cpu可开始运行下一道程序),cpu和其他资源更能保持“忙碌”状态,系统吞吐量增大。
缺点:用户响应时间长,没有人机交互功能(用户提交作业后只能干等计算机处理完成,中间不能对作业进行操作。eg:无法调试程序/无法在程序运行过程中输入一些参数)。
3、分时操作系统
计算机以时间片(时间段)为单位轮流为各个用户/作业 服务,各个用户可以通过终端与计算机进行交互。
优点:用户请求可以被及时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环的为每个用户/作业服务一个时间片,不区分任务的紧急性。
4、实时操作系统
在实时操作系统的控制下,计算机系统接收到外部信号后及时处理,并且要在严格的实现内处理完事件。实时操作系统主要的特点是及时性和可靠性。
优点:能够优先响应一些紧急任务,某些紧急任务不需要时间片排队。

5、其他操作系统

操作系统的运行机制

1、两类程序
1)应用程序:qq 微信诸如此类。
2)内核程序:用来实现操作系统的程序。
内核是操作系统最重要最核心的部分,也是最接近硬件的部分。甚至可以说一个操作系统只要有内核就行了
2、两类指令
1)特权指令:操作系统内核作为“管理者”,有时会让cpu执行一些“特权指令”。如内存清零。这些指令影响重大,只允许“管理者”–即操作系统内核来使用。
2)非特权指令:简单操作 不影响其他应用程序运作的指令
3、两种处理器状态
在cpu设计和生产的时候就划分了特权指令和非特权指令,因此cpu执行一条指令就能判断出其类型和区分它是内核程序还是应用程序。
1)内核态/核心态/管态:当cpu处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令。
2)用户态/目态:当cpu处于用户态是,说明此时正在运行的是应用程序,此时只能执行非特权指令。
拓展:cpu中有一个寄存器叫程序状态字寄存器(psw),其中有个二进制位,1表示“内核态”,0表示“用户态”
中断和异常

CPU上会运行两种程序,一种是操作系统内核程序(整个系统的管理者),一种是应用程序。
内核态–>用户态:执行一条特权指令–修改psw的标志为“用户态”,这个动作意味着操作系统将主动让出cpu使用权。
用户态–>内核态:由“中断”引发,硬件主动完成变态过程,触发中断信号意味着操作系统将强行夺回对cpu的使用权。
1、中断的作用
让cpu由用户态转为内核态,是操作系统重新夺回对cpu的控制权。
2、中断类型

1)内中断
与当前执行的指令有关中断信号来自cpu内部
eg1:试图在用户态下执行特权指令
eg2:执行除法指令时发现除数为0
eg3:有时候应用程序想请求操作系统内核的服务,此时会执行一条陷入特殊的指令–陷入指令,该指令会引发一个内部中断信号
2)外中断
与当前执行的指令无关,中断信号来自cpu外部
eg1:时钟中断–时钟部件每隔一个时间片会给cpu发送一个时钟中断信号(让多个程序并发执行)
eg2:I/O中断–由输入/输出设备发来的中断信号(当输入输出任务完成时,向cpu发送中断信号)
3、中断机制则基本原理

转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/killuayou/article/details/140551131



