
原理系列
文章平均质量分 80
Time-Traveler
这个作者很懒,什么都没留下…
展开
-
Time-wait状态(2MSL)
本文转自:https://blog.youkuaiyun.com/overstack/article/details/8833894,尊重原创什么是2MSL:MSL是Maximum Segment Lifetime,译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为TCP报文(segment)是IP数据报(datagram)的数据部分,而IP头中有一个TTL域,TTL是time to live的缩写,中文可以译为“生存时间”,这个生存时间是由源主机设置初始值但不是存的.转载 2021-07-16 14:21:16 · 2045 阅读 · 0 评论 -
大小端高位低位字节的理解
一般左边为高位 右边为低位一般一个16位(双字节)的数据,比如 FF1A (16进制)那么高位字节就是FF,低位是1A如果是32位的数据,比如 3F68415B高位字(不是字节)是3F68低位字是415B右边是低位位,左边是高位作者:亮亮_be3c链接:https://www.jianshu.com/p/15a802e7669c...原创 2021-04-28 23:48:46 · 15993 阅读 · 3 评论 -
P2P网络原理
P2P网络:下面是我在网上找到的一副图:P2P(Peer to Peer)是点对点的连接,在P2P网络中,用户同时利用并提供网络的基础,尽管提供资源完全是自愿的。每个对等体(“对等体”是网络上的计算机系统)被认为是相等的并且通常被称为节点。对等体可以将一部分计算资源(如磁盘存储,处理能力或网络带宽)直接提供给其他参与者,而无需服务器或稳定主机进行任何集中协调。有点我为人人,人人为我的意思。NAT技术:NAT技术(Network Address Translation,网络地址转换)是一种把内部网.转载 2021-03-31 15:35:39 · 6146 阅读 · 0 评论 -
Golang调度器的GMP模型
本文转自:https://zhuanlan.zhihu.com/p/261590663 尊重原创前言:首先看以下并发和并行概念: - 并发(concurrent): 逻辑上处理同时的任务的能力 - 并行(parallel): 物理上同一时间处理不同任务一般来说,并发对应在单个处理器,通过串行的时间片分配(time slice)来执行任务。而并发,对应多个处理器,来执行不同的任务。Golang中,执行多个任务时,Goroutine会创建不同的线程,也会将任务单元分配给其他线程来执行,这像是并发和并转载 2021-03-10 00:45:32 · 353 阅读 · 0 评论 -
Windows程序的窗口和消息
本篇转自:https://blog.youkuaiyun.com/guzhou_diaoke/article/details/8155171,尊重原创 1.一个完整的Windows程序 /*----------------------------------------------------------------------------------- HelloWin.cpp -- Displays "Hello, Windows 7!" in .转载 2021-03-03 18:17:03 · 620 阅读 · 1 评论 -
Windows 中一个应用程序的启动过程
Explorer.exeWindows 能够流行起来,很大一个原因是它有友好的用户图形界面,操作方便简单,容易上手。在Windows环境下打开一个程序,只要双击软件的图标就行了,那么它是如何启动起来的?当我们启动电脑进入桌面时,系统会创建 Explorer.exe 进程。Explorer.exe是Windows程序管理器 或者叫 文件资源管理器,用于管理Windows图形壳,删除该程序会导致 Windows 图形界面无法使用。所以,如果有时候我们电脑的桌面空白了,或者蓝屏,可以通过 Alt+Ctrl..转载 2021-03-03 18:08:37 · 948 阅读 · 1 评论 -
进程/线程上下文切换会用掉你多少CPU?
本文转自:https://zhuanlan.zhihu.com/p/79772089, 一位来自搜狗的1研发专家,请尊重原创进程是操作系统的伟大发明之一,对应用程序屏蔽了CPU调度、内存管理等硬件细节,而抽象出一个进程的概念,让应用程序专心于实现自己的业务逻辑既可,而且在有限的CPU上可以“同时”进行许多个任务。但是它为用户带来方便的同时,也引入了一些额外的开销。如下图,在进程运行中间的时间里,虽然CPU也在忙于干活,但是却没有完成任何的用户工作,这就是进程机制带来的额外开销。在进程A切换到进程B的过转载 2021-03-03 16:14:42 · 1189 阅读 · 1 评论 -
浅谈函数调用
程序内存空间:任何一个程序通常都包括代码段和数据段,这些代码和数据本身都是静态的。程序要想运行,首先要由操作系统负责为其创建进程,并在进程的虚拟地址空间中为其代码段和数据段建立映射。光有代码段和数据段是不够的,进程在运行过程中还要有其动态环境,其中最重要的就是堆栈。以下是**Linux**地址空间布局:栈是向下增长的,堆是向上增长的(可以这么说,但是不严谨,栈方向跟体系结构有关系,x86是向下增长,arm没有固定,但一般操作系统会选择向下增长)bss段: bss段(bss segment)通.原创 2021-03-03 15:55:36 · 249 阅读 · 0 评论 -
单核处理器、多核处理器、多处理器与多线程编程,cpu调度
进程的概念:进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。线程的概念:线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位。一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。同样多线程也可以实现并.原创 2021-02-19 15:10:00 · 2862 阅读 · 1 评论 -
浅谈TCP3次握手4次挥手
三次握手在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认; 第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进...转载 2021-02-17 23:10:50 · 192 阅读 · 0 评论 -
简单了解照相机
以上是随便找网上找的一张正经的照相机图片,如今照相机各种各样,今天我们会简单了解一下照相机的工作原理。涉及的工作原理:主要是这两个原理:话说很早很早的时候,我们的老祖宗,墨子就发现了,用一个带有小孔的板遮挡在墙体与物体之间,墙体上就会形成物体的倒影,这种现象就叫小孔成像。溴化银见光分解的原理来自百度百科的基本介绍:https://baike.baidu.com/item/%E6%BA%B4%E5%8C%96%E9%93%B6/9962770?fr=aladdin#2照相机的简单架构:.原创 2021-01-25 23:13:40 · 1769 阅读 · 1 评论 -
声音信号如何转化为电信号
电信号可以转化为声音信号,声音信号当然也可以转换为电信号了声音需要通过介质进行传播,比如通过空气、木头、水、金属等等。如果在真空环境下,声音是没办法传播的。如果我们跑到月球上去玩耍,就算叫破喉咙也没法交流了。但电磁波的传播是不需要介质的,也可以传播得非常远,如果把声音转化为电信号再通过电磁波传播,就算我们在地球上也可以和太空上的宇航员进行通话了。驻极体麦克风可以把声音转化为电信号:驻极体麦克风是一种声电的转化元件,它由声电转换、阻抗变换和信号放大器构成,它的内部有一个驻极体振动膜,声音发生振动时.原创 2021-01-25 18:48:07 · 13659 阅读 · 2 评论 -
世界光缆图
世界海底/陆地光缆分布图:原地址:传送门不能访问的也可以看看这一篇:传送门光缆中信号传播速度接近于光速,WiFi是一种电池波,其传播速度也相当于光速,这样就将地球村连了起来...原创 2021-01-04 18:16:24 · 4186 阅读 · 0 评论 -
机械硬盘原理
本篇参考自:https://zhuanlan.zhihu.com/p/89505052 磁盘存储器原理介绍:为了了解磁盘的运行原理,先上一些图来展示机械硬盘的构造和运行状态转载 2020-11-30 16:04:24 · 3171 阅读 · 0 评论 -
URL编码表
本篇转自:https://blog.youkuaiyun.com/superit401/article/details/78052965 URL编码表 backspace 8% A 41% a 61% § %A7 Õ %D5 tab 9% B 42% b 62% « %AB Ö %D6 linefeed %0A C 43% c 63% ¬ %AC Ø %D8 creturn %0D D 44% d 64% ¯ %AD Ù %D9转载 2020-10-22 23:11:25 · 654 阅读 · 0 评论 -
索引原理
本篇转自:https://www.cnblogs.com/aspwebchh/p/6652855.html 使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索引原理又能恰到好处使用索引又是另一回事,这完全是两个天差地别的境界(我自己也还没有达到这层境界)。很大一部份程序员对索引的了解仅限于到“加索引能使查询变快”这个概念为止。 为什么要给表加转载 2020-10-09 11:01:47 · 162 阅读 · 0 评论 -
int3 Windows系统调试原理
本文转自:https://www.cnblogs.com/xuanyuan/p/3998408.html 探索调试器下断点的原理 在Windows上做开发的程序猿们都知道,x86架构处理器有一条特殊的指令——int 3,也就是机器码0xCC,用于调试所用,当程序执行到int 3的时候会中断到调试器,如果程序不处于调试状态则会弹出一个错误信息,之后程序就结束。使用VC开发程序时,在Debug版本的程序中,编译器会向函数栈帧中填充大量的0xCC,用于调试使用。因此,经常我们的程序发生缓冲区溢出时,转载 2020-09-19 22:23:37 · 1443 阅读 · 0 评论