03-1 操作系统内核结构 ——操作系统基础马哥

03-1 操作系统内核结构 ——操作系统基础马哥

1、硬件抽象逻辑层——HAL。
(1)实现对计算机硬件识别检测,检测设备参数,设置设备地址端口、设备参数,控制读写设备端口地址。(HAL通过设备的端口地址操作设备)
(2)向上层提供统一的HAL调用接口。
2、内核——kernal。
(1-1-1)内核中的设备驱动程序模块——它获取HAL检测到的硬件参数,通过HAL提供的功能调用实现对设备的访问操作。它实现特定型号、特定设备的精确操作。如不同型号打印机的数据结构组织、控制逻辑实现、字符转换控制等。
(1-1-2)它向上提供设备号和设备数据结构类型访问方式。
(1-2-1)内核中的字符设备、块设备程序模块——它把设备虚拟为字设备、块设备两种类型。(1-2-2)字设备、块设备直接调用驱动程序。
(1-3-1)文件管理系统——把计算机资源,包括各类设备、文件系统等虚拟成文件。
(1-3-2)文件管理系统通过调用字设备、块设备管理程序模块,实现对设备的访问操作。当文件系统调用字设备程序时,CPU直接与设备直接交换数据。当文件系统调用块设备程序时,还需使用高速缓冲(内存管理模块)暂存数据,设备与高速缓冲交换完数据后(DMA方式)CPU再进行后继处理。
(2-1-1)内核中的内存管理程序模块——它获取HAL检测到的内存参数、cache参数、CPU段页管理部件参数、外存参数(支持虚拟存储器时)等,实现对多层多级存储器管理。
(2-1-2)当系统支持虚拟存储器时,内存管理模块要调用(1-3)文件系统操作外存设备。
(2-2-1)进程管理程序模块——对进程进行管理。通过调用文件管理系统、内存管理模块等,实现对进程的管理和控制,对进程进行调度、对系统资源进行分配。
3、内核——systemcalll系统调用接口。
——它屏蔽了内核复杂的管理机制,向上提供统一的标准的调用接口。这种调用接口更适用于人类的自然语言环境。
4、应用编程接口——API(工作在用户态、dll库)
——它把系统调用组合起来,提供实现某种特定功能的调用。

转载于:https://blog.51cto.com/11750096/2044787