系统调用是操作系统为应用程序使用内核功能所提供的接口
并发性是指若干事件在同一时间间隔内发生,而并行性是若干事件在同一时刻发生
在单核CPU系统中,同一时刻只能有一个进程占用CPU,因此进程之间不能并行执行
多道程序技术要求进程间能实现并发,需要实时进程调度以保证CPU的工作效率,而并发性的实现需要中断功能的支持
现代操作系统是多任务的,允许用户把程序分为若干个任务,使他们并发执行,在单CPU中,这些任务并发执行,即宏观上并行执行,微观上分时交替进行:在多CPU中,这些任务是真正的并行执行的。
引入了中断之后才出现了多任务操作系统,中断方式的特点是CPU与外设并行工作。
早期的多道批处理操作系统会将所有进程的数据全部调入主存,再让多道程序并发执行,即使不支持虚拟存储管理,也能实现多道程序并发。
内核态--》用户态 执行一条特权指令--修改PSW的标志位为“用户态”,这就意味着操作系统将主动让出CPU使用权
用户态--》内核态 由“中断”引发,硬件自动完成变态过程,触发中断信号意味着操作系统强行夺回cpu的使用权
中断是操作系统必须提供的功能
屏蔽中断指令,设置时钟指令,停机指令都是特权指令,操作不会损害机器
修改内存单元的值是非特权指令,可以在用户态下进行,但是进程只能访问自己的用户空间
系统调用要保存PSW和PC值,而过程调用一般只保存PC值
一般过程调用中被调用的程序与调用程序运行在同一个状态,可能是内核态也可能是用户态
命令解释程序属于命令接口,能面对用户,在用户态下执行。
发生系统调用时,由硬件保存断点和程序状态字,并将CPU模式改为内核态
常见的特权指令
有关对I/O设备操作的指令
有关访问程序状态的指令
存储特殊寄存器的指令
其他指令
与中断相关的操作中,由操作系统完成的
提供中断服务,初始化中断向量表,保存中断屏蔽字
外部中断处理过程中,PC值由中断隐指令自动保存,而通用寄存器内容由操作系统保存,块表TLB和Cache中的内容则有硬件机构保存。
微内核结构需要频繁的在管态和目态之间进行切换,所以操作系统执行开销相对来说会偏大。
在拥有外核的操作系统当中,外核只负责硬件资源的分配,回收,保护等,进程管理等相关工作由内核负责完成
操作系统的引导程序位于磁盘活动分区的引导扇区中,引导程序分为两种,一种位于ROM中的自举程序(BIOS的组成部分),用于启动具体的设备,另一种位于装有操作系统硬盘的活动分区的引导扇区中的引导程序(成为启动管理器),用于引导操作系统
操作系统初始化的过程中需要创建中断向量表,以实现通电自检,CPU检测到中断信号后,**根据中断号查询中断向量表,跳转到相应的中断处理程序**
在进行硬盘逻辑格式化之前,要对硬盘进行分区,创建硬盘分区表。
分区完成以后,对物理分区进行逻辑格式化,为每个分区初始化一个特定的文件系统,并创建文件系统的根目录。
![[虚拟机分类.png]]
![[开机启动过程.png]]