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

无锡网站制作选哪家文学写作网站

无锡网站制作选哪家,文学写作网站,国外建筑公司网站,六安seo曝光行者seo这篇可是真枯涩啊#xff0c;哈哈#xff0c;老早在学操作系统的时候整理的文章#xff0c;没加润色#xff0c;单纯从个人网站迁移过来。 操作系统内存管理的目的是将线性物理地址用抽象的逻辑地址空间#xff0c;从而保护物理地址。此外#xff0c;可以独立地址空间哈哈老早在学操作系统的时候整理的文章没加润色单纯从个人网站迁移过来。 操作系统内存管理的目的是将线性物理地址用抽象的逻辑地址空间从而保护物理地址。此外可以独立地址空间共享内存以及虚拟化。 操作系统内存管理方式 1、重定位 2、分段 3、分页 4、虚拟存储 重定位 重定位的作用就是将程序地址重定位到另一个地址。最早在连续内存管理中使用通常来讲连续内存分配我们地址空间生成时主要有几个节点 1编译 绝对装入 假如起始地址已知会根据相对地址在编译时生成绝对地址。比如最早的功能手机都是这样的是不允许自安装什么软件的。 2、加载 在编译时如果起始位置未知就进行重定位。加载时生成绝对地址。也称静态重定位 3、执行时 执行时代码可移动实现重定位也称为动态重定位。 内存分配主要有连续和非连续内存分配两种方式。 连续是最早的内存分配方式主要是要为程序找到一片连续的内存空间这要求还是很高的。此外不同的连续内存分配还会出现内存利用率低容易产生碎片等缺点。 因为目前都是采用非连续内存分配。 基于此非连续内存分配目标 1、提高系统内存利用率 2、共享某些内存 3、支持动态加载和动态链接 选择非连续内存块大小方法主要有段式和页式两种方法。 段式存储管理 将进程地址空间划分成多个段比如数据段代码段堆栈等等。 段和段的地址可以是不连续的但段内的是一块连续空间。每个段的地址都是从0开始并有偏移地址。逻辑地址由二元组 (s,addr) 表示。其中 s 表示段号addr 表示段内偏移量。 整个进程地址空间是个二维数组。 此外系统会为每个进程维护一个段表.当我们在执行程序时会首先根据段号到进程段表中找到段基址和长度然后MMU会判断是否越界如果没问题会根据基址和偏移得到实际物理地址。 段式存储可以实现信息的保护和共享。 MMU会对检查段表项的保护位如果越界就会报异常。此外使用可重入代码时只需在段表中为其设置一个段表项并将执行时用到的部分数据copy到局部数据区可以实现信息共享。 页式存储管理 页帧Frame物理地址分配的基本单元 页面Page逻辑地址分配的基本单元 要完成页面到页帧的转换需要通过页表页表保存了逻辑地址和物理地址的映射关系。页表的机制会存储在页表基址寄存器中它会随着进程的运行不断地变化。 页分配相比于段可以让进程地址空间更不需要连续空间不会产生碎片化。但其一个问题是由于页比较小可能使得页表变得特别大使得访问性能变差。不过我们可以通过缓存块表TLB或者多级页表来提高访问效率。 多级页表如果是所有页表都不存在的话实际存储空间并没有减少。但是在实际使用中进程不需要使用全部地址空间有些页表可以暂时不存在。比如都过存在位表示某个页表不存在这样是可以有效减少页表的存储。 下面是一个二级页表的示例。一级页表的页表项是二级页表的起始页号再加上偏移就可以得到实际物理地址。 段页式存储管理 该种方法式段式和页式的结合。每个逻辑地址由段号页号以及页内偏移地址组成。 首先会根据段号在段表中找到段表项。根据段表项找到页号根据页号在对应页表根据页表起始位置寻址中找到物理存储块根据偏移地址算出实际物理地址。 虚拟存储 上面讲了段式、页式、段页式各种内存空间分配方法但是他们都会存在一个问题即物理内存不够他们都需要一次性全部加载到内存中。虚拟存储就是为了解决这个问题它会利用外存且允许部分程序和数据装载到内存中并通过缺页异常完成页面置换等手段解决物理内存不够的问题。 可能你会想内存和外存这种不断装载不怕性能差吗这主要是利用了局部性原理即时间局部性一条指令前后执行时间较短空间局部性前后指令几乎在某个部分区域分支局限性一条跳转指令的多次执行会跳到同一个位置。 虚拟存储的概念 1、在装载程序时只将部分需要的程序和数据放到内存中 2、在执行时如果遇到需要的数据不在内存中操作系统会将程序或数据放到内存中 3、操作系统会将内存中用不到的内存或数据放到外存中。 那对于23步骤系统是怎么做的呢 第2步主要是通过缺页异常请求它使用的是虚拟页式存储。它相对于页式存储管理区别是它不会一次性把所有页表项都加载到内存中只会加载一部分通过设置标志位决定是否有效。 当我们执行CPU指令时会根据页号找到对应页表项如果无效就会抛出缺页异常这时会触发操作系统的进程会将外存的页加载进来。如果加载过程发现没有空闲物理页了会执行页面置换把某个页面移到外部去。如果目标页面修改位有效还要将其更新到外存。 上面提到了置换主要通过操作系统的页面置换算法来实现。目前提供了几种比较常用的算法比如FIFOLRUOPTCLOCK等等。 OPT是一种最优页面置换算法。即每次都算出每个页面的下次访问时间。这是一种理想化的算法实际是上是无法实现的因此无法预知逻辑页面的等待时间。 FIFO最简单的算法根据先入先出来决定置换但这种算法并不能反映真实的程序执行情况。操作系统会维护一个逻辑页面的链表缺页的时候会直接从链首取。 LRU这个在其他地方经常遇见最近最少访问会找到最近最少访问的页面进行置换。 CLOCK:记录页面访问的大致情况。它会将整个页面做成圆形链表。在访问页面时会将页标项的访问位置为1。缺页时会从当前位置扫描链表找到访问位为0的遇到1时会将访问位置为0然后接着找直到遇到为0的进行置换。 内存回收 内存管理不得不提到内存淘汰机制。Linux也会对内存进行回收。 其基本流程是当内存不够用时会进行内存回收内存回收包括后台回收和直接内存回收后台回收会启动一个特殊线程叫kswapd 如果后台回收仍然不够时或者说后台回收的速度赶不上内存申请的速度就会触发直接内存回收该过程的回收时同步的方式进行的。如果还是不够内存会首先kill掉占用内存大的进程如果还是不够直接就OOM。 后台回收会定期扫描内存页会通过不同的阈值来触发后台内存回收。 内存回收的对象主要是文件页和匿名页。 文件页(file)之前在介绍零拷贝技术时说到了PageCache为了加快速度会将文件数据缓存到内存中这部分数据就是文件页缓存。回收的方式是如果是干净页直接释放掉对应缓存如果是dirty要先将页数据写回到磁盘中再释放掉对应的缓存。 匿名页anon)有些数据并不是文件缓存的数据而是进程产生的比如堆、栈等数据这部分数据暂时用不上但未来可能还会用会先将其放到磁盘中未来可能的时间再加载到内存中。这是通过Linux的Swap机制实现的。 针对这两种不同的页分别维护了两个链表一个是活跃链表active_lists)一个是不活跃链表(inactive_list)这是一种改进的LRU算法。如果访问数据不在链表中则直接加入到不活跃链表中如果数据第二次被访问到会加入到活跃链表。在进行内存淘汰时直接淘汰不活跃链表的数据即可。 haibohaiboInxiaomi:~$ cat /proc/meminfo |grep -i Active Active: 2716196 kB Inactive: 8889912 kB Active(anon): 2500 kB Inactive(anon): 4911780 kB Active(file): 2713696 kB Inactive(file): 3978132 kB通过两张链表可以有效避免了预读失效和缓存污染的问题。 预读失效我们都知道程序具备局部性原理在读取存储器数据时是以页或者块为单位进行读取的一次会读取连续空间的数据即时有些数据本次不会用到Linux默认的页是4KB 当然页可以配置大页 Huge pages2MB或者1G),Mysql页Innodb)的大小是16KB。但在极端情况下可能会出现一个问题就是预读的数据永远都不会被访问到。如果是利用传统的LRU访问就加到链表头部的话可能会导致很多热点数据被挤到链表尾部导致热点数据可能会被淘汰。当然还要提到一点由于局部性原理预读失效的概率并不大。 Linux通过两个队列首先将数据预读数据放到不活跃链表尽可能缩短了不活跃的预读数据缓存时间首先被淘汰。 缓存污染缓存污染指的是大量数据占据了链表头部导致热点数据被淘汰。其实也是预读引起的。对于上面的链表预读出来的数据是放到不活跃链表如果被访问到就直接放到活跃链表中就仍然存在缓存污染的危险。针对这个问题linux的做法是只有第二次被访问到才会被加入到活跃链表中即提高了加入活跃链表中的门槛。在一定程度上有效地降低了缓存污染的问题。 参考资料 操作系统自学笔记:内存管理 操作系统知识盘点 操作系统-段式存储管理 操作系统内存管理
http://www.zqtcl.cn/news/234323/

