zoukankan      html  css  js  c++  java
  • 程序是怎样跑起来的 第五章

    整体讲内存和磁盘的关系。内存和磁盘都是存储部件,内存利用电流实现存储,高速高价,磁盘利用磁效应,低速廉价。程序保存在存储设备中,通过有序的被读出来实现运行,这是存储程序方式,磁盘中的程序必须加载到内存后才能运行,因为cpu需要内部程序计数器来指定内存地址,然后才能读出程序。
    磁盘缓存可以体现内存和磁盘的关系。磁盘缓存指的是把从磁盘读出的数据存储到内存空间的方式。当需要读取同一数据时,可以不用通过实际的磁盘,而从磁盘缓存中读出,能提高磁盘数据的访问速度。
    虚拟内存是第二个例子。它是指把磁盘的一部分作为假想内存来使用。虚拟内存是假想的内存(实际是磁盘),磁盘缓存是假想的磁盘(实际是内存)。借助虚拟内存,在内存不足时也可以运行程序。为实现虚拟内存,必须把实际内存的内容,和磁盘上的虚拟内存的内容进行部分置换,并同时运行程序。5.4介绍了节约内存的编程方法,为了解决内存不足的问题,一是增加内存的容量,二是把运行的文件变小。这里有两个方法。
    1)通过dll文件实现函数共有。dll文件是在程序运行时可以动态加载函数和数据的集合的文件。2)通过调用_stdcall来减小文件。它是标准调用的简称。但文章没有讲述这两个的具体方法步骤。好像也讲了,但是没看懂。
    5.5讲磁盘的物理结构。磁盘是通过把它的表面划分成多个空间来使用的。一般用扇区方式。
    扇区是对磁盘进行读写的最小单位。但是在逻辑方面对磁盘读写的单位是 簇。不同文件不能存储在同一簇,所以不管多小的文件都会占用1簇的空间。

  • 相关阅读:
    并发编程与高并发学习笔记六
    并发编程与高并发学习笔记五
    并发编程与高并发学习笔记四
    浅谈数据挖掘与机器学习
    IntelliJ Idea常用的快捷键
    单链表的插入,查找,删除
    二叉树的序列化和反序列化及完全二叉树和满二叉树的区别
    二叉树的按层遍历并实现换行
    冒泡排序,选择排序,插入排序,快速排序的比较及优化
    axSpA患者新发炎症更容易发生在既往发生过炎症的区域
  • 原文地址:https://www.cnblogs.com/hzusbjxg/p/10598273.html
Copyright © 2011-2022 走看看