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

自己有网站做app吗西安seo排名外包

自己有网站做app吗,西安seo排名外包,大型网站开发 优帮云,asp.net jsp 网站文章目录 一、内存管理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.yayakq.cn/news/829096/

相关文章:

  • 芜湖网站优化外贸网站建设外
  • 网站开发投标文件服务承诺部分温州市网络公司网站建设公司
  • 管理的核心是什么wordpress系统加速优化
  • 襄阳宜城网站建设为什么做网站备案的人态度差
  • 山东建设厅官方网站临沂河南seo技术教程
  • 网站备案被注销的原因做网站需要准备什么东西
  • 网站建站公司有必要做吗网站架构设计的意义
  • 山东做网站公司有哪些wordpress插件的意义
  • 关于网站建设管理工作的报告做网站推广赚钱吗
  • 求个网站没封的2021镇江网友之家
  • 小企业网站建设设计wordpress建的论坛
  • 化妆品网站源码aspwordpress文章分类设置
  • 手机wap网站制作免费厦门市住建局官网
  • 江西建设推广网站前端开发就业前景
  • 网站设计公司如何做好网站建设wordpress更新提示关闭
  • 建设外贸网站报价湛江霞山
  • 如何免费开自己的网站wordpress php无法访问
  • 企业在网站建设后期需要做什么discuz模板开发
  • 微信设计网站建设广告设计图片简单
  • 网站建设的意义md主题 wordpress
  • 泉州网站建设企业公司网站备案好处
  • 郑州锐途网站建设制造业公司有必要建设网站吗
  • aspcms企业网站模板flash网站模板下载
  • 百度智能建站怎么样安徽建站
  • 深圳优秀网站建设价格wordpress加载完再显示
  • 网站建设与管理规定wordpress主题制作实例
  • 浦东新区网站建设推广企业网站ppt怎么做
  • 做一些购物网站那有网页设计培训机构
  • 宁夏高端网站建设阿里巴巴国际站下载电脑版
  • 网站开发用用什么语言最好网站开发市场规模