我们现在常见的操作系统的体系结构有哪些呢?
第⼆节 操作系统的体系结构
⽬前流⾏的操作系统有Windows操作系统、UNIX操作系统、Linux操作系统和Android操作系统等。
⼀、Windows操作系统的体系结构
Windows体系结构是分层的模块系统,主要层次有硬件抽象层HAL、内核、执⾏体和⼤量的⼦系统集合。
⼦系统⼜分为环境⼦系统和保护⼦系统,其中环境⼦系统仿真不同的操作系统,保护⼦系统提供安全功能。
1、内核
内核执⾏Windows操作系统中最基本的操作,主要提供线程调度、陷⼊处理和异常调度、中断处理和调度、多处理器同步、供执⾏体使⽤的基本内核对象。
Windows操作系统的内核始终运⾏在核⼼态,代码短⼩紧凑,可移植性也好。通常,除了中断程序例程,正在运⾏的线程是不能抢先内核的。
2、硬件抽象层
Windows操作系统设计的⼀个⾄关重要的⽅⾯就是在多种硬件平台上的可移植性。HAL就是使这种可移植性成为可能的关键部分。HAL是⼀个可加载的核⼼态模块HAL.dll,它为运⾏在Windows操作系统上的硬件平台提供低级接⼝。
HAL隐藏各种与硬件有关的细节。
3、执⾏体
shell命令属于什么语言Windows的执⾏体是 NTOSKRNL.EXE 的上层(内核在其下层)。执⾏体是从⽤户态导出并且可以调⽤函数,这些函数的接⼝在NTDLL.DLL 中,通过Win32API可以对它们进⾏访问。
4、系统进程和系统线程
系统进程是⼀种特殊类型的、只运⾏在核⼼态的“系统线程”的宿主。系统线程具有⼀般⽤户态线程的所有属性和描述表。不同点在于它们仅运⾏在内核态,执⾏加载于系统空间。
系统线程没有⽤户进程地址空间,因此必须从系统内存堆中动态存储区。
系统进程只能从内核态中调出。
⼆、UNIX 操作系统的体系结构
其最⾥层是硬件,作为整个系统的基础。紧邻最⾥层的是的内核,它包括进程管理、存储器管理、设备管理、和⽂件管理四个资源管理功能,往外⼀层是系统调⽤接⼝,即操作系统与⽤户的接⼝Shell以及编译程序等;最外层是应⽤程序。
1、内核层
内核层是操作系统管理和控制中⼼,常驻内存。其包括两个⽅⾯的接⼝,⼀⽅⾯是内核与硬件的接⼝,它通常是由⼀组驱动程序和⼀些基本的例程组成;另⼀⽅⾯是内核和Shell接⼝,它由两组系统调⽤及命令解释程序组成。
内核本⾝⼜可以分出两个部分,⼀部分是进程控制⼦系统,另⼀部分是⽂件⼦系统。
(1)进程控制⼦系统,负责对四个资源中的两个资源-处理器和存储器进⾏管理。其功能可分为进程控制、进程通信、存储器管理和进程调度。
(2)⽂件⼦系统,负责有效管理系统中所有的设备和⽂件。其功能包括 ⽂件管理、⾼速缓存机制、设备驱动程序。
2、系统调⽤层
系统调⽤层介于内核层和应⽤层之间,是供程序员设计、应⽤程序开发时调⽤。
UNIX系统调⽤包括进程管理、⽂件管理、终端状态等。
3、应⽤层
应⽤层包括各种开发⼯具,⾼级语⾔编译器,⽹络通讯处理程序等。
所有的应⽤层程序都是在Shell层(命令语⾔解释程序)的管理和控制下为⽤户服务的,是⾯向⽤户的操作界⾯。
三、Linux 操作系统的体系结构
Linux系统有四个主要部分,即内核、Shell、⽂件系统和⽤户应⽤程序。内核、Shell和⽂件系统形成了基本的操作系统结构。
1、Linux内核
内核是操作系统的核⼼,它负责管理系统的进程、内存、设备驱动程序、⽂件和⽹络系统,它决定了系统的性能和稳定性。
Linux 内核的组成: 系统调⽤、内存管理、进程管理、设备驱动程序、⽂件系统和⽹络管理。
2、Linux Shell
Shell 是系统的⽤户界⾯,提供了⽤户和内核进⾏交互操作的⼀种接⼝。它接受⽤户输⼊的命令并将它送⼊内核去执⾏,是⼀种命令解释器。
3、Linux ⽂件系统
⽂件系统是⽂件存储在磁盘等设备上的组织⽅法。Linux系统能⽀持多种⽬前流⾏的⽂件系统,⽐如:EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。
4、Linux 应⽤程序
标准的Linux系统⼀般都有⼀套称之为应⽤程序的程序集,包括⽂本编辑器、编程语⾔、XWindow、办公套件、Internet⼯具和数据库等。
四、Android 操作系统的体系结构
Android操作系统分为四层,从⾼层到底层分别是应⽤程序、应⽤架构层、系统运⾏层和Linux内核层。
1、Android应⽤程序
Android会同⼀系列核⼼应⽤程序⼀起发布,该应⽤程序包括客户端、SMS短消息程序、⽇历、地图、浏览器等。
2、Android应⽤框架
应⽤架构层为应⽤开发者提供了⽤于访问核⼼功能的API框架。
应⽤架构层提供了各种服务和管理⼯具,包括应⽤开发所需的界⾯管理、数据访问、应⽤层的消息传递、应⽤包的管理、电话管理、位置管理等功能。
3、C、C++本地库和Android运⾏时环境
Android包括⼀些C/C++库,这些库能被Android系统中不同的组件使⽤。它通过Android应⽤程序框架为开发者提供服务,如系统C库、媒体库和SQLite库等
Android 运⾏时环境(Android Runtime)提供了核⼼链接库(Core Libraries)和Dalvik VM虚拟系统(Dalvik Virtual Machine)。
4、Linux 内核
Android是基于不同版本的Linux内核开发出来的,Linux内核层包括系统层安全机制、内存管理、进程管理、⽹络堆栈及⼀系列的驱动模块,位于硬件与其他软件层之间,提供与硬件的交互。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论