Golang编程语言知识介绍


  • 首页

  • todo

  • 思考

  • life

  • food

  • OS

  • lua

  • redis

  • Golang

  • C

  • TCP/IP

  • ebpf

  • p4

  • OpenVPN

  • IPSec

  • L2TP

  • DNS

  • distributed

  • web

  • OpenWRT

  • 运维

  • Git

  • 鸟哥的私房菜

  • IT杂谈

  • 投资

  • About Me

  • 友情链接

  • FTP

  • 搜索
close

操作系统基础43-帧分配

时间: 2021-08-25   |   分类: os   cs     |   阅读: 504 字 ~2分钟

操作系统基础43-帧分配

2021-01-22 23:00·重学IT的老猫

如何在各个进程之间分配一定的空闲内存? 简单办法是将帧挂在空闲帧链表上,当发生页错误之时即进行分配。进程终止时帧再次放回空闲帧链表。 帧分配策略受到多方面限制。例如, 分配数不能超过可用帧数,也必须分配至少最少数量。保证最少量的原因之一是涉及性能。缺页错误增加会减慢进程的执行。并且,在指令完成前出现缺页错误,该指令必须重新执行。所以有足够的帧至关重要。 每个进程最少帧数由体系结构决定,而最大帧数是由可用物理内存的数量决定。

分配算法

  • 平均分配:即最大帧除以进程总数得到的值,但是没有考虑到进程可能需要不同大小的内存空间。
  • 按进程大小比例分配:按照进程的页(地址空间)的大小,按比例给进程分配帧数
  • 按优先级分配:对于高优先级的进程,可以有更大的帧空间以便更快的执行。
  • 根据进程的大小和优先级的组合

全局分配和局部分配

全局置换允许进程从所有帧集合中选择一个进行置换,而不管该帧是否已分配给其他进程,即它可以从其他进程抢夺帧,比如高优先级抢夺低优先级的帧;局部分配则要求每个进程只能从自己的分配帧中分配。 全局置换通常有更好的吞吐量,且更为常用。

操作系统基础43-帧分配

虚拟内存

操作系统基础43-帧分配

处理缺页错误的步骤

了解更多

#os# #cs#
操作系统基础44-内存映射文件
操作系统基础42-系统抖动及解决方法
shankusu2017@gmail.com

shankusu2017@gmail.com

日志
分类
标签
GitHub
© 2009 - 2025
粤ICP备2021068940号-1 粤公网安备44011302003059
0%