首页 > 编程语言 >读《程序是怎样跑起来的》五、六章有感

读《程序是怎样跑起来的》五、六章有感

时间:2024-02-23 22:00:11浏览次数:25  
标签:存储 六章 有感 RLE 压缩 程序 算法 内存 磁盘

我在第五章中主要了解到了内存和磁盘的亲密关系。在计算机的5大部件内,内存和磁盘也都被归类为存储部件。利用电流来实现存储的内存,同利用磁效应来实现存储的磁盘,也是有差异的。从存储容量来看,内存是高速高价,而磁盘则是低速廉价。内存主要是指主内存(负责存储CPU中运行的程序指令和数据内存),磁盘主要是指硬盘。
大前提,计算机中主要的存储部件是内存和磁盘。磁盘中存储的程序,必须要加载到内存后才能运行。在磁盘中保存的原始程序是无法直接运行的。这是因为,负责解析和运行程序内容的CPU,需要通过内部程序计数器来指定内存地址,然后才能读出程序。即使CPU可以直接读出并运行磁盘中保存的程序,由于磁盘读取速度慢,程序的运行速度还是会降低。总之,存储在磁盘中的程序需要读入到内存后才运行。
使用磁盘缓存可以大大改善磁盘数据的访问速度。Windows提供了磁盘缓存机制作为操作系统,对普通用户来说,磁盘缓存发挥显著效果的时代只延续到Windows95/98。现在,随着硬盘访问速度的大幅改善,磁盘缓存的效果也没有之前明显了。把低速设备的数据保存在高速设备中,需要时可以直接将其从高速设备中读出。虚拟内存是指把磁盘的一部分作为假想的内存来使用。这与磁盘缓存是假想的磁盘(实际是内存)相对,虚拟内存是假想的内存(实际上是磁盘)。
磁盘的物理结构是指磁盘存储数据的形式。磁盘是通过把其物理表面化分成多个空间来使用,划分的方式有扇区方式和可变长方式两种,前者是指将磁盘划分为固定长度的空间,后者则是指把磁盘划分为长度可变的空间。一般的Windows计算机所使用的硬盘和软盘,采用的都是扇区方式。扇区方式中,把磁盘表面分成若干个同心圆的空间就是磁道,把磁盘按照固定大小(能存储的数据长度相同)划分而成的空间就是扇形。
我在第六章中了解了文件的压缩。文件是将数据存储在磁盘等存储媒介中的一种形式。程序文件中存储数据的单位是字节。文件就是字节数据的集合。如果文件中存储的数据是文字,那么该文件就是文本文件。如果是图形,那么该文件就是图像文件。在任何情况下,文件中的字节数据都是连续存储的。
文件的压缩机制RLE算法的机制,把文件内容用“数据×重复次数”的形式来表示的压缩方法称为RLE算法。RLE算法是一种很好的压缩方法,经常被用于压缩传真的图像等。因为图像文件本质也是字节数据的集合体,所以可以用RLE算法来压缩。然而,在实际=的文本文件中,同样字符多次重复出现的情况并不多见。虽然针对相同数据经常连续的图像、文件等,RLE算法可以发挥不错的效果,但它并不适合文本文件的压缩。不过,因为该压缩机制非常简单,因此使用RLE算法的程序也相对更容易编写。
哈夫曼算法是哈夫曼于1952年提出的压缩算法。文本文件是由不同类型的字符组合而成的,而且不同的字符出现的次数也是不同的,哈夫曼算法的关键就在于“多次出现的数据用小于8位的字节数来表示,不常用的数据则可以用超过8位的字节数来表示”。为了更好的了解哈夫曼算法,现了解莫尔斯编码。莫尔斯编码不是通过语言,而是通过“嗒 嘀 嗒 嘀”这些长点和短点的组合来传递文本信息的。实际上,根据字符种类的不同,莫尔斯电码符号的长度也是不同的。莫尔斯编码把一般文本中出现频率高的字符用短编码来表示。
可逆压缩和非可逆压缩图像文件还可以使用与前文介绍的RLE算法、哈夫曼算法不同的其他压缩算法。这是因为,多数情况下,并不要求压缩后的图像文件必须还原到与压缩前同等的质量。我们把能还原到压缩前状态的压缩称为可逆压缩,无法还原到压缩前状态的压缩称为非可逆压缩。
压缩算法的种类大概有一二十种。之所以有如此多的压缩算法,是因为压缩比率,压缩需要的处理时间以及各种文件的需求等是不一样的。

