随笔分类 - 程序是怎样跑起来的
计算机组成原理
摘要:除虚拟机的方法之外,还有一种方法能够提供不依赖于特定硬件及操作系统的程序运行环境,那就是Java。 大家说的Java,有两个层面的意思。一个是作为编程语言的Java,另一个是作为程序运行环境的Java。同其他编程语言相同,Java也是将Java语法记述的源代码编译后运行。不过,编译后生成的并不是特定
阅读全文
摘要:即使不通过移植,也可以使用别的方法来运行其他操作系统的应用。这里我们要介绍的方法就是利用虚拟机软件。通过利用该虚拟机,我们就可以在Macintosh的Mac操作系统上运行Windows应用了。 Virtual PC for MAC 可以使Macintosh这一硬件变得同AT兼容机一样,从而能在该硬件
阅读全文
摘要:API也称为“系统调用”,是应用调用操作系统功能的手段。 Unix系列操作系统FreeBSD中,存在一种名为Ports的机制。该机制能够结合当前运行的硬件环境来编译应用的源代码,进而得到可以运行的本地代码系统。如果目标应用的源代码没有在硬件上的话,Ports就会自动使用 FTP"连接到相关站点来下载
阅读全文
摘要:接下来让我们看一下操作系统的种类。同样机型的计算机,可安装的操作系统类型也会有多种选择。例如,AT兼容机的情况下,除Windows之外,还可以采用Unix系列的 Linux及 FreeBSD”等多个操作系统。当然,应用软件则必须根据不同的操作系统类型来专门开发。CPU的类型不同,所对应的机器语言也不
阅读全文
摘要:计算机的硬件并不仅仅是由CPU构成的,还包括用于存储程序指令和数据的内存,以及通过1/O连接的键盘、显示器、硬盘、打印机等外围设备。而计算机是如何控制这些外围设备的呢?这和计算机的机型有着很大的关系。Windows操作系统对克服这些硬件构成的差异做出了很大贡献。在20年前的MS-DOS时代,日本国内
阅读全文
摘要:1.应用的运行环境指的是1.操作系统和计算机本身(硬件)的种类 2. Macintosh用的操作系统(MacOS),在AT兼容机上无法运行。 3. Windows上的应用,在MacOS上无法运行 4. FreeBSD提供的Ports,指的是:通过使用源代码来提供应用,并根据运行环境进行整合编译,从而
阅读全文
摘要:最后,让我们来看一下图像文件的数据形式。图像文件的使用目的通常是把图像数据输出到显示器、打印机等设备上。Windows的标准图像数据形式为BMP,是完全未压缩的。由于显示器及打印机输出的bit (点)是可以直接映射(mapping)的,因此便有了BMP=bitmap这一名称。除BMP格式以外,还有其
阅读全文
摘要:使用哈夫曼树后,出现频率越高的数据所占用的数据位数就越少而且数据的区分也可以很清晰地实现。 通过图 6-5 的步骤 2可以发现,在用枝条连接数据时,我们是从出现频率较低的数据开始的,这就意味着出现频率越低的数据到达根部的枝条数就越多。而枝条数越多,编码的位数也就随之增多了。 从用哈夫曼算法压缩过的文
阅读全文
摘要:哈夫曼算法是指,为各压缩对象文件分别构造最佳的编码体系,并以该编码体系为基础来进行压缩。因此,用什么样式的编码(哈夫曼编码)对数据进行分割,就要由各个文件而定。 用哈夫曼算法压缩过的文件中,存储着哈夫曼编码信息和压缩过的数据,如下图。 接下来,我们尝试一下把 AAAAAABBCDDEEEEEF 中的
阅读全文
摘要:哈夫曼算法是1952年提出的压缩算法,日本人常用的压缩软件LHA使用的就是哈夫曼算法。 文本文件是由不同类型的字符组合而成的,而且不同的字符出现的次数也是不同的。 注!:不管是不满8位的数据,还是超过8位的数据,最终都要以8位为单位保存到文件中。 因为磁盘是以字节(8位)为单位保存数据的。 1看作是
阅读全文
摘要:RLE不适合文本文件的压缩。 通过表 6-1 可以看出,使用 RLE 算法对文本文件进行压缩后,文件却增大了,而且几乎是压缩前的 2倍。这是因为文本文件中同样字符连续出现的部分并不多。以存储着“This is a pen.”这 14 个字符的文本文件为例,使用 RLE 算法对其进行压缩后,就变成了“
阅读全文
摘要:对存储着AAAAAABBCDDEEEEEF这17个半角字符的文件(文本文件)进行压缩。 由于半角字母中,1个字符是作为1个字节的数据被保存在文件中的,因此上述文件的大小就是17字节,只要文件小于17字节,我们可以使用任何压缩方法。 采用“字符*重复次数”:AAAAAABBCDDEEEEEF就可以用A
阅读全文
摘要:1.文件储存的基本单位时什么?1字节(=8位) 文件是字节数据的集合体。文件是将数据储存在磁盘等存储媒介中的一种形式。程序文件中存储数据的单位是字节。文件的大小用__KB来表示,因为文件是以字节(B=Byte)为单位来存储的。 用1字节(=8位)表示的字节数据有256种,用二进制数来表示的话,其范围
阅读全文
摘要:磁盘的物理结构是指磁盘存储数据的形式。 磁盘是通过把其物理表面划分成多个空间来使用的。划分的方式有扇区方式和可变长方式两种,前者是指将磁盘划分为固定长度的空间,后者则是指把磁盘划分为长度可变的空间。一般的Windows计算机所使用的硬盘和软盘,采用的都是扇区方式。扇区方式中,把磁盘表面分成若干个同心
阅读全文
摘要:以图形用户界面(GUI, Graphical User Interface)为基础的Windows,可以说是一个巨大的操作系统。Windows的前身是MS-DOS操作系统,最初版本可以在128KB左右的内存上运行,而想要Windows流畅运行的话,至少需要512MB的内存。而且,由于Windows具
阅读全文
摘要:接下来说一下虚拟内存虚拟内存是指把磁盘的一部分作为假想的内存来使用。这与磁盘缓存是假想的磁盘(实际上是内存)相对,虚拟内存是假想的内存(实际上是磁盘)。 通过借助虚拟内存,在内存不足时也可以运行程序。例如,在只剩下5MB内存空间的情况下也能运行10MB大小的程序。不过,就如本章开头所讲述的那样,CP
阅读全文
摘要:磁盘缓存(disk cache):磁盘缓存的缓存(cache)是高速缓存、仓库的意思。 磁盘缓存指的是把从磁盘中读出的数据存储到内存空间中的方式。这样一来,当接下来需要读取同一数据时,就不用通过实际的磁盘,而是从磁盘缓存中把内容读出。使用磁盘缓存可以大大改善磁盘数据的访问速度。如下图:
阅读全文
摘要:1.存储程序方式指的是什么?在存储装置中保存程序,并逐一运行的方式 2.通过使用内存来提高磁盘访问速度的机制称为什么?Disk Cache(磁盘缓存) 3.把磁盘的一部分作为假想内存来使用的机制称为什么?虚拟内存(virtual memory) 4. Windows 中,在程序运行时,存储着可以动态
阅读全文
摘要:二叉查找树是指在链表的基础上往数组中追加元素时,考虑到数据的大小关系,将其分成左右两个方向的表现形式。例如,假设我们事先把50这个值保存到了数组中。那么,如果接下来的值比先前保存的数值大的话,就要将其放到右边,反之如果小的话就放在左边。但实际的内存并不会分成两个方向,这是在程序逻辑上实现的(图4-1
阅读全文
摘要:在数组的各个元素中,除了数据的值之外,通过为其附带上下一个元素的索引,即可实现链表。 数据的值和下一个元素的索引组合在一起,就构成了数组的一个元素。这样,数组元素相连就构成了念珠似的链表。由于链表末尾的元素没有后续的数据,因此就需要用别的值(在这里是-1)来填充(图4-10)。 在需要追加或删除数据
阅读全文
浙公网安备 33010602011771号