
2.1 计算机基础知识
我们如果把家里的台式计算机拆开,会发现图2-1中列出的各种部件,在拆卸前务必要断电,而且最好先摸一摸家里和地直接相连的金属家具,把身上的静电放掉,以免静电损害敏感的部件。
如果把计算机和人来类比一下的话,那么:
CPU——人脑,负责计算和指挥一切配件和外设。
硬盘——我们日常使用的记事本,记录我们记不住的东西。
内存——大脑中负责记忆的脑细胞。
电源——胃,吃东西然后提供能量。
主板——就像人的身体框架,连接有手、脚、脑袋等功能性的部件,计算机主板就专门连接计算机的各个功能模块。

图2-1 计算机硬件系统组成
计算机要工作,离不开操作系统,离不开一些核心的应用软件。计算机软件系统构成如图2-2所示。操作系统可以以一个快餐店(如肯德基)来类比,制作快餐的设备、服务员、点餐计算机以及餐厅,这些可以看成计算机的各种硬件设备,如果没有一个规章制度和服务流程来让各个岗位的人员协同工作,顾客走进快餐店说:“服务员,点餐”,服务员们都站着,不知所措,因为没有人告诉他们每个人的具体职责。餐厅经理看到这种情况,他就会为每个员工安排恰当的工作,谁接单,谁切菜,谁做厨师,并且会规定接单以后,订单如何传给快餐制作人员,制作完成以后如何传递给柜台,这些规定、流程就是肯德基的操作系统。计算机的操作系统就是背后让键盘、硬盘、网卡、CPU这些硬件协同工作的程序、约定,有了操作系统,计算机才可能被软件程序员开发出各种应用,为大众所用。

图2-2 计算机软件系统构成
操作系统是一种特殊的用于控制计算机(硬件)的程序(软件)。它是计算机底层的系统软件,负责管理、调度、指挥计算机的软硬件资源使其协调工作,没有它,任何计算机都无法正常运行。它在资源使用者和资源之间充当中间人的角色。举个例子,一个用户(也可以是程序)将一个文件存盘,操作系统就会开始工作:管理磁盘空间的分配,将要保存的信息由内存写到磁盘等。当用户要运行一个程序时,操作系统必须先将程序载入内存,当程序执行时,操作系统会让程序使用CPU。
从上面的描述可以得出,计算机操作系统大致包括5个方面的管理功能:进程与处理器管理、作业管理、存储管理(硬盘和内存)、设备管理和文件管理。这里面提到了进程,什么是进程呢?大致可以说,你要计算机完成的一件具体的事,就是一个进程。比如你同时打开了浏览器浏览网页,播放器播放一个视频,Office编辑一个文档,那么你至少开启了3个进程,分别做三件不同的事。
操作系统目前有Windows、Linux、UNIX、Android、iOS等,我们日常使用的约90%的计算机上装有Windows操作系统,约80%的手机上安装Android操作系统,苹果手机使用iOS操作系统。
Python则是一门程序设计语言,在图2-2中属于“程序语言和开发环境”这一类。2020年3月,TIOBE公布了编程语言排行榜数据,Python继续占据第三名的位置,使用比率首次超过10%,如图2-3所示。

图2-3 计算机编程语言排名
Python语言的最大优势在于全栈开发、网络爬虫、数据挖掘、人工智能、Web开发、系统网络运维、数据分析和计算、图形程序开发等方向都可以使用Python语言来完成,你可以从现在开始用Python编程进行数学实验,直到读博士时用Python研究博士课题,它无所不能。