mirror of
https://github.com/CodePanda66/CSPostgraduate-408.git
synced 2023-05-21 21:49:33 +08:00
2.6 KiB
2.6 KiB
操作系统的运行环境
1、核心态与用户态
为了避免操作系统及其关键数据如pcb的受到用户程序有意或无意的破坏。通常将处理器分为两种:
- 核心态:又称管态、系统态,是操作系统管理程序执行时机器所处的状态,它具有较高的特权,能执行包括特权指令的一切指令,能访问所有寄存器和存储区。
- 用户态。有乘务台。是用户程序执行时机器所处的状态,是具有较低特权的执行状态,它只能执行规定的指令,只能访问指定的寄存器和存储区。
特权指令:只能由操作系统内核使用,不允许用户直接使用的命令。如: I/O 指令、设置中断屏蔽指令、清内存指令、存储保护指令和设置时钟指令。
系统内核:由一些与硬件关系较为紧密的模块(如时钟管理,中断处理,设备驱动等)以及运行频率较高的程序(如进程管理,存储器管理,设备管理等)构成了系统的基本内核。
内核的指令主要运行在核心态,主要有四类:
-
时钟管理
时钟是计算机的各个部件中最关键的设备。不仅可以向用户提供标准的系统时间,另外通过时钟中断的管理,可以实现进程的切换,如时间片轮转调度。
-
中断机制
中断机制中只有一小部分属于内核,负责保护和恢复中断现场信息,转移控制权到相关的处理程序。
-
原语
主要是一些关闭中断的公用小程序,主要有以下特点:
- 处于操作系统最底层,是最接近硬件的部分。
- 程序运行具有原子性,操作只能一气呵成。
- 程序运行时间较短,调用频繁。
-
系统控制的数据结构及处理
操作系统中需要一些用来登记状态信息的数据结构。如作业控制块,进程控制块,设备控制块,各类链表,消息队列,缓冲器,空闲登记区,内存分配表等。
2、中断与异常
中断,也称外中断,是系统正常功能的一部分。例如,因进程调度使系统停止当前运行的进程,或者因缺少所需资源而中断当前进程。
异常,也称为类中断。是由错误引起的,如文件损坏,进程越界的。
异常通常会引起中断,而中断未必是由异常引起的。
3、系统调用
系统调用会把应用程序的请求传给内核,通过陷入(trap)指令将用户态转变为内核态, 然后相应的内核函数会完成所需的处理,并将处理结果返回给应用程序。
