首页 > TAG信息列表 > 物理地址

【kernel】vmalloc和kmalloc以及malloc

kmalloc,相当于kernel在访问硬件寄存器的时候,申请的内存,无论是物理还是虚拟地址空间都必须是连序的 vmalloc,虚拟连序,但物理地址上并不连序,vmalloc效率较低,因为要另外建立页表项,映射虚拟地址与物理地址 vmalloc一般在申请大内存的时候才会使用

C++学习

变量名和变量地址之间的关系 程序中最离不开的就是变量,而变量相当于是一个容器,是用来存放数据的,变量是存放在内存中的。 在C++ 中定义变量的形式是: 数据类型 + 变量名,这里的变量名实际上是一个符号地址,在程序编译时,操作系统将为每个变量在内存中分配内存,所以每个变量都有一个在内

2022春 东南大学 操作系统考试回忆

一,判断题 考试内容非常常规,出现了较多2017年期末考试卷的判断题内容。I/O操作只考了两道,整体没有太大印象,并不偏。大概12道期中考试后的章节,8道期中考试前内容。   二,简答题 1. Compare the concept of concurrency and parallel. 2. Compare the concepts of user thread, kern

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

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

crash命令 —— pte

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

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

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

lab3 实验报告

思考题 Thinking 3.1 env_id = (asid << 11) | (1 << 10) | index,其保证了每一个进程控制块的id唯一。 在进行env_id != envid判断前仅仅只利用了index后10位进行偏移找到进程控制块e,无法保证高6位的asid信息相同。如果不判断,无法保证所取到的env为所需要的。 Thinking 3.2 A1: U

用crash tool观察ARM64 Linux地址转换

初学者学习Linux系统地址转换时,如果只是学习理论,又或者研读代码,那可能感觉比较枯燥。此时如果可以利用某些工具实际观察一下地址转换的过程,那可能会给枯燥的内核学习带来些微的乐趣。crash tool是一款内核调试工具,常用来分析内核崩溃问题。我们可以手动触发内核崩溃,然后借用该工具

存储器管理——内存管理的概念

操作系统负责的内存管理: 1.内存空间的分配与回收 2.从逻辑上扩充内存空间(游戏GTA的大小超过60GB,按理来说这个游戏程序运行之前需要把60GB数据全部放入内存。然而,实际我的电脑内存才4GB,但为什么这个游戏可以顺利运行呢?一虚拟技术(操作系统的虚拟性)) 3.地址转换功能,逻辑地址→物理

lab2 实验报告

思考题 Thinking 2.1 C程序中指针变量存储的地址是虚拟地址。 MIPS汇编程序使用的也是虚拟地址。 CPU只会发出虚拟地址,然后完成虚拟地址到物理地址的转换,最后根据物理地址访存。 Thinking 2.2 宏本身就具有可重用性,将一段代码封装成一条语句。 程序运行时存在着大量重复的链表操

【Lab2】内存管理

上了一段时间的内存管理了,但感觉稀里糊涂。感觉像是各种概念没有在脑中串成一幅完整的图景。于是打算画一画、理一理 MOS中内存管理图景 虚拟地址 - 二级页表 - 自映射 - 物理地址 tlb - 页面置换 感觉还有理解问题,觉察了再改

mmu浅析

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

ARM体系架构——MMU【转】

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

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进行

mysql中索引的实现逻辑

mysql中的索引给sql语句的执行提高了很大的效率,具体在什么场景下才适合使用索引?什么是索引? 1、在数据量非常庞大的数据   --索引可以大大的缩小检索的范围,从而快速的定位到数据 2、该字段很少执行DMl语句时  --因为在数据库中索引会自动的维护,当有DML语句对索引字段执行的时候,

二十五、linux内存映射

一、物理地址空间是什么   理解虚拟地址空间还得从物理地址空间开始说起。我们知道内存就像一个数组,每个存储单元被分配了一个地址,这个地址就是物理地址,所有物理地址构成的集合就是物理地址空间。物理地址也就是真实的地址,对应真实的那个内存条。 如果CPU使用物理地址向内存寻址

《操作系统原理》 记录(18)

/** * TODO 《操作系统原理》 记录(18) * @内存分配 * @首次适应 * 分配第一个足够大的“孔” * 从头开始或者从上次首次适应之后继续开始 * 一旦找到一个大块则停止 * * @最佳适应 * 分配最小的足够大的孔 * 查

Linux ——进程的虚拟地址空间,逻辑地址和物理地址,进程管理命令

进程的虚拟地址空间 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,虚拟地址空间的大小由计算机的硬件平台决定,比如32位的平台决定了虚拟地址空间为4G(因为32位系统上指针能够寻址的范围是232) 这4G空间的分配如下: 1.内核空间(1G) 驻留在内存内,是操作系统的一

二层三层交换机的区别

OSI模型分为七层包括应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。二层交换机(传统交换机)处于数据链路层主要功能是识别数据包中的MAC地址,再根据MAC地址将数据包转发,并将MAC地址对应的端口保存到自己的地址表中,多个主机通过网线与交换机相连就组建了一个局域

TCP/IP常用术语

TCP/IP常用术语 术语 描述 网关 连接LAN到大型网络的路由器。在专属LAN协议当道的时期,术语“网关”有时指执行一些协议转换的路由器。 逻辑地址 通过协议软件配置的网络地址 物理地址 与网络硬件相关的地址。在以太网适配器中,物理地址通常在适配器出场之前分配给它。

linux I/O内存访问

先看一个在无操作系统的情况下,用C语言访问片上寄存器的范例,这是访问S3C2440UART1的FIFO控制寄存器的示例,先定义FIFO控制寄存器为UFCON1: #define UFCON1 (*(volatile unsigned *)Ox50004008) //*UART 1 FIFO控制寄存器 给UFCON1赋值: UFCON1 = Ox00; //禁止FIFO功能 这个示

Wireshark抓包软件学习

前言 需要监控网卡传输的状态,因此用到了Wireshark抓包软件,这里记录了一下此软件的一些学习和通信名词的解释说明 ARP:地址解析协议 MAC地址:数据链路层:物理地址! (分配是基于制造商) IP地址:网络层 (分配是基于网络拓扑) 包:数据包。Packet是数据单位,位于网络层! 在TCP/IP协议中,数据被

OSI七层网络协议

第一层 物理层 用来保证两台物理机之间的数据通信,物理层所做的事情就是在两台机器间传输比特流,进行数模转换和模数转换,转换成电流强弱 第二层 数据链路层 这层主要是用来简单的封装比特流,将比特流形式封装成帧用于数据的传输,控制对物理介质的访问,交换机工作在这层,将解封装帧后的

【操作系统】内存管理

虚拟内存 虚拟内存是计算机系统内存管理的一种技术,它使应用程序认为它拥有连续的可用的内存,而实际上它通常被分隔成多个物理内存碎片,还有部分存储在外部磁盘存储器上,在需要时进行数据交换。 程序使用的内存地址叫做虚拟内存地址,实际存在硬件的空间地址叫物理地址 进程通过虚拟地址

Windows内存管理-分页

0x01分页图 cr0 寄存器pg位为1就是开启分页模式之后说有的地址都是虚拟地址 经过换算得到物理地址再去访问 ps=0时   ps=1时           计算方法,这里的pde 是页目录 pte 页表  cr3 是物理地址  下面是个实际例子       这里取得 31-12位 地址后面都要补充000 因为页