自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

970655147的专栏

欢迎......

  • 博客(699)
  • 资源 (37)
  • 收藏
  • 关注

原创 79 关于 kthreadd 进程

这个 主要是 最开始的时候了解驱动的时候, 看到的一系列的 case, 这里 来大致剖析一下 相关的道理这些模块 是怎么和内核交互的, 内核的这些业务是怎么实现的这里主要是一个模块创建了一个 kthread 的线程, 然后 执行目标函数然后这里主要是设计了 模块来调用 linux 的相关系统函数, 以及 kthread 的相关知识。

2025-08-15 10:43:48 350

原创 78 关于 ksoftirqd 进程

如果是在 __do_softirq 处理的期间又有新的 软中断 加入队列, 则此处会唤醒 ksoftirqd 进程来处理具体的软中断。这个 主要是 最开始的时候了解驱动的时候, 看到的一系列的 case, 这里 来大致剖析一下 相关的道理。然后这里主要是设计了 模块来调用 timer 的相关系统函数, 以及 kthread 的相关知识。这些模块 是怎么和内核交互的, 内核的这些业务是怎么实现的。ksoftirqd 进程的执行主要是处理 未执行的软中断相关。ksoftirqd 的执行主要是处理 相关软中断。

2025-08-15 10:43:41 235

原创 77 模块编程之注册一个中断处理

这个 主要是 最开始的时候了解驱动的时候, 看到的一系列的 case, 这里 来大致剖析一下 相关的道理这些模块 是怎么和内核交互的, 内核的这些业务是怎么实现的这里主要是一个模块来 注册了一个中断, 以及中断的触发然后 这里主要是来看一下 注册中断的流程, 以及中断流程的处理。

2025-08-08 17:47:01 379

原创 76 模块编程之高精度定时器

这个 主要是 最开始的时候了解驱动的时候, 看到的一系列的 case, 这里 来大致剖析一下 相关的道理这些模块 是怎么和内核交互的, 内核的这些业务是怎么实现的这里主要是一个模块创建了一个 hrtimer, 然后 0.3秒后执行, 然后 在执行的过程中递归加入当前任务到下一次队列然后这里主要是设计了 模块来调用 timer 的相关系统函数, 以及 kthread 的相关知识hrtimer_init 中主要是更新了 timer->base, timer->node。

2025-08-08 17:46:55 297

原创 75 模块编程之定时器

这个 主要是 最开始的时候了解驱动的时候, 看到的一系列的 case, 这里 来大致剖析一下 相关的道理这些模块 是怎么和内核交互的, 内核的这些业务是怎么实现的这里主要是一个模块创建了一个 timer, 然后 0.3秒后执行, 然后 在执行的过程中递归加入当前任务到下一次队列然后这里主要是设计了 模块来调用 timer 的相关系统函数, 以及 kthread 的相关知识setup_timer 的相关宏定义如下。

2025-08-02 05:47:12 888

原创 74 模块编程之workQueue

这个 主要是 最开始的时候了解驱动的时候, 看到的一系列的 case, 这里 来大致剖析一下 相关的道理这些模块 是怎么和内核交互的, 内核的这些业务是怎么实现的这里主要是一个模块创建了一个 work_struct, 然后将其放到了 system_wq 中执行然后这里主要是设计了 模块初始化的系统调用, 和 kthreadd 来执行给定的 work_struct在 module_init 的第一个 printk。

2025-08-02 05:47:06 388

原创 73 模块编程之自定义 mmap 和 fault

map_vclose 地址为 0x0017, 可以看到 这里和上面 vma->vm_ops->close 的地址大概是能够对上的。map_fault 地址为 0x00f3, 可以看到 这里和上面 vma->vm_ops->fault的地址大概是能够对上的。map_vopen 地址为 0x0000, 可以看到 这里和上面 vma->vm_ops->open 的地址大概是能够对上的。然后这里是 map_fault 中的 vmalloc_to_pfn 的调用, 在初始化 pfn_start 的地方。

