- 博客(17)
- 资源 (10)
- 收藏
- 关注
原创 需要多久才能看完linux内核源码?
内核代码大小Linux内核分为CPU调度、内存管理、网络和存储四大子系统,针对硬件的驱动成百上千。代码的数量更是大的惊人。看看内核代码量的统计。从图中可以看出,2020年1月份,内核的代码量大约是2千6百万行。按照一天一万行的速度,也需要2600天,也需要7年多。这还是建立在所有单次都认识,所有代码逻辑看了的都懂,而且都不忘记的基础上。实际上即使我们真的看完了,几年后内核又会有非常大的变化,可以说一辈子都看不完Linux内核的代码。linux 0.11的内核源码,结合下面这本书,我花
2021-12-29 22:43:34 2708
原创 网络技术理论:包、片段、帧、数据报和段
1. 概述网络使信息的传输和共享变得更加容易,互联网使我们能够在本地网络或全球范围内的公司内部共享信息,共享时,数据以字节表示。数据字节在 OSI 网络模型中具有特定格式,因为每一层都有其特定的单位,数据单元还取决于使用的协议或连接。在本教程中,我们将介绍网络中最常用的数据单元,即数据包、片段、帧、数据报和段,我们将解释每一个,然后是一个例子。2. 数据包通过网络进行通信时,发送和接收文件和信息很重要,网络中源和目的地之间通信的基本单位是数据包。通过网络发送的数据被分成数据包,这些数
2021-12-27 20:27:17 3428 2
原创 正则表达式
简介正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。 ^
2021-12-26 22:37:43 2589 1
原创 什么是光纤?光纤的原理是什么?你能想象没有光纤通讯的世界么?
什么是光纤?大量的光纤光纤是光导纤维,是一种由玻璃或塑料制成的纤维,利用光在这些纤维中以全内反射原理传输的光传导工具光纤有什么特点呢?光纤如果封装在塑料保护套中,它就能够弯曲,也不会断裂,是一种极佳的信号传递工具 光纤在传输过程中的损耗比电在电线中的损耗,要低很多,现在较好的光导纤维,其光传输损失每公里只有零点二分贝;也就是说传播一公里后只损耗4.5%;所以现在长距离的电的传输都是使用高压线,以减少电能的损耗 光纤的主要的原料是硅,蕴藏量极大,较易开采,价格比较便宜;在我们的
2021-12-26 22:13:09 13519 11
原创 每个程序员都应该掌握的8种通用数据结构
快速介绍8种常用数据结构数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作。 数据结构在计算机科学和软件工程领域具有广泛而多样的用途。几乎所有已开发的程序或软件系统都使用数据结构。 此外,数据结构属于计算机科学和软件工程的基础。 当涉及软件工程面试问题时,这是一个关键主题。 因此,作为开发人员,我们必须对数据结构有充分的了解。在本文中,我将简要解释每个程序员必须知道的8种常用数据结构。1.数组数组是固定大小的结构,可以容纳相同数据类型的项目。 它
2021-12-21 21:08:34 910
原创 从0实现基于Linux socket聊天室-增加数据加密功能-6
之前更新过从0实现聊天室的5篇文章,但是数据在网络中是裸奔状态,全部是明文,本文一口君继续在原有代码基础上增加数据加密功能。前面文章链接:《从0实现基于Linux socket聊天室-多线程服务器模型-1》《从0实现基于Linux socket聊天室-多线程服务器一个很隐晦的错误-2》《从0实现基于Linux socket聊天室-实现聊天室的登录、注册功能-3》《从0实现基于Linux socket聊天室-增加公聊、私聊-4》《从0实现基于Linux socket聊天室-增加数据库sqlite功
2021-12-20 21:09:42 2154 4
原创 GPL前世今生,什么是GPL/GNU?为什么如此重要?
从事Linux开发的朋友一定都听过GPL,那么到底什么是GPL呢?他有什么作用呢?本文给大家做详细讲解。什么是GPL历史作用
2021-12-19 12:34:47 2899
原创 天天在用的ADC,内部原理你了解吗?
前言用了这么久ADC,从没细看过ADC的内部原理和如何获得最佳精度,今天看到一篇ST的官方文档讲的不错,这里整理分享给大家。SAR ADC内部结构STM32微控制器中内置的ADC使用SAR(逐次逼近)原则,分多步执行转换。转换步骤数等 于ADC转换器中的位数。每个步骤均由ADC时钟驱动。每个ADC时钟从结果到输出产生一 位。ADC的内部设计基于切换电容技术。下面的图介绍了ADC的工作原理。下面的示例仅显示了逼近的前面几步,但是该过程会持续到LSB为止SAR切换电容ADC的基本原理(10位AD
2021-12-16 22:50:41 1485
原创 《电话号码管理系统》制作成静态库和动态库
前言上次写了一篇关于Makefile的文章。《利用Makfile给多文件、多目录C源码建立工程》有很多粉丝留言,有的粉丝想进一步了解cmake的使用方法,还有的粉丝想知道如何将一些函数编译成动态库或者静态库,然后再将该库编译到内存中。一口君必须安排,本篇先讲如何将一些函数编译成动态库或者静态库。这就涉及到一个库的概念,关于制作的库的基础知识,一口君已经在下面这篇文章中详细的讲述了相关概念,建议大家先看下面这篇文章。《Linux库概念,动态库和静态库概念》本文,一口君将继续以之前的 电话号码管理
2021-12-14 21:06:40 691
转载 计算机网络知识点全面总结,图文并茂,方便大家学习
一、计算机网络概述1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构TCP/IP四层模型与OSI体系结构对比:1.3 层次结构设计的基本原则各层之间是相互独立的;每一层需要有足够的灵活性;各层之间完全解耦。1.4 计算机网络的性能指标速率:bps=bit/s时延:发送时延、传播时延、排队时延、处理时延往返时间RTT:数据报文在端到端通信中的来回一次的时间。二
2021-12-13 11:10:27 10794 1
原创 NAT穿透技术、穿透原理和方法详解
1、NAT分类推荐视频P2P技术—NAT原理,NAT类型,网络穿透原理从50道腾讯面试题,分析腾讯c++后端工程的技能树学习地址:C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂1.1 基础型NAT仅将内网主机的私有IP地址转换成公网的IP地址,并不将TCP/UDP端口信息进行转换,分为静态NAT和动态NAT。1.2 NAPTNAPT不但会改变经过这个NAT设备的IP数据报的IP地址,还会改变IP数据报的TCP/UDP端口。1.2.1
2021-12-12 11:13:51 5241 2
原创 Linux内核简介、子系统及分类
一、内核简介 内核:在计算机科学中是一个用来管理软件发出的数据I/O(输入与输出)要求的计算机程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系统中最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的。所以内核通常提供一种硬件抽象的方法,来完成这些操作。通过进程间通信机制及系统调用,应用进程可间接控制所需的硬件资源(特别是处理器
2021-12-11 00:26:12 1141
原创 哈希表原理
作者:一棵梧桐木在了解golang的map之前,我们需要了解哈希这个概念。哈希表,又称散列表(Hash table),是根据键(key)而直接访问在内存储存位置的数据结构。也就是说,它通过计算出一个键值的函数,将所需查询的数据映射到表中的一个位置让人访问,这加快了查找速度。这个映射函数称为散列函数,存放记录的数组称作散列表。1、特点一个优秀的哈希函数应该包含以下特性:均匀性:一个好的哈希函数应该在其输出范围内尽可能均匀地映射,也就是说,应以大致相同的概率生成输出范围内的每个哈希值。 高
2021-12-08 23:15:23 1602
原创 从下往上看内存
1 内存条、总线与DMA计算机组成中内存或者叫主存是非常重要的部件。内存因为地位太重要,所以和CPU直接相连,通过数据总线进行数据传输,并通过地址总线来进行物理地址的寻址。除了数据总线、地址总线还有控制总线、IO总线等。IO总线是用来连接各种外设的,例如USB全称就是通用串行总线。再比如PCIE是目前最常见的IO总线之一。这里放一张B站硬件茶谈的一张图。图1-1 硬件图图中CPU和左侧内存条直接连,并通过PCIE总线与下方的PCIE插槽连接,在PCIE插槽上可以插显卡,网卡,声卡,硬
2021-12-07 22:01:18 1011
原创 几个优质的前沿技术开源项目合集
本期推荐的是几个开源的前沿技术项目,包括机器人、智能硬件、AI技术等。HoloCubic野生钢铁侠稚晖君的另一个开源项目—— 带网络功能的伪全息透明显示桌面站 。本项目有意思的地方在于使用了一个分光棱镜来设计出伪全息显示的效果。这个小设备总的来说功能比较多,因为搭载了WiFi和蓝牙能力可以实现很多网络应用,在本仓库中提供了一个开发框架以及一些基础功能(天气、粉丝数监视器等),大家可以基于此方案继续扩展实现更多应用。项目地址:https://github.com/peng-zhihui/Hol
2021-12-05 12:05:09 922
原创 终于搞清了:SPI、UART、I2C通信的区别与应用
电子设备之间的通信就像人类之间的交流,双方都需要说相同的语言。在电子产品中,这些语言称为通信协议。之前有单独地分享了SPI、UART、I2C通信的文章,这篇对它们做一些对比。串行 VS 并行电子设备通过发送数据位从而实现相互交谈。位是二进制的,只能是1或0。通过电压的快速变化,位从一个设备传输到另一个设备。在以5V工作的系统中,“0”通过0V的短脉冲进行通信,而“1”通过5V的短脉冲进行通信。 数据位可以通过并行或串行的形式进行传输。 在并行通信中,数据位在导线上同时传输。下图显示了二进制(01
2021-12-04 16:06:25 1886
S3C2440全套中文手册.PDF
2020-10-24
mdk414.rar
2020-10-23
移植无线AP,使无线网卡变成AP
2020-09-18
MPU6050-英文原版数据手册.pdf
2020-08-23
公众号一口Linux驱动部分源码汇总.rar
2020-08-23
zigbee网络建立过程
2013-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人