1、Linux体系架构(文末附上学习思维导图)

如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态。
内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。
用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源、存储资源、I/O资源等。
用户态的应用程序可以通过三种方式来访问内核态的资源:
1)系统调用
2)库函数
3)Shell脚本
这三种方式也在上图中有所体现。
二、Linux内核的启动过程

从该图可以看出,start_kernel是初始化内核的起点,该函数在init目录下的main.c文件里。
start_kernel函数做了大量的初始化,比如CPU、内存等各种硬件设备进行初始化
而它的最后一项初始化rest_init函数,会对进程空间做初始化,至此,Linux内核就启动起来了。
三、进程管理
进程是已启动的可执行程序的运行实例,进程有以下组成部分:
• 已分配内存的地址空间;
• 安全属性,包括所有权凭据和特权;
• 程序代码的一个或多个执行线程;
• 进程状态
进程的生命周期

本文详细介绍了Linux操作系统的体系架构,包括用户态与内核态的划分,以及进程管理、中断管理和时钟管理。重点讨论了内核启动过程,如start_kernel函数,进程的生命周期,中断处理的步骤,以及实时时钟和计时器的概念。此外,还提及了文件系统中的虚拟文件系统(VFS)及其数据结构。全文以帮助内核开发者和驱动开发人员深入理解Linux内核为宗旨。
最低0.47元/天 解锁文章
934

被折叠的 条评论
为什么被折叠?



