`

Linux操作系统--内存限制

阅读更多

x86 IA-32体系结构中,CPU使用的程序指令指针寄存器是32位的,最大寻址空间是4G。这就意味着,程序的虚拟地址空间最大是4G。对于物理地址空间,由于x86地址总线位数由原来的32位,拓展成为36位,因而最大可访问的物理内存大小是64GB。

Intel称这个地址拓展方式为PAE(Physical Address Extension)。

物理地址空间的拓展,对于普通应用程序是不可见的。应用程序只能看到32位的虚拟地址空间。操作系统提供的窗口映射方法,可以把额外的内存空间映射到虚拟地址空间。应用程序只需根据需要选择申请和映射。

比如应用程序使用 0x10000000到0x20000000这一段256MB作为映射窗口,并在高于4GB的物理空间中申请多个大小为256MB的物理内存,编号为A、B、C等,程序可以根据需要将窗口映射为A或者B、或者C。

Windows下,这被称作AWE(Address Windowing Extensions)。对于Linux操作系统,则使用mmap()系统调用可以实现。

Windows系统下的PAE和AWE可以使用启动选项/PAE和/AWE打开。

分享到:
评论

相关推荐

    wrapper-linux-x86-64-3.5.55 社区版

    首先,"wrapper-linux-x86-64-3.5.55"这个版本表明它是专为64位Linux操作系统设计的,兼容x86_64架构。这里的“3.5.55”代表了Wrapper软件的版本号,通常,新版本会包含性能优化、错误修复和新功能。 Wrapper技术的...

    mysql-5.7.32-linux-glibc-2.28-aarch64.tar.gz

    "linux"表明这个版本是为Linux操作系统设计的,而"glibc-2.28"指的是它依赖于GNU C Library(glibc)的2.28版本,这是一个广泛使用的C库,为Linux系统提供核心服务。最后,"aarch64"表明这是专为64位ARM架构(也称为...

    Linux操作系统01-简介.ppt

    Linux操作系统是一种广泛应用于服务器、嵌入式设备和个人电脑上的开源操作系统。它的核心是Linux内核,由Linus Torvalds于1991年创建,旨在实现与UNIX系统的兼容性和可移植性。Linux遵循GNU公共许可证(GPL),这...

    arm-linux-gcc-4.3.2交叉编译器

    Linux 是一个开源的操作系统内核,可以运行在各种硬件平台上,包括 ARM 架构。 2. **GCC 与交叉编译** GCC 是一个强大的开源编译器套件,支持 C、C++、Objective-C、Fortran、Ada 和 Go 等多种编程语言。在交叉...

    Linux操作系统-Basic of进程.docx

    在Linux操作系统中,进程是操作系统的基本执行单元,它使得计算机能够同时执行多个程序,从而实现所谓的“伪并行”处理。伪并行并不是真正的并行,而是通过快速地在多个进程间切换,使得用户感觉多个任务同时进行。...

    LibreOffice_7.0.1_Linux_x86-64_rpm.tar.gz

    这个名为"LibreOffice_7.0.1_Linux_x86-64_rpm.tar.gz"的文件是LibreOffice的7.0.1版本,专为Linux操作系统设计的64位版本。它采用RPM(Red Hat Package Manager)包格式,是Linux发行版如Fedora、CentOS等常用的...

    linux操作系统移植-树莓盘

    在 Linux 操作系统中,swap 是一个重要的概念,用于扩展物理内存。使用 dd 命令可以创建 swap 文件,mkswap 命令可以格式化 swap 文件,swapon 命令可以激活 swap 文件。 Linux 操作系统中还有很多其他重要的命令和...

    linux-ftpd-0.17.tar.gz

    Linux FTPD 0.17 是一个专门为Linux操作系统设计的轻量级FTP(File Transfer Protocol)服务器软件。这个软件包的名称"linux-ftpd-0.17.tar.gz"表明它是一个采用tarball格式(.tar)并经过gzip压缩(.gz)的文件,...

    arm-linux-gnueabihf-gcc编译器

    - "linux"表示这是针对Linux操作系统的。 - "gnueabi"代表GNU标准应用二进制接口(ABI),确保编译出的程序与目标平台的库和系统调用兼容。 - "hf"表示硬件浮点(Hardware Floating Point),意味着编译器支持ARM...

    Linux操作系统总结与心得.doc

    Linux操作系统是计算机科学领域的重要组成部分,它是一种自由和开源的Unix-like操作系统。Linux的核心由Linus Torvalds创建,它的命名来源于开发者本人的名字。Linux不仅仅是一个操作系统内核,它还包括了GNU工具集...

    嵌入式linux文件系统---很详细,非常适合初学者

    嵌入式Linux文件系统是专为在嵌入式设备上运行的Linux操作系统设计的一种文件组织结构。对于初学者来说,理解这一概念至关重要,因为它涉及到如何有效地管理和存储数据在这些资源有限但功能强大的设备上。 首先,...

    浅谈嵌入式Linux操作系统.pdf

    "浅谈嵌入式Linux操作系统.pdf" 嵌入式Linux操作系统是当前嵌入式系统开发的热门话题。本文将从嵌入式Linux操作系统的发展、优势、技术特点和面临的问题进行讨论。 首先,嵌入式Linux操作系统的发展可以追溯到20...

    Linux操作系统简介-英文

    ### Linux操作系统简介 #### 历史背景 Linux操作系统始于1991年,由芬兰计算机科学学生Linus Torvalds开发。最初是为IBM PC(Intel 80386架构)创建的一个Unix变体。Torvalds将早期版本发布到互联网上,自那时起,...

    Linux系统编程-进程.docx

    Linux系统编程中,进程是操作系统的核心概念之一,它是一个正在执行的程序的实例,拥有自己的内存空间、系统资源以及状态。在Linux环境下,理解和掌握进程的相关知识对于进行系统编程至关重要。下面将详细阐述进程的...

    自制操作系统-引导篇

    引导程序是操作系统的第一部分,它的主要任务是加载剩余的操作系统到内存中。在这个项目中,512B.ASM可能包含了主引导记录(MBR)的代码,这是硬盘上的前512个字节,必须严格遵守这个大小限制。MBR的职责是找到并...

    Linux操作系统基础.rar

    "第6章_Linux操作系统基础.ppt"文件很可能是这一主题的详细讲义,可能包含了以上各个方面的深入讲解,包括命令行工具的使用、设备驱动编程、内存管理以及系统调用等。学习这部分内容将有助于开发者更好地掌握Linux在...

    arm-linux-gcc-4.4.3

    在本例中,`arm-linux` 指的是目标系统基于 ARM 架构且运行 Linux 操作系统的设备。 **GCC(GNU Compiler Collection)** `gcc` 是 GNU 编译器集合的缩写,是由自由软件基金会(FSF)维护的开源项目。它包括 C、...

Global site tag (gtag.js) - Google Analytics