专栏名称: 易安说AI
分享业务架构、技术架构、系统设计方案,以及微服务架构源码,提供业务场景答疑
TodayRss-海外RSS稳定源
目录
今天看啥  ›  专栏  ›  易安说AI

【20期】操作系统为什么要引入虚拟内存?

易安说AI  · 公众号  ·  · 2024-10-08 07:09
    

主要观点总结

本文介绍了操作系统中引入虚拟内存的原因和虚拟内存的概念、作用。早期内存分配方法存在进程地址空间不隔离、内存使用效率低、程序运行的地址不确定等问题。为了解决这些问题,人们引入了虚拟内存,通过新增中间层,采用间接的地址访问方法访问物理内存。每个进程都有自己的虚拟地址空间,虚拟地址通过映射机制转换为物理地址。此外,还介绍了分段和分页两种虚拟内存管理的方法,以及它们在实际应用中的作用。最后总结了操作系统中需要虚拟内存的几点原因。

关键观点总结

关键观点1: 早期内存分配存在的问题

包括进程地址空间不隔离、内存使用效率低、程序运行的地址不确定等。

关键观点2: 虚拟内存的概念

通过新增中间层,采用间接的地址访问方法访问物理内存,程序中访问的内存地址是虚拟地址,然后由操作系统将虚拟地址映射到适当的物理地址上。

关键观点3: 虚拟地址空间与物理地址空间

创建进程时,操作系统会为该进程分配一个虚拟地址空间,这个空间是“虚拟”的,并不是真实存在的。与之相对的,物理地址空间对应的是真实的物理内存。

关键观点4: 分段和分页

分段是将虚拟地址空间和物理地址空间做一一映射,而分页则是将地址空间分成许多页,每页的大小由CPU决定,然后由操作系统选择页的大小,实现按需分配内存。

关键观点5: 虚拟内存的作用

虚拟内存可以利用磁盘做缓存和物理内存的优势为进程提供足够容量的内存和提升一定运行速度,可以为进程提供独立的内存空间并隔离不同进程的访问权限,提高系统的安全性。此外,通过多层的页表结构,进程可以共享物理内存,减少开销,简化程序的链接、装载以及内存分配过程。


免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
文章地址: 访问文章快照