
Linux
文章平均质量分 95
小倪同学 -_-
天道酬勤当至理,恒心定得上琼楼
展开
-
Linux 高级IO
Linux 高级IO原创 2022-06-30 15:00:32 · 753 阅读 · 0 评论 -
数据链路层和其他重要协议或技术
文章目录一级目录一级目录tcp提供策略IP执行:提供数据转发依据,让我们能找到目标主机MAC:将数据帧交付给它的下一跳设备(路由器,主机)mac解决相邻主机的通信问题,相邻主机一定是属于同一个网段mac帧实际上是局域网通信原理......原创 2022-05-17 18:36:42 · 294 阅读 · 0 评论 -
网络基础 IP协议
文章目录IP协议的基本概念IP协议报头格式网段划分IP协议的基本概念主机: 配有IP地址, 但是不进行路由控制的设备;路由器: 即配有IP地址, 又能进行路由控制;节点: 主机和路由器的统称IP协议报头格式4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是44位头部长度(header length): IP头部的长度是多少个32bit, 也就是 length * 4 的字节数. 4bit表示最大的数字是15, 因此IP头部最大长度是60字节8位服务类型(Ty原创 2022-05-17 17:47:34 · 1517 阅读 · 0 评论 -
TCP协议
文章目录TCP冯诺依曼体系TCP协议段格式确认应答(ACK)机制超时重传机制连接管理机制滑动窗口TCPTCP是可靠的,UDP是不可靠的,那为什么还要UDP呢?可靠和不可靠是相对而言的,TCP有更复杂的保障可靠性的机制,它一定是一个复杂的协议。UDP没有复杂的机制,实现起来也相当简单。如果不知道使用什么协议,建议还是使用TCP。冯诺依曼体系结论:为何要专门设计TCP/IP协议??因为通信的设备之间“线更长了”!TCP协议段格式什么叫做可靠性?利用确认应答机制,不是对最新数据的可靠保证,而是原创 2022-05-12 15:07:39 · 960 阅读 · 0 评论 -
UDP协议
文章目录再谈端口号端口号范围划分认识知名端口号(Well-Know Port Number)进程和端口号两个问题netstatpidofUDP协议UDP协议端格式UDP的特点面向数据报UDP的缓冲区UDP使用注意事项基于UDP的应用层协议再谈端口号端口号(Port)标识了一个主机上进行通信的不同的应用程序;在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看).端口号范围划分0原创 2022-05-01 17:30:46 · 782 阅读 · 0 评论 -
HTTP协议
文章目录再谈 "协议"模拟实现网络版计算器再谈 “协议”我们程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应用层协议是一种 “约定”. socket api的接口, 在读写数据时, 都是按 “字符串” 的方式来发送接收的. 如果我们要传输一些"结构化的数据" 怎么办呢?模拟实现网络版计算器例如, 我们需要实现一个服务器版的计算器. 我们需要客户端把要计算的两个数和符号发过去, 然后由服务器进行计算, 最后再把结果返回给客户端。实现程序前我们先做约定客户端依次输入 数原创 2022-05-01 16:30:23 · 281 阅读 · 0 评论 -
Linux网络编程套接字
文章目录预备知识理解源IP地址和目的IP地址理解 "端口号" 和 "进程ID"理解源端口号和目的端口号认识TCP协议认识UDP协议网络字节序点分十进制IP和uint32_t整数相互转换预备知识理解源IP地址和目的IP地址在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址源IP地址: 表示该条信息来源于哪个机器。目的IP地址: 表示该条信息去往于哪个进程理解 “端口号” 和 “进程ID”我们之前在学习系统编程的时候, 学习了 pid 表示唯一一个进程; 此处我们的端口号原创 2022-04-14 17:33:30 · 2803 阅读 · 1 评论 -
Linux网络基础
文章目录网络发展认识 "协议"OSI七层模型TCP/IP五层(或四层)模型网络传输基本流程网络发展网络发展经理了如下四个过程独立模式: 计算机之间相互独立;网络互联: 多台计算机连接在一起, 完成数据共享3. 局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起4. 广域网WAN: 将远隔千里的计算机都连在一起所谓 “局域网” 和 “广域网” 只是一个相对的概念. 比如中国的广域网, 也可以看做一个比较大的局域网。认识 “协议”“协议” 是一种约定.计算机之间原创 2022-04-02 11:00:26 · 119 阅读 · 0 评论 -
Linux线程安全
文章目录Linux线程互斥进程线程间的互斥相关背景概念互斥量mutex互斥量的接口互斥量实现原理探究可重入VS线程安全概念常见的线程不安全的情况常见的线程安全的情况常见的不可重入的情况常见的可重入的情况可重入与线程安全联系可重入与线程安全区别死锁概念死锁四个必要条件避免死锁Linux线程互斥进程线程间的互斥相关背景概念临界资源: 多线程执行流共享的资源就叫做临界资源临界区: 每个线程内部,访问临界资源的代码,就叫做临界区互斥: 任何时刻,互斥保证有且只有一个执行流进入临界区,访问临界资源,通常对原创 2022-03-30 16:36:22 · 3185 阅读 · 0 评论 -
Linux多线程
文章目录线程概念什么是线程线程的优点线程的缺点线程异常线程用途Linux进程VS线程进程和线程进程的多个线程共享Linux线程控制POSIX线程库创建线程线程终止pthread_exitpthread_cancel线程概念什么是线程在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行,本质是在进程地址空间内运行在Linux系统中,在CPU眼中,看到的PCB都要比传统的进程更加轻量化透过进程虚拟地址原创 2022-03-24 09:46:23 · 3757 阅读 · 0 评论 -
Linux进程信号
文章目录信号入门生活角度的信号技术应用角度的信号信号处理常见方式信号的本质产生信号通过终端按键产生信号信号入门生活角度的信号你在网上买了很多件商品,再等待不同商品快递的到来。但即便快递没有到来,你也知道快递来临时,你该怎么处理快递。也就是你能“识别快递”当快递员到了你楼下,你也收到快递到来的通知,但是你正在打游戏,需5min之后才能去取快递。那么在在这5min之内,你并没有下去去取快递,但是你是知道有快递到来了。也就是取快递的行为并不是一定要立即执行,可以理解成“在合适的时候去取”。在收到通知,原创 2022-03-12 17:09:00 · 1428 阅读 · 0 评论 -
Linux进程间通信
文章目录进程间通信介绍进程间通信的概念进程间通信目的进程间通信的发展进程间通信分类管道什么是管道匿名管道pipe函数匿名管道使用步骤管道读写规则管道特点管道的四种特殊情况管道的大小命名管道创建命名管道在进程中创建命名管道用命名管道实现不同文件的通信进程间通信介绍进程间通信的概念进程通信是指在进程间传输数据(交换信息)进程间通信目的数据传输: 一个进程需要将它的数据发送给另一个进程资源共享: 多个进程之间共享同样的资源通知事件: 一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种原创 2022-03-03 23:15:01 · 1036 阅读 · 1 评论 -
动态库和静态库
文章目录动静态库的基本原理初识动静态库动静态库各自特点静态库的打包和使用打包动静态库的基本原理我们知道从源文件到可执行程序需要如下经历4个步骤预处理: 完成头文件展开、去注释、宏替换、条件编译等,形成xxx.i文件。编译: 完成词法分析、语法分析、语义分析、符号汇总等,检查无误后将代码翻译成汇编指令,形成xxx.s文件。汇编: 将汇编指令转换成二进制指令,形成xxx.o文件。链接: 将生成的各个xxx.o文件进行链接,形成可执行程序。这里的动静态库本质上就是xxx.o文件的集合初识动静态原创 2022-02-24 22:18:17 · 929 阅读 · 0 评论 -
Linux基础IO
文章目录系统文件I/O系统文件I/O原创 2022-02-24 09:53:32 · 249 阅读 · 0 评论 -
Linux进程控制
文章目录进程创建fork函数初识进程创建fork函数初识在Linux中,fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。返回值:在子进程中返回0,父进程中返回子进程的PID,子进程创建失败返回-1。进程调用fork,当控制转移到内核中的fork代码后,内核做:分配新的内存块和内核数据结构给子进程。将父进程部分数据结构内容拷贝至子进程。添加子进程到系统进程列表当中。fork返回,开始调度器调度。fork之后,父子进程代码共享。例:运原创 2022-02-05 19:34:00 · 1346 阅读 · 0 评论 -
Linux进程概念
文章目录基本概念描述进程-PCBtask_struct-PCB的一种task_ struct内容分类组织进程查看进程通过系统目录查看通过ps命令查看通过系统调用获取进程的PID和PPID基本概念课本概念: 程序的一个执行实例,正在执行的程序等内核观点: 担当分配系统资源(CPU时间,内存)的实体。当我们打开可执行程序时,本质上就是把该程序加载到内存中。只有将其加载到内存中,CPU才能进行逐行的语句执行。当程序加载到内存时,我们可以称之为进程。描述进程-PCB进程信息被放在一个叫做进程控制块的原创 2022-01-16 17:26:29 · 1458 阅读 · 0 评论 -
Linux环境基础开发工具的使用
文章目录Linux 软件包管理器 yum什么是软件包查看软件包安装软件卸载软件Linux编辑器 - vimvim的基本概念vim的基本操作vim正常模式命令集vim末行模式命令集Linux 软件包管理器 yum什么是软件包在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进原创 2021-11-17 17:10:42 · 8637 阅读 · 0 评论 -
Linux权限相关问题
文章目录Linux权限的概念用户之的切换Linux权限管理文件访问者的分类(人)文件类型和访问权限(事物属性)文件权限值的表示方法字符表示方法8进制数值表示方法文件访问权限的相关设置方法目录的权限粘滞位Linux权限的概念Linux下有两种用户:超级用户(root)、普通用户。超级用户可以再linux系统下做任何事情,不受限制,而普通用户在linux下做可做的事情是有限的。在Linux中超级用户的命令提示符是“#”,普通用户的命令提示符是“$”,如下图超级用户:普通用户:用户之的切换语法:原创 2021-11-08 17:39:53 · 429 阅读 · 0 评论 -
Linux常见指令
文章目录ls 指令pwd命令cd 指令touch指令mkdir指令rmdir指令 && rm 指令man指令ls 指令语法: ls [选项][目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件-k 以 k 字节的形式表原创 2021-11-05 21:46:50 · 136 阅读 · 0 评论