深入了解Linux操作系统
一、深入了解Linux操作系统
1、进程管理
①、进程:是处理器上执行的一个实例,进程可使用任意资源以便于Linux内核可以处理完成它的任务,
②、Linux系统的进程都是通过task_struct结构管理的,称为进程描述符
2、进程的生命周期
每个进程都有自己的生命周期,包括创建、执行、终止和删除。操作系统的运行过程中不断的重复这些过程,因此从操作系统性能的角度来看,进程的生命周期非常重要。
进程的生命周期图

父进程通过系统调用fork()创建子进程。fork()调用后将创建子进程的描述符和进程ID,在子进程中复制父进程的进程描述符,同时并不复制父进程的地址空间,而是在父进程的地址空间中运行。
exec()系统调用将在子进程的地址空间中复制新的程序数据。由于共享相同的地址空间,写入新的程序数据将会导致内存的页错误,因此,在这种情况下,Linux内核将分配新的物理页给子进程。
一般情况下,子进程执行自己的程序,避免了复制完整地址空间的低效率操作。当程序执行完成时,子进程通过系统调用exit()终止进程。exit()系统调用释放子进程相应的资源,并发送信号给父进程,通知子进程的终止。在这个时刻,子进程被称为僵尸进程。
父进程通过系统调用wait()接收子进程的终止信号。当父进程接收到该信号,删除子进程所有的数据结构,并释放子进程的进程描述符,这个时候子进程才被完全删除。
线程
线程是一个进程中产生的执行单元,在一个进程中与其他线程并行运行。
2、内存体系结构
3、文件系统
4、磁盘I/O子系统
5、网络子系统
6、性能度量标准
本文深入探讨Linux操作系统的核心组件,包括进程管理、内存体系结构、文件系统、磁盘I/O子系统、网络子系统及性能度量标准。详细解析了进程的生命周期,从创建到删除的全过程,以及线程的概念。
1万+

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



