1.编程语言的作用及与操作系统和硬件的关系
编程语言就是程序员与计算机沟通的介质,其作用为实现程序编写后,通过操作系统来调用硬件,实现某种功能。
程序由编程语言来实现,但是由于应用程勋操作硬件的所有具体细节,会重复太多的工作量,严重影响了开发的效率,因此操作系统的出现可直接运行于硬件之上,来控制硬件的,而应用程序只需要调用操作系统为我们提供的简单而优雅的接口就可以了,通过操作系统来调用硬件,从而实现功能。
2.cpu-》内存-》磁盘
所有的应用程序存储在磁盘内,运行某个程序时,磁盘内的数据或指令会扔到内存当中,这时候CPU就会从内存当中读取数据,进行处理。
3.cpu与寄存器
因内存得到数据或指令的速度有限,远没有CPU的处理速度快,为提高效率,CPU内部都有用来保存关键变量和临时数据的寄存器,和内存共同等待CPU来读取和存入数据或指令。
4.内核态与用户态及如何切换存储器系列
内核态:计算机在内核态运行状态下,即为操作系统在内核态运行状态下,可以调用所有硬件功能。
用户态:应用程序因不能调用硬件,故此在用户态下运行。
切换:当我们执行某个应用程序时,由于不能直接调用硬件的特性,只能通过操作系统来实现,操作系统接受数据或指令后就会处于内核态运行,而当处理结果完成,需要向应用程序返回数据,此时应用程序运行,则又会转为用户态运行。(如图)
5.存储器的种类及特性
访问时间 类型 容量
1ns 寄存器 ﹤1KB
2ns 高速缓存 4MB
10ns 内存 512~2048MB
100ms 磁盘 200~1000GB
100s 磁带 400~800GB
寄存器既L1缓存
高速缓存既L2缓存
内存:同寄存器,高速缓存作用相同,其区别在于内存获得的数据量大,但是速度会相对较慢
EEPROM:可以擦除和重新编程ROM
闪存:非易失性存储器,多用于存储设备,速度上介于RAM和磁盘之间,多次擦除易磨损
6.CMOS与BIOS:
CMOS是存储器的一种,易失性,因此靠电池驱动,BIOS会读取CMOS中的参数,可识别启动盘
7.磁盘结构
一个或多个金属盘片机械装置,边缘有机械手臂,来读取盘片上的数据。
8.平均寻道时间
机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻道时间,找到了磁道就找到了数据所在的园圈,但是还不知道数据具体这个圆圈的具体位置
9.平均延迟时间
机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间
10.虚拟内存
当计算机需要运行大于物理内存的程序,会划分一部分暂不需要处理的任务放于磁盘的某个地方
11.MMU
是内存管理单元,是CPU管理虚拟内存、物理存储器的控制线路
12.磁带
价钱相同的情况下比硬盘拥有更高的存储容量,速度低于磁盘,但其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份
13.设备驱动
是操作系统和输入或者输出设备间的粘合剂,驱动负责将操作系统的请求传输,转化为特定物理设备控制器能够理解的命令
14.控制器
控制连接设备,包括接受操作系统命令,及其读取设备数据等作用
15.总线
各功能部门的通信干线,但由于处理器和存储器速度越来越快,单总线很难处理总线的交通流量了,于是出现了南北线分布形式。
16.北桥
连接高速设备为北线
17.南线
连接低速设备为南线
18.操作系统启动流程
1.计算机通电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader(GRUB)启动装载模块,识别内核(gernel)启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI
19.应用程序的启动流程
1.加载应用程序,将指令发送给操作系统
2.操作系统将接受到的数据传给内存,
3.CPU进行读取,并进行相关处理
4.处理完成后再降处理完成的数据回传给应用程序,完成指令