计算机系统概述
操作系统关注的是内核(Kernel),内核是一段始终运行在内存中的代码,拥有访问物理硬件的特殊权限。
操作系统引导
- CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进行硬件自检,再开机)
- 将磁盘的第一块(主引导记录)读入内存,执行磁盘引导程序,扫描分区表
- 从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序
- 从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成“开机”的一系列动作 虚拟机
操作系统的运行机制:
CPU有两种状态,【内核态】(核心态、管态)和【用户态】(目态)
- 内核态:
- 用户态: CPU 中有一个寄存器PSW(程序状态字寄存器),其中有一个二进制位,1标识【内核态】、0标识【用户态】。
中断和异常:
中断是让操作系统内核重新获取到CPU使用权的唯一途径。
- 内中断(异常):与当前执行的指令有关,中断信号来源于CPU内部。
有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令(trap陷入指令),该指令会引发一个内部的中断信号。(trap陷入指令-非特权指令) 陷入trap、故障fault、终止abort
- 外中断:与当前执行的指令无关,中断信号来源于CPU外部。 时钟中断、I/O 中断
中断机制的基本原理:
不同的中断信号,需要使用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型取查询【中断向量表】,以此来找到相应的中断处理程序在内存中的存放位置。
系统调用:
系统资源共享:由操作系统内核对共享资源进行统一管理,并向上层应用提供【系统调用】,用户程序想要使用共享资源,只能通过【系统调用】向操作系统内核发出请求。由操作系统内核进行各个请求之间资源的协调。
操作系统体系结构: