专升本每日必背 | 计算机基础知识点汇总

1、指令是指示计算机执行某种操作的命令,包括操作码和地址码两部分。

2、目前常见的指令系统有复杂指令系统(CISC)和精简指令系统(RISC)。

3、计算机的工作过程:取指令、分析指令、执行指令。

4、未配置任何软件的计算机叫裸机,注意不是指安装过操作系统的计算机。

5、计算机硬件系统的五大组成部分:运算器、控制器、存储器、输入设备和输出设备。

(1)常用的输入设备:鼠标器、键盘、扫描仪、数字化仪、数码摄像机、条形码阅读器、数码相机、A/D转换器等。

(2)运算器:对信息进行加工和运算。运算器和控制器合称为CPU。

(3)控制器整个计算机系统的控制中心,它指挥计算机各部分协调工作。

(4)存储器分为内存和存。内存包括ROM、RAM和Cache;外存包括磁盘、光盘、闪存和磁带等。

注意:外存用来存储大量的暂时不参加运算或处理的数据和程序,不能和CPU 直接交换数据。

(5)常用的输出设备:显示器、打印机和音箱,还有绘图仪、各种数模转换器(D/A)等。磁盘驱动器和磁带机既可以看作输入设备,又可以看作输出设备。

6、输入计算机的信息有两类:数据和程序。

7、计算机软件分为系统软件和应用软件。

(1)系统软件包括操作系统、语言处理程序、系统支撑和服务程序、数据库管理系统。

(2)应用软件包括Microsoft office、Adobe Photoshop、QQ、3DMax等。

8、操作系统是用户和计算机硬件系统之间的接口。

9、语言处理程序包括汇编程序、编译程序和解释程序等。汇编语言源程序做翻译称为汇编;对高级语言源程序翻译称为编译或解释。

10、数据管理系统:FoxPro、 FoxBASE+、Access和大型数据库管理系统如Oracle、DB2、Sybase、SQL Server等。

11、程序=算法+数据结构

(1)算法可以看作是由有限个步骤组成的用来解决问题的具体过程。算法的性质:有穷性、确定性和可行性。

(2)典型的数据结构包括线性表、堆栈和队列。

12、程序设计语言包括机器语言、汇编语言和高级语言。

(1)机器语言是计算机唯一能够识别的;汇编语言是机器语言的符号化;高级语言是最接近人类表达问题方式的语言。

(2)机器语言和汇编语言都称为低级语言。

13、高级语言处理程序有两类:解释型和编译型。解释型边翻译边执行,不产生目标程序;编译型产生目标程序。

14、掌握微机的主要性能指标

(1)主频:计算机CPU在单位时间内发出的脉冲数,它在很大程度上决定了计算机的运算速度,主频的单位是赫兹(Hz) 1.60GHz。

(2)字长:计算机的运算部件能同时处理的二进制数据的位数,是衡量计算机性能的主要指标。

(3)内存容量指的是RAM的容量。

(4)运算速度的单位MIPS(每秒106条指令)、BIPS(每秒109)

(5)了解其他性能指标:平均无故障工作时间(MTBF)、平均修复时间(MTTR)等。

15、光存储器:只读光盘(CD-ROM、DVD)、追记型光盘(CD-R、WORM)和可改写型光盘(CD-RW、MO)等。

16、显示器的主要性能指标:点距、分辨率、扫描频率和刷新速度(Hz)。

17、打印机的分类:点阵式(针式)打印机、喷墨打印机和激光打印机。

18、模数(A/D)转换是对音频信号的采样、量化和编码的过程。采样精度越高数字声音越逼真。

19、采样频率是指每秒钟对音频信号的采样次数,采样频率只要达到信号最高频率的两倍,就能精确描述被采样的信号。

20、人耳的听力范围在20Hz到20kHz之间,采样频率到少要达到40kHz,大多数声卡的采样频率都已达到44.1kHz或48kHz。

