操作系统的内存对齐机制学习笔记

简介:     http://blog.csdn.net/lgouc/article/details/8235471   http://blog.sina.com.cn/s/blog_67c294ca01012qbu.html      数据对齐并不是操作系统的内存结构的一部分,而是C P U结构的一部分   是这么理解吗?cpu要读取内存中的数据,以多少为单位进行读取呢?以4个字节,还是8个字节。

 

 

 

http://blog.csdn.net/lgouc/article/details/8235471

 

http://blog.sina.com.cn/s/blog_67c294ca01012qbu.html

 

 

 数据对齐并不是操作系统内存结构的一部分,而是C P U结构的一部分

 

是这么理解吗?cpu要读取内存中的数据,以多少为单位进行读取呢?以4个字节,还是8个字节。还是16个字节为单位来读取内存数据?

目前主要以2个字节为单位吗?是的。2个字节作为对齐单位。

 

以多少个字节为单位来读取内存的数据,这是cpu的知识。与cpu有关系。

 

数据项只能存储在地址是数据项大小的整数倍的内存位置上。如int类型占用4个字节,地址只能在0,4,8等位置上。

也就是说,这个数据的首个地址必须是它的倍数。

 

比如一个数据大小是6个字节。现在要存入内存中去,首个内存地址的位置必须是6的倍数,即6*n才行:6,12,18........这样就可以。

这是结论,有这个限制要求。原因是什么,减少cpu读取内存的次数。不进行内存对齐的话,读取次数将会增加。

 

 

 

 

 

 

 内存对齐的本质:减少cpu读取内存的次数。一次性尽可能多读取数据进来。是这样的吗?

 

 

处理器的内存存取边界是什么意思?

 

http://www.cnblogs.com/xkfz007/archive/2012/10/08/2715163.html 这篇文章讲述了cpu与内存之间的关系

 

内存对齐是操作系统为了快速访问内存而采取的一种策略,简单来说,就是为了放置变量的二次访问。操作系统在访问内存 时,每次读取一定的长度(这个长度就是操作系统的默认对齐系数,或者是默认对齐系数的整数倍)。如果没有内存对齐时,为了读取一个变量是,会产生总线的二 次访问。

 

几个基础知识:内存的每个地址能够存储多少数据。1个字节。

 

cpu的执行指令速度

大部分简单指令的执行只需要一个时钟周期,也就是1/3纳秒。光在这个时间点也只能走10厘米。

 

由于主存中使用电容来存储信息,为了防止因自然 放电而导致的信息丢失,就需要周期性的刷新它所存储的内容,这也带来额外的等待时间。

 

目录
相关文章
|
19天前
|
安全 索引
操作系统中的内存管理策略
【8月更文挑战第23天】
45 1
|
12天前
|
消息中间件 算法 Java
深入浅出操作系统:进程管理的艺术掌握Java中的异常处理机制
【8月更文挑战第30天】在数字世界的舞台上,操作系统扮演着导演的角色,精心安排着每一个进程的表演。本文将揭开进程管理的神秘面纱,从进程的诞生到终结,探究它们如何在操作系统的指挥下和谐共舞。通过生动的比喻和直观的代码示例,我们将一同走进操作系统的核心,理解进程调度、同步与通信的内在机制,以及它们对计算生态的重要性。让我们跟随代码的节奏,一起感受操作系统的魅力吧!
|
20天前
|
JavaScript 前端开发 算法
js 内存回收机制
【8月更文挑战第23天】js 内存回收机制
30 3
|
20天前
|
存储 JavaScript 前端开发
学习JavaScript 内存机制
【8月更文挑战第23天】学习JavaScript 内存机制
19 3
|
27天前
|
存储 缓存 编译器
Linux源码阅读笔记06-RCU机制和内存优化屏障
Linux源码阅读笔记06-RCU机制和内存优化屏障
|
24天前
|
算法 安全 UED
探索操作系统的内核空间:虚拟内存管理
【7月更文挑战第50天】 在现代操作系统中,虚拟内存管理是核心功能之一,它允许操作系统高效地使用物理内存,并为应用程序提供独立的地址空间。本文将深入探讨操作系统虚拟内存管理的机制,包括分页、分段以及内存交换等关键技术,并分析它们如何共同作用以实现内存的有效管理和保护。通过理解这些原理,读者可以更好地把握操作系统的内部工作原理及其对应用程序性能的影响。
|
1月前
|
存储 算法 安全
深入剖析操作系统的内存管理机制
在数字世界的构建中,操作系统扮演着至关重要的角色。本文将探讨操作系统中的内存管理机制,揭示其背后的技术原理和设计哲学。从内存分配策略到虚拟内存的实现,再到内存保护和回收机制,我们将一探究竟,解析操作系统如何高效、安全地管理宝贵的内存资源。
|
14天前
|
存储 算法 调度
深入理解操作系统:从进程管理到内存优化
【8月更文挑战第29天】在数字世界的心脏跳动着的,是无数行代码构成的操作系统。本文将带领读者穿梭于操作系统的两大核心领域——进程管理和内存优化,揭示它们如何协同工作以确保计算机系统的高效运行。通过实际代码示例,我们将探索进程的生命周期、调度策略以及内存分配和回收机制。加入我们,一起解锁操作系统的秘密,理解其背后的逻辑与哲学。
|
15天前
|
存储 安全 Java
深入理解操作系统:从用户空间到内核空间的旅程深入浅出Java异常处理机制
【8月更文挑战第28天】在数字世界的海洋中,操作系统是承载软件与硬件沟通的巨轮。本文将揭开操作系统神秘的面纱,通过一次思维的航行,带领读者从应用程序的用户空间出发,穿越系统调用的大门,深入内核空间的心脏。我们将探索进程管理、内存分配、文件系统等核心概念,并借助代码示例,揭示操作系统背后的魔法。准备好了吗?让我们启航,去发现那些隐藏在日常计算活动背后的秘密。 【8月更文挑战第28天】在Java编程世界中,异常处理就像是我们生活中的急救包。它不仅保护程序不因意外而崩溃,还确保了代码的健壮性和可靠性。本文将通过简洁明了的语言和生动的比喻,带你了解Java异常处理的奥秘,从基本的try-catch语
|
1月前
|
算法 程序员
理解操作系统内存管理:页面置换算法全解析
大家好,我是小米,热爱分享技术的大哥哥!今天聊的是操作系统中的页面置换算法。它解决的是内存满载时,如何选择合适的页面移出以腾出空间的问题。主要有三种算法:FIFO(先进先出),简单但性能不佳;LRU(最近最久未使用),考虑时间局部性,性能较好但实现较复杂;OPT(最佳置换),理论上最优但无法实际应用。这些算法各有千秋,在实际应用中需根据场景选择最合适的方案。希望这能帮大家更好地理解内存管理的核心机制!
67 2

热门文章

最新文章