摘要: 本文翻译自MT xv6 | Chapter 3 | Page tables 3.1 分页硬件 3.2 内核地址空间 3.3 代码解析:创建地址空间 3.4 物理内存分配 3.5 代码解析:物理内存分配器 3.6 进程地址空间 3.7 代码解析:sbrk 3.8 代码解析:exec 3.9 现实世界 阅读全文
posted @ 2023-01-07 14:55 低调的LEO 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 本文翻译自MT xv6 | Chapter 2 | Operating system organization 对于一个操作系统而言,一个关键性要求就是能够在同一时间支持多个活动(activities)。比如通过调用第一章中提到的系统调用接口fork,一个进程可以启动一个新的进程。操作系统必须给进程 阅读全文
posted @ 2023-01-07 14:49 低调的LEO 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 本文翻译自MT xv6 | Chapter 1 | Operating system interfaces 1.1 进程和内存 1.2 I/O和文件描述符 1.3 管道 1.4 文件系统 1.5 现实世界 1.6 练习 阅读全文
posted @ 2023-01-07 14:47 低调的LEO 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 由于本人最近需要了解Linux Kernel开发社区的动态,所以订阅Linux Kernel开发邮件列表绝对是不二法门,但由于本人习惯于使用腾讯系的foxmail(也就是QQ邮箱),而相关配置在网络上不多,故记录下整个配置过程以供参考。 软件及平台版本 20.04.1-Ubuntu Mutt 1.1 阅读全文
posted @ 2021-06-19 15:34 低调的LEO 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 本文翻译自“Prepare the environment for developing Linux kernel with qemu”,在原文基础上进行了部分精简和修正。 编译Linux Kernel 软件包安装 $ sudo apt install git $ sudo apt install 阅读全文
posted @ 2021-05-30 20:03 低调的LEO 阅读(2721) 评论(0) 推荐(0) 编辑
摘要: 在百度百科中volatile关键字是这样解释的: volatile是一个特征修饰符(type specifier)。volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。一般在以下场景中使用: 并行设备的硬件寄存器(如:状态寄存器) 一个中断服务子程序中会 阅读全文
posted @ 2020-02-19 22:58 低调的LEO 阅读(2013) 评论(0) 推荐(0) 编辑
摘要: 最近在STM32F429平台上实现一套主从机串口库,在开发过程中,出现偶发性丢帧问题,反复核对关键代码,均未发现任何问题,一筹莫展。按照经验第一反应就是互斥访问导致的脏数据问题,但苦于无法锁定问题,因为只有在串口大量数据收发时,才出现偶发性丢帧,无法采取在线调试锁定问题,极其难以抓取。为了能够尽快找 阅读全文
posted @ 2018-02-26 21:07 低调的LEO 阅读(1768) 评论(0) 推荐(0) 编辑
摘要: 一、使用yum安装Git: sudo yum install git 二、添加git用户: sudo useradd git 三、查看CentOS内核版本,确定架构(x64、x86还是arm) uname -a 四、下载与其对应的二进制安装包: wget https://dl.gogs.io/0.1 阅读全文
posted @ 2018-02-14 00:15 低调的LEO 阅读(9188) 评论(0) 推荐(4) 编辑