1.2 UNIX体系结构从严格意义上,可将操作系统定义为一种软件(内核),它控制计算机硬件资源,提供程序运行环境。内核的接口被称为系统调用。公用函数库构建在系统调用接口之上,应用软件即可使用公用函数库,也可使用系统调用。shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口从广义上,操作...
分类:
其他好文 时间:
2014-07-16 22:56:53
阅读次数:
244
3.1 引言术语不带缓冲指的是每个read和write都调用内核中的一个系统调用。这些不带缓冲的I/O函数不是ISO C的组成部分,但是,它们是POSIX.1和Single UNIX Specification的组成部分3.2 文件描述符UNIX系统shell使用文件描述符0与进程的标准输入相关联、...
分类:
其他好文 时间:
2014-07-13 08:11:13
阅读次数:
245
Nginx为提高效率采用描述符缓冲池(连接池)来处理tcp连接,一个连接对应一个读事件和一个写事件,nginx在启动的时候会创建好所用连接和事件,当事件来的时候不用再创建,然而连接池的使用却存在stale事件的问题,以下将详细分析Nginx是如何处理stale事件的,该问题涉及到epoll、Nginx连接与事件的相关知识。
1
Epoll的实现原理
epoll相关的系统调用有:e...
分类:
其他好文 时间:
2014-07-11 08:14:35
阅读次数:
295
进程是一个正在执行程序的实例,它包括程序计数器、寄存器和变量的当前值。在单CPU的环境下,进程交替运行,CPU在多个进程间快速切换,让人感觉多个进程在同时执行,但同一时刻只有一个进程在运行,这就是所谓的伪并行。
创建进程
有四种创建进程的方法:
系统初始化:操作系统启动时,会创建一些进程,包括前台进程和后台进程(守护进程)。正在运行的进程执行系统调用:一个进程发出系统调用创建...
分类:
其他好文 时间:
2014-07-10 20:40:48
阅读次数:
249
用户程序调用C标准I/O库函数读写文件或设备,而这些库函数要通过系统调用把读写请求传给内核,最终由内核驱动磁盘或设备完成I/O操作。C标准库为每个打开的文件分配一个I/O缓冲区以加速读写操作,通过文件的FILE结构体可以找到这个缓冲区,用户调用读写函数大多数时候都在I/O缓冲区中读写,只有少数时候需...
分类:
其他好文 时间:
2014-07-09 14:18:46
阅读次数:
211
read属于系统调用,它的缓存是基于内核的缓冲,是记在内核空间的. 而fgetc是标准函数, 是在用户空间I/O缓冲区的比如用fgetc读一个字节,fgetc有可能从内核中预读1024个字节到I/O缓冲区中,再返回第一个字节,这时该文件在内核中记录的读写位置是1024,而在FILE结构体中记录的读写...
分类:
其他好文 时间:
2014-07-09 13:43:13
阅读次数:
282
1.背景多次学习C语言一直无法踏入C语言的大门,每次都是在学习C语言中的那些系统调用库函数等望而却只,linux下的系统调用需要我们去记忆一些没有规律的结构体和一些大写的宏定义并且还有一个函数多种形式的例如printfprintfsprintf等等,看起来就很不爽,写起东西来真的很无语..
分类:
系统相关 时间:
2014-07-08 08:08:55
阅读次数:
181
一.epoll概述epoll是linux下的一个系统调用,用来监听大量文件描述符并对其上的触发事件进行处理。它是select/poll的增强版本,也是linux下多路复用io最常用的接口。要理解epoll是什么,首先得清楚什么是多路复用io。用户进行io操作需要经过内核,而如果所请求的io目前不满足...
分类:
其他好文 时间:
2014-07-08 00:50:02
阅读次数:
276
多进程编程
多进程编程包括如下内容:
复制进程影映像的fork系统调用和替换进程映像的exec系列系统调用。
僵尸进程以及如何避免僵尸进程
进程间通信(Inter-Process Communication,IPC)最简单的方式:管道
3种进程间通信方式:信号量,消息队列和共享内存
fork系统调用
#inclu...
分类:
系统相关 时间:
2014-07-06 08:09:00
阅读次数:
329
最近开始学习linux c编程,需要用到很多库函数和c标准库函数,发现原来man命令还可以用来查询函数原型。
比如输入man lseek可以获取函数lseek的原型和所属头文件。
有些函数名既是linux命令又是系统调用,如mkdir,可以输入man 2 mkdir获取该函数原型。只输入man mkdir获取的是命令mkdir的帮助。
对于库函数可以输入man 3 获得帮助信...
分类:
系统相关 时间:
2014-07-05 23:02:44
阅读次数:
394