Linux
JYR~
这个作者很懒,什么都没留下…
展开
-
【Linux】进程的概念
1、进程的概念:正在运行的程序(由一条条指令构成 数据 资源)2、操作系统对进程的管理: 标示一个进程 PID(也在PCB中) 控制一个进程 进程控制块 PCB 在系统内核里就是struct task_struct 创建一个进程: 先申请一个PCB,然后加载程序,生成进程实体 进程结束:先结束进程实体,再释放PCB结点(释放PCB需要一定条件)僵死进程(僵尸进程):进程实体已经释放,但PCB结点并没有被释放 退出码(在PCB)--有退出码才...原创 2020-05-28 21:03:06 · 190 阅读 · 0 评论 -
【Linux】进程的创建
主函数(main函数)的参数int main(int argc, char *argv[],char *envp[]);argv :(char*)[] 传递main方法的参数列表 argc :int --->传递给main方法的参数列表中的参数个数 envp :(char*)[]传递环境变量列表注:只要用户执行程序,main方法默认至少接收一个参数,此参数就是执行程序的命令main方法传参:2、输出缓冲区不能以输出的顺序来决定程序运行的...原创 2020-05-28 21:26:48 · 200 阅读 · 0 评论 -
【Linux】线程的概念与创建
线程的概念与创建1、线程的概念:线程是进程内部的一条执行序列(执行流),一个进程可以包含多个线程,将main函数执行的线程称为主线程,其他的线程称之为函数线程。main函数:是进程执行的入口,函数执行的第一个 函数线程:创建线程时,需要指定线程的执行序列(一组有序指令--》函数)//线程是进程内部的一条执行序列或执行的路径,一个进程可以包含多条线程C语言如何组...原创 2020-04-28 22:12:46 · 472 阅读 · 0 评论 -
【Linux】进程间通信(共享内存)
共享内存1、实现原理:共享内存区域说白了就是多个进程共享的一块物理内存地址,只是将这块物理内存分别映射到自己的虚拟空间地址上。假设有 10 个进程将这块区域映射到自己的虚拟地址上,那么,这 10 个进程间就可以相互通信。由于是同一块区域在10 个进程的虚拟地址上,当第一个进程向这块共享内存的虚拟地址中写入数据时,其他 9 个进程也都会看到。因此共享内存是进程间通信的一种最...原创 2020-04-17 18:25:43 · 228 阅读 · 0 评论 -
【Linux】进程间通信(信号量)
信号量1、信号量的基本概念信号量:类似于一个计数器,当信号量的值大于0时,记录临界资源的个数,当信号量等于0时,对此信号量执行P操作(-1)进程访问临界资源时必须阻塞,当计数器减到0的时候,其他进程想要访问资源,就需要挂起等待,直到该进程执行完操作,信号量的值大于0,或者有其他进程在此信号量上执行了V操作(+1)。(ipcs -s //查看信号量 ipcrm -s semid ...原创 2020-04-17 15:18:24 · 290 阅读 · 0 评论 -
【Linux】进程间通讯(消息队列)
消息队列消息:类型+数据 队列:先进先出(优先级队列)消息队列中的数据都是有间隔的1、消息队列特点:是消息的链表。具有特定的格式,存放在内存当中,由消息队列标识符标识。 消息队列允许一个或者多个进程向他写入与读取消息。 消息队列可实现消息的随机查询,不一定要以先进先出的顺序读取,也可以按照类型进行读取。2、相关函数msgget(): 用来创建或访问一个...原创 2020-04-17 13:20:45 · 189 阅读 · 0 评论 -
【Linux】进程间通信(管道)
管道管道是一种半双工通信机制(全双工:A可到B,B也可到A,如网络 半双工:要么A-->B,要么B-->A,不可能同时存在 单路通讯:只能A-->B,如广播)1、有名管道:在磁盘有一个管道文件标识,但是这个管道文件只会占用一个inode结点,任何都不会占据block块,数据在传递过程中会缓存到内存上//如何创建管道文件???命令:mkfifo ...原创 2020-04-17 11:15:45 · 166 阅读 · 0 评论 -
【Linux】文件的压缩与解压
文件的压缩与解压压缩包:xxxxx.tgz xxxxx.tar.gz压缩分成两步:【1】打包: tar 【2】压缩: gzip gzip xxxxxx.ttar cf xxxx.tar 所有需要添...原创 2020-04-09 12:29:55 · 114 阅读 · 0 评论 -
【Linux】文件类型及基本操作
Linux上一切皆文件,但将文件分为五种类型1、 linux上文件类型是文件的一种属性信息,不能通过文件的扩展名来区分文件类型普通文件 -目录文件 d管道文件 p链接文件 l设备文件(字符设备文件c、 块设备文件b、 套接字s)dir:目录文件 main.c:普通文件2、文件的访问权限:r 读权限w 写权限x 普通文件...原创 2020-04-09 12:07:46 · 873 阅读 · 0 评论 -
【Linux】静态库与共享库
库文件:特定功能的实现,为用户提供一些调用接口libc: printf scanf malloc freestdio.h malloc.h 函数声明编译连接 符号解析 找到符号对应的定义位置数据结构顺序表 链表 队列 栈 二叉树C++ STL标准模板库 容器1、静态库,动态库在Windows和Linux下的区别:静态库 ...原创 2019-05-11 16:16:01 · 137 阅读 · 0 评论