分类: 操作系统
xv6源码分析--内存管理
一、前言
xv6的内存管理在kernel/kalloc.c文件中,在线查看该代码请[点击](https://github.com/jintongxu/xv6-riscv/blob/riscv/kernel/kalloc.c)。(**注意:*……
异常控制流ECF
一、异常控制流(ECF)
现代系统通过使控制流发生突变来对这些情况做出反应。一般而言,我们把这些突变称为异常控制流(Exceptional Control Flow,ECF)。
ECF……
MIT6S081-Lab2总结
Lab2就是了解一下xv6的系统调用流程,熟悉一下系统调用过程中的结构啥的。
一、xv6系统调用流程
(以trace系统调用为例)
1、在用户态的user.h中加入对应加入……
操作系统页面置换算法
进程运行时,若其访问的页面不在内存而需将其调入,但内存已无空闲空间时,就需要从交换空间(磁盘中上)中找到对应的页,替换到内存中一个不经常用到的页。
……
信号量、互斥锁、计数信号量
信号量(semaphores)一个多进程共享的非负整型全局变量。信号量常用于多进程的进程同步。
介绍
信号量(semaphores)是一个简单的多进程共享的非负整型全局变……
GDT、LDT,TSS、段选择子、段描述符
在32位操作系统保护模式下,所有的内存访问都要通过GDT(全局描述符表)或者LDT(局部描述符表),GDT和LDT就是存储各种段描述符的一个表,而从GDT或LDT中找到……
不同进程对应相同的虚拟地址,在 TLB(快表) 是如何区分的?
一、前言
从虚拟地址到物理地址需要进行多级的页表转换,64位操作系统一般是3~5级,如果每次都要进行这个页表转换那会带来性能上的消耗。\
如果我们将已知的虚……