处理器运行模式
计算机中,处理器需要执行两种不同性质的程序:一种是操作系统的内核程序;另外一种是用户自编程序,也就是我们平时接触到的应用程序。对于OS来说,前者由于是管理程序,因此需要执行一些特权指令,以从更底层操作计算机,而用户自编的应用程序则不能使用这些底层指令。
特权指令指的是不允许用户直接使用的指令,比如置中断指令、IO指令,主要是防止用户程序对计算机系统造成破坏,与之相对的非特权指令则是用户可以直接使用的指令。
在具体实现上,可以将CPU的运行模式分为用户态(目态)和核心态(管态)。
在软件工程思想和结构化程序设计的方法影响下诞生的现代操作系统,几乎都是分层式的结构。一些和硬件关联紧密的模块,比如说时钟管理、中断管理、驱动管理处于最底层。这些模块加上运行频率比较高的程序比如进程管理、存储器管理构成了操作系统的内核。大多数计算机操作系统的内核包括以下四部分:
1.时钟管理
时钟的一个功能在于计时,向用户提供标准时间。另外通过时钟中断管理实现进程的切换。比如说在分时操作系统中采用时间片轮转调度,就是利用时钟管理进行分片的
2.中断机制
引入中断机制的初衷是提高多道程序下CPU的利用率,后来得到了充分的发展。键盘鼠标信息的输入、进程的管理调度、系统软功能的调用都离不开中断机制。中断机制中只有负责保护和恢复中断现场信息的那一部分属于内核,他们可以将控制权转交到其他程序,使得该程序在中断的时候处理机可以去处理其他任务,减少中断处理时间,提高系统并行处理能力。
3.原语
按层次结构设计的操作系统,底层是一些可以被调用的公用小程序,各自负责完成一个规定的操作。其特点如下:
- 处于操作系统最底层,最接近硬件的部分
- 操作都是原子操作,也就是操作只能一气呵成,不能拆分
- 程序运行时间短,调用频繁
通常把具有这些特点的程序称之为原语。
4.系统控制的数据结构以及处理
系统会采用各种数据结构来登记各种状态信息,比如作业控制块、各类链表、消息队列、缓冲区等等。为了实现有效管理,系统需要一些基本操作,常见的操作有以下三种
- 进程管理
- 存储器管理
- 设备管理