参考视频:王道计算机考研 操作系统_哔哩哔哩_bilibili
第一章 计算机系统概述
概念:控制和管理软件和硬件资源,合理组织、调度计算机工作与资源分配,为用户和其他软件提供方便的接口和环境,是计算机系统最基本的系统软件。
目录
6.其他(网络操作系统,分布式操作系统,个人计算机操作系统)
一、操作系统的目标和功能
1.是计算机系统资源的管理者
进程是程序的执行过程。执行前需要找到程序存放位置(文件管理),将程序放入内存中(存储器管理),再分配CPU处理(处理机管理)。
设备管理,方便完成用户的I/O请求(输入/输出),方便用户使用外部设备。
2.是用户与硬件之间的接口
让用户方便、快捷、可靠地操纵计算机硬件并运行自己的程序。
(1)命令接口-----用户直接使用
——联机命令接口(又称交互式命令接口),适用分时和实时系统的接口。【一句命令一次执行】
——脱机命令接口(又称批处理命令接口),适用于批处理。【一组命令一次执行】
(2)程序接口-----用户通过程序间接使用
系统调用(又称广义指令),用户请求操作系统提供服务,如外部设备的使用、分配和回收内存。
(3)图形接口
用户界面(GUI)
3.操作系统用作扩充机器
覆盖了软件的机器称为扩充机器或虚拟机。
二、操作系统的特征
并发和共享是最基本的特征,互为存在的条件。
1.并发:宏观上同时,微观上交替【同一时间间隔】(并行:同一时刻,同时发生【同一时刻】)
2.共享,
互斥共享方式,一段时间内只允许一个进程占用此资源。
同时访问方式,一段时间内多个进程“同时”(即交替)访问资源。
3.虚拟,看起来逻辑上使用的内存似乎远远大于实际上的内存。(第三章)
虚拟技术(空分复用技术和时分复用技术)
4.异步,多道进程并发执行的每一个执行都不是一贯到底的,而是走走停停,以不可预知的速度向前推进。
三、操作系统的发展与分类
1.手工操作阶段
无操作系统,计算机本身处理很快,但是输入/输出采用手工纸带放入纸带机,使变得很慢。
主要缺点:用户独占全机、人机速度矛盾导致资源利用率极低。
2.批处理阶段---单道批处理系统
引入脱机输入/输出技术,磁带完成,监督程序负责控制。
主要优点:缓解一定程度的人机速度矛盾。
主要缺点:内存中仅能有一道程序运行,当前程序运行完之前其他程序等待,CPU存在大量时间用于等待I/O的完成,资源利用率依然很低。
3.批处理阶段---多道批处理系统
每次往内存中输入多道程序,引入中断技术,操作系统诞生,用于管理程序的运行,各个程序并发执行。
主要优点:并发,共享计算机资源(如CPU),因此,资源利用率大幅提升,保持“忙碌”状态。
主要缺点:用户响应时间长,没有人机交互功能,用户提交自己的作业之后只能等待其完成。
4.分时操作系统
【目的是为了尝试解决人机交互的问题】
计算机以时间片为单位轮流为各个用户/作业服务,各个用户通过终端和计算机交互。
主要优点:用户请求可以及时响应,访问同一台计算机的多个用户感受不到别人的存在。
主要缺点:不能优先处理紧急任务,只会循环为每一个用户的作业服务分配一个固定的时间片。
5.实时操作系统
主要优点:优先响应紧急任务,不需要排队等待处理。并且要在严格的时限内处理完事件【硬实时操作系统(如:导弹控制系统、自动驾驶系统)】,即其主要特点就是及时性和可靠性。
软实时系统可以偶尔违反时间规定(如:火车订票系统)
6.其他(网络操作系统,分布式操作系统,个人计算机操作系统)
(不重要)
四、操作系统的运行机制和体系结构
1.运行机制
①特权指令:不允许普通用户使用,②非特权指令。
为了确定何时使用何种指令,对应的处理器CPU规定了两种状态【用程序状态寄存器PSW中的一个标志位来标识】:①用户态(目态)、②核心态(管态)。用户态只能执行非特权指令,核心态两种指令都能执行。
相应的,能执行两种指令的程序称为①内核程序,运行在核心态;普通的②应用程序不允许随便使用特权指令,一般运行在用户态。
2.操作系统内核
内核是最基本、最核心的底层软件。分为:
1)与硬件紧密关联的模块:时钟管理、中断处理、原语。
2)对系统资源进行管理的功能:进程管理、存储器管理、设备管理。
3.操作系统的体系结构
五、中断和异常
1.中断机制
早期计算机只能串行,需要等待上一个程序运行完,资源利用率低。发明操作系统,引入中断技术,目的就是为了实现多道程序并发执行。
当CPU收到中断信号时,就会切换到核心态并由操作系统内核接手处理,执行完中断回到用户态。
2.中断的概念和作用
中断可以使CPU从用户态切换为核心态(转换的唯一途径),使操作系统获得计算机的控制权,而从核心态到用户态只需要执行一个特权指令将状态字标志位设置为“用户态”。
3.中断的分类
4.外中断的处理
1)CUP在用户态下执行每一条指令之后,都会检查当前是否有外部中断信号。
2)检测到中断信号,需要保护中断进程的CPU环境(各个状态为和寄存器信息),方便回来。
3)转入中断处理程序处理。
4)恢复环境,退出中断,继续执行。
六、系统调用
1.系统调用作用
由于有系统调动,两个人用打印机打印论文,先请求的先打,不会混。
用户/应用程序通过系统调用请求操作系统的服务,所有共享资源由操作系统掌管,由程序请求资源,操作系统代为完成。保证系统的稳定性和安全性,防止用户非法操作。
(了解一下)
2.系统调用与库函数的区别
1)系统调用是操作系统向上层提供的接口。
2)有的库函数是对系统调用的进一步封装。
3.系统调用背后的过程
1)库函数(如:write("abc"))封装了系统调用的复杂细节。
2)执行关于write的汇编语言指令
核心态下唯一一个不能执行的就是陷入指令/访管指令。
系统调用会通过陷入指令使处理器从用户态进入核心态。