编程语言的作用及与操作系统和硬件的关系
编程语言就是程序员与计算机沟通的介质,
操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充(即控制硬件的一组软件资源)
应用程序-》操作系统-》硬件
一套完整的计算机系统分为:计算机硬件,操作系统,应用软件。
应用软件通过操作系统控制硬件。
cpu-》内存-》磁盘
CPU负责运算,内存负责临时存储要处理的数据,磁盘负责存储永久数据
比喻:CPU是工厂,磁盘是大仓库,内存是正规中转中心,虚拟内存是临时中转中心
cpu与寄存器
寄存器用与cpu相同材质制造,与cpu一样快,因而cpu访问它无延时。
CPU内部都有一些用来保存关键变量和临时数据的寄存器,用来和内存进行数据交换。
内核态与用户态及如何切换
CPU存在两种模式(由PSW中的一个二进制位控制):
内核态:运行操作系统,控制硬件
用户态:运行用户软件,不控制硬件
存储器系列
存储器系统采用如上图的分层结构,顶层的存储器速度快,容量较小,价格贵
L1缓存
寄存器:用与cpu相同材质制造,与cpu一样快,因而cpu访问它无延时,容量小于1KB。
四种分类:
1.通用寄存器:用来保存变量和临时结果
2.程序计数器:保存将要取出的下一条指令的内存地址
3.堆栈指针:指向内存中当前栈的顶端
4.程序状态字寄存器(Program Status Word,PSW):包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位
L2缓存
高速缓存(Cache):存在于主存与CPU之间的一级存储器,容量比较小但速度比主存高得多。
内存(RAM)
随机访问存储(RAM):又称为主存,是存储器系统的主力。主存是易失性存储,断电后数据全部消失。
EEPROM和闪存
电可擦除可编程ROM(EEPROM)和闪存是 非易失性的。
闪存应用于固态硬盘,在速度上介于RAM和磁盘之间。
CMOS与BIOS电池
BIOS(Basic Input Output system):基本输入输出系统。它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O
CMOS(互补金属氧化物半导体)是主板上的一块可读写的并行或串行FLASH芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。它是易失性的,许多计算机利用CMOS存储器来保持当前时间和日期。CMOS自带电池。
磁盘结构
包含两个主要移动部件:
磁盘组合:由一个或多个金属盘片组成,它们围绕着一根中心主轴旋转。
磁头组合:一个机械臂+若干磁头
平均寻道时间,
接收到系统指令后,磁头从开始移动到移动到数据所在磁道所需要的平均时间
平均延迟时间,
磁头从到达正确的磁道后到旋转到数据所在的扇区所需要的平均时间
虚拟内存与MMU
许多计算机支持虚拟内存机制,该机制使计算机可以运行大于物理内存的程序,方法是将正在使用的程序放入内存取执行,而暂时不需要执行的程序放到磁盘的某块地方,这块地方成为虚拟内存,在linux中成为swap。
这种机制的核心在于快速地映射内存地址,由cpu中的一个部件负责,称为存储器管理单元(Memory Management Unit MMU)
磁带
相比于磁盘:容量大,速度慢,价格低。紧急情况下可移动性强,常用来做备份。
设备驱动与控制器
I/O设备一般包括两个部分:设备控制器和设备本身。
控制器:是主板上的一块芯片或一组芯片。它的任务是提供给操作系统一个简单而清晰的设备驱动接口,来控制连接的设备。
设备驱动:设备本身有标准并且相对简单的接口,方便为其编写驱动程序。将设备驱动程序安装到操作系统中,控制器就可以通过设备驱动接口来调用设备。
总线与南桥和北桥
总线相当于人的神经,连接所有的硬件设备。
北桥即PCI桥:连接高速设备(CPU,高速缓存,内存)
南桥即ISA桥:连接慢速设备(鼠标键盘,打印机,声卡。。)
操作系统的启动流程
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为结束标志位)
5.根据MBR读入bootloader(grub程序,读到操作系统具体位置)启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,操作系统则会要求用户安装设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),创建需要的进程,并在每个终端上启动登录程序或GUI ???
BIOS(找到启动盘)-》MBR(这快盘有几个操作系统)-》grub程序(读到操作系统具体位置)->kernel(找到最后内核代码)
BIOS存储在ROM中
CMOS(互补金属氧化物半导体)是主板上的一块FLASH芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。
Main Boot Record MBR 主引导记录
应用程序的启动流程:
操作系统启动后
向操作系统发起指令:启动应用程序。
操作系统将文件内容从 硬盘调到内存,交给CPU运行。??此时什么态
如果涉及到操作硬件,CPU由用户态切换到内核态,调用硬件。
内核态切换到用户态,启动应用程序。