内核程序员kevin
码龄5年
关注
提问 私信
  • 博客:55,099
    55,099
    总访问量
  • 54
    原创
  • 31,535
    排名
  • 377
    粉丝
  • 0
    铁粉
  • 学习成就

个人简介:Linux内核研究者

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2020-05-13
博客简介:

Linux内核研究者

博客描述:
Linux内核研究者
查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    245
    当月
    214
个人成就
  • 获得575次点赞
  • 内容获得4次评论
  • 获得565次收藏
  • 代码片获得138次分享
创作历程
  • 29篇
    2024年
  • 25篇
    2023年
成就勋章
TA的专栏
  • eBPF
    1篇
  • GRUB专栏
    1篇
  • 容器技术
    5篇
  • 操作系统生命周期专栏
    4篇
  • Linux内核
    13篇
  • Linux内核文件系统
    9篇
  • Linux内核内存管理
    2篇
  • 系统调用
    3篇
  • 调试
    1篇
  • Linux程序员
    19篇
  • XWindow
    2篇
  • ARM
    3篇
  • AArch64内存模型
  • 密码学
    3篇
  • Python
    1篇
  • QT
    1篇
  • Go语言
    4篇
兴趣领域 设置
  • 编程语言
    pythonc语言
  • 云原生
    docker容器微服务
  • 人工智能
    深度学习
  • 网络与通信
    网络安全
  • 操作系统
    linuxubuntucentos
  • 云平台
    云计算
  • 网络空间安全
    安全系统安全安全架构
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

用 Go 语言从零开始打造你的端口转发工具

从项目初始化到配置解析与核心逻辑实现,每一步都旨在帮助你加深对Go语言网络编程的理解。本工具支持TCP流量转发,可通过配置文件灵活配置。
原创
发布博客 前天 09:15 ·
1590 阅读 ·
46 点赞 ·
0 评论 ·
21 收藏

使用UKEY进行数字签名和加密 -- HSM、PKCS#11与Signtool

本文介绍了HSM(硬件安全模块)、PKCS#11标准以及Signtool工具的基础概念及其相互间的关系。HSM是一种专为保护和管理数字密钥设计的硬件设备,提供高度安全的环境防止密钥被非法访问。PKCS#11是一组标准API,用于应用程序与HSM等密码设备间的通信,增强了互操作性和灵活性。Signtool则是一款用于数字签名的工具,可通过PKCS#11接口与HSM交互,利用HSM中的私钥进行签名操作,提高了安全性。
原创
发布博客 2024.11.22 ·
567 阅读 ·
8 点赞 ·
0 评论 ·
9 收藏

Linux内核签名及校验机制全攻略

本文详细介绍了内核和模块签名的基本原理、工作流程、具体实现步骤,以及常见问题的解决方法。通过配置内核选项、生成和使用密钥对、签名和验证文件,可以有效增强系统的安全性和完整性。GRUB引导加载器的签名验证功能进一步确保了启动过程的安全。
原创
发布博客 2024.11.21 ·
707 阅读 ·
16 点赞 ·
0 评论 ·
9 收藏

理解并使用Linux内核链表

本文介绍了Linux内核链表的基本概念、定义和操作。内核链表是通过struct list_head实现的双向链表,具有高效的插入、删除和遍历操作。链表的节点通过next和prev指针相连,不直接包含数据,这使得链表可以灵活管理不同类型的数据。内核链表的特点包括高效性、简洁性、模块化和操作与数据分离。
原创
发布博客 2024.11.21 ·
1360 阅读 ·
37 点赞 ·
0 评论 ·
37 收藏

Linux内核文件系统入门--自己实现一个内存文件系统

本文介绍实现简单内存文件系统的方法,适用于需要高速访问且无需数据持久化的应用场景。基于Linux VFS,实现过程包括三步:注册新文件系统类型、实现inode操作、实现文件读写。首先,定义file_system_type结构体及挂载卸载函数;其次,创建超级块以管理文件系统状态,并生成根目录inode;最后,利用inode_operations和file_operations结构体定义文件操作接口。通过这些步骤,确保文件系统可被Linux内核正确挂载与访问。
原创
发布博客 2024.11.20 ·
905 阅读 ·
28 点赞 ·
0 评论 ·
19 收藏

TCP Listen 队列详解与优化指南

定义:TCP listen 队列是操作系统内核管理的一个数据结构,用于存储等待处理的连接请求。作用暂时存储客户端发起的连接请求,直到服务器进程准备好处理它们。支持服务器在高并发下有效处理多个连接请求。可以被用来给出期望的backlog数量,但实际是否被满足会取决于底层系统支持。而 SOMAXCONN则意味着系统自己选择一个合适的最大值。如果你需要更灵活地控制backlog的大小而且系统支持,你可以考虑;而如果你只想使用默认最大值,直接用SOMAXCONN就足够了。
原创
发布博客 2024.11.19 ·
923 阅读 ·
18 点赞 ·
0 评论 ·
30 收藏

