自定义博客皮肤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知识的分享

  • 博客(27)
  • 资源 (10)
  • 收藏
  • 关注

原创 一文带你搞懂RPC到底是个啥

RPC(Remote Procedure Call),是一个大家既熟悉又陌生的词,只要涉及到通信,必然需要某种网络协议。我们很可能用过HTTP,那么RPC又和HTTP有什么区别呢?RPC还有什么特点,常见的选型有哪些?1. RPC是什么RPC可以分为两部分:用户调用接口 + 具体网络协议。前者为开发者需要关心的,后者由框架来实现。举个例子,我们定义一个函数,我们希望函数如果输入为“Hello World”的话,输出给一个“OK”,那么这个函数是个本地调用。如果一个远程服务收到“Hello W.

2021-08-31 22:33:24 831

原创 50个应知必会的Linux常识和操作

1.存放用户账号的文件在哪里?/etc/passwd2.如何删除一个非空的目录?rm -rf 目录名3.查看当前的工作目录用什么命令?pwd4.创建一个文件夹用什么命令?mkdir5.哪个Linux命令可以一次显示一页内容?上一页和下一页使用什么命令?moreSpace键:显示文本的下一屏内容,B键:显示上一屏内容6.显示一个文件的最后10行用什么命令tailtail -n 10 文件名7.如何回到当前用户的家目录?cd ~8.如何统计一个文件的行数?wc

2021-08-31 22:32:14 366

原创 “技术男”升为“管理者”,角色一定要转变,有好方法吗?

对于多数勤勉的工程师来说,努力数年后走上技术管理岗位似乎是一件水到渠成的事,但要真正做好技术管理,成为一名优秀的管理者却并不太容易。对技术男来说,技术团队建设、人员管理、产品开发过程管理,都是不小的挑战。重要的是你要利用技术资源和团队资源把事情做成。技术领导者的核心竞争力应该包括但不限于:技术能力,对事情整体的理解,能找到正确的方向,影响力,凝聚力,对人性的理解,资源。下面我会从管理你心态、软实力和硬实力上解析,如何才能走好管理之路。心态管理中会遇到的误区和障碍1)队员工

2021-08-27 23:48:32 2216 8

原创 Linux之netstat命令详解

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。TCP连接状态详解LISTEN: 侦听来自远方的TCP端口的连接请求 SYN-SENT: 再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ESTABLISHED: 代表一个打开的连接 FIN-WA.

2021-08-26 22:30:50 25967 5

原创 嵌入式驱动工程师学习路线【建议收藏】

一口君曾经是某见的教学总监,带过的学生也有大几千了,基本都从事linux相关开发工作。现在在各行各业也基本都是翘楚,有的都成公司技术主管,带领几十人上百人团队。网上看了很多的嵌入式学习路线,有的还凑活,有的纯粹是打广告卖板子招生,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南。一口君凭借多年的研发和开发经验,整理了嵌入式学习的最经典路线,后续一口君也会根据这个大纲录制教学视频。目前《从0学Linux驱动第一期》视频已经在B站更新完毕。《从0学ARM第

2021-08-23 23:29:47 15611 17

原创 Modbus,看这个就行了

Modbus基础知识概念Modbus通信协议由Modicon公司(现在的施耐德电气Schneider Electric)于1979年为可编程逻辑控制(即PLC)通信而发表。目前,Modbus已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。Modbus作为目前工业领域应用最广泛的协议,与其他通信协议相比,有以下特点:公众号【dotNet工控上位机:thinger_swj】Modbus协议标准开放、公开发表且无版权要求。 Modbus协议支持多种电气接口,包括RS232、

2021-08-22 18:52:19 754

原创 Linux经典面试题:如何查看一个进程的内存占用

这个问题本质上是想查看一下面试者对于Linux常用命令以及操作系统内存模型的认识情况。如果面试者能答上来一些常用的命令譬如:top pidstat ps pmap /proc/$PROC/statm说明基本了解了linux的常用命令,但这些命令的输出里面都包含各种参数细节。譬如Top里面RES的含义,如下又譬如常用ps命令里面。vsz、rss分别代表啥意思?ps -o pid,user,vsz,rss,comm,args这里涉及到Linux操作系统的内存模型和地址映射,每

