
Linux内核技术
文章平均质量分 86
zhuky
执着 追求
从事于嵌入式软件开发。具体产品:智能家居、数码相框、机顶盒、PMP等
展开
-
ramdisk制作
1、建立loop设备的临时挂载点 #mkdir /mnt/loop2、建立一个大小为20M的临时文件#dd if=/dev/zero of=/tmp/ramdisk bs=1k count=15360 注意:可根据自己的需要建立大小合适的文件系统,bs为块大小(此处大小为1k);count为块数(此处为15360块),文件系统大小为size=bs*count=1k转载 2009-11-06 17:03:00 · 1586 阅读 · 1 评论 -
Linux 2.6内核的设备模型
Linux 2.6内核的设备模型Linux 2.6内核的一个重要特色是提供了统一的内核设备模型。随着技术的不断进步,系统的拓扑结构越来越复杂,对智能电源管理、热插拔以及plug and play的支持要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,2.6内核开发了全新的设备模型。 1. Sysfs文件系统Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,原创 2010-03-22 11:04:00 · 1101 阅读 · 0 评论 -
自旋锁和信号量 介绍
1. 自旋锁 Linux内核中最常见的锁是自旋锁。一个自旋锁就是一个互斥设备,它只能有两个值:"锁定"和"解锁"。如果锁可用,则"锁定"位被设置,而代码继续进入临界区;相反,如果锁被其他进程争用,则代码进入忙循环并重复检查这个锁,直到锁可用为止。这个循环就是自旋锁的"自旋"。自旋锁最多只能被一个可执行的线程持有。如果一个执行线程试图获得一个被争用的自旋锁,那么该线程就会一直进行忙循环-旋原创 2009-12-23 11:04:00 · 1116 阅读 · 0 评论 -
共享内存—内存映射mmap
共享内存—内存映射mmap 共 享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空 间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易 见的好处是效率高,因为进程可以直接读写内存,而不需要任原创 2009-12-18 09:41:00 · 673 阅读 · 0 评论 -
Linux内核的同步机制
一、引言在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。在主流的Linux内核中包含了几乎所有现代的操作系统具有的同步机制,这些同步机制包括:原子操作、信号量(semaphore)、读写信号量(rw_semap转载 2009-12-18 09:22:00 · 483 阅读 · 0 评论 -
信号 概念
7.1 信号概念 沿革 可重入性, 中断系统调用 Linux 中的信号 Linux 的信号实现 7.1.1 概念信号是异步事件=============================================================================== * 异步/同步: 不可预见/可预见 * 一般的转载 2009-12-17 14:01:00 · 1311 阅读 · 0 评论 -
APR介绍
APR分析-整体篇由于部门所使用的底层库与Apache Server有着“一定的渊源”,所以总有一种想看看Apache的实现的冲动。最近项目收尾,愿望终可实现。一、何为APR?Apache Server经过这么多年的发展后,将一些通用的运行时接口封装起来提供给大家,这就是Apache Portable Run-time libraries, APR。二、APR的目录组织从www转载 2009-12-16 19:40:00 · 10277 阅读 · 0 评论 -
ARM ADS中的AXD 调试经验集锦
1、如何设置AXD连接的Target。在菜单的Configure Target…选项中可以设置。一般选择MutiIce或者ARMUL两种。ARMUL是一种ARM的模拟器。一般的算法或者一些无需和硬件中断等设备打交道的程序都可以通过这个进行调试。使用上非常简单。我们一般上板子进行调试都是通过MutiICE来进行。在刚刚安装了系统的时候,菜单中没有MutiICE,需要我们手动添加:转载 2009-11-19 18:47:00 · 699 阅读 · 0 评论 -
linux根文件系统与initrd
1 根文件系统简单来说,(根文件系统)就是系统第一个mount的文件系统 Filesystem Handling Like every traditional Unix system, Linux makes use of a system s root filesystem : it is the filesystem转载 2009-11-09 11:59:00 · 2498 阅读 · 0 评论 -
busybox使用
1.基础知识 一个操作系统可以简单的抽象为,引导程序 内核 文件系统。 vmlinuz是Linux 内核的镜像文件,可以被引导程序加载,从而启动Linux系统。 initrd的全称是boot loader initialized RAM disk,它是系统启动时所使用的根文件系统映像文件,这个文件系统中包含几个驱动模块,用来装载实际的根文件系统,比如一个IDE或SCS转载 2009-11-06 17:34:00 · 1186 阅读 · 0 评论 -
/dev和/proc介绍
什么是proc文件系统? proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。它的目录结构如下: 目录名称原创 2009-10-28 18:56:00 · 2187 阅读 · 0 评论 -
中断处理的tasklet(小任务)机制和workqueue(工作队列)机制
一、中断处理的tasklet(小任务)机制中断服务程序一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,Linux内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号转载 2010-03-26 10:31:00 · 10403 阅读 · 3 评论