[LKD/Linux 内核] Linux 中的 进程, 线程
Linux 3.2 进程, 线程 前言 注意: 本文章默认你学过操作系统的进程部分,了解进程的概念. 我们都知道, 在 Linux 中, 我们使用 LWP 来描述线程, 即不区分线程/进程, 统一用 task_struct 描述它. 但是在 Linux 中, 线程, 进程, 进程组实际上还是有点区别 ...
[LKD/Linux 内核] 关于对 current_thread_info 的一点研究
Linux 3.2 current_thread_info 函数 前言 current_thread_info, 这个函数在内核中, 经常被用于访问当前CPU正在运行的任务, 那么它的底层是怎么实现的呢? 这是我阅读 LKD 遇到的第一个难点, 也是我第一次体会到 "纸上得来终觉浅, 绝知此事要躬行 ...
嵌入式Linux手动交叉编译开源软件需要注意的问题
该文章主要提到了一些常见的编译错误及其解决方案,并提供了一些最佳实践,帮助开发者避免编译过程中的陷阱。通过这些建议,读者能够更高效地进行嵌入式Linux开发,减少编译和调试的时间。 ...
Lab4-Lab: traps && MIT6.1810操作系统工程【持续更新】 _
Lab: traps 在这一个lab当中6.1810 / Fall 2025它要求我们理解xv6当中函数调用时的堆栈情况以及如何操控内存寻找多级函数调用的起始,更重要的是它带我们直观地感受到了中断的全过程。 在此之前,官网给出了一些提示: 在开始编程之前, 请阅读xv6教程的第4章,以及相关 ...
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
Lab:page tables 在这个lab中6.1810 / Fall 2025,要求我们先阅读xv6课本的Chapter 3 Page tables(第三章)。要求我们探索xv6当中关于页表的内容。并且要求我们实现一些页表相关功能的实现(例如:虚地址和物理地址的映射/解除映射,页表的创建和释 ...
wsl中遵循win的代理设置
1.在用户文件夹 %USERPROFILE% 新建一个 .wslconfig 文件,写入一下内容: [experimental] autoMemoryReclaim=gradual # gradual | dropcache | disabled networkingMode=mirrored dn ...
Linux内核中模块定义宏机制解析
本文解析了 Linux 内核中的 module driver helper macro,讲解了 module_platform_driver 的实现原理与设计思想,展示了宏如何通过 宏拼接、可变参数、__init/__exit 和 module_init/module_exit 自动生成驱动注册与注... ...
prometheus监控Linux Server node_exporter代理安装和配置
1,代理客户端安装和配置 1,笔者是一个arm版本的linux Server,因此这里下载的是arm版本的包2,注意node_exporter的版本和prometheus的版本时间上不要相差太远,有可能不兼容或者一些其他问题。 ###新增node_exporter用户和组 root@******:/ ...
Lab2-system calls && MIT6.1810操作系统工程【持续更新】
Lab: system calls 在这个lab当中6.1810 / Fall 2025 它要求你在xv6当中添加一个新的系统调用,以此来帮助你理解在操作系统当中,系统调用的底层实现逻辑和调用链条; 之后该lab当中会告诉你一个故意留下来的系统漏洞,要求你利用该漏洞获取之前的进程(已经被清理 ...
最近关于运维的一些感想
运维不只是"救火队员",而是系统的守护者 最近在和几位老运维聊起职业发展,他们不约而同地提到一个词:"运维是系统稳定性最后的防线"。这句话让我陷入了思考。作为IT行业中最容易被忽视的岗位之一,运维真的只是"救火队员"吗?还是说,我们正在经历一场静悄悄的变革? 从"消防员"到"守护者"的转变 记得刚入 ...
Linux Kernel:云原生时代的操作系统内核
容器为什么能隔离进程?Kubernetes 怎么限制 Pod 资源?eBPF 监控的原理是什么? 这些问题的答案,都指向同一个开源项目——Linux Kernel。它是 Linus Torvalds 在 1991 年创建的操作系统内核,如今已成为云计算基础设施的技术基石。 什么是 Linux Ker ...
Linux发行版选择指南:找到你的最佳拍档
大家好,我是刘叨叨,一个致力于让碎片化技术系统性的运维人。 在云平台或物理服务器上部署服务时,面对一长串的Linux发行版列表,你是否感到选择困难?今天,我们就来理清思路,帮你做出自信的选择。 一、选择的价值:为何要了解发行版? 对于运维和开发者而言,选对发行版直接影响效率与稳定性。正确的选择意味着 ...
Lab1-Xv6 and Unix utilities 配置环境的搭建以及前言 && MIT6.1810操作系统工程【持续更新】
Lab: Xv6 and Unix utilities 在这个,也是第一个Lab当中6.1810 / Fall 2025,它会要求你通过git拉取最基本的内核代码,然后cd到内核代码目录当中,通过指定的指令(下面会介绍)即可构建起xv6操作系统。 1.拉取基本代码 注意:由于之前Lab0 配 ...
gitlab系统拓展AI代码自动审查多项目可复用架构
gitlab系统拓展AI代码自动审查多项目可复用架构 概述 我相信大家再赶进度的时候最讨厌的就是代码review,时间紧迫,几个项目并行的时候,review也是一个很大的开销,外面的开源方案再安全性上都很差,导致没有办法实际落地,这里开始设计一套可复用的架构,最初的AI代码审查系统基于单项目脚本实现 ...
VS Code Remote SSH 远程登录Linux服务器使用vscode 的AI辅助办公
引言 在之前的博客Ubuntu SSH密钥登录:告别密码 - 杜文龙 - 博客园中,我详细介绍了如何使用FinalShell从Windows连接到Linux服务器,实现安全的密钥认证登录。今天,我将分享如何在VS Code中使用Remote SSH扩展来实现同样的功能,让你在熟悉的代码编辑器中直接操 ...
RSYNC异地迁移备份工具
什么是 Rsync? Rsync 是一个开源的快速备份工具,是Linux和UNIX操作系统默认安装的组件之一,可在不同主机间镜像同步整个目录,并支持增量备份文件传输,保持链接和权限,采用优化的同步算法,传输前执行压缩,适用于异地备份,镜像服务器等应用 Rsync 官网地址:https://rsync ...
Understanding Linux Load Average
Linux 中的 Load Average 在 Linux 系统中,Load Averages 通常指的是 system load averages,可以通过 uptime 命令查看: $ uptime 09:41:46 up 60 days, 15:05, 16 users, load avera ...
记录我的niri安装
ArchLinux for Niri 一. Archlinux 安装 1.下载镜像 官网下载 https://archlinux.org/download/ 最新镜像 镜像烧录 制作启动盘,Windows 下推荐使用 Ventoy ,下载好软件,安装进U盘(会格式化U盘,请保存好U盘数据),把下载好 ...
Linux系统资源排查以及修改限制
目录系统资源排查内存资源磁盘资源进程资源系统资源限制Cgroup级别系统级别修改/etc/sysctl.conf用户级别 系统资源排查 内存资源 最常用的内存查看命令 free -h # 人类可读格式(GB/MB) free -m # 以MB为单位 free -g # 以GB为单位 free -t ...
Linux中以其它用户身份执行脚本或命令总结
在Linux中以其他用户身份执行命令或脚本是一个常见的需求,最近工作中碰到了这个需求,在这里简单总结一下.假如我们在root用户下想以其它用户(例如oracle,mysql)身份执行一些脚本或命令,那么有哪一些方法呢? su命令(switch user) su命令的使用方式有两种, 如下所示: 切换 ...


