操作系统第八堂课20210419
虚拟内存空间
好处:
好处一:内存效率会提升。好处二:进程间可以实现共享。
虚拟内存:逻辑地址,得到页表项,然后得到物理地址。
如果找到了这一页,在逻辑地址里面,则正常;否则就会产生缺页异常,可能是一个非法页,然后产生中断,异常处理程序,做上下文保存和恢复。操作系统做这个缺页异常:OS判断这个页是不是合法的。读页的请求。中断返回。
页面置换算法
局部置换、全局置换
1、最优页面置换策略:可能会实现不了。
2、先来先服务置换策略
3、LRU策略:最优页面置换策略实现不了的,置换的是过去的。因为不知道未来访问哪些,认为最近访问的还会被访问,往过去看,是最近最少使用置换策略。通过仿真,可以证明LRU比较好地接近最优页面置换算法,是非常好的一种置换算法。
4、Clock Page Replacement算法
不需要软件来维护。
5、Optimizing Approximate LRU Replacement算法
置换出去机会大的页,给它第二次机会算法。和钟表算法差不多的思想,置换不使用和没有修改过的页。
加载控制:高级多道级别、低级页负载。
颠簸:不要超过临界点。
产生了颠簸,一般把一些进程放在磁盘,这些进程是不参与短期调度的进程。
讨论:
内存资源碎片的本质?
造成的原因是:内存请求大小不一。
内核内存的管理方式?
内核数据结构,希望性能很好,会影响到系统的性能,希望在物理上连续存放。逻辑地址和物理地址在映射上值一样,分配资源的时候在逻辑上和物理上都是要求连续分配的。
Buddy和Slab
Docker内存管理方式?
fgroup
JVM的内存管理方式?
雪儿言