代码编织梦想

linux | 网络通信 | 序列化和反序列化的讲解与实现_网络传输中整数的反序列化-爱代码爱编程

文章目录 为什么要序列化?协议的实现服务端与客户端代码实现 为什么要序列化? 由于默认对齐数的不同,不同的平台对相同数据进行内存对齐后,可能得到不同的数据。如果直接将这些数据进行网络传输,对方

网络 | 网络层讲解 | ip协议 | 分片处理与网段划分_报文分片与分段-爱代码爱编程

文章目录 前言IP报文格式分片处理分片对传输层的影响 网段划分路由转发中的路由表 正向代理与反向代理 前言 tcp作为传输层的典型协议,保证了报文传输的可靠性,使每份报文完整的

linux | 套接字(socket)编程 | tcp协议讲解 | 通信模型搭建_头歌linux实验tcp套接字创建与端口绑定-爱代码爱编程

文章目录 TCP模型的特性TCP接口介绍TCP服务器套接字设置TCP客户端套接字设置 TCP模型的特性 TCP是属于传输层协议的一种,上篇博客介绍了另一种传输层协议——UDP,关于它们之间的区

linux | 二级页表的虚拟地址是怎么转换的?_二级页表地址转换过程-爱代码爱编程

文章目录 页的概念可执行文件的虚拟地址二级页表的转换二级页表的优点 页的概念 在聊文件系统时,我提到操作系统是以块为基本单位进行IO的,一个块的大小为4KB,在文件系统中它的名字叫做块,在内存

4.0、linux-爱代码爱编程

4.0、Linux-文件属性查看和修改学习 基本属性         Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限;为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同规定;         在 Linux 中我们可以使用 ll 或者 ls -l 命令来显示一个

linux | 进程间通信 | system v共享内存 | 介绍和使用_shmflg 0600 是什么-爱代码爱编程

文章目录 system V共享内存介绍共享内存的创建shmget共享内存的获取shmctl,可用于共享内存的删除shmat && shmdt 共享内存的使用Linux对system V的

linux | 文件描述符理解 | 系统级别的文件操作讲解 | 一切皆文件的由来 | 重定向dup2函数讲解_dup2等价-爱代码爱编程

文章目录 对文件的基本理解何为当前路径?文件与操作系统的关系语言对系统接口的封装系统的文件接口打开与关闭读写函数 文件描述符fd的理解如何理解Linux中,一切皆文件?linux对文件的管理进程对文件的

linux | 进程理解,fork | 进程地址空间_fork 虚拟地址空间-爱代码爱编程

文章目录 冯诺依曼体系结构的理解为什么要有内存的存在? 操作系统的管理进程的理解系统调用接口进程的查看fork进程状态Linux进程具体的状态孤儿进程总结 进程优先级怎样修改优先级?进程其他概念

linux | 线程互斥 | 互斥锁 | raii式使用互斥锁 | 死锁_linux 互斥锁锁ini-爱代码爱编程

文章目录 线程切换导致的问题互斥锁加锁的线程会被cpu切走吗?互斥锁实现原理之一 RAII式的使用互斥锁可重入与线程安全死锁死锁的四个必要条件如何避免死锁 线程切换导致的问题

linux | 进程信号 | 信号的产生 | 进程处理信号过程 | 进程pending,block,handler设置 | 用户态、内核态_linux pending signals-爱代码爱编程

文章目录 信号的概念Ctrl + C信号 Linux中的信号信号产生前由终端产生信号由软件条件产生信号硬件异常产生信号core dump 信号产生时sigset_tsigprocmask

linux | 为什么要有线程?| 线程概念 | 线程控制 | 线程id的实质_linux c中 线程的作用 为什么要创建线程-爱代码爱编程

文章目录 Linux对于线程的设计Linux线程特点总结 Linux线程和进程的比较线程的优点线程的缺点 Linux下线程的使用线程的创建与销毁线程退出的三种方式什么是线程ID?线程局部存储线程

linux | posix信号量(semaphore) | 环形队列实现生产消费模型 | 线程池实现_posix semaphore-爱代码爱编程

文章目录 POSIX信号量信号量接口讲解基于信号量和环形队列实现生产消费模型线程池的实现 Posix信号量和System V信号量作用相同,都是用于共享资源的同步访问,Posix信号量通常用于线程

linux | 进程间通信 | 匿名管道 | 命名管道 | 模拟代码实现进程通信 | 控制多子进程时的资源回收问题_shell匿名管道-爱代码爱编程

文章目录 进程通信的意义匿名管道通信原理管道的访问控制进程控制管道的特点 命名管道 进程通信的意义 之前聊进程时,讲过一个性质,即进程具有独立性,两个进程之间的交互频率是比较少的。就连

linux | 动静态库 | 动静态链接 | makefile库打包 | 第三方库使用_linux编译静态库makefile-爱代码爱编程

文章目录 何为动静态库库文件的链接静态链接静态库打包动态链接动态库打包 第三方库的使用静态库的使用动态库的使用 在系统层面上的动态链接理解 何为动静态库 静态库(.a):

linux | 磁盘结构 | 文件系统认识 | inode | 软硬链接_硬链接数-爱代码爱编程

文章目录 磁盘物理结构的认识磁盘的分区inode和文件数据之间的映射文件名和inode之间的映射文件知道自己的inode号吗? 文件的软硬链接硬链接数为什么目录不支持硬链接? 磁

什么是shell?模拟实现shell(深刻理解shell的内建命令)_模拟shell-爱代码爱编程

文章目录 何为shell?shell的模拟实现提示符打印用户输入消息的获取创建子进程执行程序运行结果内建命令环境变量与内建命令提示符最后的优化模拟实现的shell完整代码 何为shell

linux的exit和_exit_exit _exit-爱代码爱编程

进程退出 退出一个进程有多种方式: 正常退出: 在main函数里return 在进程里面调用exit、_exit 在进程的最后一个子线程调用pthread_exit 异常退出: 被信号(9、15)终止 下

linux基本工具:vim编辑器,gdb调试器,makefile项目自动化构建工具,git_vim procps gdb-爱代码爱编程

文章目录 vim编辑器的三种模式vim命令模式的一些常用操作编译过程的感性认知 用代码解释编译过程动态库与静态库概念gdb的使用调试的相关指令 makefile/make目标文件的新旧,系统是怎

linux系统命令行创建新文件_命令行创建文件-爱代码爱编程

linux命令行创建文件 方法有许多,下面简单介绍一下。 方法1 使用cat命令 cat > sample1.c 演示如下: zzc@zzc-virtual-machine:~/share$ cat &g

shell脚本基础知识(入门)-爱代码爱编程

简介 本文会全面介绍shell脚本的基础知识。 脚本格式 要把shell命令放到一个“脚本”当中,有一个要求:脚本的第一行必须写成类似这样的格式: #!/bin/bash bash是一个shell解释器,