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

程序是怎么跑起来的第五章

时间:2024-02-20 15:56:57浏览次数:24  
标签:怎么 程序 扇区 C语言 第五章 内存 stdcall 磁盘 虚拟内存

程序保存在存储设备中,通过有序地被读出来实现运行,这一机制被称为存储程序方式。计算机中主要的存储部件是内存和磁盘。存储在磁盘中的程序需要读入到内存后才能运行。
磁盘缓存指的是把从磁盘中读出的数据存储到内存空间中的方式,把低速设备的数据保存在高速设备中,需要时可以直接将其从高速设备被中读出。
虚拟内存是指把磁盘的一部分作为假想的内存来使用。这与磁盘缓存是遐想的磁盘相对,虚拟内存是假想的内存。通过借助虚拟内存,在内存不足时也可以运行程序,例如在只剩5mb内存空间的情况下也能运行10mb大小的程序。为了实现虚拟内存,就必须把实际内存的内容,和磁盘上的虚拟内存的内容进行部分置换,并同时运行程序。
DLL文件,在程序运行时可以动态加载Library的文件,多个应用可以共有同一个DLL文件,而通过共有同一个DLL文件则可以起到节约内存的效果
_stdcall 是standard call(标准调用)的略称。Windwos提供的DLL文件内的函数,基本上都是_stdcall调用方式。这主要是为了节约内存。另一方面,用C语言编写的程序内的函数,默认设置都不是_stdcall。C语言特有的调用方式称为C调用。C语言之所以默认不使用_stdcall,是因为C语言所对应的函数的传入参数是可变的(可以设定任意参数,只有函数调用方才能知道到底有多少个参数,而这种情况下,栈的清理作业便无法进行。不过,在C语言中,如果函数的参数数量固定的话,指定_stdcall 是没有任何问题的。
磁盘是通过把其物理表面划分成多个空间来使用的。划分的方式有扇区方式和可变长方式两种,前者是指将磁盘划分为固定长度的空间,后者则是指把磁盘划分为长度可变的空间。一般的Windows 计算机所使用的硬盘和软盘,采用的都是扇区方式。扇区方式中,把磁盘表面分成若干个同心圆的空间就是磁道,把磁道按照固定大小(能存储的数据长度相同)划分而成的空间就是扇区。
扇区是对磁盘进行物理读写的最小段位

标签:怎么,程序,扇区,C语言,第五章,内存,stdcall,磁盘,虚拟内存
From: https://www.cnblogs.com/yao040718/p/18023288

相关文章

  • 《程序是怎样跑起来的》读后感——第五章 内存和磁盘的亲密关系
    在读了本书的第五章后,我首先了解了内存运行的条件:存储在磁盘中的程序只能被读取到内存中才能被运行。由前文得知计算机中主要的存储部件是内存和磁盘。而磁盘中存储的程序,必须要加载到内存后才能运行。这是因为,负责解析和运行程序内容的CPU,需要通过内部程序计数器来指定内存地址,然......
  • PowerShell 脚本来监视并自动重新启动崩溃或挂起的应用程序
    PowerShell脚本来监视并自动重新启动崩溃或挂起的应用程序。以下是一个简单的示例脚本,用于监视并重新启动特定的应用程序:powershellCopyCode#设置要监视的应用程序名称$applicationName="YourApplication.exe"#设置检测时间间隔(秒)$checkInterval=5#循环监视应用......
  • 《程序是怎样跑起来的》——第七章读后感
    一:1.一般来说,应用翟序的运行环境是指操作系统的美型以及爱作(CPU、内存等)的类型和性能指标。2.应用程序是为了在特定操作系统上运行而开发的。3.PCEW#Ubuntu,RHEL(RedHatEnterpriseLinux)$Linux发行版操作系统。4.只要针对不同的环境准备专用的Java虚拟机,就可以让相......
  • AUX电路图怎么看
    参考:https://zh.wikipedia.org/zh-cn/TRS%E7%AB%AF%E5%AD%90(图也是这来的,我这篇单纯就是整理思路,没新东西)1.请记住上图这三个的英文的Tip(尖)、Ring(环)、Sleeve(套)他们简称分别是T、R、S(TRS的由来)2.上图中A电路是TS(没有环的那种俩引脚),第一引脚就是T(尖),第二......
  • 《程序是怎样跑起来的》第七章的读后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第七章的读后感,程序是在何种环境中运行的。操作系统加硬件等于程序的运行环境。同一类型的硬件可以选择安装多种操作系统。。例如,同样的在兼容机一个中,既可以安装Windows,也可以安装Linux等操作系统。从程序的运行环境这一角度......
  • 手动将一个java程序打包成jar包
    1.目录结构新建三个目录:bin,META-INF,src src目录下存放源码 META-INF目录下存放MANIFEST.MF bin目录下存放.class文件 2.编译源码javac-dbinsrc/DESUtil.java 3.在META-INF目录下新建MANIFEST.MF文件Manifest-Version:1.0Main-Class:DESUtilClass-......
  • 外贸生产企业用什么ERP软件好?企业怎么选型比较好
         外贸生产行业大多存在业务类型多、货币种类多、业务流程复杂等情况,如何清晰掌握销售、采购、生产、物料、仓储、订单等业务进度,有助于企业合理制定生产计划、物料计划、委外计划等,从而提升订单交期和客户满意度。随着信息和数字化科技的发展,国内不少的外贸生产企......
  • Jupyter Notebook运行R程序安装过程释疑
    JupyterNotebook是一个开源的交互式笔记本环境,支持多种编程语言,包括Python和R。它被广泛应用于数据分析、机器学习、科学计算等领域。在JupyterNotebook中,用户可以结合编写文本、代码和可视化结果,以便于进行数据探索、模型开发以及结果展示。然而,随着项目的进展,往往需要对......
  • uniapp编译成微信小程序报错-Component is not found in path "components/canvaspage
     问题:我需要将components/canvaspagebg/index引入进pages/index/index   报错了pages/index/index页面引入: uni-app程序编译成微信小程序后,组件无法显示,控制台报错,错误信息为: 我查看了路径,是对的看网上的解决办法就是 我取消勾选后刷新页面就可以了,此时我在选中......
  • 第十章:通过汇编语言了解程序的实际构成
    在阅读《程序是怎样跑起来的》这本书的第十章后,我对汇编语言有了更深入的了解,同时也对程序的实际构成有了更清晰的认识。这一章主要围绕汇编语言展开,介绍了汇编语言与本地代码之间的密切关系,并通过具体的例子展示了汇编语言的基本指令和语法结构。通过汇编语言编写的指令可以被转......