首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

3.2.4页面分配策略

对于分页式的虚拟内存,在准备执行时,不需要也不可能把一个进程的所有页都读取到内存,因此,操作系统必须决定读取多少页,也就是说,给特定的进程分配多大的内存空间,这需要考虑以下几点: 1)分配给一个进程的存储量越小,在任何时候驻留在主存中的进程数就越多,从而可以提高处理机的时间利用效率。 2)如果一个进程在主存中的页数过少,尽管有局部性原理,页错误率仍然会相对较高。 3)如果页数过多,由于局部性原理,给特定的进程分配更多的主存空间对该进程的错误率没有明显的影响。 基于这些因素,现代操作系统通常采用三种策略: 1)固定分配局部置换 它为每个进程分配一定数目的物理块,在整个运行期间都不改变。若进程在运行中发生缺页,则只能从该进程在内存中的页面中选出一页换出,然后再调入需要的页面。实现这种策略难以确定 为每个进程应分配的物理块数目:太少会频繁出现缺页中断,太多又会使CPU和其他资源利用率下降。 2)可变分配全局替换 这是最易于实现的物理块分配和置换策略,为系统中的每个进程分配一定数目的物理块,操作系统自身也保持一个空闲 物理块队列,当某进程发生缺页时,系统从空间物理块队列中取一个物理块分配给该进程,并将欲调入的页装入其中。 3)可变分配局部替换 它为每个进程分配一定数目的物理块,当某进程发生缺页时,只允许从该进程在内存的页面中选出一页换出,这样就不会影响其他进程的运行。如果进程在运行中频繁地缺页,系统在为该进程分配若干物理块,直至该进程缺页率趋于适当程度;反之,若进程在运行中缺页率特别低,则可适当减少分配给该进程的物理块。

01

Nginx和Apache和Tomcat的区别及优缺点「建议收藏」

Nginx和Apache和Tomcat的区别及优缺点 1、定义: 1)Apache Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页,它是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。 Apache支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。 缺点:配置相对复杂,自身不支持动态页面。 优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。Apache是静态解析,适合静态HTML、图片等。 (Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。)

02

Android开发笔记(一百七十九)避免方法数过多的问题

一个大规模的App工程,往往引入了数量繁多的第三方开发库,其中既有官方的Jetpack库,也有第三方厂商的开源包。有时候运行这种App会报错“Cannot fit requested classes in a single dex file (# methods: 65894 > 65536)”,意思是App内部引用的方法数量超过了65536个,导致App异常退出。 原来Android的每个App代码都放在一个dex文件中,系统会把内部方法的索引保存在一个链表结构里,由于这个链表的长度变量是short类型(short类型的数字占两个字节共16位),使得链表的最大长度不能超过65536(2的16次方),因此App方法数超过65536的话,链表索引溢出就报错了。为了解决方法数过多的问题,Android推出了名叫MultiDex的解决方案,也就是在打包时把应用分成多个dex文件,每个dex的方法数量均不超过65536个,由此规避了方法数过多的限制。 若想让App工程支持MultiDex,需要对其略加改造,具体改造步骤说明如下。 首先要修改模块的build.gradle文件,往dependencies节点添加下面一行配置,表示导入指定版本的MultiDex库:

02
领券