数据结构论坛

首页 » 分类 » 常识 » 读书报告计算机是怎样跑起来的20
TUhjnbcbe - 2021/2/4 8:19:00
中科出席第十届健康中国论坛大会 http://news.39.net/bjzkhbzy/180417/6172817.html

《计算机是怎样跑起来的》读书报告

5计算机类2班*

我一开始觉得现在计算机是种高度复杂的机器,但从本书,我才发现基本构造在作者看来却简单得令人惊讶。想想确实如此,人类50年前才发明第一代计算机,到现在才短短50年。不过转念一想,人类的智慧却又是如此使我赞叹,几代人的努力便使得我们的生活发生了翻天覆地的变化。作者一开始介绍了计算机的三大原则,下面就列举出来。

1.计算机是执行输入、运算、输出的机器2.程序是指令和数据的集合3.计算机的处理方式有时与人们的思维习惯不同

作者指出这是计算机的三个根本性基础。而计算机是由硬件和软件组成的。输入运算输出是硬件的基础,软件是指令和数据的集合,这便是程序的基础。这些似乎还挺好理解的,计算机就是输入计算然后输出,在程序中执行,以0和1的方式而与人类的思维方式不一样。

接下来作者介绍了第三大原则:为了贴近人类,计算机在不断地进化。这个则让我深思良久。正如作者所言,围绕着计算机的技术正在以狂奔般的速度不断进化,与其说是日新月异,倒不如说是“秒新分异”。虽然也许有人会觉得眼前的已经够用了,希望能停留在现有的技术水平上。但是计算机的进化是不会停止的,因为计算机还远远没有到达完善的地步。计算机进化的目的只有一个——与人类更加相近。要想贴近人类,就必须从计算机的处理方式中摒弃不符合人们思维习惯的部分。

作者举了两个例子,键盘不好用进化成了好用的鼠标,以及平面的二维游戏进化成了立体的3D游戏。无论哪一种进化,都是为了使计算机的处理方式更加贴近人类。但目前来看,键盘似乎没有被鼠标代替,两者相辅相成,促进输入方式的改进。并且进化到现在,并未看见这二者被替代的趋势。所以计算机更符合人类的习惯的进化似乎道阻且长,在未来很长一段时间都很难出现高级的仿人的机器,这种输入方式都很难改变。其实我本来认为计算机本就是一个工具,工具演化得更加贴近人类在合理不过。但再看作者的论断,瞬间吃惊,似乎作者考虑的更远,因为计算机好像可以更加聪明。如果这样发展下去的话,也许计算机进化的最终形态就是机器人了,有着与人类一样的外表,可以使用人类的语言。和十几年前相比我们身边的计算机逐渐贴近人类,在上世纪80年代中期盛行的个人计算机操作系统是MS-DOS,其操作方法是靠在全黑的画面上敲入字符,把命令传给计算机。进入90年代后,MS-DOS进化成了Windows,用户可以在图形界面上通过鼠标的操作直观地下达命令。开发出Windows的美国微软公司,正将目标锁定在用户体验上,旨在开发出超过现有Windows、更加贴近人类的用户界面。WindowsXP和OfficeXP末尾的XP,代表的就是Experience。而我们现在21世纪的第二个十年,Windows10已经非常贴合用户的习惯了,使用也非常方便。十几年前的苹果手机的发布,将触屏这一更加贴合人类使用的功能带到人类生活中,我们的生活水平进一步提高。这也是电子设备更加注重与人交流体验的表现。现在机器人更加倾向于模仿人类,比如机器人装上轮子就可以移动,但开发公司会使它拥有两只脚。所以读了这本书之后,我估计几十年后机器人将会在外表上和人类无异,而人类的生活将会空前便捷,那些各种生活家具电器,交通工具,都将由计算机主导,非常智能且方便,使人类从繁重的家务劳动中解放出来,更加具有“人”的属性。但也许机器人也将拥有思想,渐渐与人类无异,成为人类中一员,也许这是无力阻挡的,机器人拥有智慧必然争取权利。

我们初学了C语言,但其实并不了解计算机的运行原理,硬件等,本书就带领我走向计算机内部的世界。作者指出,因为作为计算机大脑的CPU在同一时刻基本上只能够解释、执行一条指令。把指令和作为指令操作对象的数据排列起来就形成了程序。把若干条指令一条挨一条地依次排列到一起,从顶端开始依次解释并执行上面的每条指令,这样看起来程序就好像流动起来了。这就是程序的流程。我已经想象出计算机的运作方式了,硬件系统由CPU,i/o和内存三部分构成。CPU是计算机的大脑,负责解释、执行程序。内存负责存储程序和数据。I/O是Input/Output的缩写,负责将计算机和外部设备(周边设备)连接在一起。

CPU配合着由_时钟发生器发出的滴答滴答的时钟信号,从内存中读出指令,然后再依次对其进行解释和执行。CPU中有一个被称为pc的寄存器,负责存储内存地址,该地址指向下一条即将执行的指令。这些似乎有点难懂,所以人们不会在使用机器语言或汇编语言了,人们都是使用更加高级的语言。正如我们现在所学的C语言。我了解到了更多的处理方式,比如机构化程序设计。结构化程序设计是由学者戴克斯特拉提倡的一种编程风格。简单地说,所谓结构化程序设计就是“为了把程序编写得具备结构性,仅使用顺序执行、条件分支和循环表示程序的流程即可,而不再使用跳转指令”。

