刷新
二、xv6:从第一个用户程序trap返回kernel态

二、书接上文,上一节大概弄清了从通电到第一个程序运行的脉络。本节将深入探讨上节最后一部分:从 Kernel(内核态)切换到 User(用户态)的执行逻辑,并详细解析 从 User 返回 Kernel 的全过程。 kexec 进程加载与启动流程 阅读kexec所需声明:用户栈大小、程序头结构体定义、p ...

一、xv6:如何开始运行第一个用户进程

xv6:如何开始运行第一个用户进程 1. 硬件复位与内核加载 qemu 是虚拟主板。它模拟了 RISC-V 处理器、内存条、串口(用于输出文字到你的终端)、以及磁盘驱动器 。xv6 的初始化始于 QEMU 模拟的硬件复位 。根据kernel.ld链接脚本的约束,内核镜像被加载至物理地址0x80000 ...

Linux 一线必备:高能 Shell 脚本,让工作效能飙升

博主头像 @目录前言1、检测两台服务器指定目录下的文件一致性2、定时清空文件内容,定时记录文件大小3、检测网卡流量,并按规定格式记录在日志中4、计算文档每行出现的数字个数,并计算整个文档的数字总数5.杀死所有脚本6、从 FTP 服务器下载文件7、连续输入5个100以内的数字,统计和、最小和最大8、用户猜数字9 ...

Docker 基础入门:核心概念与架构原理

在云计算与容器化技术飞速发展的今天,Docker 已经成为开发者必备的工具之一。无论是本地开发环境的一致性保障、持续集成/持续部署(CI/CD)的自动化落地,还是服务器资源的高效利用,Docker 都发挥着不可替代的作用。对于刚接触容器技术的新手而言,想要快速上手 Docker,首先需要理清其核心概 ...

ansible介绍、按照及配置

博主头像 Ansible是什么? Ansible官网:https://www.ansible.com/ Ansible 是一款开源的自动化运维工具,由 RedHat 公司开发维护,核心目标是实现: 批量服务器操作(命令执行、软件安装、配置修改) 应用部署与生命周期管理 配置自动化(替代手动修改配置文件) 任务 ...

如何在Linux系统中部署MySQL

博主头像 数据库程序安装部署MySQL 步骤一:数据库部署环境准备 数据库程序安装部署MySQL 步骤一:数据库部署环境准备 - 系统环境准备:麒麟 V10 sp3 / CentOS 7.9 - 系统基础优化: 关闭防火墙:systemctl stop firewalld / systemctl disabl ...

[LKD/Linux 内核] Linux 中的 进程, 线程

博主头像 Linux 3.2 进程, 线程 前言 注意: 本文章默认你学过操作系统的进程部分,了解进程的概念. 我们都知道, 在 Linux 中, 我们使用 LWP 来描述线程, 即不区分线程/进程, 统一用 task_struct 描述它. 但是在 Linux 中, 线程, 进程, 进程组实际上还是有点区别 ...

Lab4-Lab: traps && MIT6.1810操作系统工程【持续更新】 _

博主头像 Lab: traps ​ 在这一个lab当中6.1810 / Fall 2025它要求我们理解xv6当中函数调用时的堆栈情况以及如何操控内存寻找多级函数调用的起始,更重要的是它带我们直观地感受到了中断的全过程。 ​ 在此之前,官网给出了一些提示: 在开始编程之前, 请阅读xv6教程的第4章,以及相关 ...

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 自动生成驱动注册与注... ...

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发行版列表,你是否感到选择困难?今天,我们就来理清思路,帮你做出自信的选择。 一、选择的价值:为何要了解发行版? 对于运维和开发者而言,选对发行版直接影响效率与稳定性。正确的选择意味着 ...

gitlab系统拓展AI代码自动审查多项目可复用架构

gitlab系统拓展AI代码自动审查多项目可复用架构 概述 我相信大家再赶进度的时候最讨厌的就是代码review,时间紧迫,几个项目并行的时候,review也是一个很大的开销,外面的开源方案再安全性上都很差,导致没有办法实际落地,这里开始设计一套可复用的架构,最初的AI代码审查系统基于单项目脚本实现 ...

123···12>