码迷,mamicode.com
首页 > 编程语言 > 详细

python学习之计算机基础详解

时间:2020-03-02 22:32:51      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:虚拟   需要   应用   用户态   启动流程   计算机硬件   boot   32位   分区信息   

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从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动

python学习之计算机基础详解

标签:虚拟   需要   应用   用户态   启动流程   计算机硬件   boot   32位   分区信息   

原文地址:https://www.cnblogs.com/leilijian/p/12398402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!