澪妄之地

6.S081|第三章-页表

页式硬件 RISCV里执行的指令中的地址都是使用的虚拟地址(Q:为什么要用虚拟地址?A:为了隔离性和保护性),但是机器的物理内存是由物理地址索引的,所以我们需要一种映射机制来完成由虚拟地址到物理地址的转换。 虚拟地址空间是概念,页表是实现这个概念的数据结构。 在开始下面内容之前,我们需要知道xv6的内存管理机制是Sv39 RISC-V,这意味着我们只使用底部的39位,尽管虚拟地...

CS61C|Lec17-Virtual Memory

虚拟内存的主要功能: 大内存的幻觉:虚拟内存使得程序看起来可以访问一个非常大的主存。程序的工作集(即正在活跃使用的内存页面)保存在物理内存中,而不常用的页面则保存在磁盘上。 请求分页(Demand Paging):虚拟内存通过请求分页技术,让程序运行的内存可以超过物理内存的大小。当程序需要访问某个不在主存中的页面时,会触发页面调度,将所需页面从磁盘加载到...

CS61C|Lec16-OS

操作系统的基本功能 操作系统是计算机启动时运行的第一个程序。 查找并控制所有设备 操作系统会发现并控制计算机中的所有硬件设备,例如硬盘、网络接口、显示器、键盘、鼠标等。因为每个设备的操作方式不同,操作系统依赖设备驱动程序(device drivers)来与不同的硬件进行通信。设备驱动程序是硬件制造商提供的特定程序,用于帮助操作系统与硬件正确交互。 启动服务(100多个): ...

2024年暑期(6到9月)学习心得

为什么挑6-9月作为一个时间阶段? 因为对于在3月还几乎是0基础(算了其实就是0基础)的我来说,前三个月的时间基本上都花在了学习基础语法上了,并没有什么做出来的项目。所以就挑6-9月(致敬大耳朵),也刚好是暑假期间的所学所感,正巧也记录下我人生中第一个没有虚度的暑假吧。 6月份主要把时间花在gitlet上 gitlet: 一个轻量版的git,我只拿到了基础的学分,也就是在本地进行管理的...