![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
xv6
文章平均质量分 96
JINGZMR
宁静致远
展开
-
xv6学习笔记——第二章 操作系统架构
Xv6中的隔离单位是一个进程进程抽象防止一个进程破坏或监视另一个进程的内存、CPU、文件描述符等。它还防止一个进程破坏内核本身内核用来实现进程的机制包括:用户/管理模式标志、地址空间和线程的时间切片Xv6使用页表(由硬件实现)为每个进程提供自己的地址空间RISC-V页表将虚拟地址(RISC-V指令操纵的地址)转换(或“映射”)为物理地址(CPU芯片发送到主存储器的地址)操作系统可能会使用不同的虚拟地址空间部分来隔离栈和堆,或者出于安全性考虑,操作系统可能会将栈映射到较低的虚拟地址。原创 2023-11-28 20:50:12 · 543 阅读 · 0 评论 -
xv6学习笔记——第一章 操作系统接口
也就是说,在调用pipe函数后,fd数组的两个成员就被初始化了,这两个描述符分别指向管道的读取端和管道的写入端。多个进程同时往管道里写数据时,如果数据量均小于PIPE_BUF字节,则认为写入操作是原子的,不会出现数据交错。父进程fork的返回值是子进程的pid,而子进程中的返回值是0 —>这是区别父子进程的方法。这会打开(或创建)一个名为 “output.txt” 的文件,并返回一个文件描述符。创建了一个子进程之后,父子进程会共享这个管道的文件描述符。时,它会返回一个新的文件描述符,这个。原创 2023-11-02 16:01:08 · 297 阅读 · 0 评论