Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->内核研究 ->列表
Linux操作系统内核源码目录结构详解
Linux内核源码目录结构 代码目录结构 在阅读源码之前,还应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录): arch目...
作者:发表于:2007-04-11 20:29:00 点击:265 评论:1 查阅全文...
Linux内核开发:使用Git管理源代码
Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。我们可以自己下载这个软件用于对内核的 hack 分析,或者用来管理自己的软件开发项目。本文将向您展示如何使用 Git 工具开始分析 Linux 。 在现代软件开发项目中,要成为一个有...
作者:发表于:2007-04-11 20:28:59 点击:351 评论:1 查阅全文...
Linux内核驱动程序初始化顺序的调整
今天在做一个驱动的时候要用到另一个驱动(I2C)提供的API,在内核初始化时碰到了一个依赖问题。 我的驱动在I2C初始化之前就运行起来了,而这时I2C提供的API还处于不可用状态。查了很多资料,网上有人说所有使用module_init这个宏的驱动程序的起动顺序都是不确定的(我...
作者:发表于:2007-04-11 20:28:56 点击:131 评论:1 查阅全文...
Linux系统内核定时器机制详解(下)
7.6.3.4 将一个定时器插入到链表中 函数add_timer()用来将参数timer指针所指向的定时器插入到一个合适的定时器链表中。它首先调用timer_pending()函数判断所指定的定时器是否已经位于在某个定时器向量中等待执行。如果是,则不进行任何操作,只是打印一条内核告警信...
作者:发表于:2007-04-11 20:28:10 点击:870 评论:1 查阅全文...
Linux系统内核定时器机制详解(上)
Linux内核2.4版中去掉了老版本内核中的静态定时器机制,而只留下动态定时器。相应地在timer_bh()函数中也不再通过run_old_timers()函数来运行老式的静态定时器。动态定时器与静态定时器这二个概念是相对于Linux内核定时器机制的可扩展功能而言的,动态定时器是指内核的...
作者:发表于:2007-04-11 20:28:09 点击:978 评论:1 查阅全文...
解析Linux内核获取当前进程指针的方法
一、内存数据表示: 我们在教材或阅读中,经常需要直观的用图示来展示数据在内存中的分布,那么数据是如何在内存中组织的呢?不同的机器有不同的表示法,我们以最常见的Intel X86系列计算机为例来说明这个问题。 如上图示内存示意图:内存低址在上。内存高址在下,内存...
作者:发表于:2007-04-11 20:28:02 点击:182 评论:1 查阅全文...
Linux操作系统内核和设备文件对话
设备文件是用来代表物理设备的。多数物理设备是用来进行输出或输入的,所以必须由某种机制使得内核中的设备驱动从进程中得到输出送给设备。这可以通过打开输出设备文件并且写入做到,就想写入一个普通文件。在下面的例子里,这由device_write实现。 这不是总能奏效的。...
作者:发表于:2007-04-11 20:27:59 点击:249 评论:1 查阅全文...
Liunx用户和内核空间之间的通信实现
系统调用 用户空间和内核空间之间的通信实现 ● 与系统调用相关的数据结构和函数 系统调用函数名以“sys_”开头,后面是该系统调用的名字,由此构成了221个形似sys_name()的函数名。include/asm-i386/unistd.h中为每一个系统调用规定了惟一的编号,假设用name来表示系...
作者:发表于:2007-04-11 20:27:57 点击:473 评论:1 查阅全文...
Linux内核中的同步和互斥分析报告
先看进程间的互斥。在linux内核中主要通过semaphore机制和spin_lock机制实现。主要的区别是在semaphore机制中,进不了临界区时会进行进程的切换,而spin_lock刚执行忙等(在SMP中)。先看内核中的semaphore机制。前提是对引用计数count增减的原子性操作。内核用atomic_...
作者:发表于:2007-04-11 20:27:55 点击:253 评论:1 查阅全文...
Linux内核怎么样接收不同类型以太帧
1. 前言 以太头中除了6字节目的MAC地址、6字节源MAC地址外,还有两字节的以太帧类型值,如IPv4为0x0800,ARP为0x0806等,网卡驱动收到以太帧后通过接口函数netif_receive_skb()(netif_rx实际最后也是调用netif_receive_skb)交到上层,而这个接口函数就完成对以太帧类型...
作者:发表于:2007-04-11 20:27:35 点击:236 评论:1 查阅全文...
Power by linux-cn.com 粤ICP备05006655号