Linux框图
2016-06-19 17:28:38 0 举报
AI智能生成
Linux学习笔记
作者其他创作
大纲/内容
进程间通信
pipe管道
int pipe(intfiledes[2])
在内核中创建一个用来通信的缓存区
父子进程各关一各文件描述符,实现单向通信
fcntl来控制阻塞/非阻塞的读写
FIFO有名管道
int mkfifo(const char * pathname, mode_t mode)
在磁盘上创建一个文件,用它来索引到内核的缓存区,因此,能访问这个文件的所有进程都能找到这条在内存中管道
共享内存映射
void *mmap(void *addr, size_t length, int prot,int flags,int fd,off_t offset)
int munmap(void *adde,size_t length)
prot参数可以指定被映射的内存区域的权限;
flag参数可以实现共享映射和有映射,共享映射使得变化能被其他进程看到,私有映射则不会把改变真的写入文件,因此其他进程看不到
创建结构体来通信、对用来映射的文件,应用lseek
消息队列
信号量
高并发服务器模型
进程基本
fork
exec族
execl
execlp
execle
execv
execvp
exceve
wait/waitpid:阻塞、非阻塞回收子进程,并可获得其相应退出码
进程终止时,文件描述符关闭、用户空间的内存被释放,但是PCB还依然保留等待父进程释放。
信号
线程同步
信号量
互斥量
pthread_mutex_init 或者 pthread_mutex_t = PTHREAD_MUTEX_INITIALIZER
pthread_mutex_destroy
pt
进程间锁
条件变量
线程基本概念
Linux下有两种实现:用户态的库实现(管理数据结构是放在)+内核实现
-lpthread
pthread_creat
pthread_exit:线程退出而不退出整个进程
pthread_join:阻塞等待
pthread_cancel:
文件系统???
文件描述符表在内核中,但是每个进程都不一样,属于进程特有资源
文件描述符表示一种对文件的访问关系、文件描述符表可索引到打开文件表中的文件
打开文件表会计数被几个打开,所有打开都被关闭,则文件描述符会关闭。
当文件的链接数为0的时候,文件就会被删除。
0 条评论
下一页