目录
操作系统
1.简介
操作系统:是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境;他是计算机系统中最基本的系统软件。
注:1.操作系统是系统资源的管理者。
2.向上层提供方便易用服务。
3.是最接近硬件的一层软件。
用户
应用程序(软件)
操作系统
裸机(纯硬件)
2.操作系统是系统资源的管理者。
提供的功能:
处理机管理,存储器管理(主存,内存),文件管理,设备管理。
目标:
安全,高效。
补:执行一个程序前需要将改程序放到内存中,才能被CPU处理。
注:封装思想:操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便地使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。
3.向上层提供方便易用服务
三种命令接口:
1.GUI(图形化用户接口)
2.联机命令接口=交互式命令接口 用户说一条,系统做一条。 如:进入cmd,输入time。
3.脱机命令接口=批处理命令接口:用户说一堆,系统跟着做一堆。
4.程序接口:在程序中进行系统调用来使用程序接口。普通用户不能直接使用程序接口,只能通过程序代码间接使用。
注解:
1为图形操作化界面。
2,3用户可以直接使用
4即系统调用(广义指令)。如printf函数使用了系统调用,类似函数调用,是应用程序请求操作系统服务的唯一方式
4.是最接近硬件的一层软件
需要实现对硬件的拓展
操作系统特征
1.并发
并发:
指两个或多个事件在同一时间间隔内发生。这些实践宏观上是同时发生的,但在微观上是交替发生的。
并行:
指两个或多个事件在同一时刻同时发生。
注:单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行。
多核CPU同一时刻可以同时执行多个程序,各个程序可以并行地执行。
2.共享
互斥:
一个时间段内只允许一个进程访问该资源。
同时:
允许一个时间段由多个进程“同时”对他们进行访问。
并发和共享的关系-------互为存在条件
3.虚拟
虚拟:指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
虚拟分为:空分复用技术(如虚拟存储器技术)
时分复用技术(如虚拟处理器)
注:没有并发性就没有虚拟性
4.异步
异步:在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的(争抢资源),而是走走停停。
注:并发性为前提
操作系统的发展和分类
1.手工操作阶段(纸带机)
主要缺点:
用户独占全机、人机速度矛盾导致资源利用率低。
2.单道批处理系统(外围机+磁带)
原理:
引入脱机输入,输出技术,并由监督程序负责控制作业的输入、输出。
优点:
缓解了一定程度的人机速度矛盾,资源利用率有所提升。
缺点:
cpu有大量的时间是在空闲等待I/O完成。资源利用率低。
3.多道批处理系统
优点:
多道程序并发执行,共享计算机资源。资源利用率大幅度提升。CPU和其他资源更能保持“忙碌”状态,系统吞吐量增大。
缺点:
用户响应时间长,没有人机交互功能。无法调试程序/无法在程序运行过程中输入参数。
4.分时操作系统
分时操作系统原理:
计算机以时间片为单位轮流为各个用户/作业调度,各个用户可通过终端与计算机进行交互。
优点:
用户请求可以被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
缺点:
不能优先处理一些紧急任务。
5.实时操作系统
优点:
能够优先响应一些紧急任务,某些紧急任务不需要时间片排队。
主要特点:
及时性和可靠性。
分类:
硬实时系统:必须在绝对严格的规定时间内完成处理。(导弹控制系统)
软实时系统:能接受偶尔违反时间规定。(12306)
操作系统的运行机制
1.问题:
指令:就是CPU能识别、执行的最基本命令。
程序执行:就是CPU执行一条一条的机器指令的过程。
2.内核程序和应用程序
内核程序:整个系统的管理者
3.CPU的两种状态:内核态(管态)和用户态(目态):
处于内核态时,说明此时正在运行的是内核程序,此时可以执行特权指令。
处于用户态时,说明此时正在运行的是应用程序,此时可以执行非特权指令。
4.内核态与用户态的转变
内核态--->用户态 一条修改PSW的特权指令。
用户态--->内核态 由中断引起,硬件自动完成。
中断和异常
1.中断的作用
中断让操作系统内核重新夺回CPU使用权的唯一途径。
2.中断的类型
内中断:
CPU在执行指令时会检查是否有异常发生。
与当前执行的指令有关,中断信号来源于CPU内部。
外中断:
每个指令周期末尾,CPU都会检查是否有外中断信号需要处理。
与当前执行的指令无关,中断信号来源于CPU外部。
3.中断机制的基本实现原理
内中断(异常)原因:
1.当前执行的指令是非法的,则会引发一个中断信号。
2.执行“陷入指令”意味着应用程序主动地将CPU控制权还给操作系统内核。“系统调用”就是通过陷入指令完成的。
注:陷入指令不是特权指令。
外中断(中断)原因:
例:时钟中断---由时钟部件发出的中断信号;
例:I/O中断---由输入/输出设备发出的中断信号。
找到相应的中断处理程序:
通过“中断向量表”实现。
4.异常(内中断)的分类
陷入、陷阱(trap)
由陷入指令引发,是应用程序故意引发的。
故障(fault)
由错误条件引起的,可能被内核程序修复。内核程序修复后会把cpu使用权给应用程序,让他继续执行下去。如:缺页故障
终止(abort)
由致命错误引起,内核程序无法修复该错误,因此一般不再将CPU的使用权还给引发终止的应用程序,而是直接终止该应用程序。如:整数除0、非法使用特权指令。
系统调用
1.简介
是操作系统提供给应用程序使用的接口,可以理解为一种可供应用程序调用的特许函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。
2.系统调用与库函数的区别
3.什么功能要用系统调用实现
设备管理
文件管理
进程控制
进程通信
内存管理
4.系统调用的过程
传参--需要系统调用的会发出陷入指令。
陷入指令/trap/访管---会进入内核态。
由操作系统内核程序处理系统调用请求。
返回应用程序。
操作系统的体系结构
1.大内核
简介:
将操作系统的主要功能模块都作为系统内核,运行在和心态。
优点:
高性能。
缺点:
内核代码庞大,结构混乱,难以维护。
例子:
linux,unix
2.微内核
简介:
只把最基本的功能保留在内核。
优点:
内核功能少,结构清晰,方便维护。
缺点:
需要频繁地在和心态和用户态之间切换,性能低。
例子:
Windows NT
3.补充
操作系统引导
1.CPU结构:
RAM(内存)
ROM(BIOS) 包含:ROM引导程序,即自举程序。