内核运行的过程
启动阶段:
当计算机启动时,通常从硬盘、固态硬盘或其他存储设备中加载引导加载程序(Boot Loader)的第一部分。这个引导加载程序负责加载操作系统内核。
加载内核:
引导加载程序会从存储设备中加载操作系统内核的镜像文件,通常是一个称为vmlinuxz或bzImage的文件。这个内核镜像包含了操作系统的核心组件。
3初始化内核:
一旦内核加载到内存中,引导加载程序将控制权交给内核。内核开始执行,并进行初始化。这个初始化过程包括:
- 初始化内存管理,建立虚拟内存映射。
- 初始化处理器和其他硬件设备。
- 建立进程管理机制,创建第一个用户空间进程(通常是init或systemd)。
- 设置系统调用接口,使用户空间程序可以与内核进行通信。
- 启动调度器,开始管理和调度进程。
用户空间启动:
初始化完成后,内核会启动用户空间进程,这些进程负责提供计算机的各种服务和用户界面。用户空间的第一个进程通常是init或systemd,它会进一步启动其他系统服务。
用户空间与内核空间通信
用户空间可以通过系统调用向内核发出请求,请求执行各种操作,如文件读写、网络通信、进程创建等。内核会响应这些请求,并根据需要执行相应的操作。
进程管理
内核负责管理多个进程的创建、调度、终止和资源分配。它维护进程表、调度队列和进程状态信息。
资源管理
内核管理计算机的硬件资源,包括内存、CPU、硬盘、网络接口等。它分配和释放这些资源,确保它们被合理使用。
系统服务:
内核提供各种系统服务,如文件系统、网络协议栈、设备驱动程序等,以便用户空间进程可以访问和使用这些服务。
中断和异常处理
内核负责处理各种中断和异常,包括硬件中断、系统调用、页面错误等。它确保及时响应这些事件,以维护系统的稳定性。
关机和重启
最终,内核还负责处理关机和重启操作,以确保系统能够正确地关闭和重启系统
标签:初始化,系统,用户,----,内核,Linux,进程,加载 From: https://www.cnblogs.com/doubleconquer/p/17727177.html