文章目录

  • 一、内存管理架构组成 ( 用户空间 | 内核空间 | MMU 硬件 )
  • 二、Linux 内核架构层次
  • 三、Linux 系统调用接口

一、内存管理架构组成 ( 用户空间 | 内核空间 | MMU 硬件 )


内存管理架构 由 333 部分组成 :

① 用户空间 : 在 " 用户空间 " 中 , 使用 malloc 函数 申请 " 堆内存 " , 使用 free 函数 释放 " 堆内存 " ;

② 内核空间 : Linux 内核启动后 , 一直 驻留在内存 中 , 应用程序 不能 读写 内核空间数据 , 不能直接调用 内核源码 中的函数 ; 只能通过 " 系统调用 " 间接调用 内核函数 ;

③ 硬件 : 硬件主要是指 处理器 中的 " 内存管理单元 “ , 该 内存管理单元 主要作用是 将 ” 虚拟内存地址 " 转为 " 物理内存地址 " ;

" 内存管理单元 " , 英文名称是 " Memory Management Unit “ , 简称 ” MMU " ;

二、Linux 内核架构层次


整个操作系统 由 应用层 , Library Routine , 内核 , 硬件 组成 ;

层次架构如下 :

Linux 内核 需要 " 管理硬件 " , 如 : CPU 处理器 , 内存 , I/O 设备 , 网络设备 等 ;

Linux 内核 还需要 向上层的 " 应用程序 " 或 " Library Routine " 提供 API 接口 , 如 : 系统调用 ;

三、Linux 系统调用接口


" 系统调用 " 接口 , 可以调用 " " Linux 内核 " 中的如下功能 :

① 进程调度 : 内核 调用 CPU 处理器 实现 进程调度 ;

② 内存管理 : 内核 调用 物理内存 实现 内存管理 ;

③ IPC 跨进程通信

④ VFS 虚拟文件系统

⑤ 网络管理 : 内核 调用 网络接口 , 实现 网络管理 ;

" 设备管理 " 对用户是透明的 , 用户不直到 Linux 内核是如何管理设备的 , 系统调用接口没有关于 " 设备管理 " 的调用接口 ;

【Linux 内核 内存管理】内存管理架构 ① ( 内存管理架构组成 | 用户空间 | 内核空间 | MMU 硬件 | Linux 内核架构层次 | Linux 系统调用接口 )相关推荐

  1. Linux内存管理:内存描述之高端内存

    <Linux内存管理:内存描述之内存节点node> <Linux内存管理:内存描述之内存区域zone> <Linux内存管理:内存描述之内存页面page> < ...

  2. 【Linux 内核 内存管理】内存管理架构 ④ ( 内存分配系统调用过程 | 用户层 malloc free | 系统调用层 brk mmap | 内核层 kmalloc | 内存管理流程 )

    文章目录 一.内存分配系统调用过程 ( 用户层 | 系统调用 | 内核层 ) 二.内存管理流程 一.内存分配系统调用过程 ( 用户层 | 系统调用 | 内核层 ) " 堆内存 " ...

  3. linux内存管理(一)-内存管理架构

    文章目录 一.内存管理架构 二.虚拟地址空间布局架构 2.1内核地址空间布局 2.2用户地址空间布局 三.物理内存体系架构 3.1 正常内存 3.2 设备内存 四.内存结构 五.内存模型 六.虚拟地址 ...

  4. Linux内核机制总结内存管理之每处理器内存分配器(十七)

    文章目录 1 每处理器内存分配器 1.1 编程接口 1.1.1 静态每处理器变量 1.1.2 动态每处理器变量 1.1.3 访问每处理器变量 1.2 技术原理 1.2.1 确定块的参数 1.2.2 创 ...

  5. 【Linux 内核 内存管理】物理内存组织结构 ④ ( 内存区域 zone 简介 | zone 结构体源码分析 | zone 结构体源码 )

    文章目录 一.内存区域 zone 简介 二.zone 结构体源码分析 1.watermark 成员 2.lowmem_reserve 成员 3.zone_pgdat 成员 4.pageset 成员 5 ...

  6. 【Linux 内核 内存管理】优化内存屏障 ④ ( 处理器内存屏障 | 八种处理器内存屏障 | 通用内存屏障 | 写内存屏障 | 读内存屏障 | 数据依赖屏障 | 强制性内存屏障 |SMP内存屏障 )

    文章目录 一.处理器内存屏障 二.Linux 内核处理器内存屏障 一.处理器内存屏障 " 处理器内存屏障 " 针对 " CPU " 之间的内存访问乱序 和 CP ...

  7. linux内存段页,linux内存管理-段式和页式管理

    该博文参考国嵌视频和http://www.cnblogs.com/image-eye/archive/2011/07/13/2105765.html,在此感谢作者. 一.地址类型 物理地址:CPU通过 ...

  8. linux内存管理(十)-页表管理

    页表管理方法 之前也讲过页表的结构,现在更加详细的讲解一下,页表最主要的作用就是将虚拟地址转化为物理地址,其实他还有两个作用,一个是管理cpu对物理页的访问权限(读写执行权限),另一个是隔离各个进程的 ...

  9. Linux驱动学习12(初步认识内存管理)

    一.MMU的基本知识 1.内存管理单元简称mmu,她负责虚拟地址到真实物理地址的转换,并且提供了硬件机制以检查内存 访问权限,同时对Cache缓存进行控制. 2.现代计算机多进程操作系统通过mmu使得 ...

最新文章

  1. opencv otsu二值化
  2. 天津政府应急系统之GIS一张图(arcgis api for flex)解说(二)鹰眼模块
  3. python flask框架是什么_Flask框架是什么?带你安装运行第一个Flask程序
  4. 自学Java汇报(3)
  5. 浅谈进程间的消息传递
  6. GPT-GNN:图神经网络的生成式预训练 KDD 2020
  7. mongodb聚合查询-aggregate
  8. python调用r语言加载包错误_Python中调用R语言包指南.docx
  9. 多个cpp文件生成so_荐tf_sampling_so.so等文件怎么生成(多种tf版本都可的顺利解决方法)...
  10. 甲骨文裁员后续:近万招聘者哄抢甲骨文前员工
  11. 2020牛客多校训练3 G Operating on a Graph(并查集+链式结构)
  12. JSON字符串,JSON对象的相互转换
  13. 只要学会这个PDF压缩方法,压缩PDF不再是难题
  14. win10 软路由_N合1服务器!NAS、软路由、高清盒子、Web一个都不能少!
  15. WorkMan学习篇:三
  16. linux 文本字符串过滤,Linux文本过滤与处理命令
  17. matlab 积分函数int
  18. 「小虎电商早报」2月24日 苏宁易购北区预计新开零售云门店906家
  19. 用python怎么读文件_python怎么读文件
  20. cmd chcp命令切换字符格式

热门文章

  1. gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架
  2. 微软MCITP系列课程(一)第一讲:部署虚拟机
  3. 我马上会重新利用这个博客的
  4. JZOJ5922. 【NOIP2018模拟10.23】sequence
  5. 微信背单词类小程序,小鸡单词源码下载,打卡微信小程序
  6. hibernate重要知识点总结
  7. Android为TV端助力 同时setTag两次,保存多种值
  8. HTML5 localStorage本地存储
  9. css3毛玻璃模糊效果
  10. win bat 输入参数