21、操作系统的主要功能:处理机管理、存储管理、设备管理、文件管理和作业管理。其中处理机管理、存储管理、设备管理属于硬件资源;文件管理和作业管理属于软件资源管理。

22、操作系统一般分为三种基本类型:批处理系统、分时系统和实时系统。后来又出现嵌入式操作系统、个人操作系统、网络操作系统、分布式操作系统等。

23、操作系统的主要特征:并发性、共享性、异步性和虚拟性。其中并发性和共享性是操作系统两个最基本的特征。

24、各种操作系统的特点

(1)批处理操作系统:系统操作员将许多用户的作业组成一批作业,启动操作系统,系统自动、依次执行每个作业,最后由操作员将作业结果交给用户。

(2)分时操作系统:一台主机连接了多个终端,各终端交互式地向系统提出请求,系统采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。

(3)实时操作系统:计算机在规定的时间内响应并处理外部事件的请求

(4)嵌入式操作系统:运行在嵌入式系统环境中

25、根据同一时间使用计算机用户的多少,操作系统分为单用户操作系统和多用户操作系统。

根据同一时间运行程序的多少,操作系统分为单任务操作系统和多任务操作系统。

26、DOS操作系统是单用户单任务操作系统,Windows XP则是单用户多任务操作系统,Windows 7则是多用户多任务操作系统。

27、常用操作系统简介

(1)Windwos操作系统是为个人电脑和服务器用户设计的操作系统。

(2)UNIX是多用户、多任务操作系统。从操作系统分类上,属于分时操作系统。

(3)Linux是多用户、多任务,支持多线程、多CPU的操作系统。Linux继承了UNIX以网络为核心的设计思想,它还是一种嵌入式操作系统。

(4)IOS是由苹果公司开发的手持设备操作系统。

(5)Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备(如智能手机和平板电脑)。

(6)Mac OS是苹果机专用系统,是基于UNIX内核的图形化操作系统。相对于Windows系统,Mac的架构很少受到病毒的袭击。

28、Windows 7操作系统的6个版本:Windows 7 starter(初级版)、Windows 7 homebasic(家庭普通版)、Windows 7 home premium(家庭高级版)、Windows 7 professional(专业版)、Windows 7enterprise(企业版)、Windows 7 ultimate(旗舰版)。

29、安装Win7系统的硬件配置要求。CPU 1GHz 内存 1GB(32位) 2GB(64位)显示器 1024*768 硬盘可用空间 16GB 安装Win7系统的硬盘分区必须采用NTFS文件系统。

30、打开的多个程序或窗口间的切换快捷键:Alt+Tab/Win+Tab/Alt+ESC

关闭当前应用程序或窗口的快捷键:Alt+F4

01程序编译过程分析,预处理,编译,汇编,链接

前言

我们大多数开发人员在编写完程序之后都会通过相应的IDE执行编译的操作,将所编写的源代码转换成计算机可以识别并执行的文件。这个从源代码转换成可执行文件的过程有相应的IDE帮助我们完成,很多朋友对于这个过程都不太熟悉,今天我们就一起探讨下可执行文件的生成过程,这个过程又叫做程序的编译与链接。

一:hello word由浅入深

对于程序员开发者来说,hello world程序的编写,大家闭上眼睛都能写出来,今天我们就以hello world为例来探讨一下可执行文件的生成过程,废话不多说,下面就是hello word的源码

上面代码的功能就是输出hello,word。然而计算机不可能直接执行hello world.c下面我们用一张图来讲一下hello world.c是如何被被执行。

从上面的图中,我们大致可以看到,hello.c要想变成计算机可以执行的hello(可执行目标文件)需要经过预处理,编译,汇编,链接等步骤,这些步骤主要是干什么的,有各自有什么作用,我们下面一一进行分析。

二:预处理

首先我们先来看一下预处理的执行命令

– $gcc –E hello.c –o hello.i

