一、计算机系统
平台:计算机硬件 + 操作系统
跨平台:一块软件在任意平台上运行,是衡量软件质量的重要指标
1)计算机硬件
1.CPU
控制器和运算器组成。
x86:CPU型号
64位:一次性取出的指令的位数
CPU向下兼容性:64位的可以运行32位的,反过来不行
运算相关指令集,控制其他硬件指令集----------CPU功能
CPU 内核态:运行操作系统的状态,所有指令集开放(控制其他硬件的指令集、运算相关的指令级),可以操作计算机硬件
CPU 用户态:运行应用程序的状态,只开放运算相关指令集
应用程序的运行必然涉及到计算机的硬件的操作,那就必须又用户态切换到内核态下才能实现,所以计算机工作时在频繁的发生内核态与用户态之间切换
2核4线程:2核代表有两个cpu,4线程指的是每个cpu都有两个线程=》假4核
2.存储器
内存:存取速度都快,基于电工作的,断电数据就丢失,不能永久保存数据=========》人脑的记忆功能
外存(磁盘):存取速度都慢,基于磁工作的,断电数据不丢失,可以永久保存数据===》人的笔记本
3.输入设备、输出设备
2)操作系统
1.控制硬件的基本运行
2.将硬件操作的复杂细节封装成简单的接口来提供给应用程序或用户使用
其它重要知识:
IO延迟:平均寻道时间 + 平均延迟时间
平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,受限于物理工艺水平,目前机械硬盘是5ms
平均延迟时间:转半圈需要花费4ms,受限于硬盘的转速
优化程序运行效率的一个核心法则:能从内存读取,就不要从硬盘读取
BIOS: Basic Input Output System
BIOS 被写入ROM设备
裸机:
CPU
ROM:充当内存,存放BIOS系统,不可变内存,只读内存
CMOS:充当硬盘,存储慢,容量小,耗电量低
RAM:内存
操作系统的启动流程:
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核
应用程序的启动流程(*****)
1、双击exe快捷方式--》exe文件的绝对路径,就是在告诉操作系统
说:我有一个应用程序要执行,应用程序的文件路径是(exe文件的绝对路径)
2、操作系统会根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存
3、然后控制cpu从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动