python学习之计算机基础详解

1、CPU详解

·型号(x86-64)

​ x86是指的CPU的型号,这种型号的CPU采用的是x86架构。

​ 64是指CPU一次能够从内存中接受64位二进制数据;CPU具有向下兼容性,64位的CPU既能运行32位的程序也能运行64位的程序。

·内核态与用户态

​ CPU最核心的部分为控制其他硬件的指令集,指令集分为控制指令集和运算指令集;

当计算机运行操作系统的代码时,所有指令集都开放,此时称为CPU的内核态;

当计算机运行应用程序的代码时,只开放运算相关的指令集,此时称为CPU的用户态。

​ 应用程序的运行必然涉及到计算机硬件的操作,那就必须由用户态切换到内核态下才能实现,所以计算机在工作时频繁发生内核态和用户态之间的切换。

·多线程与多核芯片

​ 2核4线程:2核代表有2个CPU,4线程代表每个CPU都有2个线程,伪4核;

​ CPU性能比2核强,但是比4核差。

​ 4核8线程:4核代表有4个CPU,8线程代表每个CPU都有2个线程,伪8核;

​ CPU性能比4核强,但是比8核差。

2、存储器

RAM:内存,断电后数据丢失

ROM:“只读内存”,断电后数据不丢失;

​ 存放计算机厂商写在计算机上的一段核心程序>>>>>BIOS

CMOS:存取速度慢,断电数据丢失,耗电量极低;

		  靠主板的电池供电,里面存放着系统时间,BIOS的设置信息等数据。

硬盘:

​ 机械硬盘:磁盘

​ 磁道:一圈数据,对应着一串二进制(1bit代表一个二进制位)

​ 8bit比特位=1Bytes字节

​ 1024Bytes=1KB

​ 1024KB=1MB

​ 1024MB=1GB

​ 1024GB=1TB

​ 扇区:

​ 一个扇区通常为512Bytes

​ 站在硬盘的角度,一次性读写数据的最小单位为扇区

​ 操作系统一次性读写的单位是一个block块>>>>>8扇区的大小=4096Bytes

​ 柱面:

​ 硬盘通常是几张磁盘叠在一起,所有磁盘的一圈数据可以看成圆柱体,即为柱面

机械硬盘:

​ 内由闪存芯片构成,存取速度快,价格高,通常作为系统盘使用。

·I/O延迟

​ IO延迟 = 平均寻道时间 + 平均延迟时间

​ 平均寻道时间:机械手臂转到数据所在的磁道需要花费的时间,受限于物理工艺水平;

​ 目前机械硬盘可以达到的是5ms。

​ 平均延迟时间:磁盘旋转半圈需要花费的时间,受限于硬盘的转速;

​ 如果一块硬盘的转速为7200转/min,则它的平均延迟时间为4ms。

​ 平均寻道时间取决于物理水平,不会有太大的差异;而平均延迟时间受限于硬盘的转速,因此I/O延迟主要是由平均延迟时间决定,即由硬盘的转速决定。

​ 优化程序运行效率的核心法则:能从内存取数据,就不要从硬盘取(尽量不从硬盘取数据)。

​ IO设备 = 设备的控制 + 设备本身,设备的控制是通过设备的控制器(一组芯片)来实现;

​ 操作系统---->驱动程序---->设备的控制器---->硬盘

虚拟内存:当内存不够时,计算机会从硬盘中拿出一部分空间来当内存使用,以缓解内存的紧张。

3、总线

​ 南桥:连接硬盘、USB等低速存储器

​ 北桥:连接CPU、内存等高速存储器

4、操作系统的启动流程

BIOS介绍:

​ BIOS:basic input output system

​ BIOS被写入到ROM中

裸机:

​ CMOS充当硬盘

​ ROM充当内存,存放BIOS系统

​ CPU

操作系统的启动流程:

​ 1)计算机通电

​ 2)启动BIOS系统,对CPU、内存、硬盘等设备进行检测;

​ 3)BIOS从CMOS中读取设置信息,选择启动设备;

​ 4)从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446位引导信息,后64为分区信息,最后两个为标志位);

​ 5)根据分区信息读入bootloader启动加载模块,启动操作系统;

​ 6)然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户安装设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。

5、应用程序的启动流程

​ 1)双击exe快捷方式---->文件的绝对路径,就是在告诉操作系统,我有一个应用程序要执行,应用程序的文件路径是(exe文件的绝对路径)

​ 2)操作系统会根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存

​ 3)然后控制CPU从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动

posted @ 2020-03-02 22:08  慆慢险躁  阅读(223)  评论(0编辑  收藏  举报