什么是编程语言:
与计算机交流的介质
什么是编程:
与计算机交互
为什么要编程:
让计算机替代人类干活
计算机五大组成部分:
CPU(控制器,运算器),内存,外存,输入设备,输出设备
CPU
控制器
计算机的指挥系统,指挥整个计算机
运算器
计算机的运算系统,进行逻辑运算和算术运算
内存
临时储存数据的硬件设备
外存
永久存储数据的硬件设备
输入设备
向计算机输入信息的设备
输出设备
计算机向外界输出信息的设备
适配器
相当于一个转换器
计算机的性能指标
吞吐量
表征一台计算机在某一时间间隔内能够处理的信息量
响应时间
表征从输入有效到系统产生相应之间的时间度量,用时间单位来度量
利用率
在给定的时间间隔内系统被实际使用的时间所占比率,用百分比表示
处理机字长
指处理机运算中一次能够完成的二进制运算的位数,如32位,64位
总线宽度
一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数
存储器容量
存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示
存储器带宽
单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示
主频/时钟周期
CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的主频。度量单位是MHz(兆赫兹)、GHz(吉赫兹)。主频的倒数称为CPU时钟周期(T),度量单位是微秒,纳秒
CPU执行时间
CPU执行时间
表示CPU执行一般程序所占的CPU时间
公式:CPU执行时间=CPU时钟周期数*CPU时钟周期
CPI
表示每条指令周期数,即执行一条指令所需的平均时钟周期数
公式:CPI=执行某段程序所需的CPU时钟周期/程序包含的指令数
MIPS
表示平均每秒执行多少百万条定点指令数,MIPS=指令数/(程序执行时间*10^6)
FLOPS
表示每秒执行浮点操作的次数,用来衡量机器浮点操作的性能
公式:FLOPS=程序中的浮点操作次数/程序执行时间
启动计算机的流程
- 计算机加电。
- BIOS开始运行,检测硬件:CPU、内存、硬盘灯。
- BIOS读取CMOS存储器中的参数,选择启动设备等。
- 从启动设备上读取第一个扇区的内容。
- 根据分区信息读入bootloader启动装载模块,启动操作系统。
- 操作系统询问BIOS,获得配置信息。对于每种设备,系统会检查其设备驱动是否存在,如果没有,系统则会要求用户按照设备驱动程序,一旦有了全部的设备驱动程序,操作系统则会将它们调入内核,然后初始有关的表格(如进程表)。
硬盘工作原理
- 机械手臂:机械硬盘通过机械手臂读取数据,机械手臂的末端是磁头。
- 磁道:磁道是机械硬盘的磁面中的一个一个圈,磁道用于存储数据。
- 扇区:扇区的最小单位通常为512KB(由于磁盘大小不断增大,也有部分厂商设定每个扇区的大小是4096字节)。为了减小IO操作,机械硬盘也会将多个相邻的扇区组合在一起,形成一个块,这个块便就是我们在Windows系统中看到的C、D分区。
- 平均寻道时间:由于数据存放在磁道上,因此机械手臂需要读取数据首先要找到磁道。受限于工业水平的限制,目前机械手臂找到磁道的时间为5ms,这个时间被称为平均寻道时间。
- 平均延迟时间:机械手臂寻道之后,需要寻找数据。由于数据的位置是不确定的,而目前的机械硬盘寻找数据会从硬盘的头部扫描到尾部。以7200r/min的硬盘为例,如果碰巧在硬盘头部找到数据,时间约为0ms;如果在硬盘尾部找到数据,时间约为8.3ms,因此我们采用一个平均时间4.15ms作为机械手臂在磁道找到数据的时间,这个时间被称为平均延迟时间。
操作系统
操作系统的定义
操作系统位于计算机硬件与应用软件之间,它是一个协调管理计算机资源和软件资源的控制程序。它把对硬件的复杂操作,封装成一个一个简单的接口,供人们使用。
为什么要有操作系统
-
应用程序:应用程序位于操作系统之上,它主要用来帮助人干各种各样的工作,它不直接与硬件交互。如快播、同花顺和抖音等。
-
操作系统:操作系统一般用来控制硬件,把对硬件复杂的操作封装成一个简单又优美的接口,给用户或应用程序使用。也就是说,但凡需要用硬件的地方,都需要用到操作系统。如Linux、Windows和ios等。
-
计算机硬件:以二进制的形式存储数据。如CPU、内存和硬盘等。
操作系统的作用
由于我们以后开发都是都是应用程序,应用程序无法操作硬件,但凡需要操作硬件,都是调用操作系统的接口
操作系统和应用程序的启动
操作系统的启动:操作系统代码由硬盘读入内存(BIOS程序),CPU运行操作系统代码(CMOS存储器),运行成功后操作系统接管操作硬件的工作。
应用程序的启动:应用程序代码有硬盘读入内存,CPU运行应用程序码,运行成功即可使用应用程序。虽然应用程序的启动和操作系统的启动有着异曲同工之处,但是得明确一点:装了操作系统之后才能装应用程序,才有应用程序这个概念。因此上述应用程序对硬件控制的每一步操作,都依赖于操作系统的帮助
QQ启动的步骤
- 双击Windows桌面的QQ图标(qq.exe对应路径的快捷方式)
- 双击图标就是给操作系统发送指令,告诉操作系统QQ软件对应的硬盘地址,并让操作系统启动这个路径
- 操作系统接收到指令操控CPU发送指令给内存
- 内存接受指令后发送指令给硬盘,硬盘读取QQ软件代码给内存,QQ启动