linux内核的组成,王明学learn】的更多相关文章

linux内核的组成 一.linux内核源代码目录结构 arch: 包含和硬件体系结构相关的代码, 每种平台占一个相应的目录, 如 i386.ARM.PowerPC.MIPS 等. block:块设备驱动程序 I/O 调度. crypto:常用加密和散列算法(如 AES.SHA 等) ,还有一些压缩和 CRC 校验算法. Documentation:内核各部分的通用解释和注释. drivers:设备驱动程序,每个不同的驱动占用一个子目录,如 char.block.net.mtd .i2c 等.…
linux设备驱动学习-1 本章节主要学习有操作系统的设备驱动和无操作系统设备驱动的区别,以及对操作系统和设备驱动关系的认识. 一.设备驱动的作用 对设备驱动最通俗的解释就是“驱使硬件设备行动” .设备驱动与底层硬件直接打交道, 按照硬件设备的具体工作方式读写设备寄存器, 完成设备的轮询. 中断处理.DMA 通信,进行物理内存向虚拟内存的映射,最终使通信设备能够收发数据,使显示设备能够显示文字和画面,使存储设备能够记录文件和数据.此可见,设备驱动充当了硬件和应用软件之间的纽带,它使得应用软件只需…
usb设备驱动 本章主要内容包含以下:USB总线介绍,USB协议分析,USB系统架构 一.USB总线介绍 1.1USB发展史 USB(Universal Serial Bus)通用串行总线,是一种外部总线标准用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft等多家公司联合提出的,自1996年推出后已成功替代串口和并口,成为当今个人电脑和大量智能设备的必配接口之一. USB 1.0出现在1996年的,速度只有1.5Mb/s1998年升级为USB 1…
对于ok6410的madplay移植主要包括三部分.声卡驱动移植,播放器的移植,以及alsa库的移植. 一.首先移植声卡驱动以及播放器 ok6410采用WM97系列的声卡芯片,要使得内核支持该驱动,首先需要配置内核: 1.使用飞凌针对ok6410开发板提供的内核,进入内核顶层目录执行命令: make menuconfig ARCH=arm 进入内核配置菜单,在[Device drivers]->[Sound card support]->[Advance linux sound Archite…
linux驱动程序设计的硬件基础(一) 本章讲总结学习linux设备程序设计的硬件基础. 一.处理器 1.1通用处理器 通用处理器(GPP)并不针对特定的应用领域进行体系结构和指令集的优化,它们具有一般化的通用体系结构和指令集,以支持复杂的运算并易于新开发功能的添加.一般而言,在嵌入式微控制器(MCU)和微处理器(MPU)中会包含一个通用处理器核.  MPU 通常代表一个 CPU(中央处理器) ,而 MCU 则强调把中央处理器.存储器和外围电路集成在一个芯片中.嵌入式微控制器一般由一个 CPU…
linux应用程序地址布局 在学习Linux应用程序开发时,经常会遇到如下概念:代码段.数据段.BSS段(Block Started by Symbol,又名:未初始化数据段).堆(heap)和栈(stack).而这些部分也是构成Linux应用程序的重要组成部分. 一.内存布局 1.从低地址到高地址分别为:代码段.数据段.BSS段.堆.栈 2.堆向高内存地址生长 3.栈向低内存地址生长 二.数据存放 1.代码段:代码,全局常量(const).字符串常量   2.数据段:全局变量(初始化以及未初始…
消息队列通信 消息队列就是一个消息(一个结构)的链表.而一条消息则可看作一个记录,具有特定的格式.进程可以从中按照一定的规则添加新消息:另一些进程则可以从消息队列中读走消息. 每一个消息都是一个结构体: struct msgbuf{ long mtype;      //表示结构体类型,来区分不同的消息 char mtext[1];     //消息数据 }: 一.函数学习 1创建消息队列 1).函数名 msgget 2).函数原型 int msgget(key_t key,int msgflg…
信号通讯编程 在Linux系统中,信号(signal)同样也是最为古老的进程间通信机制. 一.信号类型 Linux系统支持的所有信号均定义在/usr/include/asm/signal.h(展示),其中常见的信号有: SIGKILL:杀死进程 SIGSTOP:暂停进程 SIGCHLD:子进程停止或结束时用来通知父进程 二.函数学习 2.1 发送信号 2.1.1 函数名 kill 2.1.2 函数原形 int kill(pid_t pid,int sig); 2.1.3 函数功能 向进程发送信号…
共享内存同行 一.共享内存概念 共享内存是IPC机制中的一种,它允许两个不相关的进程访问同一段内存, 这是传递数据的一种非常有效的方式. 二.函数学习 这里主要有创建共享内存.映射共享内存.分离共享内存.控制共享内存 2.1创建/打开共享内存 1).函数名 shmget 2).函数原型 int shmget(key_t key,size_t size,int shmflg) 3).函数功能 创建或者获取共享内存,并返回描述符id 4).所属头文件 <sys/ipc.h><sys/shm.…
信号量进程同步 一组并发进程进行互相合作.互相等待,使得各进程按一定的顺序执行的过程称为进程间的同步. 信号量在进程同步时初始值为:0 信号量在进程互斥时初始值为:大于0的 本章节主要使用信号量,使的两个进程生产到消费有序的完成.就是说必须等到生产完全完场才能,让消费执行. 下面进入编程语言编程学习: 1.首先创建文件product.c文件------>vim  product.c 编写代码如下: #include <sys/types.h> #include <sys/stat.…