Linux系统与网络编程
文章平均质量分 93
liunx基本操作,linux系统编程与网络编程讲解
敲键盘的喵
热爱编程的大学生
展开
-
TCP/IP协议数据链路层
MTU相当于发快递时对包裹尺寸的限制,这个限制是不同的数据链路对应的物理层, 产生的限制。以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补填充位。在网络通信时,源主机的应用程序如果只知道目的主机的IP地址,却不知道目的主机的硬件地址(MAC),那么就无法在数据链路层传输。IP协议最大的意义是路径选择,要把数据送到哪是IP决定的,如何把目标送到指定地点是数据链路层决定的。ARP不是一个单纯的数据链路层的协议, 而是一个介于数据链路层和网络层之间的协议。原创 2022-11-05 19:42:25 · 1107 阅读 · 2 评论 -
TCP/IP协议网络层
NAPT与NAT的区别在于,NAPT不仅转换IP包中的IP地址,还对IP包中TCP和UDP的Port进行转换。由于每个私有IP和端口号在子网中都具有唯一性,所以每次通过路由器转接时,都会将子网中主机的IP地址和端口号与WAN口IP和端口进行转换并形成映射表,在服务器想要应答的时候就可以通过每个节点的映射关系锁定目标主机。如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上 使用任意的IP地址都可以,但是RFC 1918规定了用于组建局域网的私有IP地址。原创 2022-11-05 19:41:17 · 1805 阅读 · 0 评论 -
TCP/IP协议传输层详解
传输层协议主要有两个,分别是UDP协议和TCP协议。我们说了TCP是可靠连接, 那么是不是TCP一定就优于UDP呢?TCP和UDP之间的优点和缺点, 不能简单, 绝对的进行比较。归根结底, TCP和UDP都是程序员的工具, 什么时机用, 具体怎么用, 还是要根据具体的需求场景去判定。原创 2022-10-26 20:41:15 · 4720 阅读 · 0 评论 -
TCP/IP协议用户层详解
Content-Type: 数据类型(text/html等)Content-Length: Body的长度Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上;User-Agent: 声明用户的操作系统和浏览器版本信息;referer: 当前页面是从哪个页面跳转过来的;Connection:表示支不支持长链接location: 搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;Cookie: 用于在客户端存储少量信息。通常用于实现会话(session)的功能。原创 2022-10-21 20:48:17 · 1446 阅读 · 0 评论 -
Linux多线程
哈喽,小伙伴们大家好。在之前的文章中我介绍过进程,想必小伙伴们对进程也都有一定的了解。今天我将介绍一个新概念——线程,线程的本质是什么呢?线程和进程的联系是什么呢?线程本身又有哪些特性呢?这些问题都将在下面的文章中得到答案,话不多说,我们赶紧开始吧。一、Linux线程概念在一个进程里的执行路线就叫做线程。我在之前的文章中提到过,每个进程都对应一个task_struct,而每个task_struct都指向不同的地址空间,在不同的地址空间中根据页表映射到物理内存中。原创 2022-09-11 17:59:41 · 1456 阅读 · 0 评论 -
Linux信号详解
目录前言一、信号概念1、生活中的信号2、计算机中的信号 3、实现信号捕捉二、产生信号的方式1. 通过终端按键产生信号格外拓展:核心转储(core dump)status 2、调用系统函数向进程发信号3. 由软件条件产生信号 4、硬件异常产生信号三、阻塞信号1、概念 2、内核中的表示3、信号集操作函数3.1用户层函数3.2 系统接口四、信号捕获1、用户态和内核态 2、内核如何捕获进程信号2.1捕获信号过程2.2 sigaction五、函数的重入六、c语言关键字volatile总结哈喽,小伙伴们大家好,本篇文章原创 2022-08-31 18:57:38 · 4575 阅读 · 5 评论 -
Linux进程间通信
哈喽,小伙伴们大家好。我们都知道在完成一个任务时,往往是多个进程一起协调工作的,那么在工作的过程中,进程间必然需要产生交流,那么它们之间是如何交流的呢?本篇文章将给大家答疑解惑,详细讲解进程间通信。事不宜迟,快拿起小本本,和我一起开始吧。一、进程通信介绍共享内存是进程通信的最快方式,因为在读写共享内存的时候,并没有使用系统接口,直接就可以访问。共享内存通信优点:速度块,拷贝次数少。共享内存通信缺点:没有提供保护机制(互斥和同步)。...原创 2022-08-26 20:53:43 · 1324 阅读 · 3 评论 -
动静态库详解
哈喽,小伙伴们大家好。大家有没有好奇一个问题,我们写代码时,都是包含头文件后直接调用printf,scanf等函数,那么代码的实现是在哪里呢?这就要设计的库的知识。一、动静态库的基本原理库包括动态库和静态库,统称为动静态库。动静态库的本质是可执行程序的半成品。程序在进行完汇编阶段后生成.o二进制文件,然后这些二进制文件打包形成库。库的本质:一堆.o文件的集合,不包含main,但是包含了大量的实现方法。...原创 2022-08-11 16:25:59 · 1395 阅读 · 7 评论 -
Linux文件操作及原理详解
哈喽,小伙伴们大家好。相信大家在学习语言时都接触过文件操作,但仅仅站在语言层面上是无法真正理解文件的,那么今天我就带大家从系统角度重新学习文件。一、引入1、几个基本概念如果小伙伴们学习过c语言文件的I/O操作, 应该对fopen, fclose, fread, fwrite等函数有一定了解,它们都是C标准库当中的函数。但单单从语言的角度很难真正理解这些操作,今天我想从系统的角度带大家重新认识一下I/O。文件的操作如果没有指名路径,默认都是在当前路径。...原创 2022-08-10 18:20:31 · 1335 阅读 · 1 评论 -
linux操作系统进程控制详解
哈喽,小伙伴们大家好,今天我来带大家了解一下进程控制的相关知识。我将主要从四个方面进行讲解,分别是进程创建、进程终止、进程等待和进程替换。希望小伙伴们看完本文后能对进程有更加深刻的认识。一、进程创建。......原创 2022-08-05 10:44:08 · 549 阅读 · 1 评论 -
Linux进程基本知识详解
哈喽,小伙伴们大家好,进程是操作系统中非常重要的一个概念,今天我将在linux系统下带大家了解进程的一些基本知识。事不宜迟,拿好小本本,我们赶紧开始吧~原创 2022-08-01 14:54:08 · 5745 阅读 · 9 评论 -
操作系统概念介绍
目录前言一、冯诺依曼体系结构1、冯诺依曼体系组成2、信号传递过程二、操作系统1、操作系统简介2、管理的理解3、系统调用和库函数概念总结哈喽,小伙伴们大家好。从今天起,我将和大家一起学习操作系统。操作系统是计算机知识体系中非常重要的一门课。在学习操作系统之前,我们对一个程序的理解仅仅停留在代码阶段,而学习操作系统后,我们可以从系统层面有更加深刻的认识。今天我就先来简单介绍以下操作系统的相关概念。冯诺依曼体系结构是从硬件层面产生的结构,我们常见的计算机或者服务器都遵守冯诺依曼体系结构。冯诺依曼体系由输入设备,输原创 2022-07-30 21:28:38 · 1199 阅读 · 7 评论 -
Linux环境基础开发工具使用
目录前言一、Linux软件包管理器yum1.什么是软件包?2.查看软件包2.1 关于lrzsz2.2 搜索软件包3.安装与卸载软件3.1安装软件3.2 卸载软甲二、Linux编辑器-vim使用1.vim的基本概念2.vim的基本操作 2.1命令模式基本操作2.2 底层模式基本操作三、Linux编译器,gcc/g++的使用1.如何进行编译编辑 2.编译的四个过程2.1预处理(-E)2.2编译(-S)编辑 2.3汇编(-c)编辑 2.4链接3.函数库3.1函数库的概念3.2 动态库与静态库3.3动态库和静原创 2022-06-10 18:03:52 · 2746 阅读 · 6 评论 -
Linux权限详解
目录前言一、shell命令以及运行原理三、Linux权限管理1.文件访问者的分类2.文件类型和访问权限2.1文件类型2.2权限访问属性3.文件访问权限的修改3.1权限的增加与减少3.2 八进制数设置权限3.3 目录权限含义4.用户身份的修改 4.1修改文件拥有者:4.2 修改文件所属组: 5.默认权限解析 四、粘滞位总结在社会中我们每个人都有各自的身份,而相应的身份又决定着是否具有对应的权限。比如我们想要管理一个仓库,那必须要具有仓库管理员的身份。Linux系统中同样具有权限的概念,那接下来我们就来一起看原创 2022-06-06 13:58:14 · 7277 阅读 · 22 评论 -
Linux基础指令详解
目录前言Linux基本指令1.ls指令1.1 ls1.2 ls -l 1.3 ls -a1.4 ls -d1.5 绝对路径和相对路径2.pwd指令3.cd指令4.touch指令5.mkdir指令6.rmdir指令和rm指令1.rmdir指令2.rm指令3.通配符7.man指令8.cp指令9.mv指令9.1 移动文件(windows系统下的剪切)9.2 将文件重命名 10、cat,more与less指令10.1 cat指令10.2 more指令10.3 less指令11、重定向11.1输入重定向11.2输出重原创 2022-06-04 19:27:07 · 7260 阅读 · 36 评论