随笔分类 - 《Linux内核设计与实现》
摘要:线程 线程概念 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机 制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共 享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传 统意义上的 UNIX 进程只是多线
阅读全文
摘要:为什么使用likely与unlikely 在Linux kernel的源码中,存在这样的用法: if (likely(cond)) { ...... } if (unlikely(cond)) { ...... } likely和unlikely是宏定义,若cond为真(非0),那么likely(c
阅读全文
摘要:struct list_head { struct list_head *next, *prev; };
阅读全文
摘要:调度算法 不同的调度算法适用的场景也是不同的。 接下来,说说在单核 CPU 系统中常见的调度算法。 01 先来先服务调度算法 最简单的一个调度算法,就是非抢占式的先来先服务(First Come First Serve, FCFS)算法了。 顾名思义,先来后到,每次从就绪队列选择最先进入队列的进程,
阅读全文
摘要:来自 https://blog.csdn.net/u014426028/article/details/108037971 在linux内核中进程以及线程(多线程也是通过一组轻量级进程实现的)都是通过task_struct结构体来描述的,我们称它为进程描述符。 而thread_info则是一个与进程
阅读全文
摘要:struct thread_info { struct task_struct *task; /* main task structure */ struct exec_domain *exec_domain; /* execution domain */ __u32 flags; /* low l
阅读全文
摘要:3 5 12 13 15章为重点 (https://www.nowcoder.com/discuss/813838?type=all&order=recall&pos=&page=1&ncTraceId=&channel=-1&source_id=search_all_nctrack) 与操作系统结
阅读全文