1。操作系统最大的功能就是管理功能,管理进程调度、管理内存、管理文件系统、管理I/O,...。其中最核心的功能是进程管理,但管理的基础是内存管理,只有把内存管理好了,才能使进程在这个广阔的舞台上自由表演。
2。系统工作模式有三种:实模式、保护模式、虚拟8086模式,其中保护模式又分为:分段保护模式、分段分页保护模式,不同模式下的物理内存管理方式不同。
3。分段保护模式(segmentation):
为了管理好内存,把内存分而治之,划分成小块,这样易于才易于管理。如何划分呢?分段保护模式是把物理内存分段,分成一段一段的区域,每段大小固定/不固定,每段都有不同的用途,这就需要对每个段进行描述,以记录该段有哪些属性或特点,这样在使用该段时才能操作正确。对每个段的描述信息放在“段描述符”中,所有的“段描述符”统一放在一起组成系统的“段描述符表”。“段描述符表”分为“全局描述符表GDT”,“中断描述符表IDT”,“局部描述符表LDT”。当操作系统要访问内存中的某一个段时,先在描述符表中找到该段的描述符,这样就知道了该如何使用该内存段了。简言之,分段是对物理内存分段划分,GDT,LDT,IDT是操作系统使用物理内存的参照依据。
4。段页保护模式(paging):
这是在分段保护模式的基础上,再加上分页功能。把以前的对物理内存的分段改为对虚拟地址空间的分段,把4G的虚拟地址空间分段,段信息仍保存在GDT,LDT,IDT中。然后把物理内存分页,用二级页表结构来描述和记录物理内存分页后的各个页的信息。当使用物理内存时就参照二级页表。
5。使用分页机制的目的:
(1)当系统内存被分成许多凌乱的块时,分页机制可以建立一个大而连续的内存空间映象,程序员不用操心和管理这些分散的内存块。
(2)页地址变换建立在段变换基础上,任何分页机制的保护措施并不会取代段变换的保护措施,而只是进行更进一步的检查操作。
(3)分页机制增强分段的性能。
6。虚拟内存
实现虚拟内存的手段是使用“需求加载Load on demand”和“页换入换出”。所谓的“需求加载”是指:运行一个磁盘上的文件时,操作系统为新进程创建4G线形地址空间,并为其环境参数和命令行参数分配和映射一定数量的物理页,此外并没有给执行程序分配其他任何物理内存页面,也没有从磁盘文件中加载代码和数据。但是,一旦程序从设定的入口点(mian函数)开始运行,就会立刻引起CPU产生一个缺页中断,此时内核中的缺页处理程序才会根据引起缺页异常的具体线形地址把磁盘文件中相关的代码和数据从文件系统中加载到物理内存页面中,并定位到进程逻辑地址中指定的页面位置。这种仅在需要时才加载执行文件中页面的方法称为需求加载技术或需求分页(demand paging)技术。
“页换入和换出”是指:当CPU要寻址的指令或数据不在缓存和物理内存中时,通过需求加载技术把页面加到物理内存,但此时如果物理内存已被全部占用,则必须把物理内存中最近不使用的页面换出到磁盘中,以腾出空间给新页面,这种现在就称为页换入和换出。
7。何时产生GDT,LDT,IDT、二级页目录结构,以及它们位于物理内存的什么位置?
在引导启动程序head.s中初始化GDT,IDT和二级页表,它们放在物理内存从地址0x0开始的地方。head.s代码执行完后的物理内存布局如下图:
分享到:
相关推荐
纯粹的分页和分区存储管理将程序视为与内存一致的线性结构,即使程序实际上为分段的二维逻辑结构,这样就导致内存中的程序不易按程序逻辑组成访问。 **解决问题的办法** - 采用分段存储管理,依照程序的逻辑结构...
总的来说,这个项目提供了深入了解操作系统内存管理的机会,通过实践加深对分页、分段、虚拟内存、内存分配算法等核心概念的理解,并对比不同系统间的实现差异。这不仅有助于提升对操作系统原理的认识,也有助于解决...
总的来说,这个项目提供了对操作系统内存管理基础的理解和实践经验,特别是分段和分页技术的结合。对于学习操作系统或准备相关课程设计的学生而言,这是一个宝贵的参考资料,有助于深化对内存管理机制的理解。通过...
Linux x86 内存管理之分段与分页 Linux 操作系统在 x86 架构上实现了内存管理机制,主要通过分段和分页两种机制来管理内存。以下是对 Linux x86 内存管理之分段与分页的详细介绍。 逻辑地址、线性地址和物理地址 ...
First fit, best fit and worst fit 操作系统lab-内存分配与分段分页机制
在第五章中,我们将重点讨论三种离散分配方式:分页式、分段式和段页式存储管理。 首先,我们来看分页式存储管理。这种方法将进程的逻辑地址空间划分为固定大小的页,而物理内存则被划分为相同大小的块,称为内存块...
在探索Linux内存管理之前,我们已经了解到Linux是如何高效利用80x86的分段和分页机制将逻辑地址转换为物理地址。在这一章中,我们将更深入地探讨Linux如何管理和分配内存资源。 ### 动态内存及其重要性 RAM被分为...
总之,Linux的分段和分页机制是操作系统内存管理的核心组成部分,它们共同作用于保护模式下,确保了系统的稳定性和效率。通过对这些机制的理解,我们可以更好地掌握现代操作系统的内存管理原理和技术。
1. 分页与分段:两种常见的内存管理方式,它们的区别和联系。 2. 内存地址转换:虚拟地址到物理地址的映射,如页表、段表等机制。 3. 内存分配策略:首次适应、最佳适应、最差适应等算法。 4. 内存换入换出:理解...
而分页与分段结合的系统则可以同时利用分页的内存管理和分段的数据组织优势。 综上所述,基本分段存储管理系统是一种有效的内存管理方案,它通过段表和地址变换机构实现程序的逻辑地址到物理地址的映射,从而支持...
在操作系统课程设计中,内存管理是一项关键任务,因为它直接影响到系统的性能、稳定性和效率。本项目着重于实现一个内存管理系统,以下将详细讨论相关知识点。 1. **内存管理的概念**: 内存管理是指操作系统如何...
总的来说,Linux的分页分段机制是其内存管理的核心,通过这种方式,Linux能够提供高效、安全的内存服务,支持多任务并行运行,同时保证了各个进程之间的隔离性。理解和掌握这一机制对于任何深入研究Linux内核的人来...
常见的内存管理技术包括分页、分段、分页分段、虚拟内存和内存映射等。这份源代码可能涉及这些技术中的一个或多个。 1. 分页内存管理:分页是将内存划分为固定大小的块,称为页。每个进程都有自己的页表,用于记录...
由于物理内存容量有限,Linux采用了两种内存管理机制来提高内存利用率:内存分段系统和分页系统。 - **内存分段系统(Segmentation System)**:通过将内存分为不同的段来管理内存。每个段都有自己的属性,如访问...
内存管理是计算机操作系统中的核心功能,特别是在Linux系统中,它对于系统的性能和稳定性至关重要。Linux内存管理系统负责有效地分配、管理和回收内存资源,确保进程能够高效地运行。在本压缩包"02-内存管理常识.rar...
Linux操作系统在内存管理方面采用了分段和分页两种机制,以高效、安全地分配和管理内存资源。这两种机制是80386处理器在保护模式下工作的重要特性。 首先,让我们了解一下分段机制。80386处理器在保护模式下可以...
段页式管理方式是结合基本分段存储管理方式和分页管理方式的优点,旨在更好地满足用户需求,提高内存的利用率。在段页式管理方式中,每个进程的地址空间被划分为多个段,每个段被进一步划分为多个页。这种机制可以...
### 内存管理知识点概述 #### 一、内存的基本概念 - **主存**:即物理内存,是我们常说的RAM的大小,它直接与CPU通信,用于存储正在运行的程序和数据。 - **虚拟内存**:通过操作系统的技术,将硬盘的一部分空间...
操作系统中,分页存储管理和分段存储管理是两种不同的存储管理机制,它们之间的区别是操作系统考试中的一个重要知识点。下面,我们将对分页存储管理和分段存储管理进行详细的介绍,并对比它们之间的差异。 一、分页...
在计算机系统中,内存管理是操作系统的核心功能之一,它决定了如何有效地分配和使用有限的内存资源。本篇文章将深入探讨三种主要的存储管理方式:分页存储管理、分段存储管理和段页式存储管理,以及它们在Java编程...