读《程序是怎样跑起来的》5-8章

又读了一些内容对储存有了崭新的认识 初次涉猎弥补了见识的不足 对其中较为重要的内容做了摘抄希望有利于以后的学习
第五章
储存程序方式指在储存装置中保存程序,并逐一运行的方式
通过使用内存来提高磁盘访问速度的机制为disk cache磁盘缓存 把磁盘的一部分作为假想内存来使用的机制称为虚拟内存
Windows中 程序运行时,储存着可以动态加载调用的函数和数据的文件称为DLL 共用一个DLL文件可以节约内存 一般磁盘的一个扇区是512字节
在EXE程序文件中,静态加载函数的方式称为静态链接
程序保存在储存设备中,通过有序地被读出来实现运行叫做储存程序方式
磁盘中储存的程序,必须加载到内存后才能运行
磁盘缓存指把从磁盘中读出来的数据存储到内存空间中的方式
虚拟内存方法有分页式和分段式
磁盘划分空间有扇区方式和可变长方式 前者划分为固定长度的空间 后者划分为可变化长度的空间
第六章
文件储存的基本单位是1字节
LZH是压缩文件的拓展名
数值的值×循环次数为RLE算法 RLE不适合文本文件压缩 会使文件变大
在SHIFT JIS字符编码中,1个半角英数用1字节数据表示
压缩后能复原的是可逆压缩,反之是非可逆压缩
压缩后同压缩前文件大小的比率为压缩比率或者压缩比
哈夫曼算法的基础需要通过摩斯密码了解 通过前篇所出现的二叉树实现 在哈夫曼算法中借助哈夫曼树构造编码体系 从而即使各字符的数据位数不同也能做成明确分区的编码
在C语言中 函数的返回值 是通过寄存器 而非栈来返回
哈夫曼编法较RLE复杂
哈夫曼算法能大幅度提升压缩比率
非可逆压缩有JPEG 可逆压缩有GIF
第七章
应用 的运行坏境指操作系统和计算机本身硬件的种类
Macos在AT兼容机上无法运行
freebsd提供的ports指通过使用源代码来提供应用,并根据运行环境进行整合编译,从而得以在该坏境下运行的机制
Macintosh上可以利用的Windows坏境模拟器称为Virtual pc for mac
Java虚拟机的功能是运行Java应用的字节代码
运行坏境=操作系统+硬件
同一类型的硬件可以选择安装多种操作系统 CPU的种类是从程序运行坏境这一角度来考量硬件时重要的参数
CPU只能解释自身固有的机器语言。不同的CPU能解释的机器语言的种类也不同
机器语言的程序称为本地代码 文本文件在任何坏境下都能显示和编译称之为源代码
应用程序向操作系统传递指令的途径称为API
PORTS能结合当前运行的硬件坏境来编译应用的源代码 进而得到可以运行的本地代码系统
字节代码的运行坏境称为Java虚拟机 一边把Java字节代码逐一转化为本地代码一边运行
第八章
CPU可以解析和运行的程序形式称为本地代码
将多个目标文件结合形成exe文件的工具称为链接器
拓展名为点.OBJ的目标文件的内容是本地代码
把多个目标文件收录在一起的文件称为库文件
仅包含Windows的DLL文件中储存的函数信息的文件称为导入库
在程序运行时用动态申请分配的数据和对象的内存区域形式称为堆
用某种编程语言编写的程序就成为源代码 保存源代码的文件成为源文件 用C语言编写的原文件的拓展名通常是.C
CPU能直接解析并运行的不是原代码 而是本地代码的程序
用任何编程语言编写的源代码 最后都要翻译成本地代码 编译器本身也是程序的一种
交叉编译器生成的是和运行环境中的CPU不同的CPU所使的本地代码
仅靠编译无法得到可执行的文件
选项是对编译器的指示 可以理解为开关
库文件是指把多个目标文件集成保存到一个文件中的形式
通过库文件形式和编译器一起提供的函数称为标准函数
储存着目标文件的实体 并直接和exe文件结合的库文件形式叫做静态链接库

posted @ 2024-01-31 02:41  金御科  阅读(15)  评论(0)    收藏  举报