14、进程数据结构(下):项目多了就需要项目管理系统上两节,我们解读了task_struct的大部分的成员变量。这样一个任务执行的方方面面,都可以很好地管理起来,但是其中有一个问题我们没有谈。在程序执行过程中,一旦调用到系统调用,就需要进入内核继续执行。那如何将用户态的执行和内核态的执行串起来呢? 这...2025-10-31趣谈Linux操作系统
13、进程数据结构(中):项目多了就需要项目管理系统上一节我们讲了,task_struct这个结构非常长。由此我们可以看出,Linux内核的任务管理是非常复杂的。上一节,我们只是讲了一部分,今天我们接着来解析剩下的部分。 运行统计信息作为项目经理,你肯定需要了解项目的运行情况。例如,有的员工很长时间都...2025-10-31趣谈Linux操作系统
12、进程数据结构(上):项目多了就需要项目管理系统前面两节,我们讲了如何使用系统调用,创建进程和线程。你是不是觉得进程和线程管理,还挺复杂的呢?如此复杂的体系,在内核里面应该如何管理呢? 有的进程只有一个线程,有的进程有多个线程,它们都需要由内核分配CPU来干活。可是CPU总共就这么几个,应该怎么管...2025-10-31趣谈Linux操作系统
11、线程:如何让复杂的项目并行执行?上一节我们讲了如何创建进程,这一节我们来看如何创建线程。 为什么要有线程?其实,对于任何一个进程来讲,即便我们没有主动去创建线程,进程也是默认有一个主线程的。线程是负责执行二进制指令的,它会根据项目执行计划书,一行一行执行下去。进程要比线程管的宽多了...2025-10-31趣谈Linux操作系统
10、进程:公司接这么多项目,如何管?有了系统调用,咱们公司就能开始批量接项目啦!对应到Linux操作系统,就是可以创建进程了。 在[命令行]那一节,我们讲了使用命令创建Linux进程的几种方式。现在学习了系统调用,你是不是想尝试一下,如何通过写代码使用系统调用创建一个进程呢?我们一起来...2025-10-31趣谈Linux操作系统
9、系统调用:公司成立好了就要开始接项目上一节,系统终于进入了用户态,公司由一个“皮包公司”进入正轨,可以开始接项目了。 这一节,我们来解析Linux接项目的办事大厅是如何实现的,这是因为后面介绍的每一个模块,都涉及系统调用。站在系统调用的角度,层层深入下去,就能从某个系统调用的场景出发,...2025-10-31趣谈Linux操作系统