1、存储器基础知识

存储器管理的对象是主存或内存,存储器是计算机系统中非常关键的资源,用来存放各种信息的主要场所。存

储器管理功能主要包括:主存空间的分配和回收、提供主存利用率、扩充主存、主存信息的保护。

2、存储器结构

存储器结构:寄存器、高速缓存、主存、外存

3、地址重定位

地址重定位是指将逻辑地址变换成主存的物理地址的过程。分为:静态地址重定位、动态地址重定位。

3.1 静态重定位

静态重定位是指在程序装入主存时已经完成了逻辑地址到物理地址的变换、在程序运行期间将不会再发生变化。

优点:无需硬件地址变换机构的支持,它只要求程序本身是可重定位的。

缺点:必须给作业分配一个连续的存储区域,在作业执行期间不能扩充存储空间、也不能在主存中移动,多个作业也难以共享主存中的同一程序副本和数据。

3.2 动态重定位

动态重定位是指在程序运行期间完成逻辑地址到物理地址的转换。

优点:程序在执行期间可以转入和转出主存,用来解决主存空间不足的问题、可以在主存中移动、把主存中的碎片集中起来可以充分利用存储空间、不必给程序分配连续的主存空间、可以利用较小的主存块、可以实现资源共享。

4、存储管理方案

存储管理主要是解决多个用户使用主存的问题。常见的存储管理方案:分区存储管理、分页存储管理、分段存储管理、段页式存储管理、虚拟存储管理。

4.1 分区存储管理

1、固定分区

固定分区是一种静态分区方式、在系统生成时已经将主存划分为若干个分区。

2、可变分区

可变分区是一种动态分区方式。存储空间的划分是在作业装入时进行的,因此分区的个数是可变的,分区的大小刚好等于作业的大小。

可变分区的请求和释放分区算法:最佳适应算法、最差适应算法、首次适应算法、循环首次适应算法。

3、可重定位分区

可变分区的请求和释放分区算法:最佳适应算法、最差适应算法、首次适应算法、循环首次适应算法。是解决碎片问题简单而且有效的方法。原理是移动所有已经分配好的分区、使之成为连续区域。因为地址发生变化,所以会有地址重定位的问题。

4、分区保护

分区保护的目的防止未经核准的用户访问分区。常用有两种方式

1、采用上界/下界寄存器保护。

上界寄存器存放的是作业的装入地址,下界寄存器中转入的作业的结束地址,形成的物理地址满足如下条件:

上界寄存器<=物理地址<=下界寄存器

2、采用基址/限长寄存器保护

基址存放的是作业的装入地址、限长寄存器中装入的作业的长度,形成的物理地址满足如下条件:

基址寄存器<=物理地址<=基址寄存器+限长寄存器

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

操作系统基础:存储管理知识笔记(一)相关推荐

  1. php基础语法知识笔记(一)

    共享一份我自己学习php基础语法知识的笔记,这是第一弹,明天共享第二弹. 1.判断php短标记<??>是否适用,查看php配置文件php.ini中的"short_open_tag ...

  2. 《计算机操作系统》重点知识笔记整理(一)

    <计算机操作系统>重点知识总结1(1-4章)

  3. 操作系统基础:存储管理知识笔记(二)

    一.分页存储管理 1.分页存储管理介绍 1.1 分页原理 页:将一个进程的地址空间划分为若干个大小相等的区域称为页. 块.页框:主存空间划分成与页相同的若干个物理块. 1.2 地址结构 分页系统地址结 ...

  4. 计算机系统基础:虚拟存储管理知识笔记

    1.虚拟存储管理概念 一个计算机任务只需要部分装入主存便可以启动运行,其余部分留在磁盘上,在需要的时候装入主存,这样可以提高主存空间的利用率.这样该系统所具有的主存容量会比实际主存容量大很多,这样的存 ...

  5. 计算机网络基础概念知识笔记

    1.计算机网络的发展阶段 1.1.具有通信功能的单机系统 该阶段的模式为终端-计算机网络,属于早期计算机网络的主要形式.它将一台计算机经过通信线路和若干个终端直接相连 1.2 具有通信功能的多机系统 ...

  6. 【学习笔记】Python基础入门知识笔记,万字攻略带你走进Python编程

    ​ Python笔记,由此开始吧 本文是笔者在学习Python过程做的笔记总结,将简要讲述Python的基础知识,内容清晰易理解,相信你也能轻松的学会Python的入门基础知识内容.同时也希望这篇文章 ...

  7. javaSE基础进阶知识笔记2

    日期与时间 Date package org.example.d1_date;import java.util.Date;/*** 目标:学会使用Date类处理时间并获取时间信息*/ public c ...

  8. Java七十四: Java基础/核心知识总结 — — “Java千字文”

    Java基础/核心知识总结 - - "Java千字文" Java基础/核心知识笔记终于完结,从Java语言诞生到jdk8新特性,共计74篇博文,43幅自制插图,35张表格,7万6千 ...

  9. 干货!操作系统基础知识汇总!转给要面试的同学吧

    作者:Guide哥 来源:公众号 JavaGuide 很多读者抱怨计算操作系统的知识点比较繁杂,自己也没有多少耐心去看,但是面试的时候又经常会遇到.所以,我带着我整理好的操作系统的常见问题来啦!这篇文 ...

最新文章

  1. 5 亿微博数据疑泄露,Python 爬虫如何避免踩天坑?
  2. leetcode算法题--最长字符串链
  3. 报错处理: syntax error near unexpected token `$‘\r‘‘ (linux中的^M)
  4. phpstrom 代码格式
  5. aspnet中gridview文本只显示开始几个文本_软网推荐:三个小软件 轻松解决文本操作难题...
  6. java设计模式 订阅模式_Java中的外观设计模式
  7. 2017-12-09 JavaScript实现ZLOGO子集: 测试用例
  8. win10连接烟台大学校园网
  9. Sql分页两种常用算法
  10. 运算符重载——左移运算符重载
  11. c++ 之 关键字--explicit
  12. php for 每次增加2,php – 为什么foreach会将refcount增加2而不是1?
  13. 【数据库】数据库系统工程师(软考中级)——学习过程总结
  14. SweepProfile for 3dMax石膏线生成插件使用教程
  15. 我那曲折的英语学习经历:学不学语法,天差地远 转载自豆瓣
  16. 全国大学生大数据技能竞赛比赛心得以及相关资料
  17. Python爬虫(三):python抓取网页中的图片到本地
  18. dell720服务器支持的显卡,Dell Poweredge 服务器显卡选择
  19. 17. 如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据
  20. 施工现场资料员15个常见问题处理流程!

热门文章

  1. linux下解压.tar.bz2文件
  2. 快速手动替换 Windows 7 系统字体
  3. DEV C++如何不需要通过建项目可以调试程序
  4. python数据处理常用函数_pandas数据分析常用函数总结大全:上篇
  5. android自验签名证书,没有以前的互联网连接,无法验证Android自签名证书
  6. python try 异常处理 史上最全
  7. 查询大于2分钟的数据
  8. 以太坊智能合约开发环境配置
  9. GIT入门笔记(18)- 标签创建和管理
  10. 20145231 《信息安全系统设计基础》期中总结