计算机内存结构!

来源:互联网 发布:端口号 进程 编辑:程序博客网 时间:2024/06/11 00:37
变量的三大特点: 数据类型、作用域、存储类型
计算机的三大组成:
    1.CPU
    2.内存
    3.硬盘
内存与硬盘的区别:
  1.内存中保存动态数据,硬盘中保存静态数据。
  2.断电后内存中的数据丢失,硬盘中的数据不会丢失。
  3.执行程序时,从硬盘中调用程序,在内存中执行。
 可执行程序在硬盘里为 a.out,调到内存里执行时变为进程。
如何提高计算机的运行效率?
   1.单核→双核(成本高)。
   2.扩大内存2g→4g (相对其他两项最优)。
   3.提高主频(处理指令的速度)(功耗大)。
 
操作系统作用: 管理资源。
操作系统会抽象出内存空间,类似于把黄金抽象成人民币。
运行程序时,打印一个变量的地址,打印的其实是抽象空间的地址。
操作系统会为每一个进程抽象出一个进程虚拟地址空间(大概4个G),对应真实内存的2M。(通过MMU映射)
系统抽象进程虚拟地址空间的作用:
    1.数据之间不受影响。
  2.保护数据。
虚拟空间映射(由MMU执行)到物理内存。
 
虚拟地址中4个g的存储空间划分方式
       内核1G  内存的最高地址
       用户空间 3G
用户空间又分为
     栈空间  存放:局部变量 函数形参 自动变量
         特点:1.先进后出(最先进的最后出)
          2.系统管理
     堆空间  存放:malloc ralloc calloc
         特点:1.用户管理
          2.先进先出
     数据区  存放:bbs(未初始化的全局变量) or(only read 常量) 静态数据区                  (static修饰变量,初始化的全局变量)生命周期:整个程序结束后再释放。
     代码段
分配内存的三个方式:栈空间 堆空间 数据区

全局变量与局部变量的区别
1、全局变量在程序执行结束后才释放内存空间而局部变量在该函数之行结束后就释放内存空间;
2、全局变量存储在(全局)数据区,局部变量存储在栈空间;
3、全局变量未初始化打印时系统赋值为0;而局部变量未初始化打印时系统随机赋值;
4、当全局变量与局部变量重名时执行局部变量。

0 0
原创粉丝点击