1、Linux体系架构(文末附上学习思维导图)
如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态。
内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。
用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源、存储资源、I/O资源等。
用户态的应用程序可以通过三种方式来访问内核态的资源:
1)系统调用
2)库函数
3)Shell脚本
这三种方式也在上图中有所体现。
二、Linux内核的启动过程
从该图可以看出,start_kernel是初始化内核的起点,该函数在init目录下的main.c文件里。
start_kernel函数做了大量的初始化,比如CPU、内存等各种硬件设备进行初始化
而它的最后一项初始化rest_init函数,会对进程空间做初始化,至此,Linux内核就启动起来了。
三、进程管理
进程是已启动的可执行程序的运行实例,进程有以下组成部