当前位置: 首页 > news >正文

最近新闻热点事件百度seo关键词工具

最近新闻热点事件,百度seo关键词工具,简述建设一个网站的基本步骤,wordpress插件分享显示图片文章目录 一、内存管理1.1 内存管理的出现1.2 内存管理的用途1.2.1 虚拟内存和物理内存的定义1.2.1.1 什么是虚拟内存? 1.2.2 虚拟内存的划分:用户空间与内核空间 1.3 操作系统和MMU1.3.1 OS和MMU的关系1.3.2 虚拟地址到物理地址的映射流程 1.4 物理内存…

文章目录

  • 一、内存管理
    • 1.1 内存管理的出现
    • 1.2 内存管理的用途
      • 1.2.1 虚拟内存和物理内存的定义
        • 1.2.1.1 什么是虚拟内存?
      • 1.2.2 虚拟内存的划分:用户空间与内核空间
    • 1.3 操作系统和MMU
      • 1.3.1 OS和MMU的关系
      • 1.3.2 虚拟地址到物理地址的映射流程
    • 1.4 物理内存管理基础概念

一、内存管理

1.1 内存管理的出现

  • 早期的计算机,程序是直接运行在物理内存上。也就是程序在运行的过程中,直接访问的是物理地址。
  • 如果这个系统只运行一个程序,只要这个程序所需的内存不要超过该机器的物理内存就不会出现问题,也就不需要考虑内存管理,反正就一个程序,就这么点内存,够不够用就是自己的事了。
  • 现在的系统都是支持多任务,多进程的,这样CPU以及其他硬件的利用率会更高。这个时候就要考虑到将系统内有限的物理内存如何及时有效的分配给多个程序了,这个事情就称之为内存管理

1.2 内存管理的用途

内存管理是Linux内核通过软硬件协作来管理内存的分配及回收的一种方法。
在Linux系统上电自检(POST,Power-On-Self-Test)阶段使用临时内存,而系统启动后,正常运行阶段的内存使用又有两大类:
(1)固定的内存分配,是永久的不变的,主要给内核代码及数据使用;
(2)动态内存分配,主要源于进程的创建和空间的扩张。本文主要针对操作系统正常运行时对动态内存的管理。

1.2.1 虚拟内存和物理内存的定义

1.2.1.1 什么是虚拟内存?

  • 虚拟内存是操作系统发展史上一个重要的里程碑,虚拟内存的使用,避免程序直接和主存(物理内存)打交道,并且对缓存、主存和磁盘做了统一抽象,这样程序就可以突破物理内存的大小限制,当然程序还是要受制于虚拟内存的大小限制的。

  • 程序中看到的内存地址是虚拟内存地址,程序读写内存时会被映射到实际的物理内存中,这个映射工作是由MMU(内存管理单元)来完成,MMU接收CPU发出的虚拟地址,将其转换为物理地址后,发送给内存,内存按照该物理地址进行相应访问后读出或写入相关数据。

1.2.2 虚拟内存的划分:用户空间与内核空间

从Linux操作系统层次上,可将Linux虚拟内存划分为: 用户空间内存和内核空间内存。
虚拟内存的大小取决于处理器体系结构的字长。32位的CPU,最大寻址范围为2^32 - 1也就是4G的线性地址空间。Linux简化了分段机制,使得虚拟地址与线性地址总是一致。因此,Linux的虚拟地址空间也为0~4G。Linux内核将这4G字节的空间分为两部分。将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为“内核空间”。将较低的3G字节(从虚拟地址 0x00000000到0xBFFFFFFF),供各个进程使用,称为“用户空间)。因为每个进程可以通过系统调用进入内核,因此,Linux内核由系统内的所有进程共享。于是,从具体进程的角度来看,每个进程可以拥有4G字节的虚拟空间。

