计算机工作
- 计算机发展史
- CPU基本工作流程
- 编程语言
- 程序(Program)
- 编程语言的发展
- 操作系统
- 进程/任务
- 进程控制块
- CPU分配(进程调度)
- 内存分配(内存管理)
- 进程间通信
计算机发展史
四个发展阶段:
第一个发展阶段:1946-1956年电子管计算机的时代.1946年第一台电子计算机问世美国宾西法尼亚大
学,它由冯·诺依曼设计的.占地170平方 ,150KW.运算速度慢还没有人快.是计算机发展历史上的一个里程碑.(ENIAC)(electronic numerical integator and calculator)全称叫“电子数值积分和计算机”.
第二个发展阶段:1956-1964年晶体管的计算机时代:操作系统.
第三个发展阶段:1964-1970年集成电路与大规模集成电路的计算机时代
第四个发展阶段:1970- 超大规模集成电路的计算机时代.
冯诺依曼体系(Von Neumann Architecture)
现代的计算机, 大多遵守 冯诺依曼体系结构
CPU基本工作流程
取指: CPU读取程序计数器的值,这个值是指令的内存地址,然后CPU的控制单元根据该地址从内存提取指令(经数据总线)到指令寄存器。之后,程序计数器的值自增,以指向下一条指令,自增大小等于CPU的位宽;
译码: CPU分析指令寄存器中的指令,确定指令的类型和参数;
执行指令:操作控制器根据指令类型发送控制信号给算术逻辑单元(计算)或者存储单元(存储)使其准备执行指令;
访存取数:依据指令需要,CPU根据指令中的地址信息将操作数从内存提取到算术逻辑单元或存储单元;
结果写回:执行完指令后,将结果写回到CPU的内部寄存器中。
编程语言
程序(Program)
所谓程序,就是一组指令以及这组指令要处理的数据。狭义上来说,程序对我们来说,通常表现为一组文件。
程序 = 指令 + 指令要处理的数据。
编程语言的发展
高级语言----->汇编语言----->机器语言
操作系统
操作系统是一组做计算机资源管理的软件的统称。
操作系统由两个基本功能:
- 防止硬件被时空的应用程序滥用;
- 向应用程序提供简单一致的机制来控制复杂而又通常大相径庭的低级硬件设备。
进程/任务
进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程;同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。
进程控制块
// 以下代码是 Java 代码的伪码形式,重在说明,无法直接运行
class PCB {// 进程的唯一标识 —— pid;// 进程关联的程序信息,例如哪个程序,加载到内存中的区域等// 分配给该资源使用的各个资源// 进度调度信息(留待下面讲解)
}
CPU分配(进程调度)
操作系统对CPU资源的分配采用的是时间模式
内存分配(内存管理)
操作系统对内存资源的分配,采用的是空间模式
进程间通信
进程间通信又称IPC(Inter-Process Communication),指多个进程之间相互通信,交换信息的方法。
目前主要的通信有:
- 管道
- 共享内存
- 文件
- 网络(是一种相对特殊的 IPC 机制,它除了支持同主机两个进程间通信,还支持同一网络内部非同一主机上的进程间进行通信。)
- 信号量
- 信号