码迷,mamicode.com
首页 > 其他好文 > 详细

《程序是怎样跑起来的》第五章

时间:2019-03-18 13:24:26      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:区域   bsp   virtual   运行程序   分段   内容   指令   exe   rtu   

       存储程序是在存储装置中保存程序,并逐一运行的方式,通过使用内存来提高磁盘访问速度的机制称为Disk Cache(磁盘缓存),把磁盘的一部分作为假想内存来使用的机制称为虚拟内存(virtual memory),Windows中,在程序运行时,存储着可以动态加载调用的函数和数据的文件称为DLL(DLL文件),在EXE程序文件中,静态加载函数的方式称为静态链接,在Windows计算机中,一般磁盘的1个扇区是512字节。

       程序保存在存储设备中,通过有序的被读出来实现运行,被称为存储程序方式。磁盘中存储的程序,必须要加载到内存后才能运行,在磁盘中保存的原始程序是无法直接运行的。磁盘缓存指的是把从磁盘中读出的数据存储到内存空间中的方式。这样,接下来需要读取同一数据时,不用通过实际的磁盘,而是从磁盘缓存中把内容读出,使用磁盘缓存可以大大改善磁盘数据的访问速度。虚拟内存是指把磁盘的一部分作为假想的内存来使用,这与磁盘缓存是假想的磁盘(实际上是内存)相对,虚拟内存是假想的内存(实际上是磁盘)。为了实现虚拟内存,就必须把实际内存(也称为物理内存)的内容,和磁盘上的虚拟内存的内容进行部分置换,并同时运行程序。虚拟内存的方法有分页式和分段式两种。Windows采用的是分页式。该方式是指,在不考虑程序构造的情况下,把运行的程序按照一定大小的页进行分割并以页为单位在内存和磁盘间进行置换。

节约内存的编程方法有以下两种方法:

(1)              通过DLL文件实现函数共有,就是在程序运行时可以加载Library(函数和数据的集合)的文件。

(2)              通过调用-stdcall来减小程序文件的方法,这是用C语言编程写应用时可以利用的高级技巧。

C语言中,在调用函数后,需要执行栈清理处理指令。栈清理处理是指把不需要的数从接收和传递函数的参数时使用的内存上的栈区域中清理出去。

磁盘是通过把其物理表面划分成多个空间来使用,划分的方式有扇区方式和可变长方式两种,前者是指将磁盘划分为固定长度的空间,后者则是指把磁盘划分为长度可变的空间。一般计算机使用的磁盘和软盘采用的都是扇区方式。其中,把磁盘表面分成若干个同心圆的空间就是磁道,把磁道按照固定大小(能存储的数据长度相同)划分面成的空间就是扇区。

《程序是怎样跑起来的》第五章

标签:区域   bsp   virtual   运行程序   分段   内容   指令   exe   rtu   

原文地址:https://www.cnblogs.com/1999dbl/p/10551563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!