用户空间对应进程,所以每当进程切换,用户空间就会跟着变化;而内核空间是由内核负责映射,它并不会跟着进程变化,是固定的。内核空间地址有自己对应的页表,用户进程各自有不同的页表。每个进程的用户空间都是完全独立、互不相干的。Linux 内核采用了最简单的映射方式来映射物理内存,即把物理地址+PAGE_OFFSET按照线性关系直接映射到内核空间。PAGE_OFFSET大小为 0xC0000000 (=3G)。但是Linux内核并没有把整个1G空间用于线性映射,而只映射了最多896M物理内存,预留了最高端的128M虚拟地址空间给IO设备和其他用途。

1.3 操作系统和MMU

实际上MMU是为满足操作系统越来越复杂的内存管理而产生的。

1.3.1 OS和MMU的关系

  • 系统初始化代码会在内存中生成页表,然后把页表地址设置给MMU对应寄存器,使MMU知道页表在物理内存中的什么位置,以便在需要时进行查找。之后通过专用指令启动MMU,以此为分界,之后程序中所有内存地址都变成虚地址,MMU硬件开始自动完成查表和虚实地址转换。
  • OS初始化后期,创建第一个用户进程,这个过程中也需要创建页表,把其地址赋给进程结构体中某指针成员变量。即每个进程都要有独立的页表。
  • 用户创建新进程时,子进程拷贝一份父进程的页表,之后随着程序运行,页表内容逐渐更新变化。

1.3.2 虚拟地址到物理地址的映射流程

VA到PA的映射过程:MMU得到VA后先在TLB内查找,若没找到匹配的PTE条目就到外部页表查询,并置换进TLB;根据PTE条目中对访问权限的限定检查该条VA指令是否符合,若不符合则不继续,并抛出exception异常;符合后根据VA的地址分段查询页表,保持offset(广义)不变,组合出物理地址,发送出去。
在这个过程中,软件的工作核心就是生成和配置页表。

1.4 物理内存管理基础概念

Linux为了用统一的代码获得最大的兼容性,引入了以下物理内存管理概念:

  • 物理内存结点(node)
  • 物理内存区域(Zone)
  • 物理内存页框(page Frame)

只有年轻的将士才会悔恨过去,熟练的将军都是在深夜里擦亮剑,准备下一场战斗。

http://www.ds6.com.cn/news/83025.html

相关文章:

  • 网站开发与排行榜前十名
  • 企业网站设计推广方案免费的个人网站怎么做
  • 新手学做网站图杭州网站建设 seo
  • html5 网站 代码百度优化教程
  • 网站建设时间、人力及成本估算信息检索关键词提取方法
  • 包头学做网站百度开户需要什么条件
  • 网站建设公司落寞百度网盘搜索引擎入口在哪
  • 北京工程建设质量协会网站百度搜索引擎优化详解
  • 外国人做的古文字网站郑州网络运营培训
  • 手机怎么自创网站广州seo技术外包公司
  • 苏州营销网站建设百度指数是啥
  • 购买网站源码注意事项如何做网络推广
  • 如何建设文化企业网站潍坊新闻头条最新消息
  • 项目网站建设方案最近的新闻热点时事
  • 十堰秦楚网最新消息郑州seo顾问热狗hotdoger
  • 盘锦威旺做网站建设公司石家庄seo报价
  • 企业微信商城搜狗搜索引擎优化指南
  • 个人网站官网排名优化
  • 开发网站需要哪些技术人员有什么平台可以发布推广信息
  • 交互网站免费网上申请注册
  • 口碑好的句容网站建设郑州网站建设公司哪家好
  • 网站设计包括哪些步骤百度开户渠道商哪里找
  • 武冈网络推广免费seo教程分享
  • 莱芜双休女工招聘信息爱站网seo综合查询工具
  • 建设银行官方投诉网站百度推广费用多少
  • 网站 用户体验网络营销做得比较成功的企业
  • 淘宝客如何做淘宝客网站seo做的比较牛的公司
  • python网站开发招聘网络流量分析工具
  • 学网站建设要什么百度关键字优化价格
  • 有人上相亲网站做传销燕窝网站推广的途径有哪些