摘要: 1. 信号概述 Linux 中的信号是一种消息处理机制,它本质上是一个整数,不同的信号对应不同的值,由于信号的结构简单所以天生不能携带很大的信息量,但是信号在系统中的优先级是非常高的。 在 Linux 中的很多常规操作中都会有相关的信号产生,先从我们最熟悉的场景说起: 通过键盘操作产生了信号:用户按 阅读全文
posted @ 2023-01-06 14:49 [BORUTO] 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1. 管道 管道的是进程间通信(IPC - InterProcess Communication)的一种方式,管道的本质其实就是内核中的一块内存 (或者叫内核缓冲区),这块缓冲区中的数据存储在一个环形队列中,因为管道在内核里边,因此我们不能直接对其进行任何操作。 因为管道数据是通过队列来维护的,我们 阅读全文
posted @ 2023-01-06 14:48 [BORUTO] 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 1. 常见的通信方式 管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字 阅读全文
posted @ 2023-01-06 14:47 [BORUTO] 阅读(116) 评论(0) 推荐(1) 编辑
摘要: 1. 进程概述 从严格意义上来讲,程序和进程是两个不同的概念,他们的状态,占用的系统资源都是不同的。 程序:就是磁盘上的可执行文件文件,并且只占用磁盘上的空间,是一个静态的概念。 进程:被执行之后的程序叫做进程,不占用磁盘空间,需要消耗系统的内存,CPU资源,每个运行的进程的都对应一个属于自己的虚拟 阅读全文
posted @ 2023-01-06 11:50 [BORUTO] 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 把硬盘数据搬到内存中去操作的方式被称为文件映射虚拟内存,由于内存访问的特殊性,数据到了内存后可提高访问和操作的速率。 2. 函数介绍 mmap()函数功能:将物理内存映射为虚拟内存,为了提高效率 void* mmap(void *start, size_t length, int pro 阅读全文
posted @ 2023-01-06 11:47 [BORUTO] 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 1. 简述 记--Linux环境下C语言编程的文件操作。 两种操作文件的方式: 1、系统I/O:系统调用接口,open(), read(), write(), lseek(), close()。是操作系统直接提供的编程接口(API)。 系统I/O常用于硬件级别,可以设置读缓冲区,一般没有写缓冲区; 阅读全文
posted @ 2023-01-06 11:46 [BORUTO] 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1. make工具简介 make工具是一个根据makefile文件内容,针对目标(可执行文件)进行依赖性检测(要生成该可执行文件之前要有哪些中间文件)并执行相关动作(编译等)的工具 。而这个makefile文件类似一个脚本,其中内容包含make所要进行的处理动作以及依赖关系。 另外make的一个好处 阅读全文
posted @ 2023-01-06 11:45 [BORUTO] 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 1. gcc编译器 GCC 是 Linux 下的编译工具集,是 GNU Compiler Collection 的缩写,包含 gcc、g++ 等编译器。这个工具集不仅包含编译器,还包含其他工具集,例如 ar、nm 等。 GCC 工具集不仅能编译 C/C++ 语言,其他例如 Objective-C、P 阅读全文
posted @ 2023-01-06 11:39 [BORUTO] 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一、基本命令 1.1 关机和重启 关机 shutdown -h now 立刻关机 shutdown -h 5 5分钟后关机 poweroff 立刻关机 重启 shutdown -r now 立刻重启 shutdown -r 5 5分钟后重启 reboot 立刻重启 1.2 帮助命令 --help命令 阅读全文
posted @ 2023-01-06 11:28 [BORUTO] 阅读(30) 评论(0) 推荐(0) 编辑