计算机内存的基本知识详细说明


时间:2020-02-08 02:11

  介绍完内存类别,内存的基本结构,分段寻址原理,我们再来看我们程序是怎么使用内存。

  通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。【存储全局未初始化的变量】

  数据段通常是指用来存放程序中 已初始化 的 全局变量 的一块内存区域。数据段属于静态内存分配。 【存储全局已初始化的变量】

  代码段通常是指用来存放 程序执行代码 的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于 只读 , 某些架构也允许代码段为可写,即允许修改程序。在代码段中,也有可能包含一些 只读的常数变量 ,例如字符串常量等。程序段为程序代码在内存中的映射.一个程序可以在内存中多有个副本.【存储的是二进制后的程序代码】

  堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。当进程调用malloc/free等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张)/释放的内存从堆中被剔除(堆被缩减)【存储初始化的局部变量】

  栈又称堆栈, 存放程序的 局部变量 (但不包括static声明的变量, static 意味着 在数据段中 存放变量)。除此以外,在函数被调用时,栈用来传递参数和返回值。由于栈的先进先出特点,所以栈特别方便用来保存/恢复调用现场。储动态内存分配,需要程序员手工分配,手工释放【储存的动态未初始化变量】

  address: 0085d 虚拟内存区域的起始和终止地址文件所占的地址空间

  左边的是UNIX/LINUX系统的执行文件,右边是对应进程逻辑地址空间的划分情况。

  堆栈区(stack),堆栈是由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。栈的申请是由系统自动分配,如在函数内部申请一个局部变量 int h,同时判别所申请空间是否小于栈的剩余空间,如若小于的话,在堆栈中为其开辟空间,为程序提供内存,否则将报异常提示栈溢出。

  堆(heap),堆一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。堆的申请是由程序员自己来操作的,在C++中使用malloc函数,而C++中使用new运算符,但是堆的申请过程比较复杂:当系统收到程序的申请时,会遍历记录空闲内存地址的链表,以求寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,此处应该注意的是有些情况下,新申请的内存块的首地址记录本次分配的内存块大小,这样在delete尤其是delete[]时就能正确的释放内存空间。

  全局数据区(静态区) (static),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 另外文字常量区,常量字符串就是放在这里,程序结束后有系统释放。

  量子计算机基本可以彻底改变我们生活的方方面面,从医疗到金融甚至国家安全。

  中兴天机Axon 10s Pro,采用LPDDR5内存+UFS3.0闪存

  去年年底,中兴公布了天机Axon 10s Pro将搭载骁龙865处理器,支持5G SA/NSA,支持....

  当我们还在体验 Linux 5.5 稳定发行版带来更好的硬件支持时,Linux 5.6 已经来了。

  徐起表示:“换台realme新机用。关键词:5G旗舰,LPDDR5,很快就来。”微博显示,徐起使用的....

  2月6号上午,美光科技宣布已交付全球首款量产的低功耗DDR5 DRAM芯片,并将率先搭载于即将上市的....

  优麒麟UKUI基于GTK和QT进行开发,移植至Arch Linux操作系统

  据报道,目前优麒麟UKUI桌面环境和优客系列应用软件已经大部分移植至Arch Linux操作系统。继....

  计算机语言经过不断发展分为三个层次,高级语言、汇编语言和机器语言。我们人类在计算数字的时候习惯于用1....

  计算机网络已经进入千兆时代,把我们的电脑和Internet连接起来的网线也在逐步变成光纤。这篇文章带....

  本文是使用 OpenSSL 的密码学基础知识的两篇文章中的第一篇,OpenSSL 是在 Linux ....

  例如:家的网络带宽是100mbps=100*1000kbps,为什么我的流量没有达到那么高,这里....

  小米10将为首款全线号晚上,小米CEO雷军更新消息,小米10全线 ,不仅会搭载美光的LPDDR5 ....

  60台计算机的机房所需要的设备也就是网线,交换机,路由器,这个规模也就算是一个小型的局域网,接下来我....

  计算机系统的硬件主要是由运算器、控制器、存储器、输入设备、输出设备等几部分组成。由于运算器、控制器、....

  计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。计....

  人工智能是结合数学、计算机、心理学等学科理论发展起来的新学科,人工智能的目标是让机器模拟人类行为,代....

  所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的....

  近日,技嘉推出了Designare DDR4-3200 64GB套条,由2条单条32GB内存组成。D....

  小米10有望搭载最高12GB LPDDR5内存 数据传输速率将获大幅提升

  小米10全球首发LPDDR5的消息公布后,雷军发微博表示:“LPDDR5,跨越性的升级换代,对智能手....

  相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具....

  电子装联技术缩写为EICT,即我们通常所说的电装技术,是按照电子装备总体设计的技术要求,通过一定的连....

  目前,工控计算机BI0S常用的三种类型,其中各种主板在市场销售,大多数品牌的生产主要使用奖BIOS(....

  全球最受欢迎的OS操作系统是什么?大家第一个想到的恐怕是Windows,最新的Win10安装量超过1....

  三星电子推出业界首款符合HBM2E规范的内存——Flashbolt HBM DRAM

  三星电子宣布推出了业界首款符合HBM2E规范的内存。它是第二代Aquabolt的后继产品,具有16G....

  Microsoft Surface Go与Surface Pro的区别是什么

  处理器之一是低功率的“ Kaby Lake”英特尔奔腾金牌4415Y,与Surface Pro的In....

  今年1月份内存现货价格开始被热炒,已经有涨价的苗头了,不过总体来看目前的内存价位还是不错的,8GB单....

  2月4日消息,据国外媒体报道,当地时间周一,美国半导体行业协会(SIA)宣布,2019年全球半导体行....

  尽管越来越多地采用和使用加密货币,但是使用区块链进行大规模快速支付的能力仍然是一个挑战。

  大容量单条内存成新趋势 32GB单条内存成锐龙Threadripper 3000系列搭配首选

  今年1月份内存现货价格开始被热炒,已经有涨价的苗头了,不过总体来看目前的内存价位还是不错的,8GB单....

  现在的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢?它们的前途一般是这样两种:仍然可以使用,....

  集邦科技旗下下半导体研究中心DRAMeXchange今天发表报告,称国内的内存及闪存工厂并没有受到疫....

  不管是班科生还是非班科生,在学习C语言的路途上是否感觉到困难,不知道如何入手C语言呢??那么接下来小....

  PostgreSQL和MariaDB与SQLite这3个开源数据库有什么区别

  在现代企业技术世界里,开源软件已牢固地确立了自己作为不可忽视的,最大力量之一的地位。由于开源运动的出....

  网上的方法,我基本上都试了个遍,摸索出最简单的方法鼓捣这个的起因是,蹲坑时突发奇想,手机底层是lin....

  操作系统是计算机学科的基础课程,是理解计算机运行原理的重要基石,学习操作系统不仅能够让编程人员了解计....

  UNIX 系统早在20世纪70年代,是开源而且免费的,但是在1979年的一天,AT&T公司宣布了对 ....

  有线网络的应用非常广泛,横跨诸多市场领域,从家庭、办公室、企业到工业、汽车等不一而足;对其而言,以太....

  许多内存与存储产品已经开始涨价,从年初到现在涨价幅度最高达 29%。看来,2020 年内存与存储价格....

  数据显示,在刚过去的1月份,内存和闪存芯片在上游的交易价均有所上涨。其中,8Gb(1GB)DDR4-....

  安全是IT行业一个老生常谈的话题了,从之前的“棱镜门”事件中折射出了很多安全问题,处理好信息安全问题....

  物联网,或称IOT,是指通过嵌入在设备和物理对象中的微型计算系统进行互连,并使这些设备能够交换数据,....

  根据Gartner的调查结果,2019年全球半导体收入总计4183亿美元,比2018年下降11.9%....

  在Linux系统中,由于成本的限制,往往会存在资源上的不足,例如 CPU、内存、网络、IO 性能。本....

  Orange Pi 全志H2(型号:Zero,R1)和H3芯片系列(型号:One,Lite,PC,PC Plus,Plus 2E)的开发板,连接HD...

  物联网技术是指通过信息传感设备,按照约定的协议,把任何物体与互联网连接起来,进行信息交换和通信,以实....

  真正免费运行Linux的开源智能手机梦想从未真正实现。它以各种形式出现,并在此过程中遭受了许多挫折。....

  根据消息报道,今天英特尔将正式开始停止M后缀Xeon可扩展处理器的生产,而L后缀支持大内存的版本将会....

  多年来,存储器制造商一直试图在单个封装中集成动态随机存储器(RAM)和闪存(NAND)的共同优势,但....

  如今的硬件产品配色,多以黑红为主,显得有高端大气上档次。今天,影驰发布了一款采用经典纯蓝配色的内存,....

  几十年来,主要根据容量和速度来衡量存储技术的进步。不再。近年来,通过使存储变得更智能,更灵活且更易于....

  在总线的开发或测试工作中,我们经常需要在线监测总线的报文进行保存或者发送给其他软件进行分析。Ixxat的CAN PC接口产品可...

  事物总有个核心,复杂的事物总可以模块化、层次化, 嵌入式Linux也如此。学习嵌入式Linux困难,主要因为涉及知识和概念过多,即...

  基于紫金桥跨平台跨平台实时数据库,可Linux系统下快速实现一个监控系统。 1、组态流程和传统windows组态差不多,所以上手很快...

  刚刚学用linux VIM,切换到输入模式?i在当前光标所在字符的前面,转为输入模式 a在当前光标所在字符的后面,转为输入模式 我不...

  在挑选手机的时候,“内存”是很多人选择的重要因素。尤其对于爱拍照的MM们,挑选手机时一看拍照功能是否强大,二看是否有更大...

  1、引言 在系统上电时,需要从外部载入所要运行的程序,此过程被称为程序加载。多数情况下,从外部专用的 读入程序。这种方式速...

  嘉宾介绍:朱有鹏,互联网课程品牌《朱老师物联网大讲堂》创始人。精通U-Boot、linux kernel移植及驱动程序开发;精通C、C+...

  计算机在运行数的运算中, 不可避免地会遇到正数和负数, 那么, 在计算机中, 正负符号 是怎样表示的呢? 通常我们将一个二进制数的最...

  AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)

  TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...

【编辑:admin】




上一篇:2020年全国计算机二级msoffice复习知识点:求和函

下一篇:2020年全国计算机二级考试上机试题备考技巧

友情链接: | 网站地图
版权所有:海富天下科技网