操作系统简介(记录)
2021-06-13 本文已影响0人
rhc2008
1.
手式操作阶段(人机速度矛盾)
单道批处理系统(缓解人机速度矛盾,效率低)
多道批处理系统(效率高,没有人机交互)
分时操作系统(有人机交互,但不能处理紧急任务)
实时操作系统(处理紧急任务)
网络操作系统
分布式操作系统
个人计算机操作系统
2.OS运行机制:
2种揩令:
特权指令:
非特权指令
2种状态:
用户态(目态):此时CPU只能执行非特权指令
核心态(管态):执行特权指令,非特权指令
用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态:
0:用户态,1为核心态
2种程序:
内核程序:OS是系统管理者,即可执行特权指令,也可以执行非特权指令,运行核态
应用程序:为保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态
3.OS:内核
进程管理,存储管理,设备管理:对系统资源进行管理
时钟管理(实现计时功能)
中断处理:负责实现中断机制
原语(设备驱动,CPU切换):是一种特殊的程序,最接近硬件的部分,这种程序的运行具有原子性(要么不执行,执行就一次执行结束)
OS体系结构:
大内核:高性能,内核代码庞大,结构混乱,难以维护
微内核:内枋功能少,结构清晰,方便维护,需要频繁在枋心态和用户态之间切换,性能低
4.中断的概念和作用:
当中断发生时,CPU立即进入核心态
当中断发生后,当前运行的进程序暂停运行,并由OS内核对中断进行处理
对于不同的中断信号,会进行不同的处理
发生了断,就意味阗需要操作系统介入,开民间管理工作。由于OS的管理工作(比如进生切换
分配I/O设备)需要使用特权指令,因此CPU要从用户态转为核心态。
中断可以使用CPU从用户态切换为核心态,使用OS获得计算机控制权,有了中断,才能实现多道程序并发执行.
用户态,核心态之间的切换是怎么实现的?
用户态->核心态是通过中断实现的,并且中断是唯一途径
核心态->用户态切换是通过执行一个特权指令,将程序状态字(PSW)的标志位设置为用户态
中断分类:
内中断(异常,例外、陷入):信号的来源,CPU内部与当前执行的指令有关.
自愿中断(指令中断:系统调用时使用的访管指令,又叫陷入指令,trap指令)
强迫中断(硬件故障:缺页 /软件中断:整数除0)
外中断(外设请求,人工干预):信号的来源,CPU外部与当前执行的指令无关.
内中断(内部异常):{
陷阱、陷入(trap):有意而为之的异常,如系统调用
故障(fault):由错误条件引起的,可能被故障处理程序修复,如缺页
终止(abort):不可以恢复的致命错误造成的结果,终止处理程序不再将控制返回给引发终止的应用程序,如整数除0
}
外中断: {
I/O 中请求
人式干预:
}
外中断的处理过程:
每条指令执行结束后,CPU检查是否有外部中断信号
若有外部中断信号,则需要保护被中断进程的CPU环境
根据中断信号类型转入相应的中断处理程序
恢复原进程的CPU环境并退出中断,返回原进程继续往下执行
5 系统调用:
凡是与资源有关的操作,都必须通过系统调用的方式向操作系统提出服务请求,由OS代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作
相关处理涉及到对系统资源的管理,对进程的控制,这些功能需要执行一些特权指令才能完成,因此系统调用的相关处理需要在核心态下进行
系统调用与库函数的区别:{
系统调用是操作系统向上层提供的接口
有的库函数是对系统调用的进一步封装
当今编写的应用程序大多是通过高级语言提供的库函数间接进行系统调用
}
系统调用过程:
传递系统调用参数->执行陷入指令(用户态)->执行系统调用相应的服务程序(核心态)->返回用户程序
注意:{
1>陷入指令是在用户态执行,执行陷入指令之后立即引发一个内中断,从而CPU进入核心态
2>发送系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行
3>陷入指令是唯一一个只能在用户态执行,而不在核心态执行的指令
}