• 2024-07-01内存管理-0-开篇
    一、什么是内存管理1.基础内存管理可以大致分为5块(1)物理内存管理node、zone、page、buddy-system、slab(2)虚拟内存管理虚拟内存分用户空间和内核空间,用户空间又分为很多段(代码段、数据段、栈、堆、mmap映射区、动态共享库等等);内核空间也是分为很多区域的,比如低端内存
  • 2024-06-20学习笔记:计算机内存管理
    虚拟内存    单片机是没有操作系统的,所以每次写完代码,都需要借助工具把程序烧录进去,这样程序才能跑起来。        单片机的CPU是直接操作内存的「物理地址」。        在这种情况下,要想在内存中同时运行两个程序是不可能的。如果第一个程序在20
  • 2024-06-16【Linux】线程(一)
    谈论之前需要先谈论一些线程的背景知识其中就有进程地址空间,又是这个让我们又爱又恨的东西。注意:全篇都是在32位的情况下进行的目录背景知识:地址空间:内存:页表:基于以上理解文件缓冲区与虚拟地址:文件缓冲区:虚拟地址:线程:linux下的线程:与进程的澄清:win下的进程:与linux
  • 2024-06-13内存交换空间(swap)
    内存交换空间(swap)swap是磁盘上的一块区域,是一种增加系统虚拟内存(磁盘空间充当内存)的特殊分区或文件。当系统的物理内存(RAM)不足以满足应用程序的运行需求时,Linux内核会使用swap临时存储不活跃的内存页,从而释放出物理内存供活跃进程使用。swap的原理swap的原理是基于操
  • 2024-06-10【操作系统】页表映射
    页表的一些术语现在Linux内核中支持四级页表的映射,我们先看下内核中关于页表的一些术语:全局目录项,PGD(PageGlobalDirectory)上级目录项,PUD(PageUpperDirectory)中间目录项,PMD(PageMiddleDirectory)页表项,(PageTable)大家在看内核代码时会经常看的以上术语,但在ARM的
  • 2024-06-10KPTI——可以缓解“熔断” (Meltdown) 漏洞的内核新特性
    Linux内核修复办法:内核页表隔离KPTl(kernelpagetableisolation)每个进程一张页表变成两张:运行在内核态和运行在用户态时分别使用各自分离的页表Kernel页表包含了进程用户空间地址的映射和Kernel使用的内存映射用户页表仅仅包含了用户空间的内存映射以及内核跳板的
  • 2024-06-08minos 1.1 内存虚拟化——hyp
    首发公号:Rand_csminos1.1内存虚拟化——hyp内存虚拟化,目前理解主要两方面:内存管理,没有虚拟化的情况时,对于Linux内核运行在物理硬件之上,内核需要管理物理内存,需要管理进程的虚拟内存。类似,type1类型的hypervisor/minos运行在物理硬件上,minos需要对物理内存管理,需要对
  • 2024-06-07BUAA操作系统万字笔记-课堂笔记-期末考试-考研必备-北航961系列
    文章目录1概论1.1CPU漏洞攻击1.2操作系统简史1.2.1体系结构1.2.2系统发展1.3操作系统基本实现机制1.3.1异常:陷阱和中断2系统引导3内存管理3.1预备知识-链接与装载3.2存储管理基础3.2.1存储器管理目标3.2.2存储器硬件发展3.2.3存储管理的功能3.2.4存储
  • 2024-06-04计算机组成原理·虚拟存储器页式段式和段页式
    虚拟存储器·页式·段式·段页式主存和辅存共同构成了虚拟存储器,在硬件和系统软件的共同管理下工作。对于程序员而言,虚拟存储器是透明的,将主存和辅存的地址空间统一编址用户编程允许涉及的地址称为虚地址或逻辑地址,虚拟地址对应的是存储空间称为虚拟空间实际的主存单元地址称为
  • 2024-06-02linux:进程地址空间
    在之前使用C语言中,我们知道使用malloc函数可以开辟一块堆空间,然后这块堆空间如果不用的话是需要释放的,然后一般的变量是放在栈区上面的,还有一些静态区,代码段是存放静态变量和代码的,这些空间可以说是内存,但他又不是真正意义上的物理内存,我们可以做一个实验,我们可以使用fork
  • 2024-05-30Linux——线程(线程概念)
    目录一、细粒度划分1.1、堆区细粒度划分1.2、物理内存和可执行程序细粒度划分1.3、虚拟地址到物理地址的转化二、线程概念2.1、基本概念2.2、线程优点2.3、线程的缺点2.4、线程异常 2.5、线程用途三、Linux下的进程和线程一、细粒度划分1.1、堆区细粒度划分 
  • 2024-05-28现代操作系统第三章读书笔记
    现代操作系统第三章读书笔记***3.3.1分页3.4页面置换算法3.5分页系统中的设计问题前面讨论了分页系统如何工作,介绍了基本的页面置换算法。当然,只了解基本机制是不够的。要设计一个系统,必须知道如何是这个系统工作的更好,需要从全局考虑一些问题。下面是一些能过使得整个系统
  • 2024-05-26Linux线程:线程的概念及定义
    目录一、线程的概念1.1什么是线程 1.2Linux中线程和进程的关系1.3页表的结构及实现二、线程的创建及使用2.1pthread_t一、线程的概念1.1什么是线程1、在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”。2、一切
  • 2024-05-26【操作系统】内存管理概述
    目录内存管理硬件结构早期内存的使用方法分段分页逻辑地址,线性地址(intel架构)虚拟地址物理地址结构图虚拟地址到物理地址的转换内存管理总览系统调用vm_area_struct缺页中断伙伴系统slab分配器页面回收反向映射KSMhugepage页迁移内存规整OOM内存管理的一些数据结构线性映射struct
  • 2024-05-26页表的再学习
    页表的再学习背景昨天研究了一下不使用大页内存可能会导致宕机的场景但是一些数据自己还是没有太弄明白所以早上在小区走路的时候又看了下页表和页的关系感觉多少理解了一些.所以想着在尝试总结一下.关于页的来源现代操作系统基本上都是段页式的内存管理段主要是区
  • 2024-05-25深入理解虚拟 物理地址转换,页表--基于ARMV8
    1.页表转换寄存器描述符1.1,页表/页目录结构基于前言中的内核配置,内核采用39位虚拟地址,因此可寻址范围为2^39=512G,采用(linux默认为五级页表,另外还有PUD,P4D,由于本文只配置三级,其他两项不予罗列)3级页表结构,分别为:PGD(PageGlobalDirectory)b
  • 2024-05-07MMU内存管理
    MMU内存管理目录MMU内存管理1.MMU简述2.MMU的功能3.内存分段与分页3.1内存分段3.1.1分段的不足3.2内存分页3.2.1分页的优势3.2.2分页的映射3.2.3多级页表参考1.MMU简述MMU(MemoryManagementUnit,内存管理单元)是一种硬件模块,用于在CPU和内存之间实现虚拟内存管理。它的主要功能
  • 2024-05-07MMU相关介绍
    什么是MMUMMU即内存管理单元(MemoryManageUnit),是一个与软件密切相关的硬件部件,也是理解linux等操作系统内核机制的最困难的知识点之一。1)概述研究MMU无法绕过的一个东西就是分页内存管理机制,也就是研究——页表。页表内存放的就是虚拟地址到物理地址的转换关系,也就是虚拟地址
  • 2024-05-07MMU内存管理单元
    V1.02024年5月7日发布于博客园目录MMU概述MMU关闭时MMU打开时MMU页表段大页小页极小页为什么要有MMU?MMU的关键功能:MMU在C语言编程中的应用:MMU在ARM系统中参考资料MMU概述MMU即内存管理单元(英语:memorymanagementunit,缩写为MMU),有时称作分页内存管理单元(英语:pagedmemorym
  • 2024-04-27进程和线程
    线程和进程linux中,进程和线程都用task_struct结构体表示,只是进程和线程的区别在于task_struct中的mm和files等资源是否共享。记录层面task_struct中有两个字段记录的是编号pid_tpid;/*processid*/task编号,唯一标识一个taskpid_ttgid;/*threadgroupid*/线程组编
  • 2024-04-24MIT6.S081 Lab Page Tables
    实验开始前的折腾突然发现2023版的和2020版的实验内容其实还不一样……因为我正在看的视频以及参考资料都是基于2020版的课程,因此我还是决定将之前的实验都迁移到2020版的xv6-lab-2020来。在自己的MacbookAir上折腾了好久……还是没能成功。因此还是用上了我在阿
  • 2024-04-11Linux页框管理(一)高端内存.md
    名词解释虚拟页(VP,VirtualPage),虚拟空间中的页;物理页(PP,PhysicalPage),物理内存中的页;磁盘页(DP,DiskPage),磁盘中的页。linux中的分页(linux2.6.11)页全局目录(PGD,PageGlobalDirectory)页上级目录(PUD,PageUpperDirectory)页中间目录(PMD,PageMiddle
  • 2024-04-07操作系统综合题之“分页存储系统,逻辑地址格式 和 页表多少项 和 每项多少位 和 物理空间减半页表结构怎么改变”
    一、问题:某系统采用基本分页存储管理策略,拥有逻辑地址空间32页,每页2K,拥有物理地址空间1M。要求1.请写出逻辑地址2.若不考虑访问权限,且页号不放入页表中,请问进程的页表有多少项?每项至少有多少位?3.如果物理空间减少一半,页表结构应做怎么样的改变? 二、参考答案1. 2.进程的
  • 2024-04-06Camera KMD ISP学习笔记(8)-Camera SMMU
    学习资料来源:https://deepinout.com/camx-kmd/camera-kmd-isp-subsystem-intro.html仅用于个人学习,侵联删 SMMU/IOMMU:处理IODeviceDMA访问内存的计算机硬件,实现dmaaddr(IOVA)到物理地址的映射MMU:处理CPU访问内存的计算机硬件,实现CPU虚拟地址到物理地址的映射 SMMU&&DMA
  • 2024-04-06虚拟内存知识详解
    虚拟内存单片机的CPU是直接操作内存的「物理地址」在这种情况下,要想在内存中同时运行两个程序是不可能的操作系统是如何解决这个问题呢?关键的问题是这两个程序都引用了绝对物理地址,而这正是我们最需要避免的。可以把进程所使用的地址「隔离」开来,即让操作系统为每