2021-08-22 18:50:05 2190 8

原创 Linux 内存相关问题汇总

linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍 linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。从内存的原理和结构,到内存的算法优化,再到使用场景,去探寻内存管理的机制和奥秘。一、走进 linux 内存1、内存是什么?1)内存又称主存,是 CPU 能直接寻址的存储空间,由半导体器件制成2)内存的特点是存取速率快2、内存的作用

2021-08-19 21:54:16 409

原创 水晶头超5类和6类的区别是什么?六类水晶头和超五类水晶头通用吗?

一图胜千言,5类水晶头和6类水晶头从外观上看并没有很大的区别,但实际上里面还是有很大的不同。5类水晶头的8根线芯是一字排开的,而6类水晶头的8根线芯是呈现上、下交错的形式排列。原因其实特别简单,标准的超五类网线线径是0.51mm,六类网线的线径是0.57mm,超六类网线的线径是0.58mm。那么问题就来了,如果使用合格的六类线塞入五类水晶头里,是很难塞进去的,所以很多人都尝试过用六类线装水晶头的失败率很高,因为尺寸不匹配,最终只是抱怨水晶头质量不好,也不曾想到小小的一个水晶头也有不同。

2021-08-19 21:53:13 7260 1

原创 Linux内核时钟系统和定时器实现

1. Linux内核时钟系统和定时器实现Linux 2.6.16之前,内核只支持低精度时钟,内核定时器的工作方式:系统启动后,会读取时钟源设备(RTC, HPET,PIT…),初始化当前系统时间;内核会根据HZ(系统定时器频率,节拍率)参数值,设置时钟事件设备,启动tick(节拍)中断。HZ表示1秒种产生多少个时钟硬件中断,tick就表示连续两个中断的间隔时间。在我电脑上,HZ=250, 一个tick = 1/HZ, 所以默认一个tick为4ms。cat /boot/config-`uname

2021-08-17 22:26:26 902

原创 不知道Linux文件系统是怎么工作的?详解来了

和 CPU、内存一样,磁盘和文件系统的管理,也是操作系统最核心的功能。磁盘为系统提供了最基本的持久化存储。 文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。那么,磁盘和文件系统是怎么工作的呢?又有哪些指标可以衡量它们的性能呢?索引节点和目录项文件系统,本身是对存储设备上的文件,进行组织管理的机制。组织方式不同,就会形成不同的文件系统。我们要记住最重要的一点,在 Linux 中一切皆文件。不仅普通的文件和目录,就连块设备、 套接字、管道等,也都要通过统一的文件系统来管理。为

2021-08-15 11:36:18 857 2

原创 家庭用电都是交流电,为何会有零线和火线的区别?

交流电是世界上使用最广泛的一种电流形式,交流电是指电流方向随时间作周期性变化的电流。直流电我们也很熟悉,直流电的电流在流动过程中电流方向不会发生变化,并且我们知道,电流是从正极流向负极,如果我们用这个形式来理解交流电的话,就相当于交流电的正负极在不停的变化,如果交流电的频率是50HZ的话,按照这个逻辑,那么正负极就会在一秒钟内变化100次,但这样理解又会存在一个问题,就是既然两根线不停地转变电压,那么两根线的性质应该是一样的呀,却为什么又分零线和火线,并且我们触摸火线会触电,触摸零线却不会触电呢?那么我

2021-08-15 09:49:50 5874

原创 Linux设备树语法详解

Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码。比如在ARM Linux内,一个.dts(device tree source)文件对应一个ARM的machine,一般放置在内核的"arch/

2021-08-11 21:32:54 594

原创 一文教你如何用C代码解析一段网络数据包?【含代码】

本文的目的是通过截取一段网络数据包,然后根据协议类型来解析出这段内存。学习本文需要掌握的基础知识:网络协议C语言Linux操作抓包工具的使用其中抓包工具的安装和使用见下文:《一文包你学会网络数据抓包》视频教学链接如下:《教你如何抓取网络中的数据包!黑客必备技能》一、截取一个网络数据包44 33 4C FF 5A 22 80 8F 1D C7 A6 07 08 00 45 00 01 5D B7 43 40 00 35 06 81 CE 3D AE 0C C5 C0 A8 00

2021-08-09 22:23:57 1682

原创 两分钟,帮你搞懂光纤接头

90%的IT人都搞不清楚光纤接头到底有多少种,为何有这么多种!不要被表象所蒙蔽,只要牵住了牛鼻子,事情就变得简单了。请跟着我,给大家介绍点干货,光纤的事就了然于胸了、了了分明、如如不动。光纤的基本结构按连接头的结构可分为:FC、 SC、ST、LC、MT -RJ、MPO /MTP、MU、DIN 、E2000、SMA 、BICONIC 、D4等。是不是头都大了?[大笑]真正需要熟悉的只有四种:FC、 SC、ST、LC。认识了这四种(敲黑板,划重点),在现实中就够用了。FC

2021-08-08 20:37:56 13878 6

原创 Linux字节对齐的那些事

字概念字(word)字是用于表示其自然的数据单位,字是电脑用来一次性处理事务的一个固定长度。字长一个字的位数,现代电脑的字长通常为16,32, 64位。(一般N位系统的字长是N/8字节。)为什么要对齐?操作系统并非一个字节一个字节访问内存,而是按2,4,8这样的字长来访问。因此,当CPU从存储器读数据到寄存器,IO的数据长度通常是字长。如32位系统访问粒度是4字节(bytes), 64位系统的是8字节。当被访问的数据长度为n字节且该数据地址为n字节对齐时,那么操作系统就可以高效地一次定位到

2021-08-05 23:28:38 671 2

原创 显示器已入手,我快成显示器采购专家了

上次发了一个请粉丝推荐显示器的文章,得到了很多粉丝的回复。《想入手显示器,恳请粉丝带我推荐,必有重谢!》热情粉丝留言粉丝的热情让我再次懵逼,那么多推荐,我到底该选择哪一款?我是个处理女座啊!性格逼着我必须做出最佳选择。没办法,我硬着头皮把显示器的各个参数研究了一遍,又在知乎和B站看了众多大神的测试视频和文章详解,总算整明白这些参数之间差别。最终做出了选择。并且我这几天研究的一点心得分享给大家。最终选择最终选择还是超预算了,但是这位老铁说的我觉得如果不买就不配从事程序猿这个神圣的职业

2021-08-05 23:14:33 2402 16

原创 Linux高性能服务器—子线程使用poll处理连接 I/O事件

将 acceptor 上的连接建立事件和已建立连接的 I/O 事件分离,形成所谓的主 - 从 reactor 模式。主 - 从 reactor 模式主 - 从这个模式的核心思想是,主反应堆线程只负责分发 Acceptor 连接建立,已连接套接字上的 I/O 事件交给 sub-reactor 负责分发。其中 sub-reactor 的数量,可以根据 CPU 的核数来灵活设置。多个反应堆线程同时在工作,这大大增强了 I/O 分发处理的效率,并且同一个套接字事件分发只会出现在一个反应堆线程中,这会大大

2021-08-04 22:17:45 287

原创 超详细的I/O多路复用概念、常用I/O模型、系统调用等介绍

概述当我们要编写一个echo服务器程序的时候,需要对用户从标准输入键入的交互命令做出响应。在这种情况下,服务器必须响应两个相互独立的I/O事件:1)网络客户端发起网络连接请求,2)用户在键盘上键入命令行。我们先等待哪个事件呢?没有哪个选择是理想的。如果在acceptor中等待一个连接请求,我们就不能响应输入的命令。类似地,如果在read中等待一个输入命令,我们就不能响应任何连接请求。针对这种困境的一个解决办法就是I/O多路复用技术。基本思路就是使用select函数,要求内核挂起进程,只有在一个或多个I

2021-08-04 22:17:04 782

原创 Kali与编程:小白黑客是如何进行漏洞攻防演练的

一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U postgres

2021-08-04 22:16:15 723

原创 Ubuntu 中的 root 用户:你应该知道的重要事情

当你刚开始使用 Linux 时,你将发现与 Windows 的很多不同。其中一个“不同的东西”是 root 用户的概念。-- Abhishek Prakash(作者)当你刚开始使用 Linux 时,你将发现与 Windows 的很多不同。其中一个“不同的东西”是 root 用户的概念。在这个初学者系列中,我将解释几个关于 Ubuntu 的 root 用户的重要的东西。请记住,尽管我正在从 Ubuntu 用户的角度编写这篇文章,它应该对大多数的 Linux 发行版也是有效的。你将在...

2021-08-04 22:15:08 1184

原创 你知道数字签名吗?

你知道数字签名吗?2020-02-26 10:39·闪念基因数字签名一、数字签名简介数字签名是基于公钥密码体制(非对称密钥密码体制)的。1.1.基本特征数字签名必须保证以下三点:报文鉴别——接收者能够核实发送者对报文的签名; 报文的完整性——接收者不能伪造对报文的签名或更改报文内容。 不可否认——发送者事后不能抵赖对报文的签名;1.2.数字签名的验证过程上图位用户A使用数字签名向用户B传输一份文件的过程:首先,文件经过单向散列函数的处理得到一份占128...

2021-08-04 22:14:28 1463

原创 Linux 多线程和多进程的区别

一.为何需要多进程(或者多线程),为何需要并发?这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来说,他们确实无法感受到并发的魅力以及必要性。我想,只要你不是整天都写那种int main()到底的代码的人,那么或多或少你会遇到代码响应不够用的情况,也应该有尝过并发编程的甜头。就像一个快餐点的服务员,既要在前台接待客户点 餐,又要接电话送外卖,没有分身术肯定会忙得你焦头烂额的。幸运的是确实有这么一种技术,让你可以像孙悟空一样分身,灵魂出窍,乐哉乐哉地轻松应付一切状 况,这就是多进程/线

2021-08-04 22:13:41 721

原创 Wireshark抓包定位系统网页响应慢 | 网络工程师甩锅技术

不像重大网络故障总让人猝不及防,不重要的故障总是会发生在风和日丽的日子,但刺类似故障网络工程师不可避免,拿来与大家分享。某天接到公司新上业务系统SA的反馈,该应用基于HTTP打开主界面反应迟缓,疑似网络质量有问题,希望排查链路。由于其他应用都没有出现类似问题,大概判断是业务本什么问题。但是推断不能TrobleShooting的绝对依据,实实在在的数据更有说服力。该应用是基于Web登录,打开页面首,先进入sso的用户认证。认证通过后,会返回包含各功能模块的主页面;由于所有Client端访问该应用地

2021-08-04 22:12:49 2615 2

原创 手把手教你搭建国产嵌入式模拟器SkyEye开发环境

SkyEye介绍SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。关于开源版本的更多介绍:点击我跳转目前开源版本停留在1.3..

2021-08-02 19:26:40 3291 2

原创 运维是不是IT行业里技术含量最低的岗位?

在互联网行业里,运维一直都是一个被人误解很深的岗位,以致于很多人都认为运维在IT行中的技术含量很低,但是今天我要为运维人“平反”。开发与运维搞不清楚从本质上说,运维其实是用自己的技术储备知识,保证自己所管理的IT服务可以正常运转的岗位。举个例子,在公司里经常会有妹子找软件开发工程师修电脑,而软件工程师一般就是关机重启;但是很少会有人去找运维工程师修电脑,因为运维工程师往往会把电脑来一顿操作,别人根本看不懂。放在业务中也是一样,软件工程师的任务就是通过编写代码,让软件以图形化的形态给用

2021-08-01 22:40:42 454

原创 油腻老爷们,你是有多久没化过妆了?

因为有些需求,需要拍一张正装照。我已经受够了那些小摄像馆拍的照片了,完全拍不出我的神韵!效果还不如我手机开个美颜效果好!生活问题,问邻居有时候效率很高!在小区群里,问了一下邻居!推荐了一家万达广场的店!这位美邻,你这个推荐语,真的是让我无法拒绝你的推荐!!因为能让一个刻薄的女人由衷的赞美另外一个女人,这就已经说明一切了!啥也不说了,下单!空荡荡的万达广场因为疫情原因,平日热闹非凡的万达广场,冷冷清清!看不到几个顾客!真心希望疫情抓紧过去!到店了这家店在南京开了很多分

2021-08-01 12:33:05 658 2

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关注的人

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