– $cpp hello.c > hello.i

预处理执行的功能:

  1. 删除“#define”并展开所定义的宏
  2. 处理所有条件预编译指令,如“#if”,“#ifdef”, “#endif”等
  3. 插入头文件到“#include”处,可以递归方式进行处理
  4. 删除所有的注释“//”和“/* */”
  5. 添加行号和文件名标识,以便编译时编译器产生调试用的行号信息
  6. 保留所有#pragma编译指令(编译器需要用)

经过预编译处理后,得到的是预处理文件(如,hello.i) ,它还是一个可读的文本文件 ,但不包含任何宏定义,上面所说的第3条插入头文件到“include”处,可以理解为将头文件里面的内容进行展开,下面用一张图来进行描述

三:编译

编译过程就是将预处理后得到的预处理文件(如 hello.i)进行词法分析、语法分析、语义分析、优化后,生成汇编代码文件。用来进行编译处理的程序称为编译程序(编译器,Compiler)

编译命令

– $gcc –S hello.i –o hello.s

– $gcc –S hello.c –o hello.s

– $/user/lib/gcc/i486-linux-gnu/4.1/cc1 hello.c

上面3条编译指令表明,我们可以通过.i文件输出汇编文件.s同时也可以直接将.c文件编译成.s文件。第3条指令则是通过编译器直接执行,与前两条执行效果一样。gcc命令实际上是具体程序(如ccp、cc1、as等)的包装命令,用户通过gcc命令来使用具体的预处理程序ccp、编译程序cc1和汇编程序as等

经过编译后,得到的汇编代码文件(如 hello.s)还是可读的文本文件,CPU无法理解和执行它,不要着急,我们接下来看下一步汇编命令的执行过程

四:汇编

首先我们先了解下汇编代码文件(由汇编指令构成)称为汇编语言源程序,其实就是上面编译过程结束之后生成的.s文件,这个文件就是汇编代码文件,改文件是有一条条汇编指令构成,汇编的作用就是讲这一条条汇编指令转换成对应的机器执行。

• 汇编程序(汇编器)用来将汇编语言源程序转换为机器指令序列(机器语言程序)

• 汇编指令和机器指令一一对应,前者是后者的符号表示,它们都属于机器级指令,所构成的程序称为机器级代码,汇编的过程比较简单,只需要将相应的汇编指令翻译成对应的机器指令即可,没有什么复杂的变化。

汇编命令

– $gcc –c hello.s –o hello.o

– $gcc –c hello.c –o hello.o

– $as hello.s -o hello.o (as是一个汇编程序)

汇编结果是一个可重定位目标文件(如,hello.o),其中包含的是不可读的二进制代码,必须用相应的工具软件来查看其内容

五:链接

哇,经过了上面一系列的流程,终于到了最后一步,我们的hello world 终于要完成了,下面我们就来看下最后一步链接的处理吧。

预处理、编译和汇编三个阶段针对一个模块(一个*.c文件)进行处理,得到对应的一个可重定位目标文件(一个*.o文件),但是在程序的编写过程中,我们都是多个.c文件的,这样经过上面的预处理,编译汇编的过程之后我们得到的也是多个.o(可重定位目标文件),但是我们在最终执行的时候是只有一个可执行文件的,这个过程就是连接的目的了。

链接过程将多个可重定位目标文件合并以生成可执行目标文件,大家可以看下最初时候的图,在最后一步连接的过程中,我们不只是要hell.o而且还需要printf.o(代码中含有printf函数),链接就是将这连个.o合并为一个生成可执行目标文件

链接命令

– $gcc –static –o myproc main.o test.o

– $ld –static –o myproc main.o test.o

–static 表示静态链接,如果不指定-o选项,则可执行文件名为“a.out”

一步步教你编写汇编程序

欢迎关注我,学习更多计算机知识!

什么是机器语言?

