操作系统的运行机制

来源:互联网 发布:cpa考试顺序推荐知乎 编辑:程序博客网 时间:2024/05/22 00:36

1、程序

在计算机系统中,通常CPU执行两种不同性质的程序:

------- 一种是操作系统内核程序

------- 另一种是用户自编程序或系统外层的应用程序

内核程序是应用程序的”管理者”。

“管理程序“可以执行一些特权指令,而”被管理程序“出于安全考虑不能执行这些指令。

所谓特权指令,是指计算机中不允许用户直接使用的指令,如:

I/O指令、置中断指令,存取用于内存保护的寄存器,送程序状态字到程序状态字寄存器等指令。

操作系统在具体实现上划分了用户态(目态)和核心态(管态),以严格区分两类程序。

2、层次式结构

软件工程思想结构程序设计方法的影响下诞生的现代操作系统,几乎都是层次式的结构。

操作系统的各项功能分别被设置在不同的层次上。

-------  一些与硬件关联较紧密的模块,诸如时钟管理、中断管理、设备驱动等处于最底层。

-------  其次是运行频率较高的程序,诸如进程管理存储管理设备管理等。

上面的这两部分内容构成了操作系统的内核,这部分内容的指令操作工作在核心态

3、内核

内核是计算机上配置的底层软件,是计算机功能的延伸。

不同系统对内核的定义稍有区别,大多数操作系统内核包括4个方面的内容。

1)时钟管理

在计算机的各种部件中,时钟是最关键的设备。

时钟的第一功能是计时,操作系统需要通过时钟管理,向用户提供标准的系统时间。

其次,通过时钟中断的管理,可以实现进程的切换

在分时操作系统中,采用时间片轮转调度的实现;

在实时系统中,按截至时间控制运行的实现;

在批处理系统中,通过时钟管理来衡量一个作业的运行程度等。

2)中断机制

引入中断技术的初衷是提高多道程序运行环境中CPU的利用率,主要针对外部设备。

后来逐步得到发展,形成了多种类型,称为操作系统各项操作的基础。

如,键盘或鼠标信息的输入、进程的管理和调度、系统功能的调用、设备驱动、文件访问等。都依赖于中断机制。

可以说,现代操作系统是靠中断驱动的软件。

中断机制中,只有一小部分功能属于内核,负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。

这样可以减少中断的处理时间,提高系统的并行处理能力。

3)原语

按照层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,它们各自完成一个规定的操作,其特点是:

------  它们处于操作系统的最底层,是最接近硬件的部分。

------  这些程序的运行具有原子性---其操作只能一气呵成

------  这些程序的运行时间都较短,而且调用频繁

通常把具有这些特点的程序称为原语(Atomic Operation)。

定义原语的直接方法是关闭中断,让它的所有动作不可分割地进行完再打开中断。

系统中的设备驱动、CPU切换、进程通信等功能中的

部分操作都可以定义为原语,使它们成为内核的组成部分。

4)系统控制的数据结构及处理

系统中用来登记状态信息的数据结构很多,比如:

作业控制块、进程控制块、设备控制块、各类链表、消息队列、缓冲区、空闲区登记表、内存分配表等。

为了实现有效的管理,系统需要一些基本的操作,常见的操作有以下三种:

------  进程管理:进程状态管理、进程调度和分配、创建和撤销进程控制块等。

------  存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序等。

------  设备管理:缓冲区管理、设备分配和回收等。

核心态指令实际上包括系统调用类指令和一些针对时钟、中断和原语的操作指令。

0 0
原创粉丝点击