相关文章:

  • 建设网站策划南京网站开发建设
  • 哪些网站可以做任务挣钱如何查询企业电话号码
  • 福田网站 建设深圳信科手机 网站制作
  • 网站站内优化方案佛山外贸网站建设哪家好
  • 厦门市网站建设局平台网站如何优化
  • 电子书网站用dz还是wordpresswordpress搭建购物网站
  • 广西住房和城乡建设培训中心网站吴江住房和城乡建设部网站
  • 游戏网站的导航条怎么做的安阳县属于哪个省哪个市
  • 网站建设科目国内有多少家做网站的企业
  • 如何建立一家公司网站江苏网站推广公司
  • 城市管理如何宣传市建设网站cms软件有什么功能
  • 网站建设优势网站为什么吸引人
  • 域名如何做网站网站导读怎么做
  • 那些网站可以做问答免费设计室内装修app软件
  • 白银做网站视频制作软件下载安装
  • 商城网站建设最新报价现在网站建设的技术
  • 网站设计思路方案广东深圳软件开发公司
  • 企业网站可以免费做吗网站建设管理内容保障制度
  • 建立导购网站吴江区建设局网站
  • 东莞网站建设(信科分公司)青岛市北建设集团网站
  • 企业网站分类举例营销型网站建设市场
  • 自学app开发难吗长沙专业网站优化定制
  • 厦门做企业网站找谁wordpress4.7.10漏洞
  • 百科网站源码最好的免费logo设计网站
  • 北京做网站s如何做网站截流
  • 深圳摇号申请网站在线免费网站
  • 自己做网站用花钱吗广西建设四库一平台网站
  • 做网站建设一般多少钱做网站要买多少服务器空间
  • 天津网站优化哪家快惠民建设局网站是哪个
  • 大连做网站绍兴厂商商城网站数据库表关系设计