序:
1943-1946年美国宾夕法尼亚大学研制的电子数字积分器和计算机ENIAC(Electronic Numerical And Computer)是世界上第一台电子多用途计算机。一般认为它是现代计算机的始祖。
与ENIAC计算机研制的同时,冯诺依曼(Von Neumann)与莫尔小组合作研制EDVAC计算机,采用了存储程序方案,其后开发的计算机都是采用这种方式,称为冯诺依曼计算机。
冯诺依曼计算机体系结构:运算器、控制器、存储器、输入设备和输出设备。
运算器(Arithmetical and Logical Unit):计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件。
控制器(Control Unit):控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不絮地进行操作及处理。
存储器(Memory unit):存储器的主要功能是存储程序和各种数据信息,并能在计算机运行过程中高速、自动地完成程序或数据的存取。
输入设备(Input device):向计算机输入数据和信息的设备,是计算机与用户或其他设备通信的桥梁,是用户和计算机系统之间进行信息交换的主要装置之一。常见的输入设备有,键盘、鼠标、图形输入板、视频摄像机等。
输出设备(Output Device):是计算机硬件系统的终端设备,用于接收计算机数据的输出显示、打印、声音、控制外围设备操作等。也是把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来。常见的输出设备有显示器、打印机、绘图仪、影像输出系统、语音输出系统、磁记录设备等。
操作系统(Operatinig System):是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”伤的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
应用软件(application software):是和系统软件相对应的,是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能。
机器语言:二进制语言,机器能识别的语言
低级语言:也叫微码,或叫汇编语言。人能够识别的语言,被集成到芯片当中,也就是芯片自带的语言,而这个语言是无法移植 的。同时还有个编译器,把汇编语言编译成二进制让计算机能够识别。
高级语言:本身需要先转换成汇编语言再翻译成机器语言。要结合一些额外的机制来磨合(承上启下的一个接口API库)底层芯片的不同。
加电自检过程:cpu要想执行指令,指令必须在内存当中,而指令必须是先放好在内存中才能执行的,但是计算机刚开机那一刻根本不 知道有键盘、显示器等。内存是易失性存储器,开机时里面没有任何数据和指令,如何实现的呢?ok,他是借助于外围 设备(如硬盘等)来实现的。在开机那一刻,芯片里的指令会映射给内存(这是有硬件逻辑结构来完成的),之后cpu 才能读取指令进行自检。
轮询:就是计算机不停地对外围设备进行查看。效率低。
中断interrupt:键盘敲击后,上电通知cpu,然后cpu停下手头工作去查看键盘,这种机制叫中断机制。cpu不用时时对外围设备进行查看是谁工作的,谁通知的自己,然后cpu在过来查看。这里有一个问题,中断时cpu如何知道是键盘还是鼠标通知的信息呢?很简单,计算机内部有个控制芯片,控制芯片通过针脚和cpu相连,而每一个针脚对应一个外围设备。
北桥设备:离cpu近,高速总线控制器。早期用来连接内存。硬件调优的时候,可以把外围设备从南桥直接接在北桥上。当今大多数都 是内存直接连接到cpu,这样速度更快,北桥只负责连接南桥。
南桥设备:离cpu远,低速总线控制器。早期用来连接外围设备。所有外围设备连接到南桥,南桥通过一根总线连接到北桥。
程序=指令+数据
程序一般从外存读取到内存中,然后cpu在对内存进行数据加工(运算)
程序1:system call 更高效,但太过于底层,难于编程移植
程序2:library call 是系统调用的封装,提供公共的基本模块,便于编程移植
32位cpu(2^32)最多能访问4Gbyte内存容量
kernel:管理硬件,将硬件资源虚拟成其他样子为上层程序提供支持
库(API):是一个程序,没有执行入口,不能单独执行,只能在被调用的时候才能运行。
操作系统:一个程序,指令和数据存放在内存当中,管理硬件资源和监控所有的程序。当计算机按键时:指令传送cpu-cpu发送给内核-由内核解析是硬件做了什么-发送给cpu
多进程:cpu分片,内存分段来实现多进程多任务
电脑的kernel和bios都放在内存的特定位置中
Shell:人机交互接口,用户管理界面。
GUI: gnome、kde、xface
CLI:sh、bash、csh、ksh、tsh...