首页 > TAG信息列表 > 页表

操作系统(学习笔记)

操作系统(学习笔记)   内存管理 重定位 让内存用起来:将程序放到内存中,让程序跑起来,PC指向开始地址,内存就用起来了; 地址重定位:编译时重定位(效率更高)、载入时重定位(灵活性好); 编译时重定位:程序只能放在内存固定位置; 载入时重定位:程序一旦载入,内存就不能动了; 重定位:可变的基准地

Linux缺页异常

关键词说明: VA:Virtual Address 虚拟地址 PA:Physical Address 物理地址 MMU:Memory Manage Unit 内存管理单元 TLB:Translation Lookaside Buffer 旁路快表缓存/地址变换高速缓存 PTE:Page Table Entry 分页表项 (1)    内存延时分配     以Linux系统为例,每个进程拥有独立的虚

[自制操作系统] 第14回 内存管理系统

目录一、前景回顾二、位图bitmap及函数实现三、内存池划分四、运行   一、前景回顾   前面我们已经花了一个回合来完善了一下我们的系统,包括增加了makefile,ASSERT以及一些常见的字符串操作函数。关于makefile,还是我以前学习Linux系统编程的时候学了一点点,很久没用导致就几乎都

[自制操作系统] 第07回 认识保护模式之地址映射

目录 一、前景回顾 二、物理地址、线性地址和虚拟地址 三、内存为什么要分页 四、一级页表 五、二级页表   一、前景回顾   前面我们说到,保护模式下有着三大特点:地址映射、特权级和分时机制。从我的学习角度来说,我认为地址映射这一块的知识点尤为繁杂,所以会花费相对比较多的时

crash命令 —— pte

参考:https://crash-utility.github.io/help_pages/pte.html 用法: 翻译pte页表项 如果页表映射到物理内存,那么会显示对应的物理地址以及页表项的状态 如果是交换表项,那么会显示对应的swap设备以及偏移量 pte <pte页表项的值>

存储器管理——段页式管理方式

分页管理的优缺点:优点。内存空间利用率高,不会产生外部碎片,只会有少量的页内碎片。缺点。不方便按照逻辑模块实现信息的共享和保护 分段管理的优缺点:优点。很方便按照逻辑模块实现信息的 享和保护。缺点:段长过大时需要分配很大的连续空间,会产生外部碎片 如何解决分段管理中产生的

存储器管理——两级页表

单级页表存在的问题: 1.页表必须连续存放,因此当页表很大时,需要占用很多个连续的页框。 2.没有必要让整个页表常驻内存,因为进程在一段时间内可能只需要访问某几个特定的页面。 “页表必须连续存放”问题的解决:把必须连续存放的页表再分页 页目录表:为离散分配的页表建立的页表 页目

北航操作系统课程lab4实验报告

OS lab4实验报告 实验思考题 Thinking 4.1 思考并回答下面的问题: 内核在保存现场的时候是如何避免破坏通用寄存器的? 系统陷入内核调用后可以直接从当时的$a0-$a3参数寄存器中得到用户调用msyscall留下的信息吗? 我们是怎么做到让sys开头的函数“认为”我们提供了和用户调用ms

存储器管理——具有快表的地址变换机构

局部性原理:时间局部性、空间局部性 时间局部性:被访问过的数据不久后很可能再次被问。(因为程序中存在大量的循环) 空间局部性:被访问的存储单元附近的存储单元,不久后很可能被访问。(连续存放) 快表(联想寄存器TLB):用来存放当前访问的若干页表项,以加速地址变换的过程。是一种访问速度比内

多级页表

引入多级页表为了解决 问题1:页表需要连续存放,当页表很大时,需要占用多个连续页框 问题2:没有必要让整个页表常驻内存,因为进程在一段时间内只需要访问其中几个特定页面 问题2解决:可以在需要时才将页面调入内存(虚拟存储技术),可以在页表中增加一个标志位,用于表示该页面是否调入内存。若

存储器管理——基本地址变换机构

基本地址变换机构:借助页表实现地址转换的一组硬件机构 页表寄存器(PTR):用于存放页表在内存中的起始地址和页表长度。 进程未执行时,页表的始址和页表长度放在:进程控制块(PCB)中 进程被调度时,操作系统内核会把页表的始址和页表长度放到:页表寄存器中 地址变换过程:逻辑地址-页表寄存器-

存储器管理——基本分页存储管理

连续分配方式的缺点:1.固定分区分配。不灵活,产生大量的内部碎片,内存的利用率很低。2.动态分区分配产生很多外部碎片,虽然可用“紧凑”技术处理,但时间代价很高 非连续分配方式思想:将一个进程分散装入许多不相邻的分区中,便可充分利用内存而无需“紧凑” 连续分配:为用户进程分配的必须

