
Linux
文章平均质量分 52
笔记
走过,莫回头
这个作者很懒,什么都没留下…
展开
-
Git 基础命令以及使用顺序
了解具体命令的使用方法。原创 2020-11-23 21:34:58 · 176 阅读 · 0 评论 -
winget的使用
list 可显示计算机上当前安装的应用程序的列表。作为名称,以便在需要时轻松重置回官方源。以管理员身份打开「命令提示符」。原创 2024-07-07 13:19:39 · 1627 阅读 · 0 评论 -
gcc 生成动态库和静态库的方法,以及使用
在 GCC 中生成动态库(shared library)和静态库(static library)有不同的方法和用途。这里分别介绍如何生成和使用这两种类型的库。原创 2024-08-02 10:42:26 · 399 阅读 · 0 评论 -
Makefile文件
格式目标文件:依赖文件 命令行 //以Tab间距开头目标文件:这一步执行后要生成我的文件——可执行文件或.o文件依赖文件:生成目标文件需要的.c/.cpp文件,.h文件是不需要写在依赖文件的在编译过程为:预处理 g++ -E file.cpp -o file.i编译 g++ -S file.i -o file.s汇编 g++ -c file.s -o file.o链接 g++ file.cpp -o file在makefil原创 2020-12-25 17:47:22 · 189 阅读 · 0 评论 -
Linux——网络_1(协议、模型、套接字)学习笔记
文章目录一、典型协议二、网络应用程序设计模式1.C/S模式2.B/S模式3.两种模式优缺点三、网络分层模型四、协议格式1、 数据包的封装2、TCP 面向连接的可靠数据包传递五、NAT映射六、打洞机制七、套接字1、网络字节序2、IP地址转换函数3、Socketaddr数据结构一、典型协议应用层:常见协议有FTP/HTTP协议传输层:常见协议有TCP/UDP协议网络层:常见协议有IP/ICMP/IGMP协议网络接口层:常见协议有ARP/RARP协议 TCP传输控制协议(Transmi原创 2020-09-11 11:20:20 · 563 阅读 · 0 评论 -
Linux——进程间同步笔记
文章目录前言一、互斥量Mutex1.应用函数二、fcntl函数1.函数2.注意事项前言进程间同步和线程间同步原因一样,都是为了防止数据混乱,提出同步机制实现进程间同步方法:互斥量Mutex 和 fcntl函数一、互斥量Mutex在线程同步中,用到过互斥量Mutex。互斥量Mutex在默认情况下可以实现线程间同步,通过改变其属性可以实现进程间同步。要在thread_mutex_init函数使用前将其属性进行初始化。1.应用函数int pthread_mutex_init(pthread_m原创 2020-09-07 10:48:44 · 349 阅读 · 0 评论 -
Linux——线程_2(线程同步)笔记
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport原创 2020-09-06 17:39:21 · 426 阅读 · 0 评论 -
Linux——线程_1笔记
文章目录线程概念一、线程资源?线程共享资源线程非共享资源二、优缺点1.优点2.缺点三、线程控制原语pthread_exit、return、exit的区别线程概念线程又称为轻量级进程,本质仍是进程(在linux环境下)进程:独立地址空间,拥有PCB线程:也有PCB,但是没有独立的地址空间,是共享进程地址空间在Linux下: 线程:是最小的执行单位 进程:是小的分配资源单位一、线程资源?线程共享资源文件描述符表每种信号的处理方式当前工作目录用户ID和组ID内存地址空间(.原创 2020-09-04 12:07:39 · 275 阅读 · 0 评论 -
Linux——进程间通信(信号与信号集)笔记
文章目录信号的概述一、信号相关的事件和状态产生信号递达未决信号的处理方式阻塞信号集(信号屏蔽字)未决信号集信号四要素信号处理默动作二、信号发送与捕捉1.发送信号2.信号捕捉3.信号集的操作自定义集合信号屏蔽字未决信号集信号的概述信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式。信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些事件。它可以在任何时候发给某一进程,而无需知道该进程的状态。如果该进程当前并未处于执行态,则该信号就由内核保存起来,直原创 2020-09-03 18:35:02 · 465 阅读 · 0 评论 -
Linux——进程间通信(储存映射mmap)笔记
文章目录前言一、储存映射的原理二、储存映射函数总结前言 上节内存共享用的shm,是采用访问物理内存来实现内存共享。本节使用的是mmap通过磁盘上建立文件来存储映射实现进程间通信。 相对于shm来说,mmap更加简单,调用更加方便。 另外mmap有一个好处是当机器重启,因为mmap把文件保存在磁盘上,这个文件还保存了操作系统同步的映像,所以mmap不会丢失,但是shmget就会丢失。一、储存映射的原理 存储映射使一个磁盘文件与储存空间中的缓存区相映射。于是当从缓冲区中取数据,就相当于原创 2020-09-01 16:38:39 · 294 阅读 · 0 评论 -
Linux——进程间通信(共享内存shm)笔记
文章目录前言一、共享内存的通信原理二、共享内存函数1.共享内存实现步骤2.函数的说明1.shmget( )函数2.shmat( )函数3.shmdt( )函数三、代码示例:执行结果显示总结前言 共享内存是一种最为高效的进程间通信方式。因为进程可以直接读写内存,不需要任何数据的拷贝。为了在多个进程间交换信息,内核专门留出了一块内存区。这段内存区可以由需要访问的进程将其映射到自己的私有地址空间。因此,进程就可以直接读写这一内存区而不需要进行数据的拷贝,从而大大提高了效率。 共享内存并未提供同步机制.原创 2020-08-29 11:25:11 · 7184 阅读 · 0 评论 -
Linux——进程通信(管道)笔记
进程通信方式当今比较常用的有:管道(使用简单)信号(开销最小)共享映射区(无血缘关系)本地套接字(最稳定)管道管道又分为:无名管道和有名管道FIFO无名管道:只能用于有亲属关系的进程间有名管道:可以用在有亲属关系的进程间也可用在无亲属关系的进程间无名管道管道是基于文件描述符的通信方式,当一个管道建立时,它会创建两个文件描述符 fds[0]和 fds[1],其中 fds[0]固定用于读管道,而 fd[1]固定用于写管道,这样就构成了一个半双工的通道。管道关闭时只需将这两个文件描述符原创 2020-08-26 22:18:14 · 354 阅读 · 0 评论 -
Linux——守护进程笔记
Linux——守护进程笔记概念: 守护进程:是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。 守护进程不因为用户或终端或其他的变化而受到影响。编写守护进程步骤:创建子进程,退出父进程 fork()在子进程中创建会话 setsid()改变当前目录为根目录 chdir()重设文件权限掩码 umask()关闭文原创 2020-08-25 17:30:23 · 186 阅读 · 0 评论 -
Linux——进程控制笔记(2)exec函数组和wait函数
exec函数组exec 函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新的进程替换了。execlp函数 加载一个进程,借助PATH环境变量 int execlp(const char *file,const char *arg,…) 成功:无返回 失败:-1 参数1:要加载的程序名字。还函数需要配合PAT原创 2020-08-23 22:36:13 · 568 阅读 · 0 评论 -
Linux——进程控制笔记(1)
fork函数fork()函数创建一个子进程pid_t fork(void) 失败返回:-1 成功返回:1.父进程返回子进程ID; 2.子进程返回0注意:fork函数不是返回两个值,而是fork()后,fork函数变为两个,父子进程各一个1.创建的单个子进程2.循环创建N个子进程进程共享fork函数后,子进程是父进程的一个复制品。父子进程相同之处为:进程上下文、代码段、全局变量、进程堆栈、宿主目录、进程工作目录、内存信息、打开文件原创 2020-08-23 15:48:02 · 141 阅读 · 0 评论 -
Linux——进程的相关概念
Linux——进程的相关概念程序和进程的区别:程序是静态的,是一些保存在磁盘上的指令的有序集合,没有任何执行的概念。不占用系统资源。进程是动态的,是程序执行的过程。它是程序执行和资源管理的最小单位。存储在内存上。并发和并行:并发运行:就是CPU轮换的执行,当前进程执行了一个短暂的时间片后,切换另一个进程,如此的循环往复,由于时间片很短,在宏观上我们会感觉到所有的进程都是同时运行的,但是在微观上CPU每次只能执行某个进程的指令。并行运行:在多核的情况下,不同的CPU核可以同时执行不同的进程,这种叫原创 2020-08-22 16:37:51 · 315 阅读 · 0 评论 -
Linux——文件I/O编程笔记
Linux——文件I/O编程文件描述符 Linux中的文件主要分为4种:普通文件、目录文件、连接文件和设备文件。这么的文件系统如何做区分呢?——文件描述符。 文件描述符是个非负整数,是个索引值,并指向在内核中每个进程打开文件的记录表。 在一个进程启动时,会自动打开3个文件:标准输入、标准输出和标准错误处理,这3个文件分别对应的文件描述符为0、1、2。底层文件操作 文件I/O操作的系统调用,主要用到5个函数:open()、read()、write()、lseek()和close()。这些函原创 2020-08-21 11:47:09 · 287 阅读 · 0 评论