分享 ramdisk
yd2763132 2011-5-13 22:13
一 什么是RamDisk Ram:内存,Disk:磁盘,在Linux中可以将一部分内存当作分区来使用,称之为RamDisk。对于一些经常被访问、并且不会被更改的文件,可以将它们通过RamDisk放在内存中,能够明显地提高系统性能。RamDisk工作于虚拟文件系统(VFS)层,不能格式化,但可以创建多个RamDisk。虽然现在硬盘价钱越来越便宜,但对 ...
个人分类: linux|955 次阅读|0 个评论
分享 块设备驱动(3)
yd2763132 2011-5-13 22:10
块设备驱动(3)
在操作系统中块是文件系统最小寻址单位,而扇区是最小物理单位。 块设备由于其操作IO速度很慢,故而为了加快其操作速度需要将一个基本块读取到内存中将其缓存起来;当需要读取块设备某一扇区时先查找该扇区是否被缓存,若被缓存则直接读取缓存,反之则读取扇区。这样进过缓存后可以大大加快IO操作速度。 一个块不能超过页 ...
个人分类: linux|917 次阅读|0 个评论
分享 块设备驱动(2)
yd2763132 2011-5-13 22:08
结构gendisk是通用硬盘的描述,其结构体如下: struct gendisk { ?? int major;//主设备号 ?? int first_minor;//第一个词设备号 ?? int minors; ??//描述被磁盘使用的设备号的成员. 至少, 一个驱动器必须使用最少一个次编号. 如果你的驱动会是可分 ??//区的, 但是(并且大部分应当是), 你要分配一个次编号给每个可能的分 ...
个人分类: linux|728 次阅读|0 个评论
分享 块设备驱动(1)
yd2763132 2011-5-13 22:06
块设备驱动(1)
每个块设备用一个块设备结构进行描述,其结构如下: struct block_device { ?? dev_t bd_dev; /* not a kdev_t - it's a search key */ ?? struct inode * bd_inode; //多大用处 ?? int bd_openers;//打开该设备计数值 ?? struct semaphore bd_sem; //打开或关闭互斥 ?? struct semaphore bd_mount_sem; /* mount mutex */ ...
个人分类: linux|945 次阅读|0 个评论
分享 硬件平台初始化笔记
yd2763132 2011-5-13 22:04
对一个不知名的芯片如何移植呢?应选择同一内核的芯片来使用,仿造该芯片生成arch/arm/mach-xxx包和include/asm-arm/arch-xxx包,之后才根据具体芯片的配置来修改相应的文件和Makefile以及Kconfig.在移植过程中需要了解bootloader将控制权移交给内核时,与硬件平台相关的内核是如何处理的。 ?? uboot将cpu标志号和启动参数 ...
个人分类: linux|930 次阅读|0 个评论
分享 内核编译
yd2763132 2011-5-13 22:03
编译选项文件Kconfig语法结构: ??config:主要指定目录项目(配置一个目录),并定义符号值. config 变量 ?? ??menuconfig:其定义的符号用于控制从属的config命令,其包含的config可以使用多个. ?? ??choice和endchoice:它们中包含的多个config命令中只能选择一个时使用. ?? ??comment:从菜单中输出支付串的功能. Comment”-- ...
个人分类: linux|803 次阅读|0 个评论
分享 linux/compile.h头文件说明
yd2763132 2011-5-13 22:03
#ifndef __ASSEMBLY__ ??#ifdef __CHECKER__ //如果使用Sparse对代码进行检查,那么内核代码就会定义__CHECKER__宏,否则就不定义。 ?? ??# define __user __attribute__((noderef, address_space(1))) //是用来修饰一个变量的,这个变量必须是非解除参考(no dereference)的,即这个变量地址必须是有效的,而且变量所 ...
个人分类: linux|798 次阅读|0 个评论
分享 移植笔记
yd2763132 2011-5-13 22:02
附加uboot移植笔记   硬件平台:优龙 FS2410 开发板   Bootloader: uboot.1.1.6   Os 内核: linux-2.6.14.1   根文件系统格式:cramfs   编译情况:在编译 u-boot 和 linux 内核时出现一些情况。    在使用 cross-3.3.2 交叉编译环境编译 uboot 时没有出现任何问题,在编译 linux 内核时出现 arm-linux-gcc ...
个人分类: linux|796 次阅读|0 个评论
分享 平台设备使用介绍
yd2763132 2011-5-13 22:00
设备驱动中,平台设备作为一个虚拟的设备和总线可以大大简化设计难度。 ??其由两部分构成 platform_device和 platform_driver。其设计顺序为定义 platform_device - 注册 platform_device- 定义 platform_driver- 注册 platform_driver 。platform_device 来描述该结构一个重要的元素是 resource ,该元素存入了 ...
个人分类: linux|710 次阅读|0 个评论
分享 信号和AIO
yd2763132 2011-5-13 21:58
异步阻塞IO:阻塞通知非阻塞io,即io操作发出后不阻塞IO操作,将通知阻塞,直到采用select查询后才获得操作结果; ?? 异步非阻塞IO:即io操作发出后不阻塞IO操作也不阻塞通知,当操作完成后内核通过信号或回调方式主动通知调用进程,而不需要等待调用者主动进行查询。 ?? 在异步IO操作中,当IO资源可用时驱动释放相应的信 ...
个人分类: linux|798 次阅读|0 个评论
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部