解决多共享库环境中C++全局对象多次析构问题的智能指针方案

在Linux环境下,多个动态链接库(.so文件)链接同一个静态库(libxxx.a),并引用其中的全局std::string对象时,程序退出时会导致该对象被多次析构,引起程序崩溃。为解决这一问题,可以使用智能指针来管理全局对象的生命周期。通过引用计数机制,智能指针确保对象只被销毁一次,避免多次析构的风险。本文提供了一个简单的智能指针实现示例,并展示了如何在静态库和动态链接库中使用它来管理全局对象。建议尽量避免在静态库中定义全局非POD类型的数据,若必须使用,推荐使用智能指针
原创
发布博客 2024.11.18 ·
346 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

使用Go语言开发eBPF入门教程

在这篇文章中,我们一起探索了 eBPF 技术,通过克隆 `cilium/ebpf` 仓库,编写了一个简单的 eBPF 程序 `hello.c`,并在 Go 代码 `hello.go` 中加载和运行了该程序。我们使用 Kprobe 监控 `execve` 系统调用,并在每次调用时向内核日志打印一条消息。通过 `go generate` 和 `go build` 编译运行程序,最终在 `/sys/kernel/tracing/trace_pipe` 中看到了输出。
原创
发布博客 2024.11.18 ·
369 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

深入掌握Go语言中的空接口: interface{}

在这篇教程中,我们深入探讨了 Go 语言中的空接口 interface{}。从定义和基本用法,到类型断言和类型开关,再到最佳实践和编译器处理机制,我们全面解析了空接口的各个方面。空接口作为 Go 语言中的顶级接口,提供了极大的灵活性,可以处理任意类型的值。通过类型断言和类型开关,我们可以安全地处理不同类型的值,同时保持代码的清晰和高效。希望这篇教程能帮助你更好地理解和应用空接口,提升你的 Go 语言编程技能。继续探索,不断进步,享受编程的乐趣吧!
原创
发布博客 2024.11.16 ·
1287 阅读 ·
23 点赞 ·
0 评论 ·
25 收藏

GRUB 源代码分析:打开 LUKS 加密的boot磁盘分区的过程

本文深入探讨了GRUB如何处理LUKS加密的`boot`分区。安装GRUB时,`grub-install`会检查`boot`分区是否加密,并在`grub.cfg`中加入`cryptomount`命令。启动时,GRUB初始化加密模块,通过`cryptomount`命令解锁加密盘。接着,`search.fs_uuid`命令定位到加密的根文件系统,使GRUB能够读取并执行位于加密`boot`分区内的`grub.cfg`,继续引导过程。此外,GRUB实现了磁盘的透明加解密,确保了数据的安全性和系统的正常运行。
原创
发布博客 2024.11.15 ·
853 阅读 ·
10 点赞 ·
0 评论 ·
7 收藏

在Windows上收发PGP加密电子邮件

本文介绍了如何在Windows上使用PGP(Pretty Good Privacy)加密电子邮件,包括PGP的基本概念、核心功能(加密、解密、数字签名)、优势及具体操作步骤。首先,文章解释了PGP的作用和原理,指出其结合了对称加密与公钥加密的优点。接着,推荐了Gpg4win作为Windows平台上的PGP实现,并详细说明了如何生成、管理和分发PGP密钥对。最后,文章描述了如何在Outlook、Thunderbird以及Foxmail等邮件客户端中配置PGP插件,以便于发送和接收加密邮件。
原创
发布博客 2024.11.14 ·
1721 阅读 ·
37 点赞 ·
0 评论 ·
29 收藏

技术专家之路:深耕高门槛领域的策略

成为技术专家是一条既充满挑战又充满机遇的旅程。通过系统地学习和不断的实践,每个人都有可能在这条道路上取得成功,享受技术专家职业所带来的无限可能。
原创
发布博客 2024.11.13 ·
484 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

实战Linux内核块设备BIO--在内核中直接读写块设备

本文介绍了在Linux内核中使用BIO(Block I/O)机制直接对块设备进行读写操作的方法。首先,文章概述了BIO的基本概念及其优势,包括高效的数据管理和强大的I/O调度机制。接着,通过一个具体的内核模块示例,展示了如何创建BIO请求、设置请求参数、分配页面并复制数据至页面、将页面添加到BIO、提交BIO请求并等待完成等关键步骤。此外,还提供了一个测试脚本`test.sh`,该脚本自动完成了模块加载、测试文件创建及回环设备绑定等操作,便于验证内核模块的功能。
原创
发布博客 2024.11.13 ·
621 阅读 ·
12 点赞 ·
0 评论 ·
13 收藏