标签:存储,六章,有感,RLE,压缩,程序,算法,内存,磁盘
From: https://www.cnblogs.com/chaipanpan/p/18030446

相关文章

  • 《程序是怎样跑起来的》第五章读后感
    我是计应232班的赵精艺。在阅读过书籍第五章之后我知道了,从具有存储程序和数据这点来看,内存和磁盘的功能是相同的,而在计算机的五大部件中,内存和磁盘也都被归类为存储部件。从储存能量来看,内存是高速高价,而磁盘是低速廉价。内存主要是指主内存(负责储存CPU中运行的程序指令和数据的......
  • 第六章观后感
    在阅读了《程序是怎样跑起来的》第六章之后,我对数据的压缩有了更为深入的了解。这一章中,作者详细介绍了数据压缩的概念、方法和重要性,并引导我们亲自尝试进行数据压缩。首先,我认识到数据压缩并不是一个全新的概念。在日常生活和工作中,我们经常需要进行数据的压缩,比如为了节省存储......
  • 程序员是如何沟通的?
    一、程序员不善言词#在大家的印象中,程序员好像是一群不善言词的理工男。为什么大家会有这种刻板的印象呢?因为程序员的工作,只需要一台电脑,一根网线,就可以开始工作了。好像不需要与人打交道。一段进入到工作状态,编码的时候还不希望被别人打扰,其实是编码思路不愿意被打断。这时候......
  • 《程序是怎样跑起来的》第六章读后感
        通过这一章的学习,我了解到压缩数据的原理和常见的压缩方法。数据压缩的目的是减少数据的存储空间和传输带宽,同时保持数据的完整性和可还原性。    我认识到压缩的关键在于发现和利用数据中的冗余信息。通过一些算法和技术,可以将重复或相似的部分进行编码和表示,......
  • 《程序是怎样跑起来的》第七章观后感
    我是计应232的学生张凯源,今天来分享《程序是怎样跑起来的》第七章观后感。这一章主要讲述了程序的运行环境和怎样使文件在不同的运行环境下都能运行的方法。运行环境是由操作系统和硬件决定的。操作系统就是指Windows、Linux等操作系统,而硬件就是指硬件设备了。由于CPU只能解释其......
  • 《程序是怎样跑起来的》第五章读后感
        读完《程序是怎样跑起来的》第五章后,我对内存和磁盘的关系有了更深刻的认识。    内存就像是计算机系统中的“临时工”,它速度快但容量有限,专门负责处理当前正在使用的数据。而磁盘则像是“长期员工”,容量大但速度较慢,用于存储大量的持久数据。    这种分......
  • 《程序是怎样跑起来的》第十二章的读后感
    又到了读书分享的时候,本篇分享《程序是怎样跑起来的》第十二章的读后感,让计算机“思考”。程序就如同是由计算机执行的各种指令罗列起来的文章,计算机内部的CPU通过对该文章的内容进行解析和运行。来控制连接到计算机的各种外围设备,控制就是指CPU和各种设备之间配合进行数据的输入......
  • 《程序是怎么跑起来的第二章》
    《程序是怎样跑起来的》第二章主要围绕数据是用二进制表示的来进行解答,了解信息(数据)在计算机内部是以怎样的形式来表现的,又是以怎样的方法进行运算的。只有了解了使用二进制来表示信息的方法及其运算机制,才能够了解程序的运行机制。在这一章中,作者首先介绍了二进制的基本概念,包括......
  • 《程序是怎样跑起来的》读后感——第七章 程序是在何种环境中运行的
    在读完了本章后,我了解到本章的主要核心是解释程序的运行环境。在本章开篇我就了解到,程序包含运行环境。而由书中图可知,在表示程序的运行环境时,列出了操作系统和计算机主机,由此可见,操作系统和硬件决定了程序的运行环境。从程序的运行环境这一角度来考量硬件时,CPU的种类是特别重要......
  • 《程序是怎样跑起来的》第七章读后感
    《程序是怎样跑起来的》第七章讲的主要是程序是在何种环境中运行的。应用的运行环境指的是操作系统和计算机本身的种类。运行环境等于操作系统加上硬件,程序中包含着运行环境这一内容。同一类型的硬件可以选择多种操作系统。例如,同样的AT兼容机中,既可以安装windows,也可以安装Linux......