打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
内核体系结构

参照 Linux内核修炼之道.pdf

1)系统调用接口。 

为了与用户应用程序进行交互,内核提供了一组系统调用接口,通过这组接口,用程序可以访问系统硬件和各种操作系统资源。 

系统调用接口层在用户应用程序和内核之间添加了一个中间层,形象地说,它扮演了一个函数调用多路复用和多路分解器的角色。 

2)进程管理。 

进程管理负责创建和销毁进程,并处理它们之间的互相联系(进程间通信),同时负责安排调度它们去分享 CPU。 进程管理部分实现了一个进程世界的抽象,这个进程世界类似于我们的人类世界,只不过我们人类世界里的个体是人,而在进程世界里则是一个一个的进程,人与人之间通过书信、手机、网络等进行交互,而各个进程之间则是通过不同方式的进程间通信,我们所有人都在分享同一个地球,而所有进程都在分享一个或多个 CPU。 

3)内存管理。 

在进程世界里,内存是重要的资源之一,就好比我们的土地。因此,管理内存的策略与方式是决定系统性能的一个关键因素。 内核的内存管理部分根据不同的需要,提供了包括 malloc/free 在内的许多简单或者复杂的接口,并为每个进程都提供了一个虚拟的地址空间,基本上实现虚拟内存对进程的按需分配。 

4)虚拟文件系统。 

虚拟文件系统为用户空间提供了文件系统接口,同时又为各个具体的文件系统提供了通用的接口抽象。在 VFS 上面,是对诸如 opencloseread  write 之类函数的

一个通用 API 抽象,在 VFS 下面则是具体的文件系统,它们定义了上层函数的实现方式。 通过虚拟文件系统,我们可以利用标准的 Linux 文件系统调用对不同介质上的不

同文件系统进行操作。应该说,VFS 是内核在各种具体的文件系统上建立的一个抽象层,它提供了一个通用的文件系统模型,而该模型囊括了我们所能想到的所有文件系

统的行为。 

5)网络功能。 

网络子系统处理数据包的收集、标识、分发,路由和地址的解析等所有网络有关的操作。socket 层是网络子系统的标准 API,它为各种网络协议提供了一个用户接口。 

6)设备驱动程序。 

操作系统的目的是为用户提供一种方便访问硬件的途径,因此,几乎每一个系统操作最终都会映射到物理的硬件设备上。除了 CPU、内存等有限的几个对象,所有设

备的访问控制操作都要由相关的代码来完成,这些代码就是所谓的设备驱动程序。 

7)依赖体系结构的代码。 

前面讲到,部分内核代码是体系相关的,./linux/arch 子目录定义了内核源代码中依赖于体系结构的部分,其中包含了对应各种特定体系结构的子目录。比如,对于一

个典型的桌面系统来说,使用的是 i386 目录。 每个特定体系结构对应的子目录又包含了很多下级子目录,分别关注内核中的一个特定方面,比如引导、内核、内存管理等。 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
IBM developer带你了解Linux内核体系结构
Linux 内核剖析
Linux系统内核结构详解
探究linux内核,超详细解析子系统
Linux内核的整体架构
详解Linux系统架构--内核(内存、进程、设备、文件系统和网络)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服