技术
文章平均质量分 56
JackWang_cm
这个作者很懒,什么都没留下…
展开
-
inotify -- Linux 2.6 内核中的文件系统变化通知机制
一、 引言众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和inotify 就是这种需求催生的。Hotplug 是一种内核向用户态应用通报关于热插拔设备一些事件发生的机转载 2011-12-12 10:10:25 · 111 阅读 · 0 评论 -
常见媒体存储格式
常见媒体文体图解一个典型的ISO格式文件ISO媒体文件由若干称为盒子的数据对象组成,每个盒子的起首为四个字节的数据长度(大头序)和四个字节的类型标识,数据长度和类型标志都可以扩展。有些盒子具备容器功能,其数据域由若干其它盒子组成,从而实现结构化的数据,这一点是与RIFF格式相似的。AVI文件的结构Real文件结构MKV文件转载 2013-02-05 09:52:49 · 2139 阅读 · 0 评论 -
task_struct 数据结构
在linux 中每一个进程都由task_struct 数据结构来定义. task_struct就是我们通常所说的PCB.她是对进程控制的唯一手段也是最有效的手段. 当我们调用fork() 时, 系统会为我们产生一个task_struct结构。然后从父进程,那里继承一些数据, 并把新的进程插入到进程树中, 以待进行进程管理。因此了解task_struct的结构对于我们理解任务调度(在linux 中任原创 2011-12-12 09:38:49 · 464 阅读 · 0 评论 -
文件系统,块,文件加锁,获取系统信息
文件系统是以合法层次结构组织的文件和目录的集合。文件系统能从全局的文件和目录的名字空间独立的添加和移除。每个文件系统都要挂载在名字空间中特定的位置,这个位置称为挂载点。文件系统的根目录可以通过挂载点访问。 块设备最小的访问地址单元为扇区,扇区是设备的物理单位。扇区一般是2的指数倍,通常为512字节。块设备无法转移或者访问比扇区更小的数据单元,所有的的I/O操作都发生在一个或多个扇区上。原创 2011-12-12 09:35:37 · 478 阅读 · 0 评论 -
linux 设备驱动程序例程编译出错
如果在2.6.34kernel环境下,编译是不会出现异常了。 但是有些同学从fedora14 升级到了 fedora15 或是使用了 ubuntu 11.04 这个时候linux kernel已经升级到了2.6.38.8 这个时候编译就会出错。 第一部分: init_MUTEX(LOCKNAME)未定义 这个宏在2.6.38.8已经被替换 只原创 2011-12-12 09:25:09 · 704 阅读 · 0 评论 -
uname获取系统信息
【uname系统调用】功能描述:获取当前内核名称和其它信息。用法:#include /* Put information about the system in NAME. */extern int uname (struct utsname *__name) __THROW;参数:__name:指向存放系统信息的缓冲区,原型如下/* Structure des转载 2011-12-12 11:21:08 · 641 阅读 · 0 评论 -
热插拔设备
hotplug,hotplug其实是一个shell脚本。下面是网友实现的U盘hotplug脚本。小弟只想尝试着让其能自动挂载和卸载u盘,所以处理比较简单: 1、在/sbin/目录下放置hotplug脚本 2、在/etc下建立hotplug.d目录,里面存放一个名为usb.hotplug的脚本 模仿着>一书来写,具体如下: #!/bin/sh # # What转载 2011-12-12 10:48:58 · 580 阅读 · 0 评论 -
smp_processor_id()
Smp_processor_idunsignedint smp_processor_id(void){unsigned long preempt_count = preempt_count();int this_cpu = __smp_processor_id();cpumask_t this_mask;if (likely(preempt_count))goto ou转载 2011-12-12 10:22:21 · 1301 阅读 · 0 评论 -
libev __GNUC__ __cplusplus
libev的安装 1、./configure--prefix=/usr //指定安装路径,若不指定,会默认安装到/usr/local 2、make 3、make install __GNUC__是linux内置的一个宏用于在跨平台编程时识别linux有时候编译时__GNUC__不能识别,可以在makefile里显示把宏开启-D__原创 2011-12-12 09:50:05 · 709 阅读 · 0 评论 -
down_interruptible()
最近研究了一下linux驱动,发现有很多同学对down_interruptible() 函数不是很理解。 现在就2.6.38.8 内核 down_interruptible()是处理信号量的函数。他的返回值有三种 1. “0” 2. “-ETIME”3.“-EINTR” 0 代表正常返回 -ETIME 等待超时 -EINTR 中断 函数的原创 2011-12-12 09:10:17 · 2787 阅读 · 0 评论 -
视频大数据产品-物联网、视频、大数据、三维、移动
视频大数据产品介绍,有意向联系邮箱[email protected],微信jackwangcm原创 2017-10-09 10:56:41 · 962 阅读 · 0 评论