LINUX
xhanwu
6年手机开发经验,2年Android平台开发经验,对手机的通讯模块,电话本模块,SIM卡模块等都有比较深入的理解…… 专注于嵌入式设备的开发
展开
-
LINUX内核随记(一)——理解中断(3)
该文章转载自http://www.cnblogs.com/hustcat/archive/2009/08/15/1546601.html4、下半部在中断处理过程中,不能睡眠。另外,它运行的时候,会把当前中断线在所有处理器上都屏蔽(在ack中完成屏蔽);更糟糕的情况是,如果一个处理程序是SA_INTERRUPT类型,它执行的时候会禁上所有本地中断(通过cli指令完成),所以,中断转载 2011-10-23 17:55:23 · 403 阅读 · 0 评论 -
关于pidhash_next与pidhash_prev的理解
在linux内核源码中,关于task_struct有一部分关于hash表的结构,大略的定义如下:哈希表定义: extern struct task-struct *pidhash[HASH_SZ];struct task_struct{ ...... struct task_struct *pidhash_next; struct task-struct **p转载 2011-10-30 09:14:18 · 699 阅读 · 0 评论 -
LINUX内核随记(一)——计算机中的时间
该文章转自http://www.cnblogs.com/hustcat/archive/2009/06/14/1503244.html写在前面:时钟可以说是计算机的心脏,它是分时系统的基础。如果时钟反应到应用程序的层面,就是时间,很多应用程序都会涉及到时间处理。本文就来讨论一下计算机中的时钟与时间。1、操作系统中的时间在Unix/Linux系统中,有两个不同的时间:日历转载 2011-10-23 17:50:33 · 400 阅读 · 0 评论 -
LINUX内核随记(四)--文件系统(1)
该文章转载自:http://www.cnblogs.com/hustcat/archive/2009/09/11/1565012.html 任务管理、内存管理和文件系统是内核最为核心的部分。其中内存管理最为复杂,文件系统最为庞大。内核通过引入虚拟文件系统,从而支持数十种不同的文件系统,不得不让人感叹Linux以及它显示出的开源的力量的强大。虚拟文件系统(Virtu转载 2011-10-23 18:07:24 · 503 阅读 · 0 评论 -
LINUX内核随记(三)--同步(2)
该文章转载自http://www.cnblogs.com/hustcat/archive/2009/09/02/1558673.html2.2、睡眠与唤醒在操作系统中,睡眠和唤醒原语实际上是操作系统的基本原语,也是实现同步的一种方式,而且它还是实现信号量的基础。当进程请求的资源(如内存、文件等)不能得到满足时,就会主动放弃CPU,进入等待状态(可中断等待或者不可中断等待)。转载 2011-10-23 17:58:56 · 356 阅读 · 0 评论 -
LINUX内核随记(二)——内核抢占与中断返回
该文章转载自http://www.cnblogs.com/hustcat/archive/2009/08/31/1557507.html1、上下文一般来说,CPU在任何时刻都处于以下三种情况之一:(1)运行于用户空间,执行用户进程;(2)运行于内核空间,处于进程上下文;(3)运行于内核空间,处于中断上下文。应用程序通过系统调用陷入内核,此时处于进程上下文。现代几转载 2011-10-23 17:56:35 · 420 阅读 · 0 评论 -
LINUX内核随记(一)——理解中断(2)
该文章转载自http://www.cnblogs.com/hustcat/archive/2009/08/14/1546011.html3、内核的中断处理3.1、中断处理入口由上节可知,中断向量的对应的处理程序位于interrupt数组中,下面来看看interrupt:Code highlighting produced by Actipro CodeHighl转载 2011-10-23 17:53:53 · 368 阅读 · 0 评论 -
LINUX内核随记(一)——理解中断(1)
该文章转载自http://www.cnblogs.com/hustcat/archive/2009/08/11/1543889.html一直认为,理解中断是理解内核的开始。中断已经远远超过仅仅为外围设备服务的范畴,它是现代体系结构的重要组成部分。1、基本输入输出方式现代体系结构的基本输入输出方式有三种:(1)程序查询:CPU周期性询问外部设备是否准备就绪。该方式的明显的缺点转载 2011-10-23 17:52:35 · 509 阅读 · 1 评论 -
LINUX内核随记(三)--同步(1)
该文章转载自http://www.cnblogs.com/hustcat/archive/2009/09/01/1558293.html1、概述同步问题是操作系统中的经典问题,它伴随着并发处理而自诞生。现代体系结构中常见的并发处理情况可以分为如下三种情况:(1)多个线程在单处理器上执行——多线程编程(2)多个线程在多处理器上执行——并行计算(3)多个线程在分布的多个转载 2011-10-23 17:57:27 · 349 阅读 · 0 评论 -
LINUX内核中链表的设计和实现
文章中引用的代码来源于LINUX 内核2.6.x版本.linux内核中链表的实现是相当的出色的,《linux内核设计与实现》(附录A)中说“linux内核使用了一种独一无二的方法遍历链表”、“为了这种巧妙设计,内核骇客们还是颇有点自豪的”。linux内核通过定义list_head以及对于list_head上的一组操作实现对不同类型的循环链表的同类操作,这种做法避免了对于不同数据类型的循环链转载 2011-10-30 13:28:46 · 863 阅读 · 1 评论