操作系统备考学习 day2
- 计算机系统概述
- 操作系统运行环境
- 中断和异常的概念
- 系统调用
- 操作系统体系结构
- 操作系统引导
- 虚拟机
计算机系统概述
操作系统运行环境
中断和异常的概念
中断的作用
CPU上会运行两种程序,一种是操作系统内核程序,一种是应用程序。
在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序
中断是让操作系统内核夺回CPU使用权的唯一途径
中断会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权
如果没有中断机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个应用程序,就无法实现并发
中断的类型
内中断中:
- 若当前执行的指令是非法的,如除法的除数为0,则会引发一个中断信号
- 有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令–陷入指令,该指令会引发一个内部中断信号
外中断中:
- 时钟中断——由时钟部件发来的中断信号
- I/O中断请求
- 每一条指令执行结束时,CPU都会例行检查是否有外中断信号
中断机制的基本原理
不同的中断信号,需要用不同的中断处理程序来处理,当CPU检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置。
系统调用
系统调用是操作系统提供给应用程序使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。
系统调用与库函数的区别
由操作系统内核对共享资源进行统一的管理,并向上提供“系统调用”,用户进程想要使用共享资源,只能通过系统调用想操作系统内核发出请求。内核会对各个请求进行协调处理。
应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核同一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
系统调用的过程
注意:
- 陷入指令是在用户态执行的,执行陷入指令之后立即引发一个内中断,使CPU进入核心态
- 发出系统调用请求是在用户态,而对系统调用的相应处理再核心态下进行
操作系统体系结构
原语是一种特殊的程序,具有原子性。也就是说,这段程序的运行必须一气呵成,不可被“中断”
内核是操作系统最基本、最核心的部分
实现操作系统内核功能的那些程序就是内核程序。
大内核涉及第二、第三层,微内核仅涉及第二层
注意:变态的过程是有成本的,要消耗不少时间,频繁地变态会降低系统性能
大内核需要2次变态,微内核需要6次
分层结构里,最底层是硬件,最高层是用户接口,每层仅可调用更低一层
外核
操作系统引导
安装操作系统后,硬盘的分布
开机过程:
虚拟机
虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器,每个虚拟机器都可以独立运行一个操作系统
同义术语:虚拟机管理程序/虚拟机监控程序/Virtual Machine Monitor/Hypervisor