计算机基础
- 什么是计算机?
计算机俗称“电脑”,是人对计算机的终极期望,能够想人脑一样去工作 - 为什么要有计算机?
为了执行人类的程序,解放人类的劳动。
大前提:计算机所有的组成都是模仿人的功能或器官 - 计算机的组成
- 控制器:计算机的指挥系统,负责控制计算器其他组件之间工作
- 运算器:包括数学运算以及逻辑运算
- 存储器:计算机的记忆功能,配合IO设备负责数据的存取
- 内存(主存):基于电工作,断电丢失数据,存取速度快,可以临时保存
- 外存:基于磁工作,存取速度较慢,断电不丢失数据,可以永久保存。
- 输入设备:如鼠标、键盘。input
- 输出设备:如显示器、打印机、耳机。output
- 程序的运行与三大硬件的关系
程序是存储在硬盘之上,运行程序时先将程序加载到内存中,cpu再将内存中的程序指令读取执行 - CPU详解
- cpu的分类与指令集:X86是cpu的一种型号(8086,80285...)、cpu向下兼容性,64位是指cpu从内存中读取的指令位数,64位的cpu既能运行32位的程序又能运行64位的程序
- 内核态与用户态;指的是cpu的两种工作状态,
- 内核态:是指cpu运行的是操作系统,可以操作计算机硬件
- 用户态:是指运行的是应用程序,不会操作计算机硬件
计算机在工作时内核态和用户态是处于不断转换的状态,运行应用程序时,必然要涉及到计算机硬件的操作,这时就需要用户态向内核态转换,
- 多线程和多核芯片
2核4线程:2核代表两个cpu,4线程指的是每个cpu都有两个线程=假8核 - 存储器
- RAM:内存
- ROM:只读内存
- CMOS:存取速度慢,断电数据丢失,耗电量极低
- 硬盘:
- 机械硬盘-磁盘:
- 磁道:一圈的数据,对应一串二进制
- 扇区:一个扇区通常为512Bytes,硬盘一次性读取数据的最小单位为扇区,操作系统一次性读写的单位是一个block块(8个扇区)
- 柱面
- 固态硬盘:基于电
- 机械硬盘-磁盘:
- IO延迟
7200转/min = 转一圈需要8ms 平均寻道时间:机械手臂转到数据所在磁道所花费的时间,目前可以达到5ms 平均延迟时间:转半圈需要花费4ms,受限磁盘转速 IO延迟 = 平均寻道时间+平均延迟时间 优化程序运行效率的一个核心原则:能从内存中取数据,就不要从硬盘中取
- 字节
1bit=1个二进制位 8bit = 1Bytes字节 1024Bytes = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1PB
操作系统
- 概念
操作系统是一个控制,协调,管理硬件资源和软件资源的控制程序
作用:- 控制硬件的基本运行
- 把使用硬件操作封装成简单功能,供上层应用程序使用
- 程序的区分
- 应用软件:应用程序相关逻辑
- 系统软件:控制底层硬件
- 计算机系统三层结构
- 应用程序
- 操作系统
- 计算机硬件
- 平台
计算机硬件+操作系统=平台
软件的跨平台性是指:一款软件在任意平台上运行,是衡量软件质量高低的一个重要指标 - 操作系统的启动流程
- BIOS:Basic input output system,被写入ROM中
- 裸机:cpu、ROM(充当内存,存放BIOS系统)、CMOS(充当硬盘)
- 操作系统的启动流程:
- 计算机加电
- BIOS运行,检测硬件:CPU、内存、硬盘等
- BIOS读取CMOS中的配置信息,选择启动设备
- 从启动设备中读取第一个扇区的内容
- 根据分区信息读入bootloader启动装载模块,启动操作系统
- 操作系统询问BIOS,获取配置信息。对每种设备,系统会检测其设备驱动是否存在,一旦有了全部的设备驱动程序,操作系统会将它们调入内核
- 应用程序的启动流程:
- 双击exe文件
- 操作系统会根据文件路径找到exe程序所在的硬盘位置,控制其代码从硬盘加载到内存
- 然后控制CPU从内存中读取程序代码执行,应用程序完成启动