线程和进程的比较

  线程与进程的比较如下: 进程是资源(包括内存、打开的文件等)分配的单位,线程是 CPU 调度的单位; 进程拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈; 线程同样具有就绪、阻塞、执行三种基本状态,同样具有状态之间的转换关系; 线程能减少并发执行的时间和空间开销; 对

虚拟磁盘格式1:VMDK

参考文档:Virtual Disk Format 5.0 虚拟磁盘格式:VMDK vmware设计VMDK的文件格式来模拟物理磁盘,使得虚拟机的操作系统读写虚拟磁盘时使用与物理磁盘相应的接口 虚拟磁盘作为一个或多个文件存储在主机或远程设备上 在vmware workstation或mware pusion上:存在底层主机操作系统(win,Li

xv6 lab3

https://pdos.csail.mit.edu/6.S081/2020/labs/pgtbl.html 简述 这个lab有三个task: 写一个打印页表内容的函数 给每个进程都创建一个内核页表,这个主要的优化点是具体点,就是将用户态页表的映射也放到每个进程的内核页表中,那么从用户态传入到内核态的指针就可以直接按照内核页表

RISCV MMU 概述

1. 背景简介 Linux 内存管理包含很多内容,主要知识点可以参考 Linux Mem。本文只描述其中的一个知识点 Paging and MMU。 本文以全志 D1 为例,包含了平头哥出品的一颗 Riscv64 的 CPU IP-Core,代号 C906。具体手册可以参考 C906 用户手册。 2. X86_64 同样是 64bit cpu,x86_64 支

mmu浅析

MMU 功能 访问控制;虚拟地址(页)到物理地址(页框)的转换 转换过程 页由Frame Index(页框索引:与物理页框进行映射)和位p(present 存在位:本页的映射是否有效;映射无效,Frame Index部分为X,该位为0;映射有效则该位为1   页表的作用是实现从页号到物理块号的地址映射 缺页异常 将使用较

你管这叫操作系统源码(三)

文章目录 重新设置idt和gdtIntel内存管理:分段与分页进入main前的最后一跃资料 重新设置idt和gdt 正式进入 c 语言写的 main.c 之前的 head.s 究竟写了点啥?head.s 文件很短: _pg_dir: _startup_32: mov eax,0x10 mov ds,ax mov es,ax mov fs,ax mov gs

ARM体系架构——MMU【转】

转自:https://www.jianshu.com/p/ef1e93e9d65b 一、前言 在 嵌入式Linux 开发中,往往会听到 MMU 这个词,但大多数情况下并不会去了解它,因为操作系统已经做好了关于 MMU 的一切操作,我们只需要在操作系统的框架下直接使用即可。但了解 MMU 有助于帮助我们理解操作系统,理解进程等,让我

[mmu/cache]-ARM MMU的学习笔记-一篇就够了【转】

转自:https://blog.csdn.net/weixin_42135087/article/details/109044386 ★★★ 个人博客导读首页—点击此处 ★★★.说明:在默认情况下,本文讲述的都是ARMV8-aarch64架构,linux kernel 64位.相关文章1、ARM cache的学习笔记-一篇就够了 自制《armv8的VMSA/MMU/Cache介绍》学习视频:

CPU体系架构-MMU【转】

转自:https://nieyong.github.io/wiki_cpu/CPU%E4%BD%93%E7%B3%BB%E6%9E%B6%E6%9E%84-MMU.html 在现在的工作项目中虽然没有使用到MMU功能,但MMU是较复杂的嵌入式操作系统运行的基础。例如Linux就不能够运行在没有MMU的ARM7处理器上,ucLinux就是为了适应没有MMU的处理器而对Linux进行

从 MMU 看内存管理

在计算机早期的时候,计算机是无法将大于内存大小的应用装入内存的,因为计算机读写应用数据是直接通过总线来对内存进行直接操作的,对于写操作来说,计算机会直接将地址写入内存;对于读操作来说,计算机会直接读取内存的数据。 但是随着软件的不断膨胀和移动应用的到来,一切慢慢变了。 我们

两级页表

                                         

基本地址变换机构

    一、基本地址变换结构基本地址变换结构可以借助进程的页表将逻辑地址转换为物理地址。通常在系统中设置一个页表寄存器(PTR Page-Table Register),存放页表在内存中起始地址F和页表长度M。进程在未执行时,页表的起始地址和页表长度放在进程控制块(PCB)中,当进程被调度时,操作系统

操作系统大作业-二级页表

1.作业内容 假设某系统的进程虚拟地址为32位,使用12位=4KB长度的页面,页表也是分页存储管理,每个页表表目占4 Bytes。请你: 1)设计一个页表管理的数据结构; 2) 根据用户进程要访问的虚拟空间地址 x x