操作系统之分离硬件相关性

Windows内核有什么HLA层,Linux内核有什么arch层,这些某某层就是内核设计者给系统内核设计的第一层。现代的计算机也是一层一层构建来的,从用户应用层到操作系统层再到硬件层,前边顺序是从上到下。分层的好处:

屏蔽底层细节,使上层开发更简单。

而在计算机系统中有一个基本方法就是增加一个抽象层,从而使抽象层上下两层独立发展,所以在计算机内核中划分成若干抽象层也是正常。
分离硬件的相关性,就是把操作硬件和处理硬件功能差异的代码抽离出来,形成软件抽象层,对外提供相应的接口,方便上层开发。
接下来分析一下进程调度模块,看看分层对于系统内核的设计与开发有什么影响。进程是操作系统开发者为了多任务的实现而提出的,并让每个进程在CPU上运行一小段时间,这样就能实现多任务同时运行的假象。
要实现多任务并行的假象,就要实现下边的两种机制:

1.进程调度,使用一些算法从多个进程中选择一个将要运行的进程,这些算法包括轮转算法、优先级算法等。
2.进程切换,就是停止当前进程,运行新的进程,主要动作是保存当前进程的机器上下文,装载新进程的机器上下文。

不难发现ARM架构或者X86架构,选择一个进程的算法和代码是不易改变的,需要改变的是进程切换的代码,因为不同机器的上下文是不同的。
此文章为4月Day 11学习笔记,内容来源于极客时间《操作系统实战 45 讲》。

你可能感兴趣的:(操作系统实战45讲,linux)