python计算机结构_python06--计算机内存结构与存储管理(P27)
1.内存单元和地址
计算中(程序中)直接使用的数据保存在计算机的内存储器(简称内存)。内存是CPU可以直接访问的数据存储设备。与之对应的是外存储器,简称外存,如磁盘、光盘、磁带等。保存在外存里的数据必须先装入内存,而后CPU才能使用它们。
内存的基本结构是线性排列的一批存储单元。每个单元的大小相同,可以保存一个单位大小的数据。具体单元大小可能因计算机的不同而有所不同。在目前最常见的计算机中,一个单元可以保存一个字节(8位二进制代码)的数据。因此存放一个整数或者浮点数,需要连续的几个单元。例如标准的浮点数需要8个单元。
内存单元具有唯一编号,称为单元地址,或简称地址。单元地址从0开始连续排列,全部可用地址为从0开始的一个连续的正整数区间,如上图所示。
在程序执行中,对内存单元的访问(存取其中数据)都通过单元的地址进行,因此,要访问一个单元,必须先掌握其地址。在许多计算机中,一次内存访问可以存取若干单元的内容。例如目前常见的64位计算机,一次可以存取8个字节的数据,也就是说一次操作访问8个单元的内容。基于地址访问内存单元是一个O(1)操作,与单元的位置或整个内存的大小无关,这是分析与数据结构有关的算法时的一个基本假设。
在高级语言层面讨论和分析数据结构问题时,人们通常不关心具体的单元大小或地址范围,只假定所考虑数据保存在内存的某处,而且假定这种访问是常量时间的。
2.对象存储和管理
在python程序运行中,建立对象时需要安排存储,还有许多与对象存储和使用有关的管理工作。解释器的一个专门子系统(称为存储管理系统)负责这些工作。这一工作是自动进行的,编写程序的人不必关心。另外,当一个对象不再使用时,存储管理系统也会设法回收其占用的存储,以便在将来用于存储其他对象。
3.对象的访问(使用)
在编程语言层面,知道了一个对象的标识(内存地址就是一种标识)就可以直接访问(使用)它。已知对象标识(无论它是否直接为对象地址),访问相应对象的操作可以直接映射到已知地址访问内存单元,这种操作可以在常量时间完成(是O(1)时间操作)。
如果被访问的是一个组合对象,其中包含了一组元素,这些元素被安排在一块内存区域(一块连续的元素存储区)里,而且每个元素的存储量相同。在这种情况下,可以给每个元素一个顺序编号(通常为下标,index)。如果知道了一个组合对象的元素存储区位置,又知道要访问的元素的编号,访问元素也是O(1)时间操作。
python计算机结构_python06--计算机内存结构与存储管理(P27)相关推荐
- 苏州大学计算机组成与结构,苏州大学计算机组成结构期末.docx
苏州大学计算机组成结构期末 百度ID:末了iiENIAC:电子数字积分器和计算机 世界上第一台计算机线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所 ...
- Python学习笔记1-内置数据结构
变量: 存储一个对象的引用:由id().type().value组成 1.列表[list]: python内置数据结构 本身由id().type().value组成,指向列表对象: 列表对象相当于数组 ...
- 计算机基本结构quiz
计算机基本结构quiz 下列哪些定律属于计算机行业的著名"定律"? 反摩尔定律 墨菲定律 木桶定律 马太效应 摩尔定律 解释:计算机行业著名定律包括摩尔定律.反摩尔定律和阿姆达尔定 ...
- JVM(一)JVM虚拟机内存结构 和 JAVA内存模型(JMM)
本文转自:浅析java内存模型--JMM(Java Memory Model) - 路易小七 - 博客园,尊重作者,转载请注明出处~ JVM虚拟机内存结构 和 JAVA内存模型 是两个不同的概念 JV ...
- 【操作系统——内存基本分页存储管理】
系列文章目录 1.<带你深挖计算机底层逻辑,打通你计算机基础知识的任督二脉> 2.<深度学习计算机底层原理,深度剖析存储器> 3.<基于内存全面理解高速缓冲存储器> ...
- 一文解析JVM的内存结构,身为程序员还不弄懂JVM怎么行
欢迎关注专栏:Java架构技术进阶.里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦.微信公众号:慕容千语的架构笔记.欢迎关注一起进步. 前言 Jvm的内存结构是由<jav ...
- 计算机组成笔记1——计算机基本结构
1.计算机基本结构 1.1 电子计算机的兴起 现代电子计算机之父:冯-洛伊曼 1946.2.14 世界上第一台通用电子计算机ENIAC 在宾夕法尼亚大学诞生 1939 世界上第一台电子计算机ABC 阿 ...
- 计算机主机结构三部分,计算机主机板结构.doc
计算机主机板结构 主机板系统架构.1 Host bus GCLK内存时钟允许 (CKE) AGP 总线 内存总线 GCKRUN# PCI bus ISA bus 主机板系统架构简介 在描述架构时,会用 ...
- linux文件夹前的描述,Linux对内存结构的描述
Linux对内存结构的描述 1.查看Linux程序运行时状态 Linux在运行可执行文件时,该状态信息全部在/porc/${PID}中. proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外 ...
最新文章
- jQuery的文档操作方法
- 排序算法----插入排序
- 程序员面试系列——冒泡排序
- mysql查询结果导出excel_Mysql查询结果导出为Excel的几种方法
- 前端学习(498):水平居中布局得第一种方式
- boost序列化(Serialization)
- Python稳基修炼之计算机等级考试易错细节题3(含答案)
- java关键字transient和volatile的基本含义和使用方法
- PL/SQL中直接写SQL语句和用EXECUTE IMMEDIATE方法的区别
- ShadowGun shader 解析(1)
- comparison of VLIW and superscaler
- 《烈烈先秦》8、独撑大厦的真勇者——半残战神李牧
- 使用阿里云安装基础软件
- 湖北专升本MySQL复习(MySQL数据库实用教程)——MySQL数据表的操作
- 英安特1600说明书_英安特AW-BM600常用编程项设置
- 火狐浏览器谷歌浏览器Edge浏览器修改默认UA(User-Agent)
- 数字IC设计工程师的知识结构(转载学习)
- 苹果云服务icloud_苹果手机怎么恢复通讯录?一键恢复技巧就在这里!
- 遥感技术及高分遥感影像在地震中的应用
- java解包_Java的自动封包和解包(Autoboxing和AutoUnboxing)
热门文章
- Windows 8 :妥协的产物
- WF4.0 基础篇 (二) Activity介绍及WriteLine Activity的使用
- 创建IT运维管理门户
- PAT甲级1027 Colors in Mars :[C++题解]进制位
- js 点击最后一个 和倒数第二个_期货及期权品种的最后交易日,您都了解吗?...
- python没有指针如何实现链表_[转]为什么python标准库没有实现链表
- iis7.5php.2,Windows2008 IIS7.5搭建PHP5.2
- 正则表达式匹配非字母或者数字
- 逆向链表c语言 abcdef,6-6 求单链表元素序号 (5 分)
- 门限的限意思是什么_门限是什么意思_门限英文翻译