前面讲到socket的进程间通信方式,这种方式在进程间传递数据时首先需要从进程1地址空间中把数据拷贝到内核,内核再将数据拷贝到进程2的地址空间 中,也就是数据传递需要经过内核传递。这样在处理较多数据时效率不是很高,而让多个进程共享一片内存区则解决了之前socket进程通信的问题。共享内存 是最快的进...
分类:
系统相关 时间:
2014-11-22 21:29:31
阅读次数:
295
【sigprocmask系统调用】功能描述:设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞)。用法:#include int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);参数:how:用于指定信号修改的方式,可能选择有三种...
分类:
系统相关 时间:
2014-11-22 18:45:19
阅读次数:
236
select函数允许程序同时在多个底层文件描述符下等待输入完成,这意味着终端仿真程序可一直阻塞到有事可做为止。select系统调用原型:1 #include 2 #include 3 4 int select(int nfds, fd_set *readfds, fd_set *write...
分类:
其他好文 时间:
2014-11-22 17:15:05
阅读次数:
181
Linux文件系统编程实战
一、创建文件
#include
#include
#include
#include
//创建文件子函数
void creat_file(char *filename)
{
int fd; //系统调用描述文件的文件描述符(为非负数)
if(fd=creat(filename,0775)<0)
{
perror("创建文件失败");
exit(1);...
分类:
系统相关 时间:
2014-11-21 18:59:20
阅读次数:
241
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控...
分类:
系统相关 时间:
2014-11-21 18:36:27
阅读次数:
283
第一课Windows程序内部运行原理API操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用。这些函数的集合就是Windows操作系统提供给应用程序编程的接口(ApplicationProgrammingInterface),简称WindowsAPI。如CreateWindow..
分类:
编程语言 时间:
2014-11-20 23:55:56
阅读次数:
404
本文将介绍linux挂载文件系统的过程,从系统调用mount()函数开始解析,主要分为三个阶段:
1、新建源文件系统;
2、查找目的文件系统的挂载目录;
3、将源文件系统挂载到目的文件系统的挂载目录;...
分类:
系统相关 时间:
2014-11-20 23:46:11
阅读次数:
263
Nginx的框架设计—进程模型
在这之前,我们首先澄清几点事实:
nginx作为一个高性能服务器的特点,其实这也是所有的高性能服务器的特点,依赖epoll系统调用的高效(高效是相对select/poll这些系统调用的,底层有一个链表和红黑树,避免了轮询,减少了用户空间和系统空间之间的数据传递等),非阻塞(所有的操作都是非阻塞,这样),多进程(master-slave进程模型),这些事实使得ng...
分类:
系统相关 时间:
2014-11-19 20:35:59
阅读次数:
359
开发高性能网络程序时,windows开发者们言必称iocp,linux开发者们则言必称epoll。大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。我们用起epoll来都感觉挺爽,确实快,那么,它到底为什么可以高速处理这么多并发连接呢?
先简单回顾下如何使用C库封装的3个epoll系统调用吧。
...
分类:
系统相关 时间:
2014-11-19 20:34:27
阅读次数:
180
SA_RESTART用在为某个信号设置信号处理函数时,给该信号设置的一个标记。一般情况下 ,进程正在执行某个系统调用,那么在该系统调用返回前信号是不会被递送的。但慢速系统调用除外,如读写终端、网络、磁盘,以及wait和pause。这些系 统调用都会返回-1,errno置为EINTR当系统调用被中断时...
分类:
系统相关 时间:
2014-11-19 18:17:11
阅读次数:
460