操作系统:精髓与设计原理 虚拟内存

2024-05-05 18:58

本文主要是介绍操作系统:精髓与设计原理 虚拟内存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虚拟内存  在存储分配机制中 尽管备用内存是主内存的一部分,它可以被寻址  程序引用内存使用的地址与内存系统用于识别吴莉丽存储站点的地址是不同的,程序生成的地址会自动转换成机器地址。   虚拟存储的大小收到计算机系统寻址机制和可用的备用内存量的限制,而不受内存存储位置实际数量的限制

虚拟地址  在虚拟内存中分配给某一个位置使该位置可以被访问  仿佛它是主内存的一部分

虚拟地址空间   分配给进程的虚拟存储

地址空间  可用于某进程的内存地址范围

实地址  内存中存储位置的地址


进程的常驻集   进程在执行过程中任何时候都在内存的部分称为进程的常驻集

实存  real memory 进程只能在内存中执行    虚存  virtual memory 

虚存分页   

内存被划分成大小固定的小块 称为页框

程序被编译器或内存管理系统划分成页

页框中有内部碎片

没有外部碎片

操作系统必须为每个进程维护一个页表 以说明每个页对应的页框

操作系统必须维护一个空闲页框列表

处理器使用页号和偏移量来计算绝对地址

当进程运行时,并不是它的所有页都必须在内存页框中  只在需要时才读入页

把一页读入内存可能需要把另一页写出到磁盘


虚存分段

内存未被划分

由程序员为编译器制定程序段

没有内部碎片

有外部碎片

操作系统必须为每个进程维护一个段表 以说明每一段中的加载地址和长度

操作系统必须维护一个内存中的空闲的空洞列表

处理器使用段号和偏移量来计算绝对地址

当进程运行时,并不是它的多有段都必须在内存中  只在需要时 读入段

把一段读入内存可能需要把另外一个段或几个段写出到磁盘


操作系统的内存管理    虚存技术  分页还是分段还是二者结合    为各种存储管理特征采用算法

读取策略   确定一个页何时取入内存    请求分页   demand paging    只有当访问到某页中的一个单元时才将该页取入内存           预先分页 prepaging  

清除策略  确定在何时将一个被修改过的页写回辅存   请求式清除   预约式清除

置换策略   在计划置换的页集中 选择置换出哪一页

驻留集管理  每个活动进程分配多少页框   计划置换页的集合是局限与那些产生缺页中断的进程 还是所有页框都在内存中的进程

加载控制   加载控制会影响到驻留在内存中的进程数目  

这篇关于操作系统:精髓与设计原理 虚拟内存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/962429

相关文章

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

MySQL 批量插入的原理和实战方法(快速提升大数据导入效率)

《MySQL批量插入的原理和实战方法(快速提升大数据导入效率)》在日常开发中,我们经常需要将大量数据批量插入到MySQL数据库中,本文将介绍批量插入的原理、实现方法,并结合Python和PyMySQ... 目录一、批量插入的优势二、mysql 表的创建示例三、python 实现批量插入1. 安装 PyMyS

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node