2.3 系统核

图 2.2 描述了操作系统的分层结构。同硬件接口的是系统核部分,它由三部分程序组成:

①初级中断处理程序。它对各种中断过去时行初步处理。

②处理机分派程序。它在各进程之间切换使用处理机。

③进程控制和最基本的进程通信功能。

由于系统核是在基本硬件上进接构造的,因而可以预料这是操作系统中最密切依赖于机器在的一部分。确实,只有与 I/O 有关的程序和系统核才需要用汇编语言编写,而其他各层都可以非常方便地使用高级语言缩写,这一点对一过瘾现一个没有错误的、易于理解和维护的产品起着重要的作用。

(一)处理机分派程序

在“ 6.3.2 进程高度的功能”一切中将会介绍,处理机分派程序的职责是在进程之间切换处理机。

当调度时机来到时,处理机分派程序应选取就绪队列首元素,改奕其状态为“运行”态,并恢复选中进程的现场,把 CPU 的控制权交给该进程。由于就绪队列的排序原则是依据进程调度的策略确定的,因此,若进程调度策略是优先调度,则就绪队列按进程的优先级高低排序;若进程调度策略是先请求先服务,则就绪队列按进程转为就绪状态的先后次序排序。所以,先取就绪队列首元素就是按照确定的调度原则选取可运行的进程。

(二)进程通信原语

系统核的另一部分是负责实现进程间通信的机构,比如 p 、 v 操作原语。由于信号灯及 p 、 v 操作比较容易实现并且用得较为广泛,所以一般选用这一原语放在系统核内。当然还有其他一些通信机构,它们多半实现比较困难,但功能更强些,也不易误用。将 p 、 v 操作放在系统内核的原因是:

它们能被所有的进程调用,也能被操作系统内上层软件所调用。

(三)进程控制原语

进程控制功能包括创建进程、撤消进程、阻塞进程、唤醒进程、延迟一个进程等,系统应提供相应的原语操作来实现其功能。由于这些功能是进程活动时必须提供的,它为核外各层所需,所以把它们放在系统核内实现。在这种处理方式中,进程控制块是作为 pcb 资源池放在系统区中的。

(四)初级中断处理

这一部分涉及设备管理的低层支持部分,实现各类设备的中断处理,也要实现各类俘获的自陷中断处理。这一部分也含有设备驱动功能。

 
 Copyright © 2007 华中师范大学计算机科学系  All Rights Reserved