2025-07-26 08:52:40 272

原创 72 模块编程之新增一个proc文件

这个 主要是 最开始的时候了解驱动的时候, 看到的一系列的 case, 这里 来大致剖析一下 相关的道理这些模块 是怎么和内核交互的, 内核的这些业务是怎么实现的这里主要是一个模块来注册了一个 proc 的文件项然后这个proc文件 可读可写, 基于的是分配的一段空间这个可以先参考。

2025-07-26 08:52:33 416

原创 71 模块编程之新增一个字符设备

这个 主要是 最开始的时候了解驱动的时候, 看到的一系列的 case, 这里 来大致剖析一下 相关的道理这些模块 是怎么和内核交互的, 内核的这些业务是怎么实现的这里主要是一个模块来注册了一个字符设备然后这个字符设备 可读可写, 基于的是分配的一段空间分为创建 dev, 初始化 cdev, 关联 dev, cdev创建设备节点创建 char_device_struct, 将 dev 和 char_device_sturct 关联起来, 通过 major, baseminor 关联。

2025-07-18 23:00:57 900

原创 70 gdb attach $pid, process 2021 is already traced by process 2019

因为此时 insmod 进程卡住了, 因此 我想 gdb attach 上去看一下 堆栈信息。杀掉 stace 进程, 然后 再 attach 一下就可以了。但是 attach 的时候失败了, 提示信息如下。

2025-07-18 23:00:46 258

原创 69 局部变量的空间分配

这是一个 老生常谈的问题这里主要是探索在 函数中分配的局部变量 他使用的空间是哪里的空间, 有什么特征然后 我们来看一下 这里的编译之后的是一个实现。

2025-07-12 21:10:50 263

原创 68 指针的减法操作

这是一个 老生常谈的问题就是 两个结构体Person指针, p1, p2, 指向的是 虚拟内存中相邻的两个结构体对象然后 p2 – p1 的值得到的是 1, 而不是 sizeof(struct Person)然后 我们来看一下 这里的编译之后的是一个实现。

2025-07-12 21:10:41 250

原创 67 构造内核 NPE

问题衍生自这里主要是看 module 中构造 NPE然后 分析一下 这里整个输出的日志相关信息。

2025-07-04 15:05:14 424

原创 66 让内核 hang 住

此讨论主要是来自于 chinaunix 中的一篇帖子然后 这里 仅仅是写了一个 case 来复现这里的情况以及 在不同的机器上面做了一些测试核心是使用 panic 函数。

2025-07-04 15:05:08 184

原创 65 软链接 和 硬链接

新建文件的时候, 会在父文件夹下面增加当前文件的 dentry 的信息, __d_rehash 会将这个文件的 dentry 相关信息放到 dentry_hashtable 中。比如 部署了服务在一个路径, 但是这个路径所在磁盘空间满了, 需要把数据迁移到其他地方, 但是还需要通过当前服务路径访问数据, 这时可以挂一个软链接。访问文件数据的时候是通过 文件夹下面的元数据 -> inode元数据 -> 数据块数据。文件的本质由几部分组成 文件夹下面的元数据 + inode元数据 + 数据块数据。

2025-06-27 10:08:19 312

原创 64 同局域网机器如何配置路由访问当前机器的NAT网络的虚拟机

场景如下我这边一台机器 启动了虚拟机, 开放了一些 服务, 这里讲 相对特殊的 kafka 的服务kafka 监听虚拟机主机 9092 端口, 暴露给客户端的地址为 192.168.220.130:9092然后 同局域网下其他同事 想要使用我这个 kafka, 会发现 连接不上当然 处理的方式 我们在之前的一篇文章中也有提到, 我们这里 提及另外的一种解决方式如何 解决掉这里的网络问题这里简单介绍一下 网络环境我的机器 ip 是 10.60.50.16。

2025-06-27 10:08:04 819

