Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
  • 进程管理

  • 内存管理

    • 内存分页
      • 虚拟地址和物理地址如何映射?
      • 页面置换算法
    • 内存分段
    • 段页式内存管理
    • 虚拟内存
    • 快表
  • 网络系统

  • 调度算法

  • 文件系统

  • 如何终止8080端口
  • 操作系统
  • 内存管理
Nreal
2024-03-07
目录

内存分页

# 虚拟地址和物理地址如何映射?

分页机制下,虚拟地址分为两部分:页号+页内偏移;

页号作为页表的索引;页表包含物理页每页所在的物理内存的基地址,这个基地址与页内偏移的组合形成了物理内存地址;

内存地址转换步骤:

  1. 将虚拟内存地址,切分成页号和偏移量;
  2. 根据页号,从页表里面,查询对应的物理页号(基地址);
  3. 物理页号+偏移量,得到物理内存地址;

# 页面置换算法

物理内存中没有空闲的物理页面可用,操作系统必须将物理内存种的一个物理页淘汰出去;

  1. 先进先出页面置换算法:总是淘汰最先进入内存的页面;
  2. 最近最久未使用页面置换算法:LRU;
  3. 最少使用页面置换算法:LFU;
  4. 最佳页面置换算法:优先选择淘汰的页面是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率;
  5. 时钟页面置换算法:一种最近未使用算法;
线程
内存分段

← 线程 内存分段→

Theme by Vdoing | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式