计算机系统软件与工具软件
小菜鸡一个,自己的笔记,QAQ,有不对的地方请大佬们纠正,谢谢大佬们!( ¨̮ )
一、程序设计语言翻译系统
1、计算机语言历史
机器语言
计算机的硬件作为一种电路元件,它的输出和输入只能是有电或者没电,也就是所说的高电平和低电平,所以计算机传递的数据是由“0” 和“1”组成的二进制数,所以说二进制的语言是计算机语言的本质。计算机发明之初,人们为了去控制计算机完成自己的任务或者项目,只能去编写“0”、“ 1”这样的二进制数字串去控制电脑,其实就是控制计算机硬件的高低电平或通路开路,这种语言就是机器语言。
汇编语言
用一些容易理解和记忆的字母,单词来代替一个特定的指令。通过这种方法,人们很容易去阅读 已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便,这种语言就是我们所说的汇编语言, 即第二代计算机语言。汇编语言是面向机器的语言。
高级语言
高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。高级语言、汇编语言和机器语言都是用于编写计算机程序的语言 。
2、机器语言执行系统
机械语言就是二进制,可被计算机直接执行的语言,直接执行,不用翻译
3、汇编语言翻译系统
汇编语言程序经过输入到翻译器直接生成二进制语言执行
步骤
- 机器操作码代替符号化操作符
- 数值地址代替符号名字
- 常数翻译为机器的内部表示
- 分配指令和数据存储单元
4、高级语言翻译系统
- 词法分析:
词法分析是编译过程的第一个阶段,这个阶段的任务是从左到右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描和分解,转换为机内表示形式。
- 语法分析:
语法分析是编译过程的第二个阶段。对单词进行分析,按照语法规则分析一个个语法单位,如表达式、语句、程序等。
- 中间代码生成:
在进行了上述的语法分析和语义分析阶段的工作后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。所谓“中间代码”是一种结构简单、含义明确的记号系统,这种记号系统可以设计为多种多样的形式,重要的设计原则为两点:
(1)容易生成
(2)容易将它翻译成目标代码
很多编译程序采用了一种近似“三地址指令”的“四元式”中间代码,这种四元式形式为:
(运算符,运算对象1,运算对象2,结果)
- 代码优化:
这一阶段的任务是对前一阶段产生的中间代码进行变换或进行改造,目的是使生成的目标代码更为高效,即省时间和省空间。一系列的优化工作诸如公共子表达式的删除、强度削弱、循环优化等优化工作。
- 目标代码生成:
这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。转换为目标程序。
本类语言例如快乐的C++(当然不能忘了C)有例如DevC++的编译器编译
简述:
源程序——(编译)——>obj文件(二进制,目标文件)——(link链接)——>.exe可执行文件
补充知识:
1、OBJ文件:程序编译时生成的中间代码文件。目标文件,一般是程序编译后的二进制文件,再通过链接器和资源文件链接就成可执行文件了。OBJ只给出了程序的相对地址,而可执行文件是绝对地址。
2、C语言是函数语言
3、link把库与.exe文件链接
4、可执行文件
.exe
EXE File英文全名executable file ,译作可执行文件,可移植可执行 (PE) 文件格式的文 件,它可以加载到内存中,并由操作系统加载程序执行,是可在操作系统存储空间中浮动定位的可执行程序。如记事本程序notepad.exe ,可以用来编辑文档,如:测试.txt双击打开notepad.exe记事本程序来进行编辑处理。
.com
在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块;等等。
.bat
bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下输入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们 。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。入侵者常常通过批处理文件的编写来实现多工具的组合入侵、自动入侵及结果提取等功能 。
5、com和exe文件的区别
以COM为扩展名的文件的特点如下:
1.程序只能设置一个段,且不建立堆栈段;
2.程序的长度必须少于64K字节;
3.程序必须预留100H空间,开始处是一条可执行指令;
4.程序被装入的起始标号必须由END语句说明开始地址;
5.程序中的子程序必须具有进程属性(NEAR);
6.如果COM文件是由几个不同的目标模块链接生成的,要求所有目标模块具有同一代码段名和类别名(CLASS),且赋予公共属性(PUBLIC),而主模块应具有100H的入口指针并优先连接。
EXE文件的结构特点如下:
1.程序允许建立若干不同名的代码段、数据段、堆栈段或附加段。
2.程序的长度仅受当前内存可用空间的限制。
3.程序的入口随应用而定,只需起始标号与END语句说明的起始地址一致。
4.程序中的各个子程序的属性随段内或段间调用而定为NEAR或FAR。
5.连接生成EXE文件的各个不同的目标模块内的代码段,数据段或附加段可取同名或独立命名。但要求只有主模块的END语句指出程序入口的起始标号,并至少有一个具有STACK属性的堆栈段
5、高级语言解释系统
- 总控系统完成初始化工作
- 代码依次语法检查与执行命令
- 检查源程序是否原件全部解释执行完毕,未完成,继续解释下一句,直到所有都处理完
例如大Python
一般来说,编译比解释效率更高
二、操作系统
1、简介
操作系统是一种用来管理计算机系统的硬件资源、控制程序的运行、改善人机界面为应用软件提供支持的软件系统。与计算机硬件最近。
2、功能
- 资源管理功能
- 处理机管理
- 存储器管理
- 输入输出设备管理
- 文件管理
- 人机交互功能
3、操作系统分类
- 多道批处理操作系统
主存储器上存放多道用户作业,按照一定的策略在CPU上运行。宏观上看,计算机中有多个作业在CPU上进行。微观上看,对于单个CPU的电脑来说,某一个瞬间实际上只有一道作业在CPU运行,多道批处理操作系统可以提高系统设备的利用率,一般适用于大型机。
- 分时操作系统
计算机把CPU时间分割成一个个的小时间段,从而将CPU的工作时间分配给各个用户。适用于有多个终端的小型机。
- 网络操作系统
可以链接网关的操作系统,内有网络协议。(可以把ios,Mac,Windows,Android称为网络操作系统)
4、常见的操作系统
MS-DOS
老师:“IBM PC/XT intel8088(8086) X86架构。。。。。”
( ¨̮ )(世界著名牙膏厂的历史,看我14nm++++++++++++)
三个方面功能:
- 磁盘文件管理
- 输入输出管理
- 命令处理
现已融入cmd中
Windows
不用介绍了,老朋友了
Unix
unix操作系统结构简练、功能强、可移植性好和兼容性好
TCP/IP协议就是在Unix下开发
包含
- 内核
- 文件系统
- Shell命令
- 公用程序
Linux
略
Mac OS
略(图形化Max)
收工收工,刷CTF,( ¨̮ ),信科人的一天