简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。 PermGen space:全称是Permanent Generation space.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heap space:存放Instance。
对于初学Linux者(我也是),不希望在虚拟机里面搞弄Linux,又不希望用wubi装Ubuntu这个集成比较多使用相对简单的Linux,想装Fedora、Redhat或者CentOS等学一下比较基本的Linux操作,所以我们一般都是在Windows下划个空间然后在里面装Linux。这样对于初学者有个不好的地方是假如GRUB引导出错或者我刚开始不大懂想图个方便在Windows下直接把Linux分区
介绍了上面的几种基本宏后,对list_entry的理解就容易了。----------------list_entry()--------------------list_entry()宏,获取当前list_head链表节点所在的宿主结构项。第一个参数为当前list_head节点的指针,即指向宿主结构项的list_head成员。第二个参数是宿主数据结构的定义类型。第三个参数为宿主结构
一:前言 I2c是philips提出的外设总线。I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员的布线。另外,I2C是一种多主机控制总线。它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以。而I2C是基于multimaster机制。一同总线上可允许多个master.关于I2C协议的知识,这里不再赘述
不明白楼主为什么要这样做,不过是有办法的。ttyS0只是代表一个设备节点,它存在主设备号和次设备号。一个设备节点包含了这两个设备号,Linux系统通过这两个号唯一的确定一个驱动实例。一个实际存在的串口只能够存在一个驱动实例。大多数的驱动实例只支持单一现成的读写操作,所以不允许多个程序同时打开设备文件,典型的一种就是串口,它只允许一个程序打开。一个驱动实例对应一组唯一的主设备号和次设备号
一、定义:linux/include/linux/device.hstruct device{ struct klist klist_children; struct klist_node knode_parent; /* node in sibling list */ struct klist_
camera曝光 exposure为了讲清曝光这个词,我们还是回到小孔成像。假设一个黑乎乎的密闭房间,一面墙壁上开了个小圆窗户,窗对面的内壁上安上感光材料(白沥青,大型胶卷或CCD/CMOS)。这就是一台大型房式照相机。在没有打开小窗之前,房间里是黑乎乎的。我们打开小窗,光线从小孔而入,射到对面墙壁的胶卷上,产生光化反应(或光电反应,如果是CCD/CMOS),照片就诞生了。此过程就叫做
内核中每个字符设备都对应一个 cdev结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj; // 每个 cdev都是一个 kobjectstruct module *owner; //指向实现驱动的模块const struct file_op
在Linux系统中,存在一类字符设备,他们共享一个主设备号(10),但此设备号不同,我们称这类设备为混杂设备(miscdeivce),查看/proc/device中可以看到一个名为misc的主设备号为10.所有的混杂设备形成一个链表,对设备访问时内核根据次设备号找到对应的miscdevice设备。相对于普通字符设备驱动,它不需要自己去生成设备文件。Linux内核使用struct miscd
MKDEV 功能:将主设备号和次设备号转换成dev_t类型cdev结构在Linux2.6内核中一个字符设备用cdev结构来描述,其定义如下:struct cdev { struct kobject kobj; struct module *owner; //所属模块 const struct file_operations*