操作系统体系结构和内存分层

简介: 操作系统体系结构和内存分层

操作系统体系结构和内存分层


计算机体系结构、内存分层体系


计算机基础硬件:

  • CPU:
  • 内存:
  • 设备IO:


内存的层次结构(从上到下速度一次递减):

  • 寄存器
  • cache
  • 主存(物理内存):
  • 磁盘(虚拟内存):


操作系统内核-内存管理的目标:

  • 抽象:逻辑地址空间
  • 保护:独立地址空间
  • 共享:访问相同内存
  • 虚拟化:更多的地址空间


操作系统中管理内存的不同方法:

  • 程序重定位
  • 分段
  • 分页
  • 虚拟内存
  • 按需分页虚拟内存


实现高度依赖于硬件

  • 必须知道内存架构
  • MMU(内存管理单元):硬件组负责处理CPU的内存访问请求


地址空间&地址生成


  • 物理地址空间:硬件支持的值空间
  • 逻辑地址空间:一个运行程序所拥有的内存范围


逻辑地址和物理地址转换


CPU方面:

  • 运算器需要在逻辑地址的内存内容
  • 内存管理单元寻找在逻辑地址和物理地址之间的映射
  • 控制器从总线中发送在物理地址的内存请求


内存方面:

  • 内存发送物理地址内存中的内容给CPU


操作系统方面:

  • 建立逻辑地址和物理地址之间的映射


连续内存分配


  • 内存碎片问题
  • 空闲内存不能被利用
  • 外部碎片:在分配单元间的未使用内存
  • 内部碎片:在分配单元中的未使用内存


  • 分区的动态分配


简单的内存管理方法


当一个程序准许运行在内存中时,分配一个连续的区间

分配一个连续的内存区间给运行的程序以访问数据


分配策略:


第一适配:


为了分配n字节,使用第一个可用空闲块以致块的尺寸比n大;

需求:按照地址排序的空闲块列表,分配需要寻找一个合适的分区,重分配需要检查看是否自由分区能合并于相邻的空闲分区。

优点:易于产生更大的空闲块,向着地址空间的结尾。

缺点:容易产生外部碎片,不确定性。


最佳适配:


为了避免分割大的空闲块,为了最小化外部碎片产生的尺寸

需求:按照尺寸排列的空闲块列表,分配需要寻找一个合适的分区,重分配需要搜索以及合并于相邻的空闲分区。

优点:当大部分分配是小尺寸时非常有效,比较简单

缺点:外部碎片,重分配慢,易产生很多没用的微小碎片


最差适配:


为了避免有太多微小碎片

需求:按尺寸配列的空闲块列表,分配很快,重新分配需要合并于相邻的空闲分区,然后调整空闲块列表

优点:假如分配是中等尺寸效果最好

缺点:重分配慢,外部碎片,易于破碎大的空闲块以致大分区无法被分配


  • 压缩式碎片整理
  • 通过拷贝方式将碎片内存块整理成连续的内存块
  • 交换式碎片整理
  • 运行程序需要更多的内存
  • 抢占等待的程序&回收他们的内存
