一、 编程与编程的目的
什么是语言?什么是编程语言?
语言是一种事物与另外一种事物沟通的介质,所以说编程语言是程序员与计算机沟通的介质。
什么是编程?
程序员把自己想要让计算机做的事按照某种编程语言的语法规范表达出来,表达的结果就是程序,程序就是一系列的文件。
为什么要编程?
让计算机按照人类思维逻辑去工作,从而解放人力。在编程的世界里,计算机就是人类的奴隶,编程的目的就像是奴役计算机,就像《西部世界》里面,人与机器的关系仿佛回到奴隶时代。
These violent delights have violent ends. 在以后的智能时代,我希望的是机器在尽力完成他们工作的同时能获得相对的尊重。
二、 计算机组成
五大组成部分:
控制器:指挥系统,控制计算机的其他硬件进行工作。
运算器:负责数学运算和逻辑运算。
控制器和运算器合起来就是中央处理器CPU。相当于人的大脑。
存储器
存储器分为内存和外存。
内存 ===》人脑的记忆功能
优点:存取速度快
缺点:断电数据丢失,只能临时保存数据。
外存 ===》笔记本
优点:例如硬盘,断电数据不丢失,可以永久保存数据
缺点:存取速度慢。
输入设备Input:例如键盘、鼠标等。
输出设备Output:例如显示器,打印机等。
存储器和输入输出设备都是IO设备。
与运行程序有关的三大核心硬件:CPU,内存和硬盘。
程序最先都是存放于硬盘,站在硬盘的角度,程序启动时硬件的工作流程:
1.程序相关数据先从硬盘读入内存;
2.CPU从内存取出指令/数据,然后运行。
决定程序的启动速度是数据从硬盘读入内存,当然内存大小也有关。在CPU和内存之间,内存和磁盘之间增加不同类型存储器可加快速度。凡是提起优化和提高效率都离不开IO。
三、 CPU详解
CPU具有向下兼容性 64的CPU可以运行32bit与64bit的软件。 但是32的CPU只能运行32bit的软件。
n核就相当于n个CPU。
四、 存储器详解
数据单位
8bit=1Byte
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
寄存器
用与CPU相同材质制造,与CPU一样快,因而CPU访问它无时延,典型容量是:在32位CPU中为3232,在64位CPU中为6464,在两种情况下容量均<1KB。
高速缓存
命中率——高速缓存硬件检查所需要的高速缓存行是否在高速缓存中。如果是,则称为高速缓存命中。
内存(RAM)
一般微机的主存,易失性存储。
ROM
ROM(Read Only Memory),非易失性随机访问存储,BIOS就是存储在这上面,BIOS启动操作系统。
EEPROM和闪存
EEPROM(Electrically Erasable PROM,电可擦除可编程ROM),非易失性的,可以擦除和重写。重写花费的时间比写入RAM要多。闪存(flash memory)在便携式电子设备中,闪存通常作为存储媒介。闪存是数码相机中的胶卷,是便携式音译播放器的磁盘,还应用于固态硬盘。闪存在速度上介于RAM和磁盘之间,但与磁盘不同的是,闪存擦除的次数过多,就被磨损了。
CMOS
易失性存储,保持当前时间和日期,保存配置的参数(启动磁盘),由电池驱动,且此存储器耗电极低。电池失效时,相关的配置和时间等都将丢失。
磁盘
平均寻道时间(找磁道的时间5ms)+平均延迟时间(转半圈的时间)= 一次IO时间。例如7200转/分钟的硬盘来说,一次IO的时间大概:5ms + 0.5(60*1000/7200)≈9ms
此外,磁盘上某块地方被称为虚拟内存,Linux称之为Swap。
五、 一套完整的计算机系统
分为三层:
应用程序
操作系统——一种控制程序,控制硬件的运作
计算机硬件
六、 操作系统定义
操作系统是协调、管理、控制计算机硬件资源与应用软件的一个控制程序,应用程序是通过操作系统来间接控制硬件的。
网友评论