进程基础
a.从程序到进程
1.内核将程序读入内存,为程序镜像分配内存空间。
2.内核为该进程分配进程标识符PID。
3.内核为该进程保存PID及相关的进程状态信息。
b.程序格式ELF
Executable and Linkable Format文件格式,一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。
查看程序(ELF):readelf -S 文件名
查看进程空间大小:size 文件名
c.虚拟存储器/虚拟地址空间
vim IDE
全局变量会默认初始化为0,而局部变量则按照所使用的系统进行初始化(不为0)。进程间的通信
基础概念
阻塞:调用结果返回前,当前线程会被挂起
非阻塞:调用结果返回前,当前线程不会被挂起
分类
管道(肯德基)
匿名管道
单工管道
半双工管道
命名管道
FIFO
消息队列(回转寿司)
套接字
共享内存(火锅)
通信分类
单工(只写、只读)【公告】
半双工(读写不同时)【对讲机】
全双工(读写同时)【电话】
缓冲区的分类
1.全缓冲:宏
2.行缓冲:printf
3.无缓冲:直接输出
更改缓冲类型的函数:setbuf(fd,NULL);setvbuf();setlinebuf();