不浮躁
发布时间:2014-11-28 23:58:09
内核启动参数配置分析: Menuconfig 的Boot Options-->下(root=/dev/hda1 ro init=/bin/bash console=ttySAC0) Default kernel command string .........【阅读全文】
发布时间:2014-11-21 21:19:35
kernel 3.10内核源码分析--slab原理及相关代码
1、基本原理
我们知道,Linux保护模式下,采用分页机制,内核中物理内存使用buddy system(伙伴系统)进行管理,管理的内存单元大小为一页,也就是说使用buddy system分配内存最少需要分配一页大小。那如果需要分配小于一页的内存该怎么办呢?
另一方面,内核中经常需要大量的数据结构(比如struct task_strcut),这些数据结构的频繁分配和释放对性能影响较大。
Slab正是用于解决上述的两个问题, Slab 分配器源于 Solaris 2.4 的分配算法,工作于buddy system之上,用于管理特定大小对象的缓存,提高小块内存或特定对象内存分配效率。
Slab的两个用途如前面所述:1、缓存和管理内核中经常使用的数据结构对象,内核中使用slab提供的专用的接口,可以实现数据结构对象的快速分配,大大减少相关开销,提升效率。2、缓存和管理小块内存,也称通用缓存,用于kmalloc的底层实现和支撑。......【阅读全文】
发布时间:2014-11-14 21:25:24
一、概述模块是作为ELF对象文件存放在文件系统中的,并通过执行insmod程序链接到内核中。对于每个模块,系统都要分配一个包含以下数据结构的内存区。一个module对象,表示模块名的一个以null结束的字符串,实现模块功能的代码。二、相关数据结构1.module对象描述一个模块。一个双向循环链表存放所有module对象,链表.........【阅读全文】
发布时间:2014-11-14 21:08:33
以前写了一篇Linux PC启动过程的日记,最近项目中,想优化一下启动过程,减少启动时间.因此研究了我们项目的启动全过程.第一步: BootLoader -- U boot 1 在cpu/arm926ejs/start.s中 .........【阅读全文】
发布时间:2014-11-14 21:07:00
一、devtmpfs概述1.devtmpfs 的功用是在 Linux 核心 启动早期建立一个初步的 /dev,令一般启动程序不用等待 udev,缩短 GNU/Linux 的开机时间。2.重要解释Devtmpfs lets the kernel create a tmpfs very early at kernel initialization, before any driver core devic.........【阅读全文】