LearningOS
文章平均质量分 72
WoodHolz
自在破浪而行。
展开
-
保护模式进阶
内存信息的内容是用地址范围描述符来描述的,用于存储这种描述符的结构称之为地址范围描述符(Address Range Descriptor Structure,ARDS)。此结构中的字段大小都是 4 字节,共 5 个字段,所以此结构大小为 20 字节。每次 int 0x15 之后,BIOS就返回这样一个结构的数据。注意,ARDS 结构中用 64 位宽度的属性来描述这段内存基地址(起始地址)及其长度,所以表中的基地址和长度都分为低 32 位和高 32 位两部分。原创 2023-10-15 15:33:57 · 111 阅读 · 1 评论 -
初识保护模式
在保护模式中,段寄存器中保存的再也不是段基址了,里面保存的内容叫“选择子”,selector,该选择子其实就是个数,用这个数来索引全局描述符表中的段描述符。空间大了,内存访问的速度对CPU来说就有些低了,为了提高效率,又要提到计算机组成原理的老对象:缓存(Cache)了。段描述符缓冲寄存器(Descriptor Cache Registers):80286的保护模式中,为了提高获取段信息的效率,对段寄存器率先应用了缓存技术,将段信息用一个寄存器来缓存。原创 2023-10-10 20:59:20 · 70 阅读 · 1 评论 -
RISC-V体系结构介绍
包括程序的初始状态、CPU的类型与数量、支持的S模式、内存和I/O的可访问性与属性、每个CPU上执行指令的行为以及异常的处理等。近似于x86的SMT(超线程),Arm中的PE(处理机)就是对硬件的抽象和提供接口服务。根据功能需要选择对应的拓展,确保指令集的简洁。一个EEI可由纯硬件、纯软件或软硬件结合实现。最小指令集合: RV32I, RV64I。通过CSR指令访问系统寄存器。表示一个CPU的执行线程。硬件共性功能的抽象。原创 2023-03-22 16:37:13 · 628 阅读 · 0 评论 -
list_entry()函数 ——从获取目标进程到linux内核双链表的思想与实现
list_entry()函数 ——从获取目标进程到linux内核双链表的思想与实现原创 2023-03-05 16:20:05 · 140 阅读 · 0 评论 -
LearningOS by Rust
LearningOS by Rust原创 2022-10-28 11:53:52 · 210 阅读 · 0 评论