1.什么是编程语言?
编程语言是程序员与计算机沟通的介质。
2.什么是编程?
程序员利用某种编程语言的语法格式将自己脑子中想要让计算机做的事写到文件中。
所以说,变成的结果就是文件,文件的内容就是一堆程序。
3.为什么要编程?
让计算机代替人类去工作,从而解放人力。
4.计算机硬件基础:
cpu x86-64
什么是x86: x86是电脑型号,是指该计算机是x86架构。现在公司电脑基本都是x86.
64是什么 : 是指64位操作系统。cpu一次处理数据的能力是64位。
cpu具有向下兼容性,即64位的cpu可以兼容32位的操作系统。32位的cpu不能兼容64位的操作系统,会丢失一半的数据。
存储器:
内存:内存条:
优点:读取速度快。
缺点:内存较小,且容易丢失,临时保存数据。
外存:磁盘:
优点:内存大,数据不容易丢失,可以永久保存数据。
缺点:读取速度慢。
5.对于磁盘来说,寻找到数据的总时间 = 平均寻道时间(5ms) + 平均延迟时间(7200转 4ms,(1/7200/60)*1*10^3,大概是8ms,一半就是4ms)
计算机硬件详解
计算机硬件分为五大部分:控制器,运算器,存储器,输入设备,输出设备。(取指-翻译-执行)
控制器:通过地址访问存储器,获取存储器内的指令,根据译码器分析后产生的相应操作控制信号作用于其他部件,使其他部件再控制器控制下有条不紊的工作。
运算器:实现算术运算和逻辑运算的部件。
存储器:包括内存和外存。基本功能是按照指定的地址写入或者读取信息。
输入设备:向计算机中输入信息的设备。常见的有键盘,鼠标,触摸屏等。外存储器也是一种输入设备。
输出设备:向外输出数据的设备。显示器,打印机等。外存储器也是一种输出设备。
6.控制器 + 运算器 = CPU(中央处理器(Central Processing Unit))
控制器主要协调各组件各单元工作,运算器主要负责逻辑判断和算术运算。所以CPU主要是管理和运算。
CPU读取的数据都是从主存储器(即内存)来的。
CPU往往被制成一块具有特定功能的芯片,里面有编写好的微指令集,称为微处理器。
我们使用的软件都要经过cpu内部的微指令集才能执行。下面是两种不同的微指令集:
①·精简指令集(RISC) 微指令集较为精简,每个指令运行时间短,执行效率高。但是复杂的事情需要多个指令来执行
②·复杂指令集(CISC) 指令较多且长度不同,都能执行一些较为低阶的操作。但是复杂事情,指令所用时间很长,每条个别指令处理的工作较为丰富。
常见的CISC微指令集CPU有AMD,Intel等的x86架构的cpu。
7.寄存器
因为cpu访问内存得到指令的时间比cpu执行指令要慢很多,所以cpu内部通常都有一些存储临时变量和数据的寄存器。
寄存器的分类:
1.除了用来保存变量和临时结果的通用寄存器外
2.多数计算机还有一些对程序员课件的专门寄存器,其中之一便是程序计数器,它保存了将要取出的下一条指令的内存地址。
在指令取出后,程序计算器就被更新以便执行后期的指令
3.另外一个寄存器便是堆栈指针,它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。
在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量
4.最后 一个非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)
CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。
在系统调用和I/O中,PSW非常非常非常非常非常非常重要
寄存器的维护:
操作系统必须知晓所有的寄存器。在时间多路复用的CPU中,操作系统会经常中止正在运行的某个程序并启动(或再次启动)另一个程序。
每次停止一个运行着的程序时,操作系统必须保存所有的寄存器,这样在稍后该程序被再次运行时,可以把这些寄存器重新装入。
8.处理器的演变
最原始的处理器是取指,解码,执行一起进行的,也就是其中有一个在进行,另外两个就要等待,效率很低。
后来进化发展成执行n的同时可以对n+1指令进行解码,对n+2进行取指
9.存储器系统
存储器一般速度高的内存容量会比较小,内存大的运行速度相对较慢。
10.寄存器称为CPU中的一级缓存(L1缓存),用于临时存放已经解码且需要多次使用的数据或指令。
高速缓存(L2缓存)
11.主存通常称为随机访问存储RAM,就是我们常说的内存。内存是易失性存储,断电数据全部丢失。
ROM(只读内存 Read Only Memory)非易失型随机访问存储。在出厂前就被编程完毕,不可再修改。只能用来读取,不能输入。
ROM速度快且便宜。用于启动计算机的引导加载模块就存放在ROM中。
CMOS存储器:易失性的。用来保持当前时间和日期。他能够保持时间是因为连通这一块小电池,保持CMOS处于通电状态。
CMOS还可以保存配置的参数,比如哪一个是启动磁盘。
之所以用CMOS是因为CMOS耗电很慢,一块电池能用好几年,如果电池耗尽,则数据丢失。
12.磁盘
磁道:每个磁头可以读取一段换新区域。
柱面:相同半径的磁道上下盘形成的柱体的柱面。和水桶的桶壁类似。简单地理解,柱面就是磁道。
扇区:从圆心散发出去两条射线,和 磁道交接形成的扇形区域。扇区典型存储的值是512字节。
平均寻道时间:两个柱面之间的距离可以看成磁针在磁道上移动的轨迹长度。
13.总线
北桥:PCI桥 连接高速设备
南桥:ISA桥 连接慢速设备
14.启动计算机
在计算机的主板上有一个基本的输入输出程序(Basic Input Output system)
BIOS就相当于一个小的操作系统,它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中。
启动流程
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI