自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一口Linux的专栏

专注linux知识的分享

  • 博客(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

原创 圣诞节快乐,教你用shell脚本实现一颗圣诞树。【小酷炫】

用shell实现一个酷炫的圣诞树!

2021-12-23 21:37:08 4497 6

原创 每个程序员都应该掌握的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

S3C2440A32位CMOS RISC微控制器用户手册 引言此用户手册描述的是三星公司的16/32位精简指令集(RISC)微处理器S3C2440A。三星公司的S3C2440A为手持设备和普通应用提供了低功耗和高性能的小型芯片微控制器的解决方案。为了降低整体系统成本,S3C2440A还提供了以下丰富的内部设备。S3C2440A基于ARM920T核心,0.13μm的CMOS标准宏单元和存储器单元。低功耗,简单,精致,且全静态设计特别适合于对成本和功率敏感型的应用。它采用了新的总线架构如先进微控制总线构架(AMBA)。S3C2440A 的突出特点是其处理器核心,是一个由Advanced RISC

2020-10-24

mdk414.rar

作者讲解ARM课程专用的IDE软件 mdk414.rar 学习ARM指令用的IDE环境 AREA Example,CODE,READONLY ;声明代码段Example ENTRY ;程序入口 Start ; 程序中的标号,本质上是内存单元(的地址)的别名 MOV R0,#0 ;设置实参,将传递给子程序的实参存放在r0和r1内 MOV R1,#10 BL ADD_SUM ;调用子程序ADD_SUM B OVER

2020-10-23

imx6ull arm板子支持lcd显示图片

lcd_show_jpeg.c test.c lcd.c HZK16 libjpeg.a jpegsrc.v6b.tar.gz

2020-10-04

移植无线AP,使无线网卡变成AP

移植之后就可以实现将无线网卡变成一个无线AP, 素有的压缩包,都已经汇总了,并验证过 dnsmasq-2.81.tar.xz hostapd-2.0.tar.gz iwlist.zip libnl-1.1.4.tar openssl-OpenSSL_1_0_0s.tar.gz

2020-09-18

MPU6050-英文原版数据手册.pdf

MPU6050-英文原版数据手册, CONTENTS 1 REVISION HISTORY ...................................................................................................................................5 2 PURPOSE AND SCOPE .....................................................................................................

2020-08-23

公众号一口Linux驱动部分源码汇总.rar

代码是公众号一口Linux 文章驱动部分所有势力代码,文章如下: 《玩转内核链表list_head,如何管理不同类型节点的实现(万字文)可以收藏》 《I2C干货-基于Cortex-A9(重新整理)》 《一文搞懂ADC裸机和基于Linux驱动编写方法》 《手把手教Linux驱动4-进程、文件描述符、file、inode关系详解》 《 手把手教Linux驱动3-之字符设备架构详解,有这篇就够了 》 《手把手教Linux驱动2-模块参数param和符号导出export用法》 《手把手教Linux驱动1-模块化编程》

2020-08-23

linux局域网多线程聊天室

linux c语言 聊天室 多线程 pthread

2013-10-09

ZIGBEE配置与组网

ZIGBEE配置与组网,如何搭建一个zigbee网络!

2013-05-02

zigbee网络建立过程

星形网络和树型网络可以看成是网状网络的一个特殊子集,所以接下来分析如何组建一个Zigbee网状网络。组建一个完整的Zigbee网络分为两步:第一步是协调器初始化一个网络;第二步是路由器或终端加入网络。加入网络又有两种方法,一种是子设备通过使用MAC层的连接进程加入网络,另一种是子设备通过与一个先前指定的父设备直接加入网络。

2013-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除