摘要: fork创建一个新进程clone按指定条件创建子进程execve运行可执行文件exit中止进程_exit立即中止当前进程getdtablesize进程所能打开的最大文件数getpgid获取指定进程组标识号setpgid设置指定进程组标志号getpgrp获取当前进程组标识号setpgrp设置当前进程组标志号getpid获取进程标识号getppid获取父进程标识号getpriority获取调度优先级setpriority设置调度优先级modify_ldt读写进程的本地描述表nanosleep使进程睡眠指定的时间nice改变分时进程的优先级pause挂起进程,等待信号personality设置进程运 阅读全文
posted @ 2012-08-20 15:02 sinaxyz 阅读(950) 评论(0) 推荐(0) 编辑
摘要: select系统调用select系统调用允许程序同时在多个底层文件描述符上等待输入的到达(或输出的完成)。这意味着终端程序可以阻塞到有事情可做为止。类似的,服务器也可以通过同时在多个打开的套接字上等待请求到来的方法来处理程序。select实现1、使用copy_from_user从用户空间拷贝fd_set到内核空间2、注册回调函数__pollwait3、遍历所有fd,调用其对应的poll方法(对于socket,这个poll方法是sock_poll,sock_poll根据情况会调用到tcp_poll,udp_poll或者datagram_poll)4、以tcp_poll为例,其核心实现就是__po 阅读全文
posted @ 2012-08-20 11:16 sinaxyz 阅读(1732) 评论(0) 推荐(1) 编辑
摘要: 简介:Linux中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能。基本 Linux I/O 模型的简单矩阵每个I/O模型都有自己的使用模式,它们对于特定的应用程序都有自己的优点。同步阻塞I/O最常用的一个模型是同步阻塞I/O模型。在这个模型中,用户空间的应用程序执行一个系统调用 阅读全文
posted @ 2012-08-20 10:46 sinaxyz 阅读(459) 评论(0) 推荐(0) 编辑