首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
操作系统等底层知识相关
marsCatXDU_李经纬
创建于2022-02-10
订阅专栏
相对底层知识的博客集合
暂无订阅
共17篇文章
创建于2022-02-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【译】GMP 编译及安装(GMP 6.2.1)
本文是对 GMP 库( GNU MP )官方文档编译构建部分的翻译。主要内容是 configure 相关选项的说明
【译】软件包管理的历史(Linux 为什么要有包管理器?)
为什么 Linux、Unix 这类系统需要软件包管理器?本文从最古老的软件管理方式讲起,带大家了解软件包管理器的发展历史
【译】电脑是如何启动的
书接上回,本文将介绍从按下电源按钮,到即将跳转到内核为止的启动过程,包括了 Boot Loader 的主要工作过程,内容简单易懂偏科普
【译】主板芯片组和内存映射
本文介绍 CPU、RAM 以及其他设备如何通过主板芯片组协作,为后面介绍计算机的启动过程储备前置知识。 本系列译文通过解释现代系统内核的运行方式来介绍有趣的计算机底层知识
Linux 安装软件的实质
Linux 安装软件,其实就是把一些文件分门别类拷贝到它们应该在的地方的过程。被安装的这个软件,是由一堆文件组成的。这一堆文件被分门别类放到一些或提前约定好、或根据自带规则创建的文件夹中
RPM 打包
本文是以 RPM Packaging Guide 为主线,进行简化、翻译,中间根据个人的学习需要增减了一些内容,掺入其他很多来源的资料改编而成。应该适合对 linux 打包没什么概念的同学(比如我)阅读 软件补丁,是用来修改其他代码的代码。我们使用 diff 工具来创建补丁,并…
openEuler 笔记:进程2:进程的控制_创建新进程,装载程序
绝大部分引用的代码都是博主根据书中的提示,到 openEuler 中翻出来的。为了尽量减少代码所占的篇幅,对引用的代码尽量进行了省略和删减 OS 对进程的控制,要通过【控制原语】来实现,每个控制原语都是一段指令代码,这段代码常驻内存,运行于内核态,对外暴露有系统调用。 称之为【…
openEuler 笔记:进程1:程序的加载运行、进程的描述( PCB、进程状态 )
类 UNIX 的二进制程序一般为 ELF 格式,一个【逻辑意义上作为整体的程序】会被按照内容类型划分为数个 Segment 进行存储。主要的 Segment 有 :.text ,存机器指令序列;.data 存可变的全局变量及静态局部变量;.rodata 存只读数据、常量;.bs…
【译】保护模式
翻译的原文版本:20 September 2020, at 01:17. 保护模式,是现代 Intel 处理器的主要操作模式,该模式最初在 16 位的 80286 上引入。在 80386 系列以及后续的产品中,32 位保护模式开始支持多种特性: CPU 的初始化是由 BIOS …
【译】中断
翻译的原文版本:28 August 2020, at 09:44. 中断,是 CPU 接收到的来自设备(如键盘、硬盘等)的信号。该信号能要求 CPU 立即停止正在运行的指令并开始进行其他的任务。 比如,当按下键盘上的“a”键时,键盘控制器就会向 CPU 发送一个中断,OS 就会…
【译】内核、编译器、C库是如何共同工作的?
翻译的原文版本:23 December 2019, 10:56. 内核是操作系统的核心。在传统的设计中,内核负责内存管理、I/O 、中断管理等工作。 在微内核(Microkernel)、外内核(Exokernel)等现代的设计中,部分上述工作被迁移到了用户空间,这些情况不在本文…
TCP、UDP Socket 发送数据的大小限制,MTU、MSS
虽然我们说 IP 包最大为 65535Bytes ,但这绝不意味着一个网络层(也就是 IP 所在层)的数据包可以有 64MB 那么大。对于来自网络层的过大数据,链路层会对数据进行拆分并分入多个帧进行发送。而链路层允许的最大 IP 包为 1500 Bytes,那么对于每个在链路上…
CS_APP 读书笔记:链接(3)重定位、可执行目标文件及其加载,动态链接库(1)
符号解析成功,就意味着每个符号引用都能找到一个符号的定义,并已经与其关联起来。 将多个模块合并为同一个文件,并为合并后文件中的每个指令和变量确定运行时地址。 ld 修改 .code 、.data 中对每个符号的引用,指向刚刚确定的运行时地址。引用重定位要使用到目标文件中的重定位…
CS_APP 读书笔记:链接(2)符号表、符号解析、静态库的链接
这里说的符号,其实就是汇编语言中提的那个【标号 Label】。 全局符号:在本模块中定义,其他模块引用的符号。这些符号应该是非静态的 C 函数和全局变量; 局部符号:在本模块定义,且只在本模块引用的符号。这样的符号在本模块内部随处可见,但不能在其他模块中引用,在 C 中需要用 …
CS_APP 读书笔记:链接(1)AT&T 汇编、目标文件、链接器、ELF 的基础概念
本篇仅记录最基础的内容,后续笔记中会逐渐补充完善。 注释以 # 开头,伪指令以 . 开头; 操作数字长一般直接作为后缀连接在指令名的后面。b:byte(8),w:word(16),l:long(32)。eg. pushl %eax; 左边的是源操作数,右边的是目的操作数。eg.…
HTTP 学习笔记:简记 URI、URL、HTTP Message、MIME、HTTPS
全世界每个被服务器提供的资源都有一个名字,这个名字就是 URI,客户端通过 URI 来定位资源并进行传输。 URI 有两种具体的实现方式,分别是 URL 和 URN。但后者目前基本没有应用实例,所以在很多语境下 URI 等同于 URL (比如上面例子中的链接就是一个 URL )…
RTOS 学习笔记1:ARM 基础——运行模式,寄存器,指令系统,汇编,异常中断处理
USR:用户模式,运行用户代码。除此之外的模式均为特权模式 und:指令未定义中止。该异常可用于处理未知指令的情况,遇到不认识的指令时,为避免程序跑飞,会跳转到异常处理程序中。也可以用于自定义指令、支持协处理器等 只要是 CPU 在正常运行,就会永远执行 【取指-译码-执行】 …