Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1011043
  • 博文数量: 646
  • 博客积分: 288
  • 博客等级: 二等列兵
  • 技术积分: 5375
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-08 14:33
个人简介

为了技术,我不会停下学习的脚步,我相信我还能走二十年。

文章分类

全部博文(646)

文章存档

2014年(8)

2013年(134)

2012年(504)

发布时间:2014-05-08 09:28:34

Epoll实现分析——作者:lvyilong316通过上一章分析,poll运行效率的两个瓶颈已经找出,现在的问题是怎么改进。首先,如果要监听1000个fd,每次poll都要把1000个fd 拷入内核,太不科学了,内核干嘛不自己保存已经拷入的fd呢?答对了,epoll就是自己保存拷入的fd,它的API就已经说明了这一点——不是 epoll_.........【阅读全文】

阅读(1004) | 评论(0) | 转发(0)

发布时间:2014-05-08 09:28:16

0.等待队列在Linux内核中等待队列有很多用途,可用于中断处理、进程同步及定时。我们在这里只说,进程经常必须等待某些事件的发生。等待队列实现了在事件上的条件等待: 希望等待特定事件的进程把自己放进合适的等待队列,并放弃控制全。因此,等待队列表示一组睡眠的进程,当某一条件为真时,由内核唤醒它们.........【阅读全文】

阅读(1082) | 评论(0) | 转发(0)

发布时间:2013-12-04 09:53:38

内核编程与应用编程对比作者:gfree.wind@gmail.com博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net微博:weibo.com/glinuxerQQ技术群:4367710我虽然一直比较喜欢研究底层技术,也经常阅读Linux内核源码,但是工作以来,却没有真正从事过内核编程的开发。即使后来做的负载均衡,也是在应用层处理.........【阅读全文】

阅读(963) | 评论(0) | 转发(0)

发布时间:2013-03-09 14:38:24

......【阅读全文】

阅读(482) | 评论(0) | 转发(0)

发布时间:2013-03-05 23:21:16

......【阅读全文】

阅读(545) | 评论(0) | 转发(0)

发布时间:2013-03-01 21:08:55

我们知道,GDB的backtrace命令可以查看堆栈信息。但很多时候,GDB根本用不上。比如说,在线上环境中可能没有GDB,即使有,也不太可能让我们直接在上面调试。如果能让程序自己输出调用栈,那是最好不过了。本文介绍和调用椎栈相关的几个函数。 NAME       backt.........【阅读全文】

阅读(1259) | 评论(0) | 转发(1)

发布时间:2013-02-28 16:59:35

......【阅读全文】

阅读(423) | 评论(0) | 转发(0)

发布时间:2013-02-28 16:59:19

......【阅读全文】

阅读(493) | 评论(0) | 转发(0)

发布时间:2013-02-28 16:53:21

......【阅读全文】

阅读(603) | 评论(0) | 转发(0)

发布时间:2013-02-28 16:47:52

......【阅读全文】

阅读(490) | 评论(0) | 转发(0)

发布时间:2013-02-28 16:47:15

......【阅读全文】

阅读(454) | 评论(0) | 转发(0)

发布时间:2013-02-28 10:28:26

int open(const char *path, int access,int mode)    path 要打开的文件路径和名称      access 访问模式,宏定义和含义如下:                       &.........【阅读全文】

阅读(458) | 评论(0) | 转发(0)

发布时间:2013-02-26 10:54:57

......【阅读全文】

阅读(507) | 评论(0) | 转发(0)

发布时间:2013-02-26 10:52:26

......【阅读全文】

阅读(404) | 评论(0) | 转发(0)

发布时间:2013-02-26 10:47:47

......【阅读全文】

阅读(547) | 评论(0) | 转发(0)

发布时间:2013-02-26 10:44:05

GRUB 启动分析引言玩Linux的人,肯定会听说过Grub这个神奇的东西,就是开机启动时候下拉一个菜单让我们选操作系统的那个东东。自己比较懒,一直没深入琢磨这个Grub的工作原理流程。最近工作遇到了Grub相关的问题,就花了一些时间学习了一下Grub。闲言少叙。我们首先看下Linux的启动过程流程图:这个流程图是大牛M. Tim.........【阅读全文】

阅读(437) | 评论(0) | 转发(0)

发布时间:2013-02-26 10:38:46

一、管道1、管道(有亲缘关系)及有名管道(无亲缘)、信号、消息队列、共享内存、信号量、套接字。=====无名管道2、管道:是堵塞的;管道的读端存在时向管道中写入数据才有意义。具有固定的读端和写端。3、当一个管道建立pipe(fds)时,它会创建两个文件描述符 fds[0]和 fds[1]。.........【阅读全文】

阅读(478) | 评论(0) | 转发(0)

发布时间:2013-02-25 10:32:25

预科:每个进程都有一个【进程表项】,并且维护一个【文件描述符表】。此表示相当于一个文件描述符数组,每个元素都是一个【文件描述符】。每个文件描述符相当于一个矢量,指向一个【文件表】,文件表也是在进程层次的,每次打开一个文件就会创建一个文件表,并且有文件描述符指向此表。当没有文件描述符指向.........【阅读全文】

阅读(412) | 评论(0) | 转发(0)

发布时间:2013-02-25 10:19:05

       在多线程的编程环境下,经常要碰到共享数据的问题,一定要通过加锁的方式才能达到线程安全么?        其实有些情况下,还是不需要加锁的,可以通过异常的方式来判断能否操作。        如:&nb.........【阅读全文】

阅读(481) | 评论(0) | 转发(0)

发布时间:2013-02-25 10:13:25

一、 什么是ioctl     ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下: int ioctl(int fd, ind cmd, …);     其中fd是用户程序打开设备时使用open函数返回的文件标示符,cmd是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,这个参数的有无和cmd的意义相关。     ioctl函数是文件结构中的......【阅读全文】

阅读(348) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册