1、操作系统(OS)概念:控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件服务方便的接口和环境。它是计算机系统中最基本的系统软件。
2、操作系统的功能:
- 资源的管理者:处理器(cpu)、存储器(内存)、文件、设备管理(磁盘、I/O设备)
- 向用户提供服务:命令接口、程序接口、GUI接口
- 对硬件机器的拓展:扩充机器
3、操作系统的特征:
- 并发:两个或多个事件在同一时间间隔内发生,这些事件宏观上同时发生,微观上交替发生。(并行:多个事件同时发生)
- 共享:系统资源可供多个并发执行的程序同时使用。互斥共享(摄像头、打印机)、同时共享(txt文件被vscode、记事本打开)
- 虚拟:把一个物理实体变成若干个逻辑对应物。空分复用技术(虚拟内存),时分复用技术(虚拟处理器)
- 异步:在多道程序环境(多个程序并发)下,允许多个程序并发执行,但是由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。(两个线程同时打印1-100,结果不会是11、22、33、44、...具体多少谁也不知道
注意:并发是共享的基础,没有并发,一个进程运行,谈不上共享。没有并发共享也谈不上虚拟异步。所以并发、共享是最基本特征
4、OS的两种指令、两种处理机状态、两种程序。
普通:非特权指令(运算指令),用户态(指令执行非特权指令)、用户程序(用户态下运行)
核心:特权指令、核心态、内核程序
5、操作系统内核
- 大内核:将主要功能作为内核。性能高;内核代码庞大,不易维护
- 微内核:将基本功能作为内核。需要不断切换用户态和核心态,性能低;内核功能少,结构清晰,
6、中断和异常
中断:当中断发生时,CPU立即进入核心态,当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理,对于不同的中断信号,会进行不同的处理。
注:发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。 中断是用户态到核心态的唯一手段。核心态到用户态,一个特权指令改变程序状态标志位。中断的分类:
- 内中断(异常):陷阱、陷入(有意而为之的异常,如系统调用),终止(除0异常),故障(错误条件引起的,如缺页)
- 外中断:I/O请求中断,人工干预
中断的处理过程:
Step1:执行完每个指令之后,CPU都要检査当前是否有外部中断信号
Step2:如果检测到外部中断信号,则需要保护被中断迸程的CPU坏境(如程序状态字PSW、程序计数器PC、各种通用寄存器)
Step3:根据中断信号类型装入相应的中断处理程序
Step4:恢复原进程的CPU环境并退出中断,返回原进程程继续往下执行。
7、系统调用
概念及作用:应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、I/O操作、 文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
注:“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。
系统调用分类:
系统过程过程:1、传递系统调用参数。2、进入陷入状态(用户态到核心态)。3、执行系统调用。4、返回应用程序。