Linux内核理论
文章平均质量分 90
小吴伴学者
算法分享,多机器人任务分配领域博主|Linux内核子系统,驱动开发
展开
-
Linux内核——进程调度(3)
本篇文章主要介绍了进程调度的相关知识,调度算法,调度优先级等概念。原创 2023-05-21 09:35:44 · 807 阅读 · 0 评论 -
Linux内核——进程(2)
本篇文章主要介绍进程、内核线程的创建流程。原创 2023-05-19 09:46:14 · 153 阅读 · 0 评论 -
Linux 内核——进程(1)
本文主要介绍了进程描述符,等待队列的实现,进程的创建,内核线程的创建等内容。原创 2023-04-28 10:57:59 · 435 阅读 · 0 评论 -
Linux内核音频子系统ALSA、ASOC及其示例分析
ALSA框架源码分析,里面还有很多不明白的地方,麻烦指正。原创 2023-04-20 14:33:39 · 1478 阅读 · 0 评论 -
Linux内存管理——非连续区内存管理
随着运行时间增长,物理内存的碎片可能会越来越多,分配连续的物理内存尤其是大尺寸连续的物理内存将越来越费劲;为了尽可能避免这种情况或者在出现这种情况下能够缓解进一步费劲,对于某些不频繁的分配释放的内存申请,可以采用一种方式,即所谓的不连续内存分配。非连续区的描述符:vm_struct。原创 2023-04-14 19:20:05 · 326 阅读 · 0 评论 -
Linux内核内存管理——内存区管理
伙伴系统算法采用页框作为基本内存区,这适合于对大块内存的请求,但我们如何处理对小内存区的请求呢,比如说几十或几百个字节?显然,如果为了存放很少的字节而给它分配一个整页框,这显然是一种浪费。取而代之的正确方法就是引入一种新的数据結构来描述在同一页框中如何分配小内存区。但这样也引出了一个新的问题,即所谓的内碎片( internal fragmentation)。内碎片的产生主要是由于请求内存的大小与分配给它的大小不匹配而造成的。原创 2023-04-13 16:06:59 · 394 阅读 · 0 评论 -
Linux 内核内存管理——页框管理
内核必须记录每个页框当前的状态。例如,内核必须能区分哪些页框包含的是属于进程的页,而哪些页框包含的是内核代码或内核数据。类似地,内核还必须能够确定动态内存中的页框是否空闲。如果动态内存中的页框不包含有用的数据,那么这个页框就是空闲的。在以下情况下页框是不空闲的:包含用户态进程的数据、某个软件高速缓存的数据、动态分配的内核数据结构、设备驱动程序缓冲的数据、内核模块的代码等等。页框的状态信息保存在一个类型为page的页描述符中。在mem_init中,mem_map记录着所有页描述符。原创 2023-04-13 16:08:37 · 339 阅读 · 0 评论