目录
相关文章
|
2天前
|
存储 算法 安全
深入理解操作系统内存管理:原理与实践
【5月更文挑战第25天】 随着计算机技术的不断发展,操作系统在硬件资源管理中扮演着越来越重要的角色。其中,内存管理作为操作系统的核心功能之一,对于提高系统性能和稳定性具有重要意义。本文将深入探讨操作系统内存管理的基本原理,包括内存分配、内存回收、内存保护等方面,并通过实例分析如何在实际开发中优化内存管理策略,以提高系统运行效率。
|
2天前
|
存储 算法 安全
深入理解操作系统的内存管理机制
【5月更文挑战第25天】 本文旨在探索和剖析操作系统中至关重要的一环——内存管理。不同于常规的技术解读,我们将从操作系统的角度出发,深入分析内存管理的基本原理、关键组件以及其对系统性能的影响。通过本文,读者将获得对操作系统内存管理机制深层次的认识,包括物理内存与虚拟内存的映射关系、分页系统的工作原理以及内存分配策略等关键技术点。文章还将讨论现代操作系统如何通过优化内存使用提高系统效率,以及内存安全与保护机制的重要性。
|
1天前
|
内存技术
深入理解操作系统内存管理:原理与实践
【5月更文挑战第26天】 操作系统的内存管理是计算机科学中至关重要的一环,它不仅关系到系统性能的优化,还涉及到程序运行的稳定性与安全性。本文将深入探讨操作系统中的内存管理机制,包括物理内存与虚拟内存的映射关系、分页系统的工作原理以及内存分配策略。通过对这些概念的剖析和相关技术的实践指导,旨在帮助读者构建起对操作系统内存管理的深刻理解,并能够在实际工作中运用这些知识解决相关问题。
|
2天前
|
算法 内存技术
深入理解操作系统的内存管理机制
【5月更文挑战第26天】 在现代计算机系统中,操作系统扮演着至关重要的角色,它负责协调和管理硬件资源,确保系统高效稳定地运行。其中,内存管理是操作系统核心功能之一,它直接影响到系统的性能和稳定性。本文将深入探讨操作系统中的内存管理机制,包括物理内存与虚拟内存的概念、分页系统、内存分配策略以及内存保护等关键技术点,旨在为读者提供一个全面细致的技术解析。
|
2天前
|
算法 Linux 调度
深入理解操作系统的内存管理
【5月更文挑战第25天】操作系统的核心职责之一是高效地管理计算机硬件资源,尤其是内存。本文旨在探讨操作系统内存管理的机制、策略以及其对系统性能的影响。我们将详细分析分页与分段机制、虚拟内存技术以及内存分配策略等关键概念,并讨论现代操作系统中内存管理的创新趋势。通过本文,读者将获得对操作系统如何处理和优化内存使用的深入见解。
|
2天前
|
机器学习/深度学习 缓存 算法
深入理解操作系统的虚拟内存管理利用机器学习技术优化数据中心能效
【5月更文挑战第25天】 在现代计算机系统中,虚拟内存是允许用户程序逻辑地址空间与物理内存解耦的关键概念。它为每个进程提供了一个独立的、连续的地址空间,通过内存管理单元(MMU)硬件的支持,将程序使用的虚拟地址映射到实际的物理内存地址。这种机制不仅简化了程序的编写和内存的管理,还提供了保护机制,防止不同进程之间的相互干扰。本文将探讨虚拟内存的工作原理、分页系统的实现以及虚拟内存带来的性能影响,并讨论操作系统如何优化内存使用和管理。
|
2天前
|
存储 缓存 安全
深入理解操作系统的内存管理机制
【5月更文挑战第25天】 操作系统的核心职责之一是管理计算机硬件资源,尤其是内存资源的分配与管理。本文将探讨操作系统中内存管理的关键技术和原理,包括物理内存与虚拟内存的映射、分页机制、以及内存分配策略等。通过对这些概念的详细剖析,我们不仅能够理解操作系统如何高效地利用有限的内存资源,还能学习到提升系统性能和稳定性的相关技术。
|
3天前
|
缓存 算法 Linux
深入理解操作系统内存管理:原理与实践
【5月更文挑战第25天】 本文旨在探讨操作系统中的关键组成部分——内存管理。我们将从内存管理的基本原理出发,逐步深入到实际操作系统如Windows和Linux中的内存管理策略。文章不仅涵盖了内存的分配、回收以及分页与分段机制,还对虚拟内存技术进行了详细的解析。通过理论与实例相结合的方式,读者能够获得对操作系统内存管理更为深刻的认识,并掌握其在实际系统中的应用。
|
3天前
|
监控 安全 Unix
操作系统的体系结构、内核、虚拟机
操作系统的体系结构、内核、虚拟机
12 2
|
3天前
|
算法 内存技术
深入理解操作系统内存管理:从虚拟内存到物理内存的旅程
【5月更文挑战第24天】 在现代计算机系统中,操作系统的内存管理是确保系统高效稳定运行的关键组成部分。本文将探讨操作系统是如何通过虚拟内存到物理内存的映射机制,实现对内存资源的高效管理和保护。我们将剖析分页和分段两种主要的内存管理技术,并讨论它们如何协同工作以提供内存抽象、重定位、共享和保护。文章还将涉及虚拟内存的技术细节,包括页面置换算法和内存分配策略,以及它们对系统性能的影响。