虚拟内存与物理内存之间的映射关系

当我有a.out 和 b.out 这两个程序 不占用内存 ,当 变成./a.out ./b.out就会生成0-4g 的进程控制块 占用内存 0-3g用户区 3g-4g内核区
pcb进程控制块本质:struct结构体 (有成员变量)位于内核空间

比如int a=10 放在虚拟地址上 肯定不行 真正在物理的内存条上 一个页大小4kb

最后映射一定是分块映射 页表不一样

当我要申请地址 连续 实际上在内存条离散的 但是映射出来的是连续的

此时内核-操作系统怎么映射 ? 是同一块-一个os 一个内核 内核共享 注意分时 同个时间就是一个进程 ,两个进程间才可以通信
MMU 1.虚拟内存与物理内存映射 2.设置修改内存访问级别

物理内存 cpu内部的mmu在给cpu传指令的时候 有一些指令和操作系统,底层硬件相关的。有一些指令只在用户层面。因此cpu会把内存分级 在linux上只分为两级0 和3

一个寄存器只有4字节大小

相关推荐
深度Linux2 小时前
Linux网络编程中的零拷贝:提升性能的秘密武器
linux·linux内核·零拷贝技术
chian-ocean6 小时前
从理论到实践:Linux 进程替换与 exec 系列函数
linux·运维·服务器
拎得清n6 小时前
UDP编程
linux
敖行客 Allthinker6 小时前
从 UTC 日期时间字符串获取 Unix 时间戳:C 和 C++ 中的挑战与解决方案
linux·运维·服务器·c++
夏尔Gaesar7 小时前
Vim安装与配置教程(解决软件包Vim没有安装可候选)
linux·编辑器·vim
hunter2062067 小时前
如何监控ubuntu系统某个程序的运行状态,如果程序出现异常,对其自动重启。
linux·chrome·ubuntu
慕雪华年8 小时前
【Linux】opencv在arm64上提示找不到libjasper-dev
linux·运维·opencv
s_little_monster11 小时前
【Linux】从硬件到软件了解进程
linux·运维·服务器·经验分享·笔记·学习·学习方法
zyhhsss13 小时前
Ubuntu&Windows双系统安装
linux·运维·ubuntu
Marilynhom13 小时前
CentOs9新手教程
linux·centos