首页 > 代码库 > 运维第一课——计算机组成与操作
运维第一课——计算机组成与操作
计算机是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机等。
计算机发明者约翰·冯·诺依曼。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革,计算机已遍及一般学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。
计算机的应用在中国越来越普遍,改革开放以后,中国计算机用户的数量不断攀升,应用水平不断提高,特别是互联网、通信、多媒体等领域的应用取得了不错的成绩。1996年至2009 年,计算机用户数量从原来的630万增长至6710 万台,联网计算机台数由原来的2.9万台上升至5940万台。互联网用户已经达到3.16 亿,无线互联网有6.7 亿移动用户,其中手机上网用户达1.17 亿,为全球第一位。
————————来自百度百科
冯.诺依曼的体系主要为五大部件,分别是:
运算器(核心),控制器(协调操作运算器和其他设备之间的操作),存储器(随机访问存储器RAM),输入设备,输出设备。
其中运算器是在计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。
控制器负责控制和协调整个计算机的动作,控制通常需要程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、定时与控制电路,以及脉冲源、中断等共同完成。
存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码“0”和“1”的二进制来表示数据。记忆元件的两种稳定状态分别表示为“0”和“1”。
输入设备(InputDevice)是人或外部与计算机进行交互的一种装置,用于把原始数据和处理这些数的程序输入到计算机中。计算机能够接收各种各样的数据,既可以是数值型的数据,也可以是各种非数值型的数据,如图形、图像、声音等都可以通过不同类型的输入设备输入到计算机中,进行存储、处理和输出。
输出设备(Output Device)是指计算机将其数据经过显示、打印、声音、控制外围设备等方式展示出来的一种装置。常见的输出设备有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。
在计算机中因为电流的特性所以必须使用二进制来进行数据的存储和处理。(如果使用十进制也是可以,但是会带来很多不必要的麻烦,比如使用十进制就要将计算机中流过的电流分成十种不同的状态,但是在计算机的电路中必不可少的存在着消耗会使电流在经过器件时改变状态)
当有了这些硬件之后电脑便可以运行,但是这仅仅只可以实现简单的加减运算,所以人们在这些硬件的基础上开发出了软件来将这些运算综合起来实现更加复杂的运算。在最开始的时候程序员们将程序编好打在纸条上传入机器中,这种方式成为单处理,但是这种输入的方式十分耗费时间而CPU的处理速度是很快的,于是有人想出了办法,将输入输出与CPU分开,用CPU去处理一批程序,这就叫做单道批处理。再后来人们不能满足一项一项的处理程序,于是诞生了多道批处理。自此,计算机的发展便一发而不可收拾。
计算机发展到了今天,人们已经可以十分方便的使用鼠标键盘等对电脑进行操作来完成各种各样的功能。为了更加方便的使用计算机,人们开发出了操作系统。
不同的硬件需要不同的微码软件。要想很好地使用硬件则需要操作系统,对许多微码程序进行封装成一个整体,即操作系统内核,操作系统内核可以很好的承上启下,对下管理计算机的硬件,对上为给软件提供封装好的接口。软件寻找操作系统接口和使用操作系统的接口的过程叫system call,利用这个接口把我们需要的信息,和需要做的操作通过接口传递到操作系统的内核中,即系统调用。调用系统接口的不是程序而是进程。
进程是操作系统为了更好的分配计算机资源而构思出来的方法,这种方法将程序需要的资源等信息构建成表称为PCB表,所以说程序是静态的,而进程是动态的,是活的,它有自己的生命周期。
操作系统的另一功能是把硬件虚拟化抽象出来的,不直接去使用硬件,而是用一种代替,虚拟的方式去使用硬件,比如D盘图标在计算机的使用者看来它只是一个叫D的盘符,而对于计算机来说这个D盘可就要复杂的多了,这就大大的方便了我们的使用。同时操作系统还给硬件分配资源,监控并防止出现资源分配不合理的情况,在极大程度上减少了操作计算机的难度。当资源分配不合理时,资源浪费会导致系统不运行或崩溃。
计算机大致工作原理为应用程序通过操作接口shell,经过系统调用到操作系统内核,由内核进行汇编,将高级语言翻译成汇编语言再翻译成计算机能够理解的机器语言,从而对硬件进行调用。软件是由代码组成,这种组成的方式有很多种按照编写的方式可以大致的分为微码语言和高级语言。微码语言转化成机器语言的效率高,但是编码的过程很复杂。所以为了方便,更为了发展,便产生了高级语言,这是一种接近人类的自然语言,转化成机器语言的效率低,会产生很多中间代码,在运行的时候所需要的额外开销。对于开销这方面,在计算机刚产生的时代是尽量避免的,但是现在计算机已经越来越廉价了,速度也越来越快,这些额外的开销已经可以接受。使用高级语言大大减少了编码的难度,所以促进了计算机软件的发展。越来越多的高级语言被开发出来。
高级语言又可分为系统级和应用级,如果按照编程的思想还可分为面向过程编程,也就是按照严格的逻辑结构来编写代码和面向对象编程,这种编程方式相对自由,更注重数据处理的过程,而不是数据结构。又如果按照编译方式也可分为强语言,这是一种编译性语言,例如:C,C++,JAVA,这种程序源代码必须经过编译,不编译无法使用。弱语言,这是解释性语言,例如:PHP,Python,shell,这种代码不声明变量也可以使用,不经过编译,经过解释器也可以使用。
目前的主流操作系统有linux和windows,传统意义上的Linux就是指Linux的内核,它有各种各样的发行版,这些发行版是在这个内核的基础上封装上一些常用的软件开发出来的。windows基本也是如此,但是linux为开源软件,而windows不是,windows操作系统指的是它的内核,但是因为他不是开源软件所以我们只能使用windows为我们封装好的这个发行版操作系统,它将一些常用的软件集合在一起,比如:原先的IE浏览器和现在的edge浏览器,虽然这大大的方便了我们的使用,但是总有一种被动的感觉。linux中各种软件可以随意安装,也可以使用来源于它的发行版,甚至当有需要的时候还可以自己制作发行版。linux的版本号在2版本中是有一定规律的,比方说 Linux 2.6.32-573(2为主版本号,6为次版本号,如果是偶数为稳定版,奇数则是开发版存在不稳定因素,后面的32为在原版本的基础上进行过多少次的修订,573则是自定义的)当然这个规律在3版本中并不适用,奇偶版本号再没有规律。当我们要安装linux的时候并不一定要安装最新的版本,因为并不是最新的版本就一定最好用,有的时候只是更新了一个小小的地方就有可能更新一个版本,但是这个小地方有可能对你的机器并不兼容。
以上,来自运维初学者。
运维第一课——计算机组成与操作