CoderMrWu

生活诚可期,爱情价更高!

我们常见的操作系统的结构是怎样的呢?

该文章转载于自考库,如果侵权,请联系删除!

目前流行的操作系统有 Windows操作系统、UNIX操作系统、Linux操作系统和 Android操作系统等。本节我们对这些典型的操作系统的体系结构做简要介绍。
一、Windows操作系统的体系结构
Windows体系结构是分层的模块系统,主要层次有硬件抽象层HAL、内核、执行体和大量的子系统集合。前面三个都运行在保护模式下,而各子系统都在用户模式下运行。子系统又可分为环境子系统和保护子系统两类,其中环境子系统仿真不同的操作系统,保护子系统提供安全功能。如图1-3所示。
1、内核
内核执行 Windows操作系统中最基本的操作,主要提供下列功能:线程调度、陷入处理和异常调度、中断处理和调度、多处理器同步、供执行体使用的基本内核对象
Windows操作系统的内核始终运行在核心态,代码短小紧凑,可移植性也很好。通常,除了中断服务例程,正在运行的线程是不能抢先内核的。
2、硬件抽象层(HAL)
Windows操作系统设计的一个至关重要的方面就是在多种硬件平台上的可移植性,HAL就是使这种可移植性成为可能的关键部分。HAL是一个可加载的核心态模块 HAL. dll,它为运行在 Windows操作系统上的硬件平台提供低级接口。HAL隐藏各种与硬件有关的细节,例如LO接口、中断控制器以及多处理器通信机制等任何体系结构专用的和依赖于计算机平台的函数。
3、执行体
Windows的执行体是 NTOSKRNL. EXE的上层(内核是其下层)。执行体从用户态导出并且可以调用函数,这些函数的接口在 NTDLL. DLI中,通过Win32AP可以对它们进行访问。
4、系统进程和系统线程
系统进程是一种特殊类型的、只运行在核心态的“系统线程”的宿主。系统线程具有般用户态线程的所有属性和描述表,不同点在于它们仅运行在内核态,执行加载于系统空间中的代码。另外,系统线程没有用户进程地址空间,因此必须从系统内存堆中分配动态存储区。
系统线程只能从内核态调用。 Windows操作系统以及不同的设备驱动程序在系统初始化时创建系统线程以执行那些需要线程描述表的操作,例如,发布和等待LO或其他对象、轮询一个设备等。
二、UNIX操作系统的体系结构
图14是UNⅨX操作系统的系统架构图,其最里层是硬件,作为整个系统的基础;紧邻最里层的是操作系统内核,包括进程管理、存储器管理、设备管理和文件管理四个资源管理功能;往外一层是系统调用接口,即操作系统与用户的接口Shel以及编译程序等;最外层是应用程序
1、内核层
内核层是操作系统管理和控制中心,常驻内存。其具有两方面的接口,一方面是内核与硬件的接口,它通常是由一组驱动程序和一些基本的例程所组成;另一方面是内核与Shell的接口,它由两组系统调用及命令解释程序等所组成。内核本身又可分为两大部分,一部分是进程控制子系统;另一部分是文件子系统。两组系统调用分别与这两大子系统交互,如图1-5所示。
(1)进程控制子系统,负责对四个资源中的两个资源——处理器和存储器进行管理。其功能可分为进程控制、进程通信、存储器管理和进程调度
(2)文件子系统,负责有效的管理系统中所有的设备和文件。其功能可分成以下三个方面,即文件管理、高速缓存机制和设备驱动程序。
2、系统调用层
系统调用层界于内核层和应用层之间,是供程序员设计、开发应用程序时调用的UNIX系统调用包括进程管理、文件管理、终端状态等
3、应用层
应用层包括各种开发工具、高级语言编译器、网络通信处理程序等。所有应用层程序都是在 Shell(命令语言解释程序)的管理和控制下为用户服务的,是面向用户操作的界面。

点赞