本文由该问题引入到内核锁的讨论,归纳例如以下为什么须要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是能够訪问全部内核数据的,因此要对共享数据进行保护,即相互排斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v...
分类:
其他好文 时间:
2014-06-18 16:11:05
阅读次数:
224
转:http://hi.baidu.com/firstm25/item/8fe022155e1fa78988a9568f摘要:设备驱动程序是操作系统内核与机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节。那么驱动程序如何书写实现这一接口功能是本文讨论的重点,并以一简单的驱动程序介绍书写细节...
分类:
系统相关 时间:
2014-06-18 15:03:05
阅读次数:
701
USB设备插入时,内核会读取设备信息,接着就把id_table里的信息与读取到的信息做比较,看是否匹配,如果匹配,就调用probe函数。USB设备拔出时会调用disconnect函数。URB在USB设备驱动程序中用来描述与USB设备通信时用到的基本载体和核心数据结构。...
分类:
系统相关 时间:
2014-06-18 11:51:03
阅读次数:
443
Linux 进程间通信(IPC):
Linux系统中除了进程和进程之间通信,我想大家也应该关注用户空间与内核空间是如何通信的,比方说netlink等等。除了传统进程间通信外像Socket通信也需要掌握的!
/*--------------------------------------------------------------------------
* Project: aipc...
分类:
系统相关 时间:
2014-06-17 23:08:03
阅读次数:
331
在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子。浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本。 JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,...
分类:
Web程序 时间:
2014-06-17 22:24:51
阅读次数:
298
系统# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv # 列出...
分类:
系统相关 时间:
2014-06-17 20:37:32
阅读次数:
370
实验环境:10.0.0.9:分发服务器(用于保存SSH生成的密钥和后期的文件的分发工作)10.0.0.10、10.0.0.11:节点服务器(用于保存SSH生成的公钥文件和接收分发服务器的文件)#分发服务器与节点服务器的系统版本与内核如下
[root@C58/]#cat/etc/redhat-release
CentOSrelease5.8(F..
分类:
其他好文 时间:
2014-06-17 17:16:02
阅读次数:
459
1.模块的含义
linux 是采用模块化的方式构建的,允许内核在运行时动态地向其中插入或从中删除代码,这些代码(包扩函数,数据,模块入口函数,模块出口函数)被一并组合
在一个单独的二进制镜像,就是所谓的可装载内核模块。
模块可以是基本的内核镜像尽可能小,同时可以方便地对新功能进行调试,还可以实现热插拔(后续会学习如何实现设备的热插拔功能,暂时无需深究),和内核的核心子系统不一样,模块文件需要...
分类:
系统相关 时间:
2014-06-17 16:35:16
阅读次数:
246
1.概述
一个线性区可以和磁盘文件系统的普通文件的某一个部分或者块设备文件相关联。这就意味着内核把对线性区中页内某个字节的访问转换成对文件中相应字节的操作,这种技术称为内存映射。
有两种类型的内存映射:
共享型:
在线性区页上的任何写操作都会修改磁盘上的文件;而且,如果进程对共享映射中的一个页进行写,那么这种修改对于其他映射了这同一文件的所有进程来说都是可见的。
私有型:
当进程创...
分类:
其他好文 时间:
2014-06-17 16:32:08
阅读次数:
264
peewee是一个轻量级的ORM。用的是大名鼎鼎的sqlalchemy内核,采用纯python编写,显得十分轻便。为了后续方便查看,在这里简单记录下~~
peewee不仅轻量级,还提供了多种数据库的访问,如SqliteDatabase(file
or memory)、MYSQLDatabase、PostgresqlDatabase;
接下来就从API上路吧~~~
1.
class...
分类:
编程语言 时间:
2014-06-17 16:21:09
阅读次数:
926