首页 > 系统相关 >【Linux】【进程】进程的地址空间 虚拟地址 物理地址

【Linux】【进程】进程的地址空间 虚拟地址 物理地址

时间:2025-01-07 20:33:17浏览次数:3  
标签:32 虚拟地址 空间 物理地址 地址 页表 进程

【Linux】【进程】进程的地址空间 虚拟地址 物理地址

32位系统

	a. 32位操作系统可以访问4GB内存 
	b. cpu有八位位线 每次访问8bit 1字节
	c. cpu有32根地址线 每次访问2^32 
	d. 因此是2^32字节-->4GB

分为1GB的内核空间和3GB的用户空间

内核空间1GB
用户空间
3
GB

64位系统

cpu最大可以访问2^64,但是目前最大只使用了48位  256 TB  

分为128TB的用户空间和128TB的内核空间

内核空间128TB
未使用
未使用
用户空间128TB

虚拟地址 物理地址

不同系统下每个进程在虚拟地址都是一样的 需要通过虚拟地址通过查表(页表)来找到物理地址来访问和存储数据
页表是存储在物理内存(RAM)中的
cpu中的mmu负责根据页表查找对应物理地址
每个进程均有自己的用户地址空间转换表,以及所有进程共享内核地址空间转换表(如果有十个进程就有十个用户地址空间转换表和1个内核地址空间转换表)
用户地址空间转换表以及内核地址空间转换表均是每个进程的页表的组成部分)(每个进程都有自己的页表)

操作系统管理虚拟地址和物理地址主要通过

内存分段

虚拟地址分为 段选择因子段内偏移
段选择因子有段号标志位
段号用来索引段表
段表里面有段基地址 段界限和特权等级
段基地址段内偏移可以定位物理地址

内存分页

虚拟地址是由虚拟页号页内偏移构成
虚拟页号用来查询页表
页表里面主要有两大部分:页表属性物理页号
页表属性可以判断此页是否在物理内存上
物理页号+页内偏移可以定位物理地址

多级页表

层层查找

32位–>二级目录

虚拟地址分为 1级页号+二级页号+页内偏移

64位–>四级目录

虚拟地址分为 PGD+PUD+PMD+PTE+OFFSET

标签:32,虚拟地址,空间,物理地址,地址,页表,进程
From: https://blog.csdn.net/m0_64014551/article/details/144990832

相关文章

  • 进程间通信
    一、概念进程间通信(Inter-ProcessCommunication,IPC)是指在操作系统中,两个或多个独立的进程之间进行数据交换和信息共享的机制。在多任务和多进程的操作系统中,进程通常是相互独立的,IPC提供了一种机制,使它们能够协同工作、交换数据和实现同步。二、方式1、管道(Pipe):匿名管道(Anony......
  • python协程是否可以解决python多进程队列等待的时间消耗
    相关:强化学习:手动实现一个并行环境采样的代码——SynVectorEnv之前写了一个python环境下的多进程仿真环境采样的代码库,后来突发奇想,想到是否可以使用python的协程来解决python多进程同步通信的等待时间消耗,后来写了个Demo的代码,发现没有啥用,准确来说确实有提高,性能提高的又1......
  • Python语言中进程、线程、协程执行效率分析
    python语言中进程、线程、协程执行效率比较。问题:python语言中进程、线程、协程执行速度哪个最快?在Python中,进程、线程和协程的执行速度不能简单地进行比较,因为它们的性能取决于多种因素,包括任务类型、I/O操作、CPU密集型计算、操作系统调度策略以及Python解释器的实现。进......
  • 简易动态进程池
    /************proto.h********************/#ifndef__PROTO_H__#define__PROTO_H__#defineFORMAT "%ld\n"#defineMINIDLEPROCNUM 5#defineMAXIDLEPROCNUM 10#defineMAXPROCNUM 20#defineSERVERPORT "4096"#endif /************se......
  • Electron进程间如何通信?
    Electron进程间通信主要涉及到主进程(MainProcess)和渲染器进程(RendererProcess)之间的信息交换。在Electron中,这两种进程之间的通信是通过ipcMain和ipcRenderer模块来实现的。以下是Electron进程间通信的几种主要方式:渲染器进程到主进程的单向通信:使用ipcRenderer.sendAPI从......
  • 04-Linux系统编程之进程
    一、进程的概述1.什么是进程进程:即进行中的程序,可执行文件从开始运行到结束运行这段过程就叫进程。2.程序和进程的区别程序:存储在磁盘上、占磁盘空间、静态的。如:我们编写的C语言代码就是程序,存储在我们电脑磁盘上;进程:运行在系统上、占内存空间,动态的,包括进程的创建......
  • 哪个进程在侦听vxlan的udp socket
    intro作为一个分布式虚拟化系统,网络在k8s中有重要意义。不同node上pod如何基于网络进行通讯是一个需要解决的基本/重要问题。在k8s的NetworkingandNetworkPolicy中提到了常用的网络策略。其中的列表显然是按照字典序(而不是使用频率)排列,其中提到了比较常用的flannel模型,这个......
  • 前端基础知识:浏览器的进程与线程
    白话文先总结把浏览器想象成一栋楼,每家就是一个进程,家里的每个人就是线程,每个进程有一块独立的区域也就是内存,每个进程可以有多个线程同时工作可以互不干扰。1.什么是进程与线程?进程定义:进程是计算机操作系统中资源分配的最小单位。特点:每个进程有独立的内存空间......
  • 【Linux】进程铺垫——冯诺依曼体系与操作系统概念
    ......
  • 【开发工具】好用的进程管理工具supervisor
    supervisor配置与使用概述配置文件详解其他高级用法相关文献概述Supervisor是一个用Python编写的进程管理工具,主要用于在类Unix系统中管理和监控长时间运行的进程。以下是对它的详细介绍:一、功能特点进程监控Supervisor可以自动启动、停止和重启进程。当被管理......