原创 63 网络交互的过程中目标设备的选择

这里主要是 调研一下 发送网络数据包的过程中 选择网络设备比如 向本机发送信息, 走的是 lo向局域网其他主机发送信息, 走无线网卡 或者 有线网卡。

2025-06-20 12:41:10 390

原创 62 关于 module 的处理

我们 经常认为的 linux 开发, 是指的是 linux 驱动开发驱动通常来说 会以 模块的方式 嵌入到 linux 系统中我们这里 来看一下 linux 中 module 的相关处理模块主要是 携带了 init, exit 两个函数, 然后 linux 会在目标时机 在内核空间执行。

2025-06-20 12:41:01 439

原创 61 mmap 连续映射地址空间有什么关联?

第六个 mmap 调用如下, dl_main - init_tls - dl_allocate_tls_storage - libc_memalign 映射了 4k 的映射区, 映射的区间是 0x7ffff7ff5000 - 0x7ffff7ff6000。第七个 mmap 调用如下, dl_main - init_tls - dl_allocate_tls_storage - allocate_dtv 映射了 4k 的映射区, 映射的区间是 0x7ffff7ff4000 - 0x7ffff7ff5000。

2025-06-13 17:12:34 312

原创 04 dnsmasq 的环境搭建

首先是 clone 代码, git clone git://thekelleys.org.uk/dnsmasq.git。然后 clion 中新建 MakeApplication, 配置 Target, 配置 binary, 配置程序参数。然后调试如下, 这里是 “--version” 输出的地方的具体的代码, 可以看到 断点停下来了。将编译好的整个项目拷贝到 调试机器, 该目录如下, 这里是 dnsmasq 的 binary。然后编译出来的 binary 如下, 其中包含了调试信息。最顶层的目录结构如下。

2025-06-13 17:12:11 210

原创 02 nginx 的环境搭建

这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建主要的目的是 搭建一个可打断点的一个调试环境c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试需要有一定的 c, c++, java, js 相关基础基于的环境是一个 ubuntu16.04 desktop, 初始的时候 仅仅更新了源, 安装了 clion。

2025-06-06 18:59:22 432

原创 03 mysql 的环境搭建

前言这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建主要的目的是 搭建一个可打断点的一个调试环境c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试需要有一定的 c, c++, java, js 相关基础基于的环境是一个 ubuntu16.04 desktop, 初始的时候 仅仅更新了源, 安装了 clion。

2025-06-06 18:58:40 525

原创 01 redis 的环境搭建

这一系列文章主要包含的内容主要是 各种常用软件的调试环境的搭建主要的目的是 搭建一个可打断点的一个调试环境c 系列 主要是基于 clion 调试, java 系列主要是基于 idea 调试, js 系列主要是基于 webstorm 调试需要有一定的 c, c++, java, js 相关基础基于的环境是一个 ubuntu16.04 desktop, 初始的时候 仅仅更新了源, 安装了 clion。

2025-05-30 20:57:20 539

原创 03 基于 java udp 做一个dns服务器 和 一个dns代理服务器

这个也是 来自于一个朋友的需求最终的目的是实现一个 dns 代理服务器, 当然 这本质也是一个 dns 服务器并且 dns 代理服务器是依赖于 一个 dns 服务器的, 因此 顺便给一个 dns 服务器的 demo这里 主要是 基于 udp 的一个 dns 请求, 响应数据的交互。

2025-05-23 20:19:57 452

原创 02 dnsmasq 中的 dhcp服务

