爱悠闲 > 分类 >

操作系统 第1页

几种进程间的常用通信方式
  几种进程间的通信方式 # 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 # 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 # 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制
linux-使用互斥锁完成多进程同步
  #include <sys/stat.h> #include <fcntl.h> #include <sys/mman.h> #include <unistd.h> #include <pthread.h> #include <stdio.h> #include <stdlib.h> int main(void){/
C 语言的可变参数表函数的设计及原理 - printf(const char* format, ...)
在折腾了一天半以后,终于弄明白为什么自己搜了n多资料,并参照va_list源码写的va_list,va_start,va_arg和va_end 始终无法获得正确参数地址的原因了:因为64位系统与32位系统下,va_list的定义有着根本的不同。通常较为简单的通过地址便宜获取变参的方法是32位环境下的。 如: 32位环境,va_list 被定义为一个指针: typedef char* va_list
动态内存管理详解:malloc/free/new/delete/brk/mmap(介绍的很明白)
笔试遇到的问题:自己模模糊糊,说不上来。这个介绍的很清晰明了。   c++ 内存获取和释放 new/delete,new[]/delete[] c 内存获取和释放 malloc/free, calloc/realloc 上述8个函数/操作符是c/c++语言里常用来做动态内存的申请和释放的,要理解这些接口,大概需要 下面几个维度的了解: 1. 了解OS的进程空间模型,一个进程的地址空间,一般划分为内