• 2024-11-16操作系统离散存储练习题
    1. (简答题)分页存储管理系统具有快表,内存访问时间为2ns,检索快表时间为0.5ns,快表命中率为80%,求有效访问时间-分析:首先访问缓存(快表),如果没有找到访问内存(页表)。不管是快表+页表找到还是快表直接找到目标位置,都要访问内存找目标。-解答:80%*0.5+(2+0.5)*(1-80%)+2=2.9ns2. (简答
  • 2024-11-12DDCA —— 大缓存、虚拟内存:多核缓存、NUCA缓存、页表等
    1.缓存中的多核问题1.1多核系统中的缓存IntelMontecito缓存两个core,每个都有一个私有的12MB的L3缓存和一个1MB的L2缓存,图中深蓝色部分均为L3缓存。在多核/多线程系统中,缓存效率变得更加重要存储器带宽非常宝贵缓存空间是各内核/线程的有限资源如何设计多
  • 2024-11-12考研打卡(15)
    开局(15)开始时间 2024-11-12 20:37:51结束时间 2024-11-12 22:41:32现在在敷泥膜数据结构设已知一稀疏矩阵的三元组表为:(1,2,3),(1,6,1),(3,1,5),(3,2,-1)(5,4,5),(5,1,-3),则其转置矩阵的三元组表中的第三个三元组为____(山东大学2013年)A(2,1,3)B(3,1,5)C(3,2,-1)D(2,3,-1)A
  • 2024-11-05Mit6.S081笔记:页表笔记
    xv6手册:https://pdos.csail.mit.edu/6.S081/2020/xv6/book-riscv-rev1.pdf相关翻译:http://xv6.dgs.zone/labs/requirements/lab5.html感觉页表很多地方没理解,学习的时候把一些关键地方记录起来,如有错误恳请各位大佬指正。页表笔记​​ 页表是操作系统为每个进程提供私有地址
  • 2024-11-04Windows 虚拟地址 到底是如何映射到 物理地址 的?
    一:背景1.讲故事我发现有很多的.NET程序员写了很多年的代码都没弄清楚什么是 虚拟地址,更不用谈什么是 物理地址 以及Windows是如何实现地址映射的了?这一篇我们就来聊一聊这两者之间的联系。二:地址映射研究1.找虚拟地址怎么去找 虚拟地址 呢?相信很多朋友都知道应用
  • 2024-10-27CPU如何通过内存地址访问内存:寻址方式
    寻址方式:物理寻址分段寻址虚拟寻址分页寻址:引申出多级页表起源:寻址方式的发展取决于CPU位数和内存大小,16位就用物理分段寻址,32位用虚拟分段寻址或者2级分页寻址,64位一定用4级分页寻址了CPU的位数决定了:寻址能力:能够直接寻找地址的范围,比如16位的cpu只能找到从0
  • 2024-10-19【Linux】Linux进程地址空间
    1.程序地址空间分配回顾在前⾯C语⾔以及C部分介绍过⼆者的内存分配如下图所示:全局变量区和未初始化全局变量区也被称为数据区,数据区中除了有全局变量,还有静态变量和常量使⽤下⾯的代码演示不同的内容所处的地址:#include<stdio.h>#include<unistd.h>#include<stdli
  • 2024-10-01操作系统:保护模式(二)内存模型
    平坦内存模型现代操作系统一般不会使用过于复杂的分段机制,而是采用平坦内存模型+分页模型来管理内存。平坦内存模型(FlatMemoryModel),这是现代操作系统(如Linux和Windows)常用的内存模型。在这种模型中,所有段的段基址都为0,段界限为4GB,使得整个内存空间看起来像一个连续的内
  • 2024-09-24软设每日打卡——在一个页式存储管理系统中,页表内容如下所示: 若页的大小为4KB,则地址转换机构将逻辑地址0转换成物理地址(块号在0开始计算)为
    在一个页式存储管理系统中,页表内容如下所示:                  若页的大小为4KB,则地址转换机构将逻辑地址0转换成物理地址(块号在0开始计算)为A、8192        A、4096        C、2048        D、1024        答案:A解:
  • 2024-09-12进程地址空间
    引例#include<stdio.h>#include<unistd.h>intmain(){inttest_num=0;pid_tpid=fork();if(pid==0){test_num=100;printf("子进程test_num的值%d,test_num的地址%p\n",test_num,&test_num);}elseif(pid>0)
  • 2024-09-10【Linux进程详解】进程地址空间
    目录1.直接写代码看现象2.引入最基本的理解3.细节问题-理解它1.直接写代码看现象#include<stdio.h>#include<string.h>#include<unistd.h>#include<stdlib.h>#include<unistd.h>intg_val=100;intmain(){printf("fatherisrunning,pid:%d,
  • 2024-09-09逻辑地址转换为物理地址题型:在页式存储管理系统中,逻辑地址0对应块号2,页大小为4KB,则换为物理地址为多少?(详细例题讲解+形象类比容易理解)
    例题:在页式存储管理系统中,逻辑地址0对应块号2,页大小为4KB,则换为物理地址为多少?在页式存储管理系统中,逻辑地址通常由页号和页内偏移量组成。给定的信息是逻辑地址0对应块号2,页大小为4KB(即4096字节)。首先,我们需要确定页内偏移量。由于逻辑地址是0,这意味着页内偏移量也是0。接下
  • 2024-09-06两个月冲刺软考——逻辑地址与物理地址的转换(例题+讲解);文件类型的考点
    1.已知计算机系统页面大小和进程的逻辑地址,根据页面变换表(页号-物理块号),求变换后的物理地址。首先介绍几个公式:逻辑地址=页号+页内地址(默认为32机位)物理地址=物理块号+物理地址的页内地址其中:页内地址=物理地址的页内地址解题:由于页面大小为4K,即4K=2的1
  • 2024-08-25Linux 进程 | 进程地址空间
    文章目录进程地址空间程序地址空间进程地址空间进程地址空间程序地址空间地址空间一共有如下的几个区域,从下到上地址逐渐增加,其中栈区的空间是从上往下使用,即从高地址往低地址增长;堆区的空间是从下往上使用,即从低地址往高地址增长,需要注意的是,在不同位操作系统下
  • 2024-08-24[操作系统]访问一个逻辑地址发生了什么
    当CPU想要访问一个逻辑地址的时候,我们需要做两个步骤,地址转换和内存访问地址转换逻辑地址是程序内部使用的地址,并非真正的物理地址。从逻辑地址到物理地址的映射,由页表来完成,页表的内容包括,逻辑页号,物理页号,有效位,有效位表示这一页是否在内存中。页表存放在内存中,如果需要频繁
  • 2024-07-30第19章 分页机制和动态页面分配
    本章学习目标了解页目录、页表的结构和作用清楚为什么当我们访问一个段的某单元时,处理器能准确的知道它在哪个页,以及页内位置的基本原理1.分页机制概述。1.1简单的分页模型分段的内存管理模式依靠的是段部件。段地址加上偏移量就是线性地址,分页模式没有开启的时候这就
  • 2024-07-26第二章 寄存器
    第二章寄存器一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。在CPU中:运算器进行信息处理。寄存器进行信息存储。控制器控制各种器件进行工作。内部总线连接各种器件,在它们之间进行数据的传送。2.1通用寄存器AX、BX、CX、DX这4个寄存器通
  • 2024-07-1901-初始化引导程序
    原理说明Bios会加载第一扇区到内存中,只有512字节,因此该部分的程序无法做太多的事,因此需要扩展程序,有以下两种方式:这里选用方式二,因为实现起来相对简单一点。16位实模式的情况下,寄存器也是16位,详见下图右边的AXBXCXDX8086CPU的寻址范围是1MB确定物理地址的方
  • 2024-07-02操作系统内存管理学前补充知识
    操作系统内存管理学前补充知识目录操作系统内存管理学前补充知识什么是内存,有什么作用数据的数量单位指令的工作原理3种装入的方式(逻辑地址—>物理地址)绝对装入静态重定位动态重定位从写程序到程序的运行链接的三种方式什么是内存,有什么作用手机有内存,电脑中也有内存条。内存的
  • 2024-06-20学习笔记:计算机内存管理
    虚拟内存    单片机是没有操作系统的,所以每次写完代码,都需要借助工具把程序烧录进去,这样程序才能跑起来。        单片机的CPU是直接操作内存的「物理地址」。        在这种情况下,要想在内存中同时运行两个程序是不可能的。如果第一个程序在20
  • 2024-06-18操作系统 页式和段式存储管理地址变换
    逻辑地址怎么变换成物理地址-段表和页表下面转换首先介绍一下相关的概念:逻辑地址:在计算机体系结构中是指应用程序角度看到的内存单元、存储单元、网络主机的地址,又叫相对地址。是在网络层及以上使用的地址(ip地址就是其中一种)逻辑地址=页号地址+页内地址物理地址:是在
  • 2024-06-10linux内核空间进程为什么无论如何切换,内核地址空间转换到物理地址的关系是永远不变的?
    在Linux内核中,无论如何切换进程,内核地址空间转换到物理地址的关系是永远不变的,主要原因是内核地址空间在所有进程中是共享的。这种设计有几个关键点:1.内核地址空间共享在Linux操作系统中,每个进程都有自己独立的用户空间地址范围,但内核空间地址范围对所有进程是共享的。具体来说
  • 2024-05-26【操作系统】内存管理概述
    目录内存管理硬件结构早期内存的使用方法分段分页逻辑地址,线性地址(intel架构)虚拟地址物理地址结构图虚拟地址到物理地址的转换内存管理总览系统调用vm_area_struct缺页中断伙伴系统slab分配器页面回收反向映射KSMhugepage页迁移内存规整OOM内存管理的一些数据结构线性映射struct
  • 2024-05-25深入理解虚拟 物理地址转换,页表--基于ARMV8
    1.页表转换寄存器描述符1.1,页表/页目录结构基于前言中的内核配置,内核采用39位虚拟地址,因此可寻址范围为2^39=512G,采用(linux默认为五级页表,另外还有PUD,P4D,由于本文只配置三级,其他两项不予罗列)3级页表结构,分别为:PGD(PageGlobalDirectory)b
  • 2024-05-22逻辑地址和物理地址及逻辑磁盘和物理磁盘
    一、逻辑地址和物理地址1.1含义:逻辑地址和物理地址是计算机内存管理中的两个核心概念,它们在计算机系统中扮演着不同的角色。逻辑地址(LogicalAddress),也称为虚拟地址(VirtualAddress),是由操作系统提供给程序使用的地址。这些地址是在程序中使用的,但并不是实际存在的地址。