计算机科学概论(一) 计算系统

1. 计算系统简介

计算机是一个系统,它有不同的零件,零件之间相互作用和配合,构成整体大于部分之和的效果。而计算系统不等于计算机系统,它是计算机系统的一种抽象,脱离了具体的物理计算机(计算机系统本质上还是靠物理运作的),实际上是一种抽象的建模。

计算系统的三大要素:硬件,软件和它们管理的数据。

计算机硬件就是构成物理计算机的元件,软件是计算机执行的指令的程序集合。数据是计算机系统的核心,完成计算机的最终应用目的。

2. 计算系统分层

像洋葱一样,计算系统由多层构成。每一层都是利用上一层已经实现好的功能(称为实现与接口调用,这两个概念在计算机科学当中非常常用),或者成为上一层组合的结果。

信息层:反应了在计算机上表示信息的方法,它是一个纯概念层。计算机上的信息采用二进制数字 1 和 0 管理。所以,要理解计算机处理技术,首先必须理解二进制数制以及它与其他数制(如人们日常使用的十进制数制)的关系。然后介绍了如何获取多种类型(如数字、文本、图像、音频和视频)的信息,以及如何用二进制格式表示它们。

简单地讲,我们现实生活中面对的一切,图像也好,声音也罢,包括语言文字、数学运算,只要我们设计出一个编码的体系与规则,就可以模拟出对应的信息。很容易想到,哪怕是10位的0/1串,就可以模仿1024种不同信息了。学一学概率论与数理统计以及信息论,你对这部分内容的理解会加深很多。

硬件层:由计算机的物理硬件组成。计算机硬件包括的设备有门和电路,它们都按照基本原理控制电流。正是这些核心电路,使专用的元件(如计算机的中央处理器CPU和存储器)得以运转。你可以参考模拟电路数字电路深入这方面的知识。想要彻底理解这一部分的内容,建议阅读电子信息或者微电子类专业的书籍进一步深造。现代计算机科学正是在这些物理元件构成的基石上建立的大厦。

程序设计层:负责处理软件、用于实现计算的指令以及管理数据。程序有多种形式,可以在许多层面上执行,由各种语言实现。尽管程序设计问题多种多样,但是它们的目的是相同的,即解决问题。我们需要进行编码(设计和书写程序设计语言),并且虽然程序设计语言绝对不止汇编语言、C、C++、Java、Python、Rust这几种,但它们所表示的要求计算机做的事情是一样的,也可以相互转换。无非直观程度不同(就人类理解而言),在计算机上运行的效率也不同。这部分的扩展,除了学习具体语言的语法外,还可以学学编译有关知识,来了解语言之间是如何转换的。

操作系统层:每台计算机都用操作系统(Operating System)管理计算机的资源。诸如 Windows、Linux 或 Mac OS,这样的操作系统可以使我们与计算机系统进行交互,管理硬件设备、程序和数据间的交互方式。了解操作系统为我们做了什么,通常是理解计算机的关键。操作系统本身就是附着在计算机内部的一个软件,控制硬件资源的分配、任务的运行、文件的管理以及数据的输入输出等。操作系统,又是计算机科学下属的一个专门领域。

应用程序层:内部分层的重点在于使计算机系统运转,而应用层的重点则是用计算机解决真实世界的问题。我们通过运行应用程序在其他领域利用计算机的能力,例如设计一个建筑或者打游戏。领域专用的计算机软件工具范围广大,涉及计算机学的多个子学科。如软件开发,信息管理系统,人工智能和利用计算机图形学的游戏画面渲染。包括交通、航空航天都会用到的自动控制系统

通信层:计算机不再是某个人桌面上的孤立系统,我们使用计算机技术进行通信,通信层是计算系统操作的基础层。计算机被链接到网络上,以共享信息和资源,Internet 逐渐演化成了全球性的网络,所以利用计算技术,可以与地球上的任何地方进行通信。World Wide Web 使通信变的相对容易,它从根本上改变了计算机的使用价值,即使一般大众也能使用它。计算机网络是一个专门的学科。随着网络的发展,云计算、边缘计算等新兴子学科产生,在人工智能的新时代,通过网络通信进一步合理分配算力资源。

3. 抽象

抽象是一种系统思维。它屏蔽了底层实现细节,让人关注更上一层的事物。例如,使用计算机的你,不需要关心计算机的底层怎么样工作;开汽车的你,也不需要关心汽车的制造与运行原理。通常,人们也不会有闲心去关心这些系统的底层实现(除非你就是研究这一领域的人。如果不是,恭喜你,你是一个充满好奇心的人,并且你真的很闲)。

而学习的过程,几乎和破解这个“抽象”的过程是同步的。理解了哪一层的“抽象”,就意味着你的知识水平深入到了这一层。

你来自哪一专业,就要认认真真理解,你所研究的事物,“抽象”的背后到底包含着怎样的“具体”。我学计算机,我就得尽可能多地理解计算机的底层;你学车辆,你就不能只会开车,而应该多去想想车子发动机的构造等等;学生物的,要理解生物体的工作机制;学社会学,等等,社会自己不也是一个复杂的系统吗,难道不也隐含了这一层“抽象”所在?······

知识的真谛,大抵如此了。

如果哪天得闲,好奇心够强的你,建议去图书馆看看不同学科的书籍,你对世界的理解会一步一步加深。

你来人间一趟,你不仅要看看太阳,还要看看书,看看世界是什么样。

参考:

《计算机科学概论》 (美)Nell Dale / John Lewis

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值