
Linux系统编程
文章平均质量分 86
介绍Linux系统编程接口
Danifer
这个作者很懒,什么都没留下…
展开
-
通信-----管道
为啥要进行进程之间的通信,因为进程是独立资源分配的单元,但不同的进程之间需要进行信息交互,与状态的传递linux下IPC机制的分类:管道、信号、共享内存、消息队列、信号量、套接字命名管道:1.如果我们想在不相关的进程之间交换数据,可以使用FIFO文件来做这项工作,它经常被称为命名管道。2.命名管道是一种特殊类型的文件命名管道与匿名管道之间的唯一区别就是创建与打开的方式不同,...原创 2021-03-01 20:01:45 · 87 阅读 · 0 评论 -
标准IO
IO分为:标准IO(stdio)和系统IO(sysio),两者间的区别:类型可移植性实时性吞吐量功能STDIO高低高受限SYSIO低高低自由系统IO是由内核中的函数库提供的.不同的操作系统所提供的IO接口时不同,所以使用系统IO的移植性差.如果想要移植系统IO所实现的程序到目标平台上,就带按照目标平台所提供的系统IO接口对程序进行修改.1.fopen()//打开一个流#include <stdio.h>FILE *fopen(co原创 2021-03-01 19:43:35 · 312 阅读 · 0 评论 -
IPC
进程状态: 运行, 就绪, 阻塞Linux下进程状态,运行, 可中断休眠状态, 停止, 僵尸僵尸状态: 描述的是一个已经退出了但没有完全释放资源的进程的一种状态,这种进程状态称为僵尸状态产生的原因:子进程先于父进程退出向父进程发送SIGCHLD信号,但是SIGCHLD信号默认的处理方式是忽略处理 ,因此父进程无法直接获知子进程状态进程僵尸状态危害:资源泄漏;解决方案: 避免僵尸进程的产生,在父进程创建子进程之后进行进程等待,等待子进程退出,获取返回值,释放子进程资源程序地址空间: 进程虚拟地址空原创 2021-03-01 19:43:11 · 241 阅读 · 0 评论 -
多线程
线程概念,线程控制,线程安全,线程池线程概念:线程是进程中的执行流,是CPU调度的基本单元;Linux下的线程是通过pcb来实现的,一个进程中可以有多个线程pcb,这些pcb共享进程的大部分资源(包括:IO信息,程序地址空间,文件描述信息,信号信息)Linux下的pcb相较于传统的pcb更加的轻量化,因此Linux下的线程也被称之为轻量级的进程pcb: 进程控制块(是系统为进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化状态,系统利用pcb来管理和控制进程,所以pcb是操作系统原创 2021-03-01 19:42:37 · 108 阅读 · 0 评论