分类: 操作系统
thumbnail

内存碎片

一、前言 内存碎片是指无法被利用的内存,分为外部碎片和内部碎片。分段机制会导致外部碎片,分页机制会导致内部碎片。 二、外部碎片 分段机制就是一个进程需……
thumbnail

xv6源码分析--内存管理

一、前言 xv6的内存管理在kernel/kalloc.c文件中,在线查看该代码请[点击](https://github.com/jintongxu/xv6-riscv/blob/riscv/kernel/kalloc.c)。(**注意:*……
thumbnail

异常控制流ECF

一、异常控制流(ECF) 现代系统通过使控制流发生突变来对这些情况做出反应。一般而言,我们把这些突变称为异常控制流(Exceptional Control Flow,ECF)。 ECF……
thumbnail

MIT6S081-Lab2总结

Lab2就是了解一下xv6的系统调用流程,熟悉一下系统调用过程中的结构啥的。 一、xv6系统调用流程 (以trace系统调用为例) 1、在用户态的user.h中加入对应加入……
thumbnail

操作系统页面置换算法

进程运行时,若其访问的页面不在内存而需将其调入,但内存已无空闲空间时,就需要从交换空间(磁盘中上)中找到对应的页,替换到内存中一个不经常用到的页。 ……
thumbnail

信号量、互斥锁、计数信号量

信号量(semaphores)一个多进程共享的非负整型全局变量。信号量常用于多进程的进程同步。 介绍 信号量(semaphores)是一个简单的多进程共享的非负整型全局变……
thumbnail

GDT、LDT,TSS、段选择子、段描述符

在32位操作系统保护模式下,所有的内存访问都要通过GDT(全局描述符表)或者LDT(局部描述符表),GDT和LDT就是存储各种段描述符的一个表,而从GDT或LDT中找到……
thumbnail

内存分段、分页

前言 每个进程都有一套自己的虚拟地址,尽管进程可能有相同的虚拟地址,但经过映射后就是不同的物理地址了,以此来实现进程隔离等功能。 内存分段 介绍 一开……
thumbnail

不同进程对应相同的虚拟地址,在 TLB(快表) 是如何区分的?

一、前言 从虚拟地址到物理地址需要进行多级的页表转换,64位操作系统一般是3~5级,如果每次都要进行这个页表转换那会带来性能上的消耗。\ 如果我们将已知的虚……