![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 91
yyyyeahhhhhh
腾讯测试开发工程师
展开
-
网络基础(五)
TCP可靠传输机制确认应答机制和超时重传机制是保证TCP可靠传输的基本滑动窗口机制和拥塞控制机制是保证TCP传输效率的前提:确认应答和超时重传机制其实最基本的都是TCP序号的维护(序号的维护其实也是再说序号的消耗和确认)确认应答机制确认应答机制其实确认的就是序号当发送方在进行数据发送的时候,不管是SYN数据包还是说是PSH数据包本质上其实都是带有序号的,并且是要消耗序号的,发送方在发送数据的时候,本质上其实是在发送数据的,只不过说是这些序号标识了一个一个的数据,接收方在进行确认的时候原创 2021-04-16 17:36:01 · 148 阅读 · 0 评论 -
网络基础(四)
网络基础(四)传输层协议—TCP协议和UDP协议传输层负责**端与端(端可以理解为端口,进一步理解就是端口)**之间的传输(也就是说,传输层是负责端口与端口之间的传输的),不论是传输层中的UDP协议还是TCP协议,都是负责端口和端口之间的数据传输,也就是说传输层只负责端口,不负责ip(ip是网络层在负责的),传输层重视的是端口,一个是源端口,一个是目的端口端口的划分端口的范围:0~2^16知名端口: 0~1023,比如说http:80,https:443,ssh:22,ftp:21,teln原创 2021-03-30 14:46:32 · 681 阅读 · 0 评论 -
网络基础(三)
网络基础(三)1.应用层1.1 自定制协议1.2 HTTP协议2.传输层2.1 UDP协议2.2 TCP协议1.1 自定制协议首先需要知道的是,自定制协议是工作在应用层的,是被程序员所定义出来的协议,才被称之为自定制协议,我们在网络协议栈中其实已经听说过许多协议了,比如说在应用层的http协议,在传输层的UPD和TCP协议,在网络层的IP协议,在数据链路层的ARP协议,这些协议其实都是属于网络协议栈中的协议,而在有些情况下,网络协议栈中的协议不能满足我们的需求,所以说有可能在我们使用网络的原创 2021-03-25 14:26:01 · 358 阅读 · 0 评论 -
网络基础(二)
网络基础(二)tcp编程的流程首先,客户端和服务端都会创建套接字针对于服务端来说,服务端还需要绑定地址信息,监听,接收新连接针对客户端来说他也可以去绑定地址信息,但是不建议客户端去绑定地址信息,然后客户端需要去链接我们的服务端相对于UDP来说,TCP新增的内容是客户端的连接服务端,以及服务端的监听和接收新连接,其实这里就体现了TCP的第一个特性,也就是说,是面向连接的特性,面向连接指的是客户端和服务端,也就是说收发双方在要发送数据之前,首先需要建立连接,建立连接的过程其实就是客户端调用连接的接口原创 2021-03-23 14:40:19 · 163 阅读 · 0 评论 -
网络基础(一)
网络基础(一)本节重点了解网络发展背景, 对局域网/广域网的概念有基本认识;了解网络协议的意义, 重点理解TCP/IP五层结构模型;学习网络传输的基本流程, 理解封装和分用;网络发展背景协议协议是国家或者外交事务的一种规范(这种说法不好理解)协议是沟通双方约定采用同一种语言进行有效的沟通(这只是通俗的协议的理解)网络协议:指的是网络当中通信双方,采用同一种数据格式来进行有效的通信(在网络中其实是由很多网络协议的,下面引出网络协议簇)网络协议簇:在网络当中不止有一个协议,而是原创 2021-03-17 09:17:10 · 719 阅读 · 0 评论 -
多线程III(线程池)
多线程(3)线程池线程池本质其实就是一个线程安全的队列+一堆线程线程池中首先需要有一个队列,并且这个队列是线程安全的队列,不管这个线程安全的队列是使用信号量去实现的线程安全的队列还是说是使用互斥锁+条件变量去实现的线程安全的队列都是可以的第二个部分就是线程池中其实还有一大堆的线程,线程池中的线程都是从线程安全队列当中去获取的元素,并且对其进行处理的操作,因为他是从线程安全队列中去拿数据的,那么线程池中的数据从逻辑上讲其实就是消费线程;那线程池当中的线程运行的时候都是运行的同一个入口函数那么既然线原创 2021-03-15 18:09:39 · 131 阅读 · 0 评论 -
多线程II
多线程(2)线程安全线程不安全的现象—抢票程序假设说现在从一个地方去到另一个地方的车票只有一张了,这个时候有很多人都要去抢这一张票,但是在这种情况下只有一个人可以抢到这张票,这个时候其实多个线程就扮演的一个角色其实就是“黄牛”的角色,他们都是用来抢这一张票的,但是当程序真正在运行起来的时候,多个线程是抢占式执行的,如果这个线程拿到了,那个线程也拿到了的话,那么就可能出现一定的问题#include <stdio.h>#include <unistd.h>#include原创 2021-03-13 11:48:47 · 225 阅读 · 1 评论 -
多线程
多线程本节重点:了解线程概念,理解线程与进程区别与联系。学会线程控制,线程创建,线程终止,线程等待。了解线程分离与线程安全概念。学会线程同步。学会使用互斥量,条件变量,posix信号量,以及读写锁。理解基于读写锁的读者写者问题。在接触多线程的时候,在考虑多线程问题的时候,需要有全局思维(需要从程序的角度去考虑多个线程在同一时间都可能做的事情)主要要涉及到的内容有:线程概念,线程控制,线程安全,互斥和同步,死锁,生产者和消费者模型,线程池线程概念线程的概念其实就类似于是在工厂中又开原创 2021-03-08 22:10:39 · 222 阅读 · 0 评论 -
进程信号
进程信号本节主要内容掌握Linux信号的基本概念掌握信号产生的一般方式理解信号递达和阻塞的概念,原理。掌握信号捕捉的一般方式。重新了解可重入函数的概念。信号主要会涉及到:信号的概念信号的产生信号的注册信号的注销信号的捕捉处理自定义信号处理函数...原创 2021-03-05 14:33:15 · 433 阅读 · 2 评论 -
在线OJ项目
Linux项目—在线OJ项目1.在线OJ项目的目标做出一个在线OJ的系统,支持查看题目列表,支持点击单个题目,支持代码块书写代码,支持提交书写的代码到后端,支持后端编译+运行,支持返回结果2.在线OJ项目的环境搭建2.1 cpp-httplib开源库cpp-httplib,开源库—使用的方法:在代码中直接包含httplib.h就可以了2.2 升级gcc需要升级gcc,关于升级gcc,首先需要切换到root用户,然后执行命令下面的两个命令yum -y install centos-r原创 2021-03-04 20:47:51 · 503 阅读 · 1 评论 -
进程间通信
进程间通信本节内容进程间通信介绍管道消息队列共享内存信号量原创 2021-02-27 23:03:10 · 210 阅读 · 0 评论 -
Linux下的基础IO
Linux下的基础IO本节重点复习C文件IO相关操作认识文件相关系统调用接口认识文件描述符,理解重定向对比fd和FILE,理解系统调用和库函数的关系理解文件系统中inode的概念认识软硬链接,对比区别认识动态静态库,学会结合gcc选项,制作动静态库主要包括以下几个内容C语言文件操作接口...原创 2021-02-17 21:19:58 · 358 阅读 · 1 评论 -
Linux根目录下的内容
Linux根目录下的内容Linux下的根目录在Linux下的目录结构中,有一个最顶层的目录,到达这个目录之后,在进一步向上查找是不可以的,因为这一层目录已经是最顶层的目录了,这个目录就是Linux下的根目录。ls …/… 到达根目录ls /到达根目录那么,现在可以调研一下这个目录都代表着什么样的具体内容Linux根目录下的内容binbin是binary的缩写,是UNIX类操作系统中根目录的标准子目录,包含可执行的程序(即准备运行的程序),以便达到启动(即启动)和修复系统的最小功能。原创 2020-07-06 14:10:54 · 5521 阅读 · 1 评论 -
Linux进程控制
Linux进程控制本节重点学习进程创建,fork/vfork学习到进程等待学习到进程程序替换, 微型shell,重新认识shell运行原理学习到进程终止,认识$?原创 2020-06-28 15:59:15 · 404 阅读 · 0 评论 -
进程状态,僵尸进程以及孤儿进程
进程状态,僵尸进程以及孤儿进程进程状态课本上的进程状态分为三种:就绪,阻塞,运行进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态。运行(running)态:进程占有处理器正在运行。就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行。等待(wait)态:又称为阻塞(blocked)态或睡眠(sleep)态,指进程不具备运行条件,正在等待某个事件的完成。在Linux下的进程状态分为运行状态–R:正在运行或者只要拿到时原创 2020-06-28 10:06:00 · 364 阅读 · 0 评论 -
Linux下查看进程的信息
Linux下查看进程的信息查看进程信息使用 ps -e,查看所有进程信息,但是不够详细使用ps -ef,查看所有的进程信息,会稍微详细一点,顺序依次为,UID—用户的信息,也就是说这个进程是谁的,PID—这个进程的ID,PPID—这个进程的父进程的ID,STIME—是从什么时候开始运行的,TIME—在CPU上已经运行多长时间了,CMD—在运行程序的时候执行的是什么命令常用命令总结ps -l 列出与本次登录有关的进程信息;ps -aux 查询内存中进程信息;ps -aux |原创 2020-06-28 09:41:02 · 498 阅读 · 0 评论 -
创建进程以及对fork的认识
创建进程以及对fork的认识创建子进程一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。fork是用来创建一个子进程的pid_t fork(void)—通过复制调原创 2020-06-28 09:31:59 · 396 阅读 · 0 评论 -
进程的详细解释
进程的详细解释进程的定义狭义定义:进程是正在运行的程序的实例广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元通俗的观念:程序的一个执行实例,或正在执行的程序。内核的观点:担当分配系统资源(CPU时间和内存)的实体。进程就是操作系统的描述,这个描述叫PCB(进程控制块),Linux下PCB有自己的名字叫task_struct.而操作系统就是使用task_struct结构体描述进原创 2020-05-29 10:42:51 · 1659 阅读 · 0 评论 -
Linux下的make和Makefile
Linux下的make和Makefile背景会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile原创 2020-05-25 13:38:24 · 1017 阅读 · 0 评论 -
Linux下rmdir和rm的区别
Linux下rmdir和rm的区别mkdir,rmdir,rm的介绍mkdir语法:mkdir [选项] dirnameLinux mkdir命令用于建立名称为 dirName 之子目录。例如: mkdir temp;就是创建了要给名称为temp的目录,此时没有操作选项功能:在当前目录下创建一个名为dirname的目录,这个目录里面什么都没有,是一个空目录,mkdir创建的是一个空目录。(但是输入mkdir abc/cde,是无法创建的,因为并没有abc这个目录),abc/cde是一个路径,表原创 2020-05-18 10:02:57 · 3576 阅读 · 0 评论 -
Linux进程概念
Linux进程概念本节重点:认识冯诺依曼系统操作系统概念与定位深入理解进程概念,了解PCB学习进程状态,学会创建进程,掌握僵尸进程和孤儿进程及其形成原因和危害了解进程调度,Linux进程优先级,理解进程竞争性与独立性,理解并行与并发理解环境变量,熟悉常见环境变量及相关指令, getenv/setenv函数理解C内存空间分配规律,了解进程内存映像和应用程序区别, 认识地址空间。选...原创 2020-04-14 14:29:13 · 428 阅读 · 0 评论 -
Linux常用工具
Linux常用工具本节内容了解yum工具,进行软件安装vim编辑器适用,学会vim简单配置gcc/g++编译器,了解过程,原理掌握简单gdb适用于调试掌握简单的makefile编写,了解其运行思想编写第一个Linux程序–进度条了解git命令行的简单操作,传入github工具分类软件包管理工具—yum个人编辑工具—vim(编辑器),gcc/g++(编译器),gdb(调试...原创 2020-04-09 12:40:12 · 594 阅读 · 0 评论 -
Linux初识
Linux初识Linux初识本节内容初识Linux操作系统(Linux操作系统:是一个软件,核心功能就是管理计算机上的软硬件资源,就是操控计算机的软件和硬件的—目的:就是为了让计算机更加好用。windows占据了个人pc市场的95%份额,Linux操作系统在企业级服务器市场占80%份额。)初识别shell命令,了解若干背景知识使用常用Linux命令了解Linux权限概念和思想,能深度...原创 2020-04-03 14:03:41 · 438 阅读 · 0 评论