第二天@管道

来源:互联网 发布:c语言中 p 编辑:程序博客网 时间:2024/06/07 23:16

进程基础
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();

原创粉丝点击