摘要:多任务系统根据任务调度的模式不同,可以分为两类: 抢占式多任务(preemptive multitasking)。“抢占”就是强制挂起正在执行的进程。 非抢占式多任务(coorperative multitasking)。除非进程自己主动停止(让步,yielding),否则会一直执行。 进程可分为:
阅读全文
posted @ 2024-06-10 10:19
|
|
|
随笔分类 - 归档 / Linux内核设计与实现(第三版)
摘要:多任务系统根据任务调度的模式不同,可以分为两类: 抢占式多任务(preemptive multitasking)。“抢占”就是强制挂起正在执行的进程。 非抢占式多任务(coorperative multitasking)。除非进程自己主动停止(让步,yielding),否则会一直执行。 进程可分为:
阅读全文
posted @ 2024-06-10 10:19
摘要:本文的主要内容:一个进程从生到死的过程。 一、任务队列和 task_struct 任务描述符 Linux的“任务队列”是一个双向链表,链表中每一项为进程描述符task_struct,它包含了一个正在执行的程序的完整信息:它打开的文件、进程的地址空间、挂起的信号、进程的状态等等。 Linux 通过 s
阅读全文
posted @ 2024-06-10 10:18
摘要:扫盲课。对 Linux 系统下,进程和线程的基本概念和对比进行阐述。 一、进程 进程是处于执行期的程序及相关资源的总称。操作系统为进程提供两种虚拟机制:虚拟处理器 & 虚拟内存,目的是让进程有一种假象:“独享处理器和整个内存空间”。 关于进程描述符 struct task_struct 放在后续内容
阅读全文
posted @ 2024-06-10 10:17
|
|