linux内存管理子系统(概念入门)

_WILLPOWER_ _WILLPOWER_     2023-01-08     756

关键词:

大纲

  • 内存管理子系统
    • 内存管理模型
    • 地址映射管理
    • 物理地址分配管理

子系统简介

Linux内核系统构成

管理模型

Linux内存子系统管理模型

上面的三个部分主要做物理内存分配,包裹着它们的部分做的是地址映射

管理内容

  • 内存管理子系统职能
    1. 管理:虚拟地址和物理地址的映射
    2. 管理:物理内存的分配

地址映射管理

  1. 内存管理子系统
    1. 管理:虚拟地址与物理地址的映射
    2. 地址映射管理
      1. 虚拟地址空间分布
      2. 虚拟地址转化为物理地址
    3. 物理地址分配管理

Linux虚拟地址空间分布

32位的处理器,地址总线位32位,因此能够访问到的地址空间位2^32 = 4G

其中0-3G为用户空间里面是应用程序,3G-4G为内核空间,内核空间又被分为4个部分:

  1. 直接映射区

  2. vmalloc区

  3. 永久映射区

  4. 固定映射区

虚拟地址转化为物理地址

由这部分完成


cr3:作为基地址(页目录的基地址)
高10位:偏移,以找到页目录
中间10位:偏移,以找到页表(物理页的基地址)
低12位:偏移,找到物理页的存储单元


896MB以下的内存称为低端内存,以上的成为高端内存
直接映射区域的地址映射到物理内存就是其地址减去PAGE_OFFSET,也就是减去3G。永久内核映射区固定访问高端内存,而固定映射区是用来访问特定寄存器的。

物理内存分配


只有在访问虚拟地址的时候,才会实实在在的给你分配物理内存
当调用malloc的时候,会分配虚拟地址,而只有在访问虚拟地址的时候,这个时候Linux会产生缺页异常,然后分配实际内存地址和虚拟地址建立映射关系(通过缺页异常的方式)
而kmalloc函数返回的虚拟地址是已经建立映射的虚拟地址。

文件操作系统入门基本概念

...程序访问信息。  数据或者文件归根结底是存储于物理内存空间上的,操作系统可以通过文件系统方便的管理磁盘上的文件,Linux的文件系统模型如下所示:Linux文件系统模型  对于物理内存 查看详情

linux入门——进程状态(代码片段)

...理解,操作系统包括:内核(进程管理,内存管理,文件管理,驱动管理)其他程序(例如函数库 查看详情

linux入门---操作体统的概念

...将自己分为四大模块分别进程管理,文件系统,内存管理,驱动管理,其中文件系统和内存管理是整个操作系统中最重要的两个部分因为在整个机器的运行过程中要到他们的次数最多,所以以后的学习中我们... 查看详情

linux快速入门02-文件系统管理

继续进入Linux文件系统的学习,加油,早日突破MS压在自己身上的那道束缚。 文件属性基本概念:文件所有者,文件组,其他人。对上图来说,-rw-r—r—表示文件的权限,1表示连接数,两个root分别表示所有者和用户组,... 查看详情

linux内核移植入门(代码片段)

...2.超强的网络功能3.多任务多用户系统4.模块化的设计五大子系统:1.进程管理子系统2.内存管理子系统3.文件系统子系统4.网络协议子系统5.设备管理子系统获取linux内核:1.内核官方发布点2.芯片厂商提供内核源码目录结构内核配置Mak... 查看详情

linux内核的内存管理-概念

参考技术AConceptsoverview—TheLinuxKerneldocumentationLinux中的内存管理是一个复杂的系统,经过多年的发展,它包含越来越多的功能,以支持从MMU-lessmicrocontrollers到supercomputers的各种系统。没有MMU内存管理的系统被称为nommu,它值得写一... 查看详情

linux-linux内存管理(代码片段)

文章目录概念物理内存和虚拟内存内存的监控从内核的角度来查看内存的状态从应用层的角度来看系统内存的使用状态缓冲区(buffer)与缓存(cache)的异同交换空间的使用创建交换空间激活和使用交换空间移除... 查看详情

unix教程_编程入门自学教程_菜鸟教程-免费教程分享

...,管道和过滤器,网络通信实用程序,文件系统,目录,内存管理,特殊变量,vi编辑器,什么是Shell?,使用Shell变量,数组,基本运算符,决策,循环类型,控制,替换,引用机制,输入/输出重定向,函数,手册页帮助,带SE... 查看详情

内存管理:一文读懂linux内存组织结构及页面布局

参考技术A1、内存是什么?1)内存又称主存,是CPU能直接寻址的存储空间,由半导体器件制成;2)内存的特点是存取速率快,断电一般不保存数据,非持久化设备;2、内存的作用1)暂时存放cpu的运算数据2)硬盘等外部存储器交换的... 查看详情

linux系统进程管理

...统中,内核的功用有:进程管理、文件系统、网络功能、内存管理、驱动程 查看详情

linux运维从入门到进阶(代码片段)

 Linux磁盘管理知识点磁盘和文件系统简介文件系统工具磁盘分区管理交换分区逻辑卷和阵列  磁盘和文件系统介绍正如上文中提到的,Linux中一切都是文件。这个重要的概念贯穿整个Linux的始末,磁盘也是如此。各种接... 查看详情

linux当中有关内存管理的概念

在linux内存管理中什么是page,zone,node,页帧,区域,节点。实际上Linux内存管理只是一套机制而已,它是对于DRAM分配的一套机制。page,zone,node是用来形容linux这套机制的名词。页帧,区域ÿ... 查看详情

[linux]冯诺依曼体系及操作系统的概念(代码片段)

文章目录1.冯诺依曼体系结构1.为什么要有内存?1.若内存不存在2.若内存存在结论12.在硬件层面,单机和跨单机之间数据流是如何流向的?结论22.操作系统(OperatorSystem)1.概念2.如何理解操作系统对硬件管理?结论13.... 查看详情

linux查看进程消耗内存情况总结

 在Linux中,有很多命令或工具查看内存使用情况,今天我们来看看如何查看进程消耗、占用的内存情况,Linux的内存管理和相关概念要比Windows复杂一些。在此之前,我们需要了解一下Linux系统下面有关内存的专用名词和专业... 查看详情

linux新手入门前知道的一些概念

前言: 这篇文章是结合自己从小白开始学linux到工作中运用linux系统,以新手怎么理解的角度来说说linux系统,希望能给想学习linux的新手带来一些帮助。引子:随着互联网技术不断更新,企业对系统服务需求,linux系统渐渐... 查看详情

web入门基础360网络安全大学web基础公开课知识点总结(基础篇)

...omcat、JettyWeb服务器:Apache、IIS、Nginx存储:数据库存储、内存存储、文件存储操作系统:Windows、Linux其中不同的层级,发挥着各自的作用,承担起在Web通信、服务独特的使命与责任。【自下而上的概览】各部分的基本概念、作用... 查看详情

进程概念

...的文件。内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等Process:运行中的程序的一个副本,是被载入内存的一个指令集合进程ID(ProcessID,PID)号码被用来标记各个进程UID、GID、和SELinux语境决定... 查看详情

课程学习总结报告

...一个精简的Linux系统概念模型主要应该包括:进程管理,内存管理,文件和设备管理这几个主要部分,还应该有GUI等方便用户操作的平台。  操作系统的第一要务是帮助用户操作所有计算机硬件,应该将硬件设备封装成接口供... 查看详情