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

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

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


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


计算机基础硬件:

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


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

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


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

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


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

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


实现高度依赖于硬件

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


地址空间&地址生成


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


逻辑地址和物理地址转换


CPU方面:

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


内存方面:

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


操作系统方面:

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


连续内存分配


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


  • 分区的动态分配


简单的内存管理方法


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

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


分配策略:


第一适配:


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

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

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

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


最佳适配:


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

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

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

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


最差适配:


为了避免有太多微小碎片

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

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

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


  • 压缩式碎片整理
  • 通过拷贝方式将碎片内存块整理成连续的内存块
  • 交换式碎片整理
  • 运行程序需要更多的内存
  • 抢占等待的程序&回收他们的内存
目录
相关文章
|
3天前
|
算法 UED
深入理解操作系统:虚拟内存管理机制
【7月更文挑战第4天】在数字时代的浪潮中,操作系统的虚拟内存管理机制如同一座精巧的时间桥梁,连接着有限的物理资源与无限的程序需求。本文将揭开这座桥梁的秘密,从虚拟内存的基本概念出发,逐步深入到页面置换算法的世界,探讨它们如何影响系统性能和用户体验。通过对比分析不同的页面置换策略,我们旨在为读者提供一种全新的视角,以理解和评估现代操作系统中这一至关重要的功能。
6 1
|
5天前
|
存储 缓存 算法
操作系统的内存管理机制及其对系统性能的影响
本文深入探讨了操作系统中内存管理的关键技术和策略,以及它们如何影响计算机系统的整体性能。通过分析不同的内存分配算法、虚拟内存技术、以及缓存策略,本文旨在揭示这些机制对于提高资源利用效率、减少延迟和优化用户体验的重要性。结合最新的研究成果和实际案例,本文为读者提供了对操作系统内存管理深度理解的视角,并讨论了未来可能的发展趋势。
|
6天前
|
存储 安全 Linux
深入理解操作系统:从进程管理到内存分配
【6月更文挑战第30天】在数字时代的心脏,操作系统是现代计算不可或缺的组成部分。本文将深入探讨操作系统的核心功能,包括进程管理、内存分配以及文件系统管理。我们将通过实际案例分析,揭示这些机制如何在提高计算机性能的同时保证资源的有效利用。文章旨在为读者提供对操作系统工作原理的深刻理解,并展示其在现代技术中的应用价值。
|
11天前
|
存储 缓存
操作系统的虚拟内存管理机制
在现代计算机系统中,虚拟内存是一种至关重要的内存管理技术。它允许操作系统使用硬盘空间来扩展物理内存容量,从而支持更多并发运行的程序。本文将深入探讨虚拟内存的概念、实现方式以及其在操作系统中的作用和重要性。
|
11天前
|
存储 算法
探索现代操作系统中的虚拟内存管理技术
在数字时代的浪潮中,操作系统的心脏——虚拟内存管理技术,正以它独有的韵律跳动。本文将带你穿梭于操作系统的迷宫,揭开虚拟内存如何巧妙地扩展有限的物理内存之谜。从分页机制的精妙设计到交换空间的策略运用,我们将一探究竟。你将看到,虚拟内存不仅仅是一个存储数据的地方,它是速度与效率的协调者,是多任务处理的幕后英雄。随着技术的演进,虚拟内存管理不断优化,为应用程序提供了一片更为广阔的运行天地。让我们一同走进这个充满智慧的世界,感受操作系统中虚拟内存管理的魅力所在。
13 1
|
3天前
|
存储 算法 数据安全/隐私保护
探索现代操作系统的内存管理技术
【7月更文挑战第4天】本文将深入探讨现代操作系统中内存管理的关键技术和策略,包括虚拟内存、分页与分段、以及内存分配算法。我们将了解这些技术如何优化资源使用,提高系统性能,并确保数据安全和完整性。
|
4天前
|
缓存 算法 UED
操作系统中的内存管理技术及其性能影响
在现代计算机系统中,操作系统的内存管理机制对系统性能有着至关重要的影响。本文将深入探讨内存管理的关键技术,包括虚拟内存、分页和分段,以及它们如何影响系统的响应速度和资源利用效率。通过分析不同内存管理策略的性能表现,并结合最新的研究成果,本文旨在为读者提供关于优化内存管理以提高系统性能的实用指导。
|
5天前
|
算法 安全 UED
深入理解操作系统的虚拟内存管理机制
【7月更文挑战第2天】在现代计算机系统设计中,虚拟内存是实现内存管理高效、安全和可扩展的关键技术。本文将深入探讨虚拟内存的管理机制,包括分页技术、内存分配策略以及页面替换算法等核心概念。通过分析虚拟内存如何优化物理内存的使用,提高系统的运行效率,并讨论其在实际操作系统中的应用和面临的挑战,旨在为读者提供对虚拟内存管理机制的全面理解。
|
6天前
|
存储 算法 程序员
深入理解操作系统:从进程管理到内存分配
【7月更文挑战第1天】在数字时代的心脏,操作系统(OS)扮演着枢纽的角色。本文将探索操作系统的核心概念,包括进程管理、内存分配和文件系统,同时揭示这些机制如何协同工作以确保计算机系统的高效运行。我们将从用户和程序员的视角出发,分析操作系统如何在幕后默默支撑着我们的数字生活。
|
7天前
|
存储 算法 调度
深入理解操作系统:虚拟内存管理的艺术
【6月更文挑战第29天】在数字世界的无限风光背后,隐藏着一个不为人知的复杂世界——操作系统。本文将揭开操作系统中最为精妙的设计之一——虚拟内存管理的神秘面纱,从基础概念出发,逐步探索其背后的原理与实现机制。我们将通过生动的比喻和实例,带领读者领略虚拟内存如何在有限的物理资源上创造出无限的可能,以及它如何优化系统性能,提升用户体验。准备好了吗?让我们一同潜入操作系统的心脏,一探究竟。