机器语言就是由二进制数字构成的程序,CPU 可以直接对其解释、执行。

汇编语言、C 语言、Java、BASIC 等编程语言编写的程序,也都需要先转换成机器语言才能被执行。机器语言有时也叫作“原生代码”(Native Code)。

本篇文章我们就来学习一下如何编写汇编语言,汇编语言是低级语言,所以它是最接近机器语言的编程语言。

学习汇编语言,能让你更深刻的理解计算机的运行机制和原理,使你犹如拨云见日, 找到长期困惑着自己的问题的答案,不仅能因“我能看懂程序了”而获得成就感,更能因发现“计算机原来很简单啊”而信心倍增。

使用汇编语言编写一段程序然后让计算机运行你编写的程序,你就知道计算机是如何把汇编语言转换成机器语言执行的。

你可能会问,我们为什么不直接使用机器语言编写程序呢?原因就是机器语言是一堆的0和1的组合,但是每个组合都是有特定的含义的指令或数据,所以对人来说,如果只看0和1的话很难判断出各个组合都表示什么。

简单地说,就是机器语言不适合人类书写和阅读。

于是就有人发明了汇编语言,可以用一些英文单词或者英文简写来表示指令功能,这种类似的英语单词叫作“助记符”,使用助记符的编程语言叫作“汇编语言”。

无论是使用机器语言还是汇编语言,所实现的功能都是一样的, 区别只在于程序是用数字表示,还是用助记符表示。

也就是说,如果理解了汇编语言,也就理解了机器语言,更进一步也就理解了计算机 的原始的工作方式。

汇编语言的语法十分简单,以至于语法只有一个,即把“标签” “操作码(指令)”和“操作数(指令的对象)”并排写在一行上,仅此而已。

如下是一段汇编语言:

标签的作用是为该行代码对应的内存地址起一个名字。

编程时如果总要考虑这一行的内存地址是什么?就会很不方便,所以在汇编语言中用标签来代替地址。用汇编语言编程时可以在任何需要标签的地方贴上名称任意的标签。

在上述代码程序中,使用了名称为“LOOP:”的标签,操作码就是表示“做什么”的指令。

因为用助记符表示的指令是英语单词的缩写,比如 LD 是 Load(加载)的缩写,所以多多少少能猜出其中的含义。汇编语言中提供了多少种助记符,CPU 就有多少种功能。

比如Z80 CPU 的指令全部加起来有 70 条左右。

CPU 的寄存器、内存地址、I/O 地址或者直接给出的数字都可以作为操作数。

如果某条指令需要多个操作数,那么它们之间就要用逗号分割。操作数的个数取决于指令的种类。也有不需要操作数的指令,比如用于停止 CPU 运转的 HALT 指令。

汇编语言的语法和英语祈使句的语法很像。对比英语的祈使句 Give me money 和汇编语言的语句,就可以看出在英语的祈使句中,一 开头放置了一个表示“做什么”的动词,这个动词就相当于汇编语言中的操作码。

在动词后面放置了一个表示“动作作用到什么上”的宾语, 这个宾语就相当于汇编语言中的操作数。

因为程序的作用是向 CPU 发出指令,而且编程语言又是由说英语的人发明的,所以编程语言与英语祈使句类似也就不足为奇了。

构成机器语言的是二进制数,而在汇编语言中,则使用十进制数和十六进制数记录数据。若仅仅写出123这样的数字,表示的就是十进制数;而像123H这样在数字末尾加上了一个H(H 表示 Hexadecimal, 即十六进制数),表示的就是十六进制数。

这里先把主要的指令列在如下表中,请大家粗略地浏览一下。

在浏览的过程中请注意这些指令的分类,按功能这些指令可以分成运算、与内存的输入输出和 与 I/O 的输入输出三类。

这是因为计算机能做的事也只有输入、运算、输出这三种了。 操作数表示的是指令执行的对象。

欢迎关注我,学习更多计算机知识!

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。