又比如一些特殊的程序流程—中断处理。中断处理是指计算机使程序的流程突然跳转到程序中的特定地方,这样的地方被称为中断处理例程或是中断处理程序,而这种跳转是通过CPU所具备的硬件功能实现的。人们通常把中断处理比作是接听电话。像这样由于外部的原因使正常的流程中断,中断后再返回到之前流程的过程就是中断处理流程。我认为这对我的编程之路大有裨益,开拓了我的眼界。

作为计算机是如何跑起来的,作者当然介绍了算法。通俗易懂的说,“算法就是把解决问题的步骤无一遗漏地用文字或图表示出来”。要是把这里的“用文字或图表示”替换为“用编程语言表达”,算法就变成了程序。我了解了辗转相除法,确实发现步骤是明确的完全不依赖直觉的,步骤是机械的、不需要动脑筋就能完成的,使步骤终止的原因是明确的。另外作者也强调,独立思考自己的算法,不要遇到一些问题就想着某些典型算法,然后纠结于是否还要自己思考。而且不光要想出算法,还要思考优化。例如,判定91是否是素数的过程一下子就有结果了,可是要去判定的话,作者的电脑就要花费大约55分钟之久。这就是极其浪费时间。需要我们思考如何更简单地解决问题。例如使用“哨兵”技巧,找到数字之间规律。程序是用来在计算机上实现现实世界中的业务和娱乐活动的,为了达到这个目的,程序员们需要结合计算机的特性,用程序来表示现实世界中对问题的处理步骤,即处理流程。于是作者接下来介绍数据结构,也就是如何结合计算机的特性,用程序来表示现实世界中的数据结构。而数组又是数据结构的基础,只要使用数组就能通过程序实现各种各样的算法以处理大量的数据。

数组是一种直接利用内存物理结构(计算机的特性)的最基本的数据结构。只需使用for语句,就可以连续地处理数组中所存储的数据,实现各种各样的算法。但是在现实世界中也有一些数据结构,仅凭借数组是无法实现的。我们现在也仅仅学到了数组,所以对这些还知之甚少。但事实上有的数据结构可以把数据堆积得像小山一样,有的数据结构可以把数据排成一队,有的数据结构可以任意地改变数据的排列顺序,还有的数据结构可以把数据分为两路排列,等等。为了用程序实现这些数据结构,就必须要设法改造数组,但是与之相应的内存的物理结构又是改变不了的。于是他们就通过程序从逻辑上改变了内存的物理结构。比如“栈,队列,链表,二叉树”等概念。

光知道计算机的运行似乎有点单薄,还需要数据传输。就如我们的邮件一样,写好了需要寄出去。作者就写了一章关于TCP/IP网络的层级模型。硬件上网卡发送数据,设备驱动程序之上是实现了IP协议的程序,IP程序之上则是实现了TCP的协议,在往上才是应用程序。书中有一张很经典的图,由发送者发出,到接收者的流程。我认为通俗易懂。接下来作者介绍了局域网LAN,广域网WAN。我们平时都说网络,因特网,好像之前那些太多了,但我们了解原理就能非常灵活的使用网络。比如IP地址是一个32比特的整数,十进制时0~。我才发现IP地址是有限的,而且可以分配的,第一个“.”分隔符之前的0是很少的,但也是最高级的,而我们平时的网络IP地址都是被分配的。此时我又在想人太多不够用怎么办?我想也许可有动态分配这样的解决办法,再去网上一查,发现一开始订立这些协定的时候确实没想到会有这么多,确实这些IP地址是非常多的,有个,谁能想到以后有一天会不够用?办法也是有的,现在就有IPv6,拥有更多地址,就是一个解决办法。这里我又了解了域名。平时要记下一些IP地址似乎好不方便,而网址就更容易记住,这就是域名服务器的作用。所以在网络世界中,到处传输的都是附带了IP地址的数据。

作者在书中又提到一个加密我觉得这非常有意义。我们所看到的数据在计算机中都是由数字表示,所以加密技术都是差不多相同的。数据以明文的方式在网络中传输,就会有被盗取滥用的危险,因此要加密。作者举了一个错开字符编码的加密方式。个人也觉得原理似乎很简单,比如将文本数据中每个字符所对应的字符编码一律向后错三个,即给原字符编码的值加上三。这样的话,即便是被人偷偷地看到了,那个人也无法理解这个字符串的意义。而解密只需要减3。看了作者的解释,本来觉得难以理解的密钥,解密也变得通俗易懂。但我仅仅大略地了解原理,真正的加密必然是十分复杂。互联网的世界是复杂的,有些人会盗取那些并不是发送给他们的加密数据,企图破解后用于不可告人的目的。尽管他们不知道密钥的值,但计算机强大的计算力帮助他们暴力破解。看到后来我才发现这种只是对称加密技术,虽然很保密,但要发送者和接收者都要知道密钥才可以。但对于互联网公司来说要让接收者知道,需要每个人都收到一份密钥,但这耗费时间所以是不现实的。因此就出现了“公开密钥加密技术”。

通过本书,我更加了解了计算机的运作方式,而不是仅仅在电脑上完成代码却完全不了解其在内部的运作方式。现在也算是初步了解计算机的原则,一些基础,包括数据的加密,传输。《计算机是怎样跑起来的》从浏览器上网开始,一路追踪到服务器如何工作,讲解了网络的全貌。讲的很多,我认为非常适合我们这些没有了解这些的人。总的来说,虽然这本书不可能涵盖所有知识,但我还是收获很大,增长了知识。

  

  

计算机科学导论

文案

*

编辑

孙远

预览时标签不可点收录于话题#个上一篇下一篇
1
查看完整版本: 读书报告计算机是怎样跑起来的20