• 操作系统——存储管理:分区、分页、分段、请求式分页和虚拟内存


    操作系统——存储管理:分区、分页、分段、请求式分页和虚拟内存

    1. 综述

      突然把这么多概念弄到一起,让人有点儿困惑。自己的一些理解:

      分区式管理:最简单直观的方式,在内存中分配一个区,将整个进程放入这个区。缺点是会产生外碎片,即时间长了会在分区之间产生难以被利用的小空间。

      分页式管理:将内存分成固定大小的页,分配若干页将整个进程载入。页面可以不连续是其重要优点,不会产生外碎片,更有效地利用了内存,不过会产生一些内碎片,即分配给进程的最后一个页往往不能正好用完,不过在页面大小不是很大的时候可以接受。

      分段式管理:将程序分为若干个段,如数据段和代码段,加以不同的保护。施加保护是分段式的优点,但其仍是向分区式管理一样的连续分配。

      段页式管理:同样将程序分段,加以不同的保护,但是各段不再连续分配,而采用分页式离散分配。

      以上四种全是实存管理。即进程要么全部载入内存中,要么就不能载入。

    2. 请求式分页和虚拟内存

      请求式分页:将进程放入虚拟内存中,由于一个进程的页面不会同时全部被用到,只将需要用到的页面调入物理内存。即进程并没有整个在物理内存中。

      几个请求式分页的概念:(博客链接:请求式分页中的内存分配)

      固定分配:物理内存中分配给进程的内存块数一定。

      可变分配:物理内存先分配给进程一些内存块,如不够,可适当增加。

      局部置换:发生在分配的内存块已用完,又发生了缺页时,只能置换本来就是自己的内存块。

      全局置换:发生在分配的内存块已用完,又发生了缺页时,可以置换到操作系统保留的空闲页。这其实相当于增加了进程占有的内存块数。

      三种分配方式:固定分配局部置换、可变分配全局置换、可变分配局部置换。固定分配、全局置换不能组合。

  • 相关阅读:
    源码搭建zabbix平台
    如何用手机远程控制自己的电脑
    nginx无法启动问题详解
    在<script>中加HTML注释标签<!-- --> 的原因?
    UNICODE,GBK,UTF-8区别
    dart学习一 windows环境安装dart环境
    Git使用方法(精心整理,绝对够用)
    非常好用的jQuery表格排序插件
    Redis NOAUTH Authentication required.
    Docker概念、安装
  • 原文地址:https://www.cnblogs.com/yongheng20/p/5869359.html
Copyright © 2020-2023  润新知