进程地址空间

1、进程地址空间由进程可寻址的虚拟内存组成。Linux系统中的所有进程之间以虚拟方式共享内存。
2、进程只能访问有效内存区域内的内存地址。


内存区域可以包含各种内存对象:
(1) 代码段——可执行文件代码的内存映射。
(2) 数据段——可执行文件的已初始化全局变量的内存映射。
(3) 包含未初始化全局变量,也就是bss段的零页的内存映射。
(4) 用于进程用户空间栈的零页的内存映射。
(5) 每一个诸如C库或动态连接程序等共享库的代码段、数据段和bss也会被载入进程的地址空间。
(6) 任何内存映射文件。
(7) 任何共享内存段。
(8) 任何匿名的内存映射,比如malloc()分配的内存。

3、内核使用内存描述符结构体表示进程的地址空间。
4、mm_users表示使用地址空间的用户数;mm_count表示主使用计数器。只有当mm_users的值减为0时,mm_count的值才变为0。
5、进程与线程的区别内核线程没有进程地址空间,没有相关的内存描述符,也即没有用户上下文。
6、Vm_area_struct结构体中的vm_ops域指向与指定内存区域相关的操作函数表,内核使用表中的方法操作VMA。操作表函数由vm_operations_struct结构体表示。
7、find_vma()可以找到一个给定的内存地址属于哪一个内存区域。该函数在指定的地址空间中搜索第一个vm_end大于addr的内存区域。
find_vma_prev()函数返回第一个小于addr的VMA。
find_vma_intersection()函数返回第一个和指定区间相交的VMA。
8、内核使用do_mmap函数创建一个新的线性地址空间;而用户使用mmap()系统调用创建新的地址空间。
do_munmap()函数从特定的进程地址空间中删除指定地址空间;系统调用munmap()给用户空间程序提供了一种从自身地址空间中删除指定地址空间的方法。
9、 Linux中使用三级页表完成地址转换

页高速缓存和页回写

1、页高速缓存主要用来减少对磁盘的I/O操作,即通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。

缓存策略:
(1) 不缓存——高速缓存不缓存任何写操作。
(2) 写透缓存——写操作自动更新内存缓存,同时也更新磁盘文件。
(3) 回写——写操作直接写到缓存中,后端存储不会立即更新,而是将页高速缓存中被写入的页面标记成“脏”,并且被加入到脏页链表中。然后由一个进程周期性的将脏页链表中的页写回到磁盘,从而让磁盘中的数据和内存中最终一致。

缓存回收策略:
(1) 最近最少使用
(2) 双链策略

2、address_space管理缓存项和页I/O操作。
3、发生以下三种情况时,脏页会被写回磁盘
(1)空闲内存低于一个特定的阈值时
(2)脏页在内存中驻留时间超过一定的阈值时
(3)用户进程调用sync()和fsync()系统调用时

20169219 《Linux内核原理与分析》 第十周作业的更多相关文章

  1. 20169212《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...

  2. 20169210《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...

  3. 2018-2019-1 20189221 《Linux内核原理与分析》第九周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第九周作业 实验八 理理解进程调度时机跟踪分析进程调度与进程切换的过程 进程调度 进度调度时机: 1.中断处理过程(包 ...

  4. 2017-2018-1 20179215《Linux内核原理与分析》第二周作业

    20179215<Linux内核原理与分析>第二周作业 这一周主要了解了计算机是如何工作的,包括现在存储程序计算机的工作模型.X86汇编指令包括几种内存地址的寻址方式和push.pop.c ...

  5. 2019-2020-1 20199329《Linux内核原理与分析》第九周作业

    <Linux内核原理与分析>第九周作业 一.本周内容概述: 阐释linux操作系统的整体构架 理解linux系统的一般执行过程和进程调度的时机 理解linux系统的中断和进程上下文切换 二 ...

  6. 2019-2020-1 20199329《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 一.上周问题总结: 未能及时整理笔记 Linux还需要多用 markdown格式不熟练 发布博客时间超过规定期限 二.本周学习内容: <庖丁解 ...

  7. 2019-2020-1 20209313《Linux内核原理与分析》第二周作业

    2019-2020-1 20209313<Linux内核原理与分析>第二周作业 零.总结 阐明自己对"计算机是如何工作的"理解. 一.myod 步骤 复习c文件处理内容 ...

  8. 2018-2019-1 20189221《Linux内核原理与分析》第一周作业

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  9. 《Linux内核原理与分析》第一周作业 20189210

    实验一 Linux系统简介 这一节主要学习了Linux的历史,Linux有关的重要人物以及学习Linux的方法,Linux和Windows的区别.其中学到了LInux中的应用程序大都为开源自由的软件, ...

  10. 2018-2019-1 20189221《Linux内核原理与分析》第二周作业

    读书报告 <庖丁解牛Linux内核分析> 第 1 章 计算工作原理 1.1 存储程序计算机工作模型 1.2 x86-32汇编基础 1.3汇编一个简单的C语言程序并分析其汇编指令执行过程 因 ...

随机推荐

  1. Linux命令学习(21):netstat命令

    版权声明 更新:2017-06-13博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的netstat ...

  2. [SP16580]QTREE7

    luogu vjudge 题意 一棵树,每个点初始有个点权和颜色(输入会给你) 0 u :询问所有u,v路径上的最大点权,要满足u,v路径上所有点的颜色都相同 1 u :反转u的颜色 2 u w :把 ...

  3. NOIp2018集训test-10-24(am&pm)

    李巨连续AK三场了,我跟南瓜打赌李巨连续AK七场,南瓜赌李巨连续AK五场. DAY1 T1 qu 按题意拿stack,queue和priority_que模拟即可.特判没有元素却要取出的情况. T2 ...

  4. Phong光照模型的Shader实现

    计算反射向量 Phong用到的是反射向量,计算反射向量的公式是 R = 2*N(dot(N, L)) - L 这个公式是根据向量的投影公式以及平行四边形法则推导出来的 详细步骤请看这篇文章,讲的非常好 ...

  5. Websphere中的几个常用概念

    什么是单元(Cell)?什么是节点(Node)?Node.Profile 与 Server 之间的关系是什么? 答: 单元: 单元是整个分布式网络中一个或多个节点的逻辑分组.单元是一个配置概念,是管理 ...

  6. 如何找回未保存过的 Excel 文件?

    如何找回未保存过的 Excel 文件? 同事做了一个文件,未保存直接关闭,正常是找不回来的. 但是 Excel 有一个强大的自动保存功能,对没有保存的文件也可以找回.

  7. Sentry入门

    指令类型: 创建.删除角色: CREATE ROLE sentry_all; droop role admin_role;   角色授权/撤销权限: 数据库级别角色授权 GRANT ALL ON DA ...

  8. 异常[PersistenceUnit: default] Unable to build Hibernate SessionFactory

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManage ...

  9. linux find -regex 使用正则表达式

    find之强大毋庸置疑,此处只是带领大家一窥find门径,更详细的说明见man  find和 info find.整篇文章循序渐进,从最常用的文件名测试项开始步步深入,到第六节基本讲完find处理文件 ...

  10. CentOS 7安装Azcopy

    Azcopy是Azure存储一个非常好用的工具.本文将介绍如何在CentOS7下安装的过程. 更新:目前需要.net core 2.0版本.具体下载地址大家自己搜索. 1 安装.net core 1. ...