从整体上讲,exec系统调用创建了用户部分的地址空间。 具体地讲,做了9件事: 调用nami函数打开有名字的二进制...[作者空间]
调用链 kernel/entry.S->kernel/start.c->kernel/main.c->kernel...[作者空间]
什么是驱动? 驱动是操作系统中用来管理一个特定设备的代码: 配置硬件设备; 告诉设备执行操作; 处理设备中断; 跟...[作者空间]
问题1: 如何处理来自内核空间的陷阱? 处理步骤: 保存被打断内核线程的所有寄存器的值; 处理陷阱:设备中断或者异...[作者空间]
问题1:内核如何处理来自用户空间的陷阱? 进入内核空间的路径:先uservec,后usertrap;返回用户空间的...[作者空间]
RISC-V的CPU硬件是如何处理陷阱的? 如果陷阱是设备中断,且寄存器sstatus的SIE位被清除了,则不执行...[作者空间]
有3类事件可导致CPU把普通的指令执行搁置在一边,强制把控制权转移到能处理事件的特定代码处。 系统调用用户程序执行...[作者空间]
第3课 操作系统的组织结构 今天的主题: 操作系统设计 系统调用 微内核/整体内核 在xv6中的第一个系统调用 操...[作者空间]
地址空间 分页硬件 xv6的VM代码 虚拟内存概述 问题:假设shell程序有一个bug:有时,它会向一个随机的内...[作者空间]
页表机制做了哪些事? 页表确定了什么是内存地址,以及可访问哪些部分的物理内存。 页表机制实现了哪些目标? 操作系统...[作者空间]
操作系统的一个关键要求是要一次支持多个活动。比如,使用系统调用fork,一个进程可以启动新进程。 操作系统必须在这...[作者空间]
1.1节 进程和内存 这一节涉及的系统调用有: fork exit wait 一个xv6进程由用户空间内存(指令、...[作者空间]
xv6 第1.3节 管道 这一节中涉及的系统调用有: pipe fork close dup read 一个管道就...[作者空间]
问题1:如何实现从标准读取数据,然后拷贝数据到标准输出? 问题2:如何实现I/O重定向,比如cat < input...[作者空间]