深入理解Linux文件系统的挂载过程

文章详细解释了Linux文件系统挂载的每个步骤,从用户通过 mount 命令发起请求,到内核处理请求并最终完成挂载。文章还介绍了如何通过 file_system_type 结构注册文件系统类型,并通过挂载回调函数实现具体挂载操作。
原创
发布博客 2024.11.12 ·
776 阅读 ·
12 点赞 ·
0 评论 ·
7 收藏

GitHub新手入门 - 从创建仓库到协作管理

本文介绍了GitHub的基础操作,包括如何注册、配置SSH密钥、创建仓库、克隆到本地,并执行常见Git操作如git add、git commit、git push、git pull。学习如何创建和管理分支,合并代码,并解决冲突。文章还讲解了如何在GitHub上创建和管理Issue,使用标签、分配人员和项目板来跟踪进度。最后,介绍了Pull Request(PR)的创建和管理流程,通过PR进行代码审查和合并,确保团队协作顺畅。
原创
发布博客 2024.11.11 ·
1288 阅读 ·
13 点赞 ·
0 评论 ·
26 收藏

深入理解Linux内核中的虚拟文件系统(VFS)

在这篇教程中,我们深入探讨了Linux内核中的虚拟文件系统(VFS)。VFS作为抽象层,为不同类型的文件系统提供统一接口,使上层应用可以使用相同API访问文件。我们介绍了VFS的基本概念、关键数据结构(如`super_block`、`inode`、`dentry`和`file`)、VFS的回调函数与操作接口(如`file_operations`、`inode_operations`和`super_operations`),以及一个文件系统在VFS中的注册与使用流程。希望这些内容能帮助你更好地理解和应用VFS
原创
发布博客 2024.11.11 ·
1357 阅读 ·
32 点赞 ·
0 评论 ·
26 收藏

Linux OverlayFS 文件系统源代码深度分析

Linux OverlayFS是一个强大的联合文件系统,它通过合并多个文件系统层级来提供统一视图。OverlayFS的核心优势在于其写时复制(Copy-on-Write)机制,允许容器等环境在不直接影响底层数据的情况下进行文件操作。本文深入分析了OverlayFS的源代码,包括挂载过程、文件操作流程、关键函数实现等,揭示了其在容器技术中的应用和优化策略。通过学习,可以更好地理解OverlayFS的工作原理,提升在文件系统和容器管理方面的技能。
原创
发布博客 2024.11.09 ·
822 阅读 ·
9 点赞 ·
0 评论 ·
11 收藏

在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署

本文介绍了在Linux环境下使用Docker打包和发布.NET程序并与MySQL联合部署的全过程。首先,安装Docker和Docker Compose,并验证安装。接着,创建了一个简单的.NET Web应用,配置了与MySQL的连接,并安装了MySQL依赖包。然后,编写了Dockerfile和docker-compose.yml文件,实现了应用的容器化和多容器部署。最后,提供了构建和运行容器的命令,以及懒人脚本
原创
发布博客 2024.11.08 ·
974 阅读 ·
12 点赞 ·
0 评论 ·
10 收藏

Ubuntu Linux中使用Overlay文件系统创建轻量级沙箱

本文介绍在Ubuntu Linux中利用OverlayFS创建轻量级沙箱的方法。OverlayFS通过组合多个文件系统层,提供隔离的测试环境,适用于快速部署、安全测试等场景。文中详述了准备环境、创建目录、挂载文件系统、进入沙箱环境及清理过程。相比Docker,OverlayFS沙箱更轻量、灵活,适合不需要复杂管理工具的场合。
原创
发布博客 2024.11.08 ·
1073 阅读 ·
14 点赞 ·
0 评论 ·
25 收藏

掌握 Python 异步编程与 asyncio 库 —— 提升高并发编程效率

本文介绍了 Python 中的异步编程与 `asyncio` 库,强调其在处理高并发场景下的优势。异步编程允许程序在等待 I/O 操作时执行其他任务,提高 CPU 利用率和系统吞吐量。文章详细解析了异步编程的基础概念,包括事件循环、协程和任务,以及如何使用 `asyncio` 创建并发任务。此外,还展示了如何构建一个异步 Web 爬虫,并探讨了高级用法,如异步上下文管理器、迭代器和队列。最后,提供了性能优化和最佳实践建议,帮助开发者写出高效、稳定的异步代码。
原创
发布博客 2024.11.07 ·
1534 阅读 ·
42 点赞 ·
0 评论 ·
18 收藏
加载更多