首页 > 编程语言 >程序是怎样跑起来的(第五章)

程序是怎样跑起来的(第五章)

时间:2024-02-18 19:56:28浏览次数:32  
标签:读取 程序 硬盘 第五章 内存 磁盘 虚拟内存 怎样

从存储程序指令和数据的角度来看,可以说,内存和磁盘的功能是一样的,在计算机的五大部件中,内存和磁盘都属于存储器,但是利用电流实现储存的内存和利用磁实现存储的磁盘还是有所不同的,在存储容量相同的前提下,内存速度快,但价格贵,磁盘速度慢,但价格实惠。在计算机系统中,速度快,容量小的内存和速度慢,容量大的磁盘取长补短,相互配合完成工作。程序要先存储在存储器中,然后才被依次读取执行,这种方式称为存储程序方式,计算机中的存储器包括内存和磁盘。存储在磁盘中的程序需要先加载到内存才能运行,不能在磁盘上直接运行,这是因为CPU在对程序内容进行解释和运行时,是通过其内部的程序计数器指定内存地址来读取程序的,即便CPU能够直接读取并运行磁盘上的程序,由于磁盘读取速度慢,所以程序的运行速度也会很慢。存储在磁盘中的程序需要先加载到内存后才能运行。第一个实现内存与磁盘密切联系的例子就是磁盘。缓存磁盘缓存是一块内存空间,用于临时存放从磁盘读取出来的数据。将低速设备中的数据保存在高速设备中,当需要相同数据时,直接从高速设备中读取,这样的设计就叫做缓存。体现内存与磁盘密切联系的第二个例子就是虚拟内存。虚拟内存是将磁盘的一部分模拟成内存来使用的机制。有了虚拟内存,我们就可以在内存不足的状态下运行程序。于是,为了实现虚拟内存,就需要在运行程序的过程中,对实际内存(物理内存)和磁盘上的虚拟内存中的部分进行置换,虚拟内存的实现方式分为分页式和分段式。体现内存与磁盘密切联系的最后一个例子就是固态硬盘,固态硬盘是将一种可读写的且断开电源后内容不会丢失的闪存作为硬盘来使用的产品。固态硬盘的本质是内存。和机械硬盘相比,固态硬盘具有速度快,低能耗、无噪声、耐冲击、重量轻的优点,但要彻底解决内存不足的问题,只能增加内存容量,或是缩减应用程序的大小。接下来介绍两个缩减应用程序大小的编程技巧:一,通过DLL文件共享函数,二,通过-STDCALL调用缩减程序大小。磁盘的表面在物理上被划分成若干区域,划分方,分为按固定长度划分的扇区方式,以及按可变长度划分的可变长方式,在以簇为单位读写磁盘的情况下,一个簇中没有占满的空间,就只能被闲置。扇区和簇的大小需要在处理速度和存储容量之间寻找平衡。目前的计算机内存和磁盘容量都越来越大,但还是要注意节约。

标签:读取,程序,硬盘,第五章,内存,磁盘,虚拟内存,怎样
From: https://www.cnblogs.com/HYH16/p/18019852

相关文章

  • 程序是怎么跑起来的第三章观后感
    计算机之所以叫"计算"机就是因为发明它主要是用来计算的,"计算"当然是它的特长,在大家的印象中,计算一定是非常准确的。但实际上,即使在一些非常基本的小数运算中,计算的结果也是不精确的。实际上,不是运算本身会出错,而是计算机根本就不能精确的表示很多数。比如0.1这个数,计算机是用一......
  • 《程序是怎样跑起来的》——第五章读后感
    一:从存储程序指令和数据的角度来看,可以说大和磁盘的功能是一样的。在计算机的五大部件”中,和磁盘都属于存储器。但是,利用电流实现存储的内存和利用磁存储的磁盘还是有所不同的。在存储容量相同的前提下,内存速但价格贵,磁盘速度慢但价格便宜。二:Nandhowg提作系经超能工好内行作,即便......
  • 《程序是怎样跑起来的》——第3章 计算机进行小数运算时出错的原因
    一、计算机进行小数运算时也会出错1、计算机不是万能的:计算机在运行的时候绝大多数的时候能得到正确的数值,但依然存在程序运行后无发得到正确数值的情况。小数运算就是这样。2、示例:将0.1累加100次也得不到10但与之相反的是,0.1累加00此后的结果是10。正是这样计算机在运行小......
  • 《程序是怎么跑起来的》——第二章读后感
    一:在编程语言提供的整数类型“中,有些可以处理负数,有些不能处理负数。例如,C语言的数据类型中,有不能处理负数的unsignedshort型,也有能处理负数的short型。这两种类型的变量长度都是2字节(=16比特),都能表示2的16次幂=65536种不同的值。但是,它们能表示的值的范围不同,short型是-32......
  • 《程序是怎么跑起来的》第二章读后感
    书中描述的二进制世界对我产生了深远的影响。在我们的日常生活中,数字和计算似乎都是自然而然的,但这本书让我意识到,所有的技术和现代生活都基于一个简单的原则:二进制。这是一种简单的表达方式,但却具有无比的威力。它构建了现代世界的基石,从手机到卫星,从汽车到电视,无一不是基于这一......
  • 程序员可以做一辈子吗?大龄程序员出路在哪?
    前言随着2023年AI的出现,大家对待程序员工作有了一丝丝危机感,特别是今年整个IT行业进入了前所未有的寒冬期,让程序员不得不思考未来的职业发展。甚至很多程序员一想到自己接近35岁,焦虑感油然而生,这也是大部分程序员岗位的潜在危机意识。有危机意识是对的,至少对未来抱有期待和规划......
  • 读《程序是怎样跑起来的》第三章有感
    第三章——计算机进行小数运算时出错的原因本章的重点是小数处理二进制表示小数二进制小数点后面的位权,第一位是2的-1次幂,第二位是2的-2次幂,这样的规律不仅限于二进制数,在十进制数和十六进制数中同样适用。计算机运算出错的原因有一些十进制的小数无法转换为二进制数,比如十进......
  • 第三章 程序逻辑控制
     程序逻辑控制    在生活中,我们要完成一件比较复杂的事情时,通常是按照一定的先后次序去做的。例如要做一顿丰盛的周末午餐,我们会将整个午餐任务分解为:蒸米饭、做红烧排骨、炒芹菜、烧汤等几个子任务。而每个子任务又可以分解为一系列更小的事情,例如蒸米饭就可以分解为取......
  • 《程序是怎样跑起来的》第五章——内存与磁盘的亲密关系
    本章前面有几个问题:1、存储程序方式指的是什么?2、通过使用内存来提高磁盘访问速度的的机制称为什么?3、把磁盘的一部分作为假象内存来使用的机制称为什么?4、Windows中,咱程序运行时,存储着可以动态加载调用的函数和数据的文件称为什么?5、在EXE程序文件中,静态加载函数的方式称为......
  • 程序是怎么跑起来的第四章
    内存实际上是一种名为IC的电子元件,内存IC中有电源信号,地址信号,数据信号控制信号等用于输入输出的大量引脚,通过其指定地址,来进行数据的读写。IC中可以存储1024个1字节的数据。因为1024=1K,所以该IC的容量就是1KB,内存IC内部有大量可以存储8位数据的地方,通过地址指定这些场所,之后即可......