计算机基础知识
计算机的发展过程及各阶段的主要特点及分类
第一代
电子管计算机(1946-1957)这一阶段计算机的主要特征是采用电子管元件作基本器件,用光屏管或汞延时电路作存储器,输入与输出主要采用穿孔卡片或纸带,体积大、耗电量大、速度慢、存储容量小、可靠性差、维护困难且价格昂贵。在软件上,通常使用机器语言或者汇编语言,来编写应用程序。因此这一时代的计算机主要用于科学计算。
这时的计算机的基本线路是采用电子管结构,程序从人工手编的机器指令程序,过渡到符号语言,第一代电子计算机是计算工具革命性发展的开始,它所采用的二进位制与程序存贮等基本技术思想,奠定了现代电子计算机技术基础。以冯·诺依曼为代表。
第二代
晶体管计算机(1957-1964)20世纪50年代中期,晶体管的出现使计算机生产技术得到了根本性的发展,由晶体管代替电子管作为计算机的基础器件,用磁芯或磁鼓作存储器,在整体性能上,比第一代计算机有了很大的提高。同时程序语言也相应的出现了,如Fortran,Cobol,Algo160等计算机高级语言。晶体管计算机被用于科学计算的同时,也开始在数据处理、过程控制方面得到应用。
在20世纪50年代之前第一代,计算机都采用电子管作元件。电子管元件在运行时产生的热量太多,可靠性较差,运算速度不快,价格昂贵,体积庞大,这些都使计算机发展受到限制。于是,晶体管开始被用来作计算机的元件。晶体管不仅能实现电子管的功能,又具有尺寸小、重量轻、寿命长、效率高、发热少、功耗低等优点。使用晶体管后,电子线路的结构大大改观,制造高速电子计算机就更容易实现了。
第三代
中小规模集成电路计算机(1964-1971)20世纪60年代中期, 随着半导体工艺的发展,成功制造了集成电路。中小规模集成电路成为计算机的主要部件,主存储器也渐渐过渡到 半导体存储器,使计算机的体积更小,大大降低了计算机计算时的功耗,由于减少了 焊点和 接插件,进一步提高了计算机的可靠性。在软件方面,有了标准化的程序设计语言和人机会话式的 Basic语言,其应用领域也进一步扩大。
第四代
大规模和超大规模集成电路计算机(1971-2016)随着大规模集成电路的成功制作并用于计算机硬件生产过程,计算机的体积进一步缩小,性能进一步提高。集成更高的大容量半导体存储器作为内存储器,发展了并行技术和多机系统,出现了 精简指令集计算机(RISC),软件系统工程化、理论化,程序设计自动化。微型计算机在社会上的应用范围进一步扩大,几乎所有领域都能看到计算机的“身影”。
第五代
第五代计算机指具有人工智能的新一代计算机,它具有推理、联想、判断、决策、学习等功能。
我国计算机发展历程
第一代电子管计算机研制(1958-1964年)
我国从1957年在中科院计算所开始研制通用数字电子计算机,1958年8月1日该机可以表演短程序运行,标志着我国第一台电子数字计算机诞生。机器在738厂开始少量生产,命名为103型计算机(即DJS-1型)。1958年5月我国开始了第一台大型通用电子数字计算机(104机)研制。在研制104机同时,夏培肃院士领导的科研小组首次自行设计并于1960年4月研制成功一台小型通用电子数字计算机107机。1964年我国第一台自行设计的大型通用数字电子管计算机119机研制成功。
第二代晶体管计算机研制(1965-1972年)
1965年中科院计算所研制成功了我国第一台大型晶体管计算机:109乙机;对109乙机加以改进,两年后又推出109丙机,在我国两弹试制中发挥了重要作用,被用户誉为“功勋机”。华北计算所先后研制成功108机、108乙机(DJS-6)、121机(DJS-21)和320机(DJS-8),并在738厂等五家工厂生产。1965~1975年,738厂共生产320机等第二代产品380余台。哈军工(国防科大前身)于1965年2月成功推出了441B晶体管计算机并小批量生产了40多台。
第三代中小规模集成电路的计算机研制(1973-80年代初)
1973年,北京大学与北京有线电厂等单位合作研制成功运算速度每秒100万次的大型通用计算机,1974年清华大学等单位联合设计,研制成功DJS-130小型计算机,以后又推DJS-140小型机,形成了100系列产品。与此同时,以华北计算所为主要基地,组织全国57个单位联合进行DJS-200系列计算机设计,同时也设计开发DJS-180系列超级小型机。70年代后期,电子部32所和国防科大分别研制成功655机和151机,速度都在百万次级。进入80年代,我国高速计算机,特别是向量计算机有新的发展。
第四代超大规模集成电路的计算机
研制和国外一样 ,我国第四代计算机研制也是从微机开始的。1980年初我国不少单位也开始采用Z80,X86和6502芯片研制微机。1983年12电子部六所研制成功与IBM PC机兼容的DJS-0520微机。10多年来我国微机产业走过了一段不平凡道路,以联想微机为代表的国产微机已占领一大半国内市场。
计算机的分类
根据功能分类
个人计算机(PC):主要用于个人办公、学习和娱乐等方面的计算机。
工作站:专门为专业计算或科学应用而设计的计算机,它通常具有高性能、高可靠性和高扩展性。
服务器:主要用于提供网络服务和存储数据的计算机。
超级计算机:主要用于处理大规模科学计算和数据分析等高性能计算领域的计算机。
根据体积和尺寸分类
超级计算机:通常需要占用大量的物理空间。
服务器:通常较大,需要安装在专门的机架中。
笔记本电脑:便携性强,体积小。
平板电脑:更加轻便,可以随时携带。
台式电脑:通常占用一定的物理空间,需要桌面等支撑。
根据处理器架构分类
为什么没有x64架构计算机?
由于x64架构是x86架构的扩展,因此通常将其视为x86架构的一种变体,而不是单独的一种架构。因此,在一些分类中,将x64架构计算机视为x86架构计算机的一个子类,而不是独立的架构。
x86架构计算机:常见于个人计算机和服务器。
ARM架构计算机:常见于移动设备、嵌入式系统和服务器。
根据使用场景分类
嵌入式系统:通常用于嵌入到其他设备中,如智能家居、汽车、工业自动化等。
移动设备:如智能手机、平板电脑、便携式游戏机等。
游戏机:如主机游戏机、掌机等。
个人电脑:如笔记本电脑、台式电脑等。
服务器:用于提供网络服务和存储数据等。
超级计算机:主要用于高性能计算和数据分析等领域。
根据操作系统分类
Windows计算机:使用Microsoft Windows操作系统。
MacOS计算机:使用苹果公司开发的MacOS操作系统。
Linux计算机:使用Linux操作系统。
Android设备:使用Android操作系统。
iOS设备:使用iOS操作系统。
进制的概念及换算
进制的概念
N进制采用“逢N进1”的进位规则
计算机内部采用二进制的主要原因:易于实现、运算简单、通用性强、可靠性高
进制的三要素:数位、基数、位权
二进制B 八进制O 十进制D 十六进制H
进制的转换
二进制的逻辑运算
逻辑非运算/取反运算 取反
逻辑与运算/逻辑乘∩/· 全一为一
逻辑或运算/逻辑加∪/+ 见一得一
逻辑异或运算/按位加⊕ 同0异1
逻辑同或运算⊙ 同1异0
数制的转换
基数为R的数字,将R进制数用按权展开求和法转换成十进制数
十进制转换为十六进制,整数除以16取余
数据在计算机中的处理过程
通常可以分为四个步骤:输入、处理、输出和储存。下面是每个步骤的具体描述:
- 输入:将外部数据(例如文本、图像、音频等)输入到计算机中,通常使用各种输入设备,如键盘、鼠标、摄像头、麦克风等。
- 处理:计算机对输入的数据进行处理,通常使用中央处理器(CPU)执行各种算法和指令。处理过程包括读取、存储、转换和计算等操作,最终将数据转化为所需的结果。
- 输出:将处理后的数据输出到外部设备,如显示器、打印机、扬声器等。输出的数据可以是文本、图像、音频或视频等形式。
- 储存:计算机将数据存储在内存或硬盘等存储介质中,以便在需要时可以快速访问。计算机使用二进制数(0和1)表示数据,并将其储存在存储介质中。
在计算机中,数据可以以多种不同的方式储存,最常见的储存方式包括:
内存储存:内存是计算机中用于暂时存储数据的一种储存介质。计算机将数据存储在内存中以便更快地访问和处理。
硬盘储存:硬盘是计算机中用于永久存储数据的一种储存介质。硬盘可以存储大量的数据,并且数据可以长时间保持在硬盘上。
光盘和闪存储存:光盘和闪存是另外两种常见的储存介质。光盘可以用于存储大量的数据,如音频、视频和软件程序等。闪存储存器通常用于存储相对较小的数据,如文档、照片和音乐等。
云存储:云存储是一种通过网络连接到远程服务器来存储和访问数据的方式。云存储可以提供高度的可靠性和安全性,并且可以随时随地从任何设备访问数据。
字符编码
西文字符编码:ASCII码是一种用7位二进制表示1个字符的字符编码,共可以表示128个不同字符,由32个控制字符、10个十进制数码、52个大小写英文字母、34个专业符号组成,字符在计算机中实际用一个字节8个二进制位表示
汉字编码
汉字信息交换码(交换码)也叫国标码:4位16进制数。包含一级常用字3755个,二级常用字3008个
汉字输入码(外码):流行的编码方案有全拼输入法、双拼输入法、自然码输入法和五笔输入法等
汉字内部码(机内码):计算机内部对汉字进行存储、处理的汉字代码
汉字字形码/字模/汉字输出码:表示汉字字形信息的编码,用来实现汉字的输出,字形码最常见的表示方式是点阵形式
区位码:四位十进制数,前两位叫做区码,后两位叫做位码
汉字国标码=汉字区位码(区、位均要转换成十六进制)+2020H
汉字内部码=汉字国标码+8080H
计算机系统的组成
计算机系统通常由以下几个组成部分组成:
- 中央处理器(CPU):它是计算机系统的核心,负责执行计算机程序中的指令。CPU通常包括算术逻辑单元(ALU)、控制单元(CU)和寄存器。
- 存储器:存储器是计算机系统中用于存储数据和指令的部件。存储器通常被划分为两类:主存储器和辅助存储器。主存储器(例如,随机存取存储器(RAM))用于存储程序和数据,而辅助存储器(例如,硬盘、光盘和闪存驱动器)则用于长期存储数据。
- 输入/输出设备(I/O设备):输入/输出设备用于与计算机系统的用户或其他外部设备进行通信。例如,键盘、鼠标和显示器用于输入和输出文本和图像,打印机用于输出文档。
- 系统总线:系统总线是计算机系统中各个组件之间通信的物理通道。它可以传输指令、数据和控制信号,以便各个组件协同工作。
除了上述组成部分,还有其他一些部件和技术,例如网络接口卡、操作系统、编程语言和应用软件。这些部件和技术对于构建和使用计算机系统都是至关重要的。
计算机软件系统主要由以下几个组成部分:
- 应用程序:应用程序是计算机软件系统的核心组成部分,它们是为了实现特定的功能或解决特定问题而设计和开发的。应用程序可以包括单个程序或多个程序的组合,可以是基于命令行或图形用户界面(GUI)的。
- 操作系统:操作系统是计算机软件系统的核心组成部分之一,它是管理计算机硬件和软件资源的系统软件。操作系统包括了各种功能,如内存管理、进程管理、文件系统管理、设备管理、网络管理等。
- 数据库系统:数据库系统是一种用于管理和存储大量数据的软件系统,它包括数据库管理系统(DBMS)和一些数据库应用程序。数据库系统提供了一个结构化的、可靠的数据存储机制,能够支持数据的快速存储、检索和更新。
- 网络软件:网络软件是计算机软件系统的一个重要组成部分,它包括各种网络协议、网络应用程序、网络安全软件等。网络软件可以让计算机之间进行通信、共享资源和数据。
- 编程语言和开发工具:编程语言和开发工具是计算机软件系统的基础组成部分,它们用于开发和维护各种软件应用程序。编程语言包括了各种高级语言和低级语言,开发工具包括了各种集成开发环境(IDE)和调试器。
将上述计算机软件系统组成按照系统软件和应用软件进行分类如下:
系统软件:
- 操作系统
- 数据库系统
- 网络软件
- 编程语言和开发工具
应用软件:
- 应用程序
如何区分系统软件和应用软件
系统软件是计算机软件系统中的基础组成部分,它们提供了管理计算机硬件和软件资源的各种功能。应用软件是在系统软件的基础上构建的,用于实现特定功能或解决特定问题的程序。操作系统、数据库系统、网络软件和编程语言和开发工具都是系统软件;而应用程序是应用软件的代表。
系统软件和应用软件可以根据其作用和功能进行分类。
系统软件是计算机系统中的基础软件,负责管理和控制硬件和其他软件资源。它们通常不直接与用户交互,而是提供基础功能和服务来支持应用程序的运行。系统软件可以进一步细分为以下几类:
- 操作系统:负责管理计算机的硬件资源和软件资源,为应用程序提供运行环境和接口。
- 驱动程序:提供硬件设备的控制程序,与操作系统协同工作以实现硬件设备的正常使用。
- 网络软件:管理计算机网络的通信协议和服务,为应用程序提供网络通信功能。
- 安全软件:包括防火墙、杀毒软件等,提供保护计算机系统和数据安全的功能。
应用软件则是指具有特定功能和应用的软件程序。它们被设计和开发用于完成特定任务,如写作、游戏、多媒体处理、图像处理、财务管理等。应用软件可以进一步细分为以下几类:
- 办公软件:如文字处理、电子表格、演示文稿等,用于办公和处理文档、表格、图表等。
- 多媒体软件:如音频和视频播放器、图像处理软件等,用于处理和播放多媒体文件。
- 游戏软件:如电脑游戏、手机游戏等,用于娱乐和休闲。
- 工程软件:如CAD、CAM等,用于工程设计和制造。
- 教育软件:如在线学习平台、电子课本等,用于教育和学习。
总的来说,系统软件是为应用软件提供基础支持和服务的软件,而应用软件则是为完成特定任务和解决特定问题而设计和开发的软件。
操作系统的基本概念和分类
计算机操作系统可以分成以下几种:
- 批处理操作系统:这种操作系统可以自动处理大量的批量作业,采用作业控制语言(Job Control Language,JCL)来描述作业,通过作业调度程序将多个作业按照一定的顺序提交给计算机系统处理。
- 分时操作系统:这种操作系统可以同时为多个用户提供服务,允许多个程序同时运行。这种系统采用了分时技术,将计算机时间分割成多个时间片,每个用户都可以在自己的时间片内独占计算机资源。例如UNIX就是一种分时操作系统。
- 实时操作系统:这种操作系统可以在规定的时间内对输入做出快速响应,通常用于控制和监控等领域。例如航空交通管制系统、医疗设备等就是实时操作系统的应用。
- 分布式操作系统:这种操作系统可以通过网络连接多个计算机,实现资源共享和协同工作。这种系统通常采用分布式技术,允许多个计算机共同完成一个任务。例如云计算、物联网等就是分布式操作系统的应用。
- 实时分布式操作系统:这种操作系统结合了实时和分布式操作系统的特点,可以在规定的时间内对输入做出快速响应,同时通过网络连接多个计算机,实现资源共享和协同工作。这种系统通常用于控制和监控等领域的应用。