![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统+网络
文章平均质量分 81
主要写了网络的学习和操作系统的一些知识
丿灬慕容笑笑
这个作者很懒,什么都没留下…
展开
-
搞懂GDB的实现原理
搞懂GDB的实现原理对于GDB我们之前的文档中大概的介绍了一些基本的使用原理,但是呢,并不知道GDB是如何实现的,对于这个问题,在面试中也遇到过一次,参考了下别人的博客,进行了下总结,也是方便自己的学习和记忆。如有问题,请多多指教。1.GDB的调试组成架构。2.GDB调试的三种方式:1.attach并调试一个已经运行的进程,2.运行并调试一个新的进程3.远程调试目标机上新创建...原创 2021-02-06 21:22:17 · 1084 阅读 · 0 评论 -
详解http协议
详解http协议本文通过自己的一些学习和参考了《图解HTTP》1.定义:http协议是超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。是一种详细规定了浏览器和万维网直接按互相通信的规则,允许将HTML文档从web服务器传送到Web服务器。默认的端口是80.基于 请求-响应 的模式...原创 2021-01-25 14:29:39 · 883 阅读 · 0 评论 -
poll与epoll的实现
poll与epoll在linux中,IO多路转接模型,除了select模型可以用,还有poll和epoll两种模型,对于 poll模型现在基本上不用了。poll模型:1.流程:1.用户定义了一个描述符的事件结构体数组,将需要监控的描述符以及 对应的事件信息添加到数组中去。2.调用poll函数,将有效的节点拷贝到内核中进行监控,有描述符就绪或者等待时间超时的时候返回,返回时每个节点revent...原创 2021-01-21 12:07:38 · 177 阅读 · 0 评论 -
读懂select函数
读懂select函数1.定义:select函数属于IO多路转接模型中的监控函数,主要是监控描述符的读写和异常。2.接口:void FD_ZERO(fd_set *set); 清空集合fd_set: 描述符集合的结构体,里面只有一个数组,当位图使用,大小为1024。set:为描述符集合。void FD_SET(int fd, fd_set *set); 将描述符添加到集...原创 2021-01-19 16:22:11 · 194 阅读 · 1 评论 -
五种IO模型
五种IO模型在网络上已经有很多大佬写了很多关于IO模型的博客,我这篇主要是自己在学习中的总结,也有很多借鉴别人的地方。IO:等待数据拷贝的过程(内核态->用户态)现在常用的五种IO模型:阻塞型IO,非阻塞型IO,信息驱动型IO,多路转接IO,异步IO。首先我们要搞清楚的是 什么叫 阻塞和非阻塞?阻塞:一个函数发起了功能调用,若当时不具备...原创 2021-01-19 13:53:35 · 188 阅读 · 0 评论 -
Socket编程(高并发TCP/UDP)
Socket编程(TCP/UDP) <sys/socket.h>如有问题请多多指教,1.Tcp模式(由客户端链接服务器)2.UDP模式:3.多线程tcp4.多进程tcp首先我们需要知道tcp和udp的协议的特点。1.Tcp模式(由客户端链接服务器)服务器端 客户端socket() 创建套接字...原创 2020-12-22 15:02:25 · 939 阅读 · 0 评论 -
从无到有的了解线程
线程如有问题,请多多指出 在之前的文章中,写过进程和线程的概念,可一起阅读。 1.线程的实现1.1线程的实现分为三种方式, 1.2线程是什么?1.3在一个lin...原创 2020-11-27 20:31:30 · 222 阅读 · 0 评论 -
信号量的使用
信号量的同步如有问题,请多多指教代码接口方面,可参考上一篇博客https://blog.csdn.net/weixin_42078660/article/details/109968606我们有三个进程,分别是A,B,C.他们的功能就是分别打印A,B,C那么这三个进程要怎样才可以顺序的打印出ABCABCABC。。。。。。。呢?在这里我们需要的是进程间的...原创 2020-11-24 16:24:42 · 241 阅读 · 0 评论 -
进程间通信(编程版)
进程间通信(编程版)除学linux,内容较为粗糙,如有问题,请多多指教。此篇重点在编程上,对于理论分析较少,后续会专门分析理论。进程间通信:管道,信号量,共享内存,消息队列,套接字。1.管道: 1.简诉: 管道:有名管道和无名管道 有名管道:用于任意两个进程中间 无名管道:用于父...原创 2020-11-22 23:45:01 · 383 阅读 · 0 评论 -
linux下信号的使用(编程层面)
信号初学linux,为方便使用写的,如有问题,请多多指教。 简介: 信号是linux系统为了响应某些状况而产生的事件。进程收到信号后应该采取相应的动作Kill -l 可以查看现在的信号量; (2) SIGINT ctrl +c 终止信号 (3) ctrl +\ 暂停信号,放入后台 (4)...原创 2020-11-22 17:33:18 · 109 阅读 · 0 评论 -
浅谈fork()
浅谈fork fork是什么?(PCB 进程唯一描述符) 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新...原创 2020-11-16 19:59:36 · 424 阅读 · 0 评论 -
库(动态库和静态库)
库(静态库、共享库)如有问题,请多多指教。库:预先编译好的方法的集合分为 静态库 (libxx.a)和 动态库 (libxx.so) (xx是库名)我们在linux系统下,我们要知道这几个存放位置:可执行的程序,命令放在 /bin /usr/bin头文件放在 /usr/include库文件放在 /lib /usr/lib1.那么库有什么作用呢?简单来说,当我们要执行一个重复而又相同的功能的时候,...原创 2020-11-16 16:33:54 · 174 阅读 · 0 评论 -
深入浅出谈谈IP协议
深入浅出谈谈IP协议 经过老师的介绍,最近开始学习《linux高性能服务器编程》这本书。读完才发现作者的伟大,写的是真的很完美,特别通俗易懂。为了给自己的学习和复习方便使用,我总结如下的一些知识点,更多的就是读书笔记吧。我也将这本书生成了链接,可以供大家的学习,附链接:https://pdf.maitube.com/pdf/?e=ag/CZgi6GyOpkaIP协议:点对点的通讯协议,作用...原创 2020-07-27 21:34:25 · 537 阅读 · 0 评论 -
gdb调试的简单操作
gdb调试工具对于一个程序可以生成:release版本:属于发行版本,用于用户。 不能调试程序。debug版本:属于调试版本,用于程序员。 可以调试程序。gcc默认生成的是release版本的可执行文件,如果想要生成debug版本,需要加一个选项 -g。进入 gdb调试: gdb + debug版本文件。l 显示main函数所在文件的代码list filename:line 显示filename文件lin...原创 2020-07-16 18:21:09 · 127 阅读 · 0 评论 -
Shell编程的简单操作
Shell编程特点:1.开发快,它不运行,使用命令来执行。在任何一个环境下,都可以执行shell语言,很方便的。2.shell(解释性)需要解释器,代码在解释器中运行。Shell的解释器一般为(bash)C++(编译型)经过编译链接后,可以在目标主机上直接运行3.shell脚本运行起来后,他的pid 是bash的pid,因为bash是一个可执行程序。语法:#!/bin/bash 指定解释器运行的时候 ...原创 2020-07-10 15:10:22 · 379 阅读 · 0 评论 -
常见SQL语句(仅供自己复习)
常见SQL语句(仅供自己复习)DDL数据定义语言(表,库,视图…)create drop alter show增 删 改 查DML 数据操作语言Insert delete update selectDCL 数据控制语句(权限)grant revoke1.启动数据库(linux系统下) service...原创 2020-06-24 10:51:14 · 543 阅读 · 0 评论 -
浅谈虚拟地址空间
浅谈虚拟地址空间1.由来 为什么会出现虚拟地址空间呢? 对于现在常用的编译软件都在32位的平台下,在之前有16位的平台(8060系统)。 对于16位的平台,它是实模式。进程的地址就是实际的物理地...原创 2020-02-20 18:59:36 · 1149 阅读 · 2 评论 -
程序、进程、线程
程序、进程、线程1.从定义来看:程序:存储在磁盘上的可执行的二进制文件进程:是一个正在运行的程序,它是动态的,而程序是一个静态的文件,进程是程序的一次实例化,一个程序可程执行多次生成多个进程。线程:是轻量级的进程。线程是进程内部...原创 2020-03-02 15:48:45 · 129 阅读 · 0 评论 -
三次握手和四次挥手
三次握手和四次挥手 三次握手和四次挥手是tcp协议中创建连接和断开链接时的重要过程,下面我们就来看一下三次握手和四次挥手的过程,以及一些会问到的面试题。字段 含义URG 紧急指针是否有效。为1,表示某一位需要被优先处理ACK 确认号是否有效,一般置为...原创 2020-03-04 23:53:00 · 134 阅读 · 0 评论 -
TCP和UDP
TCP和UDPTCP,Transmission Control Protocol 的缩写,即传输控制协议。面向连接,即必须在双方建立可靠连接之后,才会收发数据信息包头 20 个字节建立可靠连接需要经过3次握手断开连接需要经过4次挥手需要维护连接状态报文头里面的确认序号、累计确认及超时重传机制能保...原创 2020-03-05 21:41:45 · 326 阅读 · 0 评论