发布时间:2013-06-04 18:02:15
像Linux内核这样庞大而复杂的程序看起来确实让人望而生畏,它象一个很大的球,没有起点和终点。在读源代码的过程中,你会遇到这样的情况,当读到内核的某一部分时又会涉及到其它更多的文件,当返回到原来的地方想继续往下读时,又忘了原来读的内容。在internet上,很多人为此付出了很大的努.........【阅读全文】
发布时间:2013-06-04 17:59:15
接上文:http://blog.chinaunix.net/uid-26000296-id-3755264.html三、异步阻塞模式另外一个阻塞解决方案是带有阻塞通知的非阻塞 I/O。在这种模型中,配置的是非阻塞 I/O,然后使用阻塞 select 系统调用来确定一个 I/O 描述符何时有操作。使 select 调用非常有趣的是它可以用来为多个描述符提供通知,而不仅仅为一个描.........【阅读全文】
发布时间:2013-06-04 17:58:31
简介图 1. 基本 Linux I/O 模型的简单矩阵 每个 I/O 模型都有自己的使用模式,它们对于特定的应用程序都有自己的优点。本节将简要对其一一进行介绍。一、同步阻塞模式在这个模式中,用户空间的应用程序执行一个系统调用,并阻塞,直到系统调用完成为止(数据传输完成或发生错误)。/* * \brief * tc.........【阅读全文】
发布时间:2013-06-04 17:58:01
一、进程模型(一)多道程序设计从系统允许多个程序同时进入CPU那一天开始,我们才有了进程,这个对CPU资源的抽象。我们把这种多个程序同时运行在CPU的情况叫做多道程序。其优点不必赘述,举个例子,单一程序设计时,好比公交车上每次只能坐一个人,多道以后,就能坐多个人,有上有下。也是基于这样的设计思路,.........【阅读全文】
发布时间:2013-06-04 17:09:50
下面的测试程序我们都省略错误检查如同进程可以调用atexit函数安排在他退出时需要调用的函数一样,进程也可以安排在他退出时调用的函数。这些清理函数记录在栈中,所以他们执行的顺序和注册的顺序是相反的。#inclduevoid pthread_cleanup_push(void (*rtn)(void *),void *arg);void pthread_clean.........【阅读全文】