Linux Kernel
Hugohut
Focus on the development of embedded linux
展开
-
Linux内核设计与实现读书笔记(1)-Linux内核简介
<br /> Linux内核设计与实现读书笔记(1)-Linux内核简介 我现在要做的科研项目涉及到内核编程的知识,所以在学校的图书馆借了一本《Linux内核设计与实现》(英文名:linux kernel development),打算通过这本书来了解一下linux内核各部分的原理。我选择这本书的原因很简单-薄。全书只有二百多页,但内容还是很全面的。翻译质量还可以,译者还在文中加了自己的解释。看译者序中说这本书适合内核初学者,看过后对内核各个核心子系统有个整体把握。这很好,符合我的要求,《Unders转载 2010-12-25 12:50:00 · 548 阅读 · 0 评论 -
Linux内核设计与实现读书笔记(3)-调度
Linux内核设计与实现读书笔记(3)-调度 1、进程分为I/O消耗型和处理器消耗型。前者指进程的大部分时间用来提交I/O请求或等待I/O请求。后者把时间大多用在执行代码上。Unix各种变体的调度策略倾向于I/O消耗型的进程。 2、调度算法基于优先级调度,Linux实现了一种基于动态优先级的调度方法。一开始,该方法先设置基本的优先级,然而它允许调度程序根据需要来加、减优先级。如果一个进程在I/O等待上耗费的时间多于其运行时间,那么该进程明显属于I/O消耗型进程,它的优先级会被动态提高。相转载 2010-12-25 13:25:00 · 495 阅读 · 0 评论 -
Linux内核设计与实现读书笔记(8)-内核同步方法
<br />Linux内核设计与实现读书笔记(8)-内核同步方法 1、原子操作可以保证指令以原子的方式执行——执行过程不被打断。内核提供了两组原子操作接口,一组针对整数进行操作,一组针对单独的位进行操作。 2、针对整数的原子操作只能对atomic_t类型的数据进行处理。引入这个特殊数据类型主要是出于三个原因:首先,让原子函数只接受atomic_t类型的操作数可以确保原子操作只与这种特殊类型的数据一起使用。同时这也保证了该类型的数据不会被传递给其他任何非原子函数。其次,使用atomic_t类型确转载 2010-12-25 14:15:00 · 1335 阅读 · 0 评论 -
Linux内核设计与实现读书笔记(2)-进程管理
<br />Linux内核设计与实现读书笔记(2)-进程管理<br /> 今天读了第二章,与大家分享一下我的心得。 <br /> 1、linux系统中允许同时存在的进程的最大数目为32767,这是因为PID的最大值默认设置为32767(short int短整型的最大值)。如果需要更多进程,系统管理员可以通过修改/proc/sys/kernel/pid_max来提高上限。<br /> 2、内核把进程存放在叫做任务队列(task list)的双向循环链表中。链表中的每一项都是类型为转载 2010-12-25 13:19:00 · 524 阅读 · 0 评论 -
Linux内核设计与实现读书笔记(4)-系统调用
<br />Linux内核设计与实现读书笔记(4)-系统调用 1、系统调用的声明前都有asmlinkage限定词,用于通知编译器仅从栈中提取该函数的参数。系统调用的命名上都有sys_前缀。<br /> 2、每个系统调用被赋予一个系统调用号。进程不会提及系统调用的名称,所以通过这个独一无二的号就可以关联系统调用。如果一个系统调用被删除,它所占用的系统调用号也不允许被回收利用,其一旦分配就不能再有任何变更。<br /> 3、内核记录了系统调用表中的所有已注册过的系统调用的列表,存储在sy转载 2010-12-25 13:27:00 · 499 阅读 · 0 评论 -
Linux内核设计与实现读书笔记(6)-下半部和推后执行的工作
<br />Linux内核设计与实现读书笔记(6)-下半部和推后执行的工作1、中断处理程序的局限:中断处理程序以异步方式执行并且它有可能会打断其他重要代码的执行。因此,它们应该执行得越快越好。 如果当前有一个中断处理程序正在执行,在最好的情况下,与该中断同级的其他中断会被屏蔽,在最坏的情况下,所有其他中断都会被屏蔽。因此,仍应该让它们执行得越快越好。 由于中断处理程序往往需要对硬件进行操作,所以它们通常有很高的时限要求。 中断处理程序不在进程上下文中运行,所以它们不能阻塞。<br />2、下半部的任务就是执转载 2010-12-25 13:59:00 · 814 阅读 · 0 评论 -
Linux内核设计与实现读书笔记(5)-中断和中断处理程序
<br />Linux内核设计与实现读书笔记(5)-中断和中断处理程序 1、中断是一种电信号,由硬件设备生成,并直接送入中断控制器的输入引脚上。然后再由中断控制器向处理器发送相应的信号。处理器一经检测到此信号,便中断自己的当前工作转而处理中断。此后,处理器会通知操作系统已经产生中断,这样,操作系统就可以对这个中断进行适当的处理了。 2、不同的设备对应的中断不同,而每个中断都通过一个唯一的数字标识。中断值通常被称为中断请求(IRQ)线。有些中断值是指定的,有些是动态分配的。特定的中断总与特定的设转载 2010-12-25 13:40:00 · 615 阅读 · 0 评论 -
Linux内核设计与实现读书笔记(7)-内核同步介绍
<br />Linux内核设计与实现读书笔记(7)-内核同步介绍1、临界区(critical regions)就是访问和操作共享数据的代码段。多个执行线程并发访问同一个资源通常是不安全的,为了避免在临界区中并发访问,编程者必须保证这些代码原子地执行。也就是说,代码在执行结束前不可被打断,就如同整个临界区是一个不可分割的指令一样。 2、如果两个执行线程有可能处于同一个临界区中,我们就称他是竞争条件(race conditions)。避免并发和防止竞争条件被称为同步(synchronization)。 3、内核转载 2010-12-25 14:03:00 · 625 阅读 · 0 评论