自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

周翔的专栏

努力终有回报 https://github.com/ZhouBox

  • 博客(8)
  • 资源 (3)
  • 收藏
  • 关注

转载 container_of 理解

问题:如何通过结构中的某个变量获取结构本身的指针???关于container_of见kernel.h中:/*** container_of - cast a member of a structure out to the containing structure* @ptr:     the pointer to the member.* @type:     the t

2013-07-27 09:45:11 781

原创 中断处理

查看设备状态有两种方式,一种是轮询,一种是中断,可是轮询代价太大,如果是简单的系统,处理的时间单一,比如只有一个按键操作,那么可以轮询,如果是操作系统的,则是对响应来说是灾难性的。中断的引入是由I/O操作的不确定性以及与CPU之间的速度矛盾。设备通过某种硬件信号来异步地唤起CPU的注意,说明中断的到来,是否处理。这些硬件的信号就是中断。每个中断设备都被分配一个相关的标识符,被称为中断请求(IR

2013-07-18 07:47:10 1154

原创 工作队列

工作队列是内核中用于进行延后工作的一种方式。延后工作在很多地方使用到,比如1.1个错误中断发生后,触发网络适配器重新启动;2.同步磁盘缓冲区的文件系统任务;3.给磁盘发送一个命令,并跟踪存储协议状态机。等等工作队列辅助库向用户提供了两个接口结构:workqueue_struct和work_struct,使用工作队列的步骤如下1.创建一个工作队列(或一个workqueue_str

2013-07-16 15:48:41 1100

原创 内核并发处理

随着硬件的发展,SMP(对称多处理器)已经很普遍,如果内核的调度机制是可抢占的,那么SMP和内核抢占是多线程执行的两种场景。当多个线程同时访问内核的数据结构时,我们就需要对其做串行化处理。自旋锁和互斥体访问共享资源的代码区称为临界区。自旋锁(spinlock)和互斥体(mutex, mutual exclusion)是保护内核临界区的两种基本机制。自旋锁可以确定在同时只有一个线程进入临

2013-07-15 16:54:43 1272

原创 内核定时器

内核中的许多部分的工作都高度依赖与时间信息。Linux内核利用硬件提供的不同的定时器以支持忙等待和睡眠等待等时间相关的服务。所谓忙等待,就是cpu不停的运转。但是睡眠等待,进程将放弃cpu。所以,只有在睡眠等待不可行的情况下,才考虑使用忙等待。内核也提供了相关的api,使可以在一段时间之后调用某函数运行。在内核中存在这一些重要的与定时器相关的变量。HZ和Jiffies系统定时器能以可编程的

2013-07-14 07:09:57 1026

原创 基于epoll的聊天室程序

epoll相对于poll和select这两个多路复用的I/O模型更加的高效。epoll的函数很简单,麻烦的地方在于水平出发和边沿触发。               用张图来说明下              ET(边沿)只是在状态反转时触发,比如从不可读到可读。而LT(水平)就是如果可读,就会一直触发。所以在使用ET的时候要做一些额外的处理,比如可读的,一直把缓冲区读完,进入不可读状态,

2013-07-13 20:44:31 3956

原创 内核启动过程

以x86体系结构的计算机为例          第一步是BIOS从启动设备中导入主引导记录(MBR),接下来MBR中的代码查看分区表并从活动分区读取GRUB,LILO或SYSLINUX等引导装入程序(Bootloader),之后引导装入程序会加载压缩后的内核映像并将控制权传递给内核。内核获得控制权后,会将自身解压并投入运行。x86的cpu有两种操作模式:实模式和保护模式。在实模式下,用

2013-07-11 15:33:52 1047

原创 QTabWidget+QToolBar实现浏览器标签页

直接上代码/********************************************************************* author 周翔* e-mail 604487178@qq.com* blog http://blog.csdn.net/zhx6044*************************************************

2013-07-11 10:00:14 7305 5

hadoop eclipse插件

hadoop eclipse 插件 进行MapRecude程序的开发

2012-10-25

基于qt的多线程视频采集与传输

将服务端的设备虚拟化,供客户端调用。使用TCP/IP协议传输,使用V4L2实现视频采集。

2012-10-08

perl正则表达式

perl是unix上的工具,但是现在已经发张成了一门很完整的编程语言特别是在网络服务端

2012-07-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除