请求这边主要是包含了 messageType, 硬件地址类型[mac], trxId, flags, clientAddress, serverAddress, macAddress, serverHostName, bootFileName, cookie, messageType, serverIdentIfier, requestedIpAddress, parameterList 等等的相关信息。)” 是在目标客户端正在使用某个ip的配置, 复用该 ip 配置。第五个 “else if(!

2025-05-16 11:35:05 783

原创 01 dnsmasq 中 dns服务

比如 现在我的应用在服务器 192.168.220.133 但是我不想记这个生硬的 ip, 我可能更期望记录一个域名, 比如 app.com, 这时候 就可以在 dns 服务器上面增加一个映射 app.com -> 192.168.220.133。dns 这边主要是包含了一个 txId, flags, questions, answterRRs, AuthorityRRs, AdditionalRRs, 以及具体的查询请求。传入的待写出的指针为 &ansp, 这个的处理在上面, 我们后面来看。

2025-05-09 21:51:01 914

原创 04 基于 STM32 的时钟展示程序

我们经常会看到 各个场合下面有 基于数码管 的时钟程序比如 在车站, 教室, 办公室 等等 各个场合都有然后 这里就是做一个 简单的 时钟程序 展示程序。

2025-05-03 18:24:49 571 1

原创 03 基于 STM32 的温度控制系统

设计内容:使用STM32设计一个空调温度的显示控制系统设计要求:1.温度显示范围为16-30摄氏度2.按键K1实现显示温度加1,按键K2实现显示温度减1,低于16°或高于30°,显示数值不变3.正常按键蜂鸣器响一次,超出阈值蜂鸣器报警两下。

2025-04-27 11:31:19 529 1

原创 15 nginx 中默认的 proxy_buffering 导致基于 http 的流式响应存在 buffer, 以 4kb 一批次返回

这也是最近碰到的一个问题直连 流式 http 服务, 发现 流式响应正常, 0.1 秒接收到一个响应但是 经过 nginx 代理一层之后, 就发现了 类似于缓冲的效果, 1秒接收到 10个响应最终 调试 发现是 nginx 的 proxy_buffering 配置引起的然后 更新 proxy_buffering 为 off 解决了这个问题这里 主要是 来调试一下 这个 proxy_buffering 的影响。

2025-04-18 08:18:41 764 1

原创 14 nginx 的 dns 缓存的流程

ngx_http_upstream.ngx_peer_connection_t 的数据来自于这里的 ngx_http_upstream.ngx_peer_connection_t.data 数据类型是 ngx_http_upstream_rr_peer_data_t。这里会过的比较快, 大体的意思是 nginx 这边解析配置文件的时候 创建了对应的配置数据结构, 初始化的时候就进行了 dns 解析, 然后 后面的业务请求这边使用的是 这套配置。

2025-04-11 20:22:19 1056

原创 13 nginx try_files 的实现

这个是之前 项目中使用到了 nginx 的 try_files 来获取静态资源文件然后 当时的配置 貌似是存在一定的问题吧然后 这里来看一下 try_files 的相关实现。

2025-04-06 06:22:41 472

原创 12 nginx + springboot 上传文件超过大小限制

这是一个 上传文件的相关的问题前端页面通过 nginx 部署上传文件到 nginx, 然后 nginx 转发给相应的后端服务, 然后 后端这边做具体的业务处理这里涉及到 nginx 的最大客户端请求的配置, 后台服务这边 最大上传文件的配置然后 后端这边, 主要是对应于 servlet 的相关的配置这个限制处理是在 ngx_http_core_module 中处理的因为我们这里没有配置 client_max_body_size, 然后这里 使用的默认值 1*1024*1024。

2025-03-29 07:40:36 720

原创 11 关于 nginx: [emerg] host not found in upstream “cdn.optimizely.com“ in nginx.con

呵呵 这是最近帮助同事 搭建 pageplug 的时候碰到的一个问题, 当时 我觉得还蛮奇怪, 为什么启动服务 需要去验证访问 cdn.optimizely.com?然后 需要花点时间 看一下这个问题, 稍微梳理一下然后 也发现了 自己理解的的一些问题, 这里并没有去 验证访问 cdn.optimizely.com, 只是尝试去解析 cdn.optimizely.com 的地址信息, 没有获取到 然后 nginx 报错了而已。

2025-03-21 09:00:05 372

原创 04 1个路由器配置一个子网的dhcp服务

这是最近一个朋友的 ensp 相关的问题, 这里来大致了解一下 ensp, 计算机网络拓扑 相关基础知识这里一系列文章, 主要是参照了这位博主的这里 我只是做了一个记录, 自己实际操作了一遍, 增强了一些 自己的理解当然 这里仅仅是一个 简单的示例, 实际场景中会更加复杂。

2025-03-14 17:19:27 443

原创 03 2个路由器构造三个子网相互访问, 3个路由器构造5个子网相互访问

这是最近一个朋友的 ensp 相关的问题, 这里来大致了解一下 ensp, 计算机网络拓扑 相关基础知识这里一系列文章, 主要是参照了这位博主的这里 我只是做了一个记录, 自己实际操作了一遍, 增强了一些 自己的理解当然 这里仅仅是一个 简单的示例, 实际场景中会更加复杂。

2025-03-07 21:10:52 558

原创 02 2个交换机+vlan构造两个逻辑上的子网

这是最近一个朋友的 ensp 相关的问题, 这里来大致了解一下 ensp, 计算机网络拓扑 相关基础知识这里一系列文章, 主要是参照了这位博主的这里 我只是做了一个记录, 自己实际操作了一遍, 增强了一些 自己的理解当然 这里仅仅是一个 简单的示例, 实际场景中会更加复杂。

2025-03-01 09:50:13 223

原创 01 1个路由器+两个子网

这是最近一个朋友的 ensp 相关的问题, 这里来大致了解一下 ensp, 计算机网络拓扑 相关基础知识这里一系列文章, 主要是参照了这位博主的这里 我只是做了一个记录, 自己实际操作了一遍, 增强了一些 自己的理解。

2025-02-21 17:06:59 397

原创 28 在可以控制 postgres 服务器, 不知道任何用户名的情况下怎 进入 postgres 服务器

7C61624F757B026B686B69 在一定的场景下是表示 "pms_db_role"最终登陆成功完。

2025-02-14 21:43:38 614

原创 03/29 使用 海康SDK 对接时使用的 MysqlUtils

最近朋友的需求, 是需要使用 海康sdk 连接海康设备, 进行数据的获取, 比如 进出车辆, 进出人员这一部分是 资源比较贫瘠时的一个 Mysql 工具类。

2025-02-07 17:42:32 330

原创 04/30 使用 海康SDK 对接时使用的 ConfigUtils

最近朋友的需求, 是需要使用 海康sdk 连接海康设备, 进行数据的获取, 比如 进出车辆, 进出人员这一部分是 资源比较贫瘠时的一个 Config 工具类。

2025-02-07 17:41:52 201

src01 Object

个人对于java.lang.Object的分析

2015-08-19

src03 Boolean

个人对于java.lang.Integer的分析 by 970655147

2015-08-20

src04 Byte

个人对于java.lang.Byte的分析

2015-08-24

src02 Integer

个人对于java.lang.Integer的分析

2015-08-19

05src String

个人对于java.lang.String的分析

2015-08-25

06 AbstractStringBuilder

个人对于java.lang.AbstractStringBuilder的分析

2015-08-26

07 StringBuilder

个人对于java.lang.StringBuilder的分析

2015-08-26

08 ProcesBuilder

个人对于java.lang.ProcessBuilder的分析

2015-08-29

09 Runtime

个人对于java.lang.Runtime的分析

2015-09-13

简易魔方模拟

一个魔方的简易模拟, 主要是设计数据结构相关的知识, swing 等等

2015-08-17

简易迷宫寻路

一个简单的迷宫寻路程序, 包括了dfs搜索, java基础内容, 多线程 等等

2015-08-11

crawlerTools

一个简易的爬虫模板工具, 利用基于xpath, json的抓取数据模板, 抓取输入源中符合条件的数据

2015-10-02

简易连连看

一个简易连连看游戏, 主要是设计数据结构相关的知识, swing, 线程 等等

2015-09-30

简易黑白棋

一个魔方的简易模拟, 主要是设计数据结构相关的知识, swing 等等

2015-08-28

jface.text - Jar [去掉 空格 + 等号的提示]

jface.text - Jar [去掉 空格 + 等号的提示] by 970655147

2015-10-14

jface.text3.9 - Src & Bin

jface.text3.9的源代码, eclipse自动补全插件相关 来自 : http://vdisk.weibo.com/s/aWiTqHd1bs37I

2015-10-14

transferTool

一个用于压缩, 转义, 格式化输出json, xml的工具

2015-10-01

简易扫雷游戏

一个简易扫雷游戏, 主要是设计数据结构相关的知识, swing 等等

2015-09-28

程序启动工具

程序启动工具, 用于管理常用的程序, 详见博客

2015-10-01

transferTools

一个用于压缩, 转义, 格式化输出json, xml的工具

2015-10-01

mybatis-springMapper太多导致StackOverflow_StackTrace

详细请参见文章 : https://blog.csdn.net/u011039332/article/details/83045246

2018-10-14

1个路由器配置一个子网的dhcp服务+2个路由器配置dhcp服务器+dhcp中继器配置两个子网的dhcp服务

参见 1个路由器配置一个子网的dhcp服务+2个路由器配置dhcp服务器+dhcp中继器配置两个子网的dhcp服务

2024-06-10

2个路由器构造三个子网相互访问, 3个路由器构造5个子网相互访问

参见2个路由器构造三个子网相互访问, 3个路由器构造5个子网相互访问

2024-06-10

2个交换机+vlan构造两个逻辑上的子网

参见 2个交换机+vlan构造两个逻辑上的子网

2024-06-10

1个路由器+两个子网示例

参见文章 1个路由器+两个子网

2024-06-10

html + js 实现的贪吃蛇 实现了自动导航

html + js 实现的贪吃蛇 实现了自动导航 参见文章 https://jerryhe.blog.csdn.net/article/details/127459183

2022-10-22

vue 实现的贪吃蛇 实现了自动导航

vue 实现的贪吃蛇 实现了自动导航 参见文章 https://jerryhe.blog.csdn.net/article/details/127459183

2022-10-22

greenplum 6.0 安装相关

greenplum 6.0 安装相关

2022-05-15

ExcelUtils.zip

参见文章 23 ExcelUtils, 一个基于 POI 的封装, 15 字

2018-08-11

Test24StringInConstantsPool.java.zip

String.intern 同一个字符串返回不同的引用 里面提及的 2021.11.21 部分内容修正 的测试用例

2021-11-21

简易艾摩君

一个fc的艾摩君游戏, 主要是设计数据结构相关的知识, swing, 线程 等等, 详见博客

2015-10-28

hsdis-amd64.dll 动态库

PrintAssembly 选项所需要的动态库, 可以参见 : https://blog.csdn.net/u011039332/article/details/83690224

2018-11-03

StringEncoding_decode 的crash日志

一次调试 StringEncoding.decode 的crash日志

2017-08-10

HXBlog Libs

HXBlog 所需要的jar包, apacheCommon, json, servlet, sqlite, ueditor

2015-11-16

Athena (转)

一位大神, 十年之前写的一个简易的服务器

2015-11-27

my-carousel

参见 "24 MyElCarousel" 在 element-ui 原生 carousel 的基础上面增加了两个配置[displayLabelNum, marginWithItem ]

2018-09-02

简易2048小游戏

一个简易的2048小游戏, 详见播客介绍

2015-11-15

代码格式化工具

代码格式化工具, 用于格式化显示代码片段, 详见博客

2015-10-22

HXServerLibs

HXServer 所依赖的jar包[json, image4j]

2015-11-27

HXBlogDeps[HXLibs + tests resources]

HXBlog_V2.0 所依赖的包 + 部分测试资源

2017-07-16

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

TA关注的人

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