![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
starrysky0501
这个作者很懒,什么都没留下…
展开
-
[Linux]---进程间的四种通信方式
进程间通信管道共享内存消息队列信号量首先我们需要了解什么是进程间通信?-它是操作系统为用户提供的几种进程间通信方式。咦!OS为什么要提供给用户进程间通信的方式?-因为进程之间具有独立性,每个进程只能访问自己的虚拟地址,无法直接沟通,因此需要操作系统提供公共的媒介。通信的场景分为三大类:数据传输,数据共享以及进程控制。那么接下来笔者带你们探索进程间通信的四种方式!⭐管道管道:用于进程间的数据传输本质:内核中的一块缓冲区;多个进程通过访问同一块缓冲区实现通信种类:匿名管道 / 命名管道匿原创 2020-06-05 13:48:21 · 998 阅读 · 0 评论 -
[Linux]---浅谈静态库和动态库的打包与使用
静态库和动态库静态库和动态库的打包生成可执行程序时链接使用运行可执行程序时加载使用OK,我们先了解一下,库文件是什么?它其实就是打包了一堆实现常用功能的代码文件.⭐静态库和动态库的打包打包时,先应将各个.c文件编译汇编成为目标文件动态库的生成:gcc -fPIC -c child.c -o child.ogcc --share child.o -o libchild.so注:动态库的命名方式:libxxx.so静态库的生成:gcc -c child原创 2020-05-27 16:57:20 · 2100 阅读 · 0 评论 -
[Linux]---系统编程之基础IO
基础IO标准库I/O系统调用I/O认识文件描述符且理解重定向文件系统基本认识-软硬连接⭐标准库I/Ofopen :打开文件fclose:关闭文件fwrite:向文件写入数据fread:从文件读出数据fseek:跳转读写位置函数原型:FILE *fopen(const char *path, const char *mode);参数解释:path:文件路径mode:(打开方式)r:以只读方式打开文件;在起始位置读数据,文件不存在,则报错;r+:以可读可写方式打开;原创 2020-05-26 16:28:35 · 285 阅读 · 0 评论 -
[Linux]---系统编程之进程控制
进程控制进程创建进程终止进程等待程序替换⭐进程创建我们先了解两个系统调用接口,fork和vfork的区别:pid_t fork(void):(#include<unistd.h>)创建子进程的流程:(写时拷贝技术)1.创建PCB2.拷贝父进程PCB中的数据(拥有相同的虚拟地址空间,相同的页表……)3.父子进程一开始映射同一块物理内存4.等到物理内存修改的时候才为子进程重新开辟内存,拷贝数据到新的内存空间返回值:1.返回值为0,则是子进程2.返回值是子进程的p原创 2020-05-18 16:46:43 · 155 阅读 · 0 评论 -
[Linux]---系统编程之进程概念(2)
进程概念(2)环境变量程序地址空间今天,我和大家一起相约系统编程的进程概念篇,一起了解环境变量对于运行中的程序的益处以及程序地址空间的分布。环境变量⭐概念:存放系统运行环境参数的变量(配置参数时通过变量修改,则比较方便简单)⭐和环境变量相关的命令:env:查看系统中的环境变量echo $:打印一个指定变量的内容,后面加变量的名称set:查看所有变量,包括环境变量在内export:设置一个环境变量;export 变量名unset:删除一个变量; unset 变量名⭐目的:让系统原创 2020-05-18 10:54:54 · 151 阅读 · 0 评论 -
[Linux]---系统编程之进程概念(1)
进程概念(1)认识冯诺依曼体系简单认识操作系统进程概念进程的状态今天,大家和我一起相约系统编程的进程概念篇,一起了解操作系统对于进程的管理,因为硬件体系结构决定了软件的行为,所以我们就不得不先了解冯诺依曼体系结构。⭐冯诺依曼体系结构我们常见的计算机,如笔记本;我们不常见的计算机,如服务器。大部分都遵守冯诺依曼体系。冯诺依曼体系结构也就是现代计算机硬件体系结构:五大硬件单元(输入设...原创 2020-04-17 21:54:37 · 192 阅读 · 0 评论