理解内存

1、操作系统对硬件封装,对外暴露API,编程语言对操作系统封装,对外暴露API,程序员利用编程语言的API进行编程。

2、硬盘利用磁性保存数据,内存是晶体管,用电流的有无状态表示数据。因此断电后,硬盘的数据还在,内存的数据消失了。

3、访问硬盘使用磁头读写数据,访问内存使用数据总线。

4、每个进程都会占用一定的内存,对于32位操作系统,进程占用的内存必须小于 4G-操作系统常驻内存。

5、系统中的进程很多,每个都占用一定的内存,会导致内存不够用,就会出现roll-out,roll-in。内存不够用的情况下,去执行一个进程,先把其他暂时不用的进程内存roll-out,然后把该进程的内存roll-in。在roll-out和roll-in的情况下,必定导致进程内存地址发生了变化,那为什么程序中的指针还能指向正确的地址呢?

  这是因为,程序中的指针实际上是,逻辑地址,并不是真实的物理地址。可以简单认为,逻辑地址就是相对于程序内存的相对地址。

6、32位操作系统表示处理器一次可以处理32位的数据,64位操作系统表示处理器一次可以处理64位的数据。

posted on 2013-10-22 18:47  Andy Niu  阅读(261)  评论(0编辑  收藏  举报