代码改变世界

linux 进程通信

2013-08-18 19:21 by anjsoft, 127 阅读, 0 推荐, 收藏, 编辑
摘要:IPC: 管道,FIFO,信号,消息队列(system v/ posix),共享内存(system v/ posix),socket 同步机制: 互斥锁,条件变量,记录上锁, 信号量(system v/ posix):一个特殊的变量,只充许对它进行wait和signal这两种操作(P,V),最简单的信号量是只能取0,1的变量,二进制信号量。普通变量不行,因为不是原子的。 #include 阅读全文

UNIX网络编程5 POSIX 消息队列

2013-08-18 19:11 by anjsoft, 147 阅读, 0 推荐, 收藏, 编辑
摘要:mq_open mq_close mq_unlink mq_getattr/mq_setattr mq_send/mq_receive mq_notify sigwait 代替信号处理程序的信号通知 阅读全文

UNIX网络编程 12 15共享内存区

2013-08-18 14:14 by anjsoft, 146 阅读, 0 推荐, 收藏, 编辑
摘要:管道,FIFO,消息队列,在两个进程交换信息时,都要经过内核传递 共享内存可以绕过,默认fork生成的子进程 并不与父进程共享内存区 mmap munmap msync 父子进程共享内存区的方法之一是:父进程fork前指定MAP_SHARED调用mmap 阅读全文

高级UNIX环境编程13 守护进程

2013-08-18 13:13 by anjsoft, 153 阅读, 0 推荐, 收藏, 编辑
摘要:linux下,keventd守护进程为内核中运行的执行的函数提供进程上下文 bdflush,kupdated将高速缓存中的数据冲洗到磁盘上 阅读全文

高级UNIX环境编程11 线程

2013-08-18 11:11 by anjsoft, 276 阅读, 0 推荐, 收藏, 编辑
摘要:pthread_equal pthread_self(void) pthread_create() pthread_close() pthread_join() phread_cancel() pthread_cleanup_push() pthread_cleanup_pop() 同步: 1互斥量 pthread_mutex_init() pthread_mutex_destory() pth... 阅读全文

高级UNIX环境编程10 信号

2013-08-18 10:44 by anjsoft, 116 阅读, 0 推荐, 收藏, 编辑
摘要:信号是软件中断,提供一种处理异步事件的方法 sigaction() 阅读全文

高级UNIX环境编程7 进程

2013-08-18 10:28 by anjsoft, 127 阅读, 0 推荐, 收藏, 编辑
摘要:每个程序都会收到一张环境表 extern char **environ; c程序的存储空间布局: 正文段:共享,只读 初始化数据段:存函数以外的赋值 非初始化数据段(bbs):block started by symbol 在程序开始之前,内核将此段中数据初始化0或NULL,存储函数以外的声明 栈 堆:堆位于非初始化数据段和栈之间 c中,goto语句不能跨越函数的,执行这类跳转的是setjmp ... 阅读全文

高级UNIX环境编程5 标准IO库

2013-08-18 09:59 by anjsoft, 142 阅读, 0 推荐, 收藏, 编辑
摘要:标准IO库都围绕流进进行的 memccpy 一般用汇编写的 ftell/fseek/ftello/fseeko/fgetpos/fsetpos 定位 在UNIX系统中,标准IO库最终都要调用IO例程 阅读全文

高级UNIX环境编程4 文件和目录

2013-08-18 09:15 by anjsoft, 105 阅读, 0 推荐, 收藏, 编辑
摘要:#include stat fstat lstat fchmod 对已打开的文件操作 阅读全文

高级UNIX环境编程3 FILE IO

2013-08-18 08:53 by anjsoft, 147 阅读, 0 推荐, 收藏, 编辑
摘要:POSIX中,STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO 对应0,1,2 每个打开的文件都有一个与其想关联的 “current file offset" , sleek() 修改 内核用三个数据结构管理打开的文件 :进程表项(fd标志,文件指针),文件表(文件状态标志,当前文件偏移量,v节点指针),v节点(i节点) 每个进程有自己的进程表项和文件表 #incl... 阅读全文