Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存参考:《linux编程从入门到精通》,《Linux C程序设计大全》,《unix环境高级编程》参考:C和指针学习说明:本文非常的长,也是为了便于查找和比较,所以放在一起了Linux 传统的进程间通信有很多,如各类管道、消息队列、内存...
分类:
系统相关 时间:
2014-08-14 13:33:48
阅读次数:
363
1. main函数int main( int argc, char *argv[] );argc是命令行参数的数目,包括程序名在内argv是指向参数的各个指针所构成的数组,即指针数组当内核执行C程序时(使用exec函数),在调用main前先调用一个特殊的启动例程。可执行程序文件将此启动例程指定为程序...
分类:
其他好文 时间:
2014-08-13 22:21:27
阅读次数:
397
陆陆续续看完了圣经第一章,熟悉了unix的整个编程流程,c语言的用处在这里得到伸张。 从unix的体系结构,原来操作系统包括内核及一些其他软件,我们常常误称为linux内核为操作系统,这俨然成为一种共识。基本熟悉了shell的介绍,主流的是bash(Bourne-again shell),un...
分类:
其他好文 时间:
2014-08-10 10:22:50
阅读次数:
147
陆陆续续看完了圣经第一章,熟悉了unix的整个编程流程,c语言的用处在这里得到伸张。 从unix的体系结构,原来操作系统包括内核及一些其他软件,我们常常误称为linux内核为操作系统,这俨然成为一种共识。基本熟悉了shell的介绍,主流的是bash(Bourne-again shell),un...
分类:
其他好文 时间:
2014-08-07 22:37:08
阅读次数:
194
Linux/Unix系统 深入理解计算机系统 UNIX环境高级编程 深入理解Linux内核 网络通信编程 UNIX网络编程 TCP/IP详解 Linux多线程服务端编程 数据结构与算法 算法导论 《数据结构》(C语言版) C程序设计语言...
分类:
编程语言 时间:
2014-08-06 19:37:22
阅读次数:
200
在整理Java LockSupport.park()的东东,看到了个"Spurious wakeup",重新梳理下。
首先来个《UNIX环境高级编程》里的例子:
[cpp] view
plaincopy
#include
struct msg {
struct msg *m_next;
/* ... mo...
分类:
其他好文 时间:
2014-08-05 15:53:01
阅读次数:
369
1. 引言Unix系统的大多数文件I/O只需用到5个函数:open、read、write、lseek以及close本章描述的函数经常被称为不带缓冲的I/O。术语不带缓冲指的是在用户的进程中对其不会自动缓冲,每个read和write都调用内核中的一个系统调用。但是,所有磁盘I/O都要经过内核的块缓存区...
分类:
其他好文 时间:
2014-08-04 20:46:37
阅读次数:
404
菜鸟偶遇信号量,擦出火花(只有不熟才会有火花)。于是上网搜资料和看《Unix环境高级编程》实现了几个小例题,高手请勿喷!这几位写得非常好啊:题目来源: http://www.it165.net/os/html/201312/7039.html信号量及其用法:http://www.cnblogs......
分类:
系统相关 时间:
2014-07-19 09:22:24
阅读次数:
378
一、打开或创建一个文件
#include
int open(const char *pathname, int oflag, .../*mode_t mode*/);
返回值:若成功则返回文件描述符,若出错则返回-1
oflag选项:
O_RDONLY
O_WRONLY
O_RDWR
以上三个常量中必须指定一个,且只能指定一个。
以下常量都是可选的:
O_AP...
分类:
其他好文 时间:
2014-07-06 12:17:24
阅读次数:
158