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

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

时间: 2024-12-20 01:06:16

python学习之计算机基础详解的相关文章

python学习—-day1.计算机基础

python学习-day1.计算机基础 一.计算机系统的硬件组成部分:电脑的三大件:内存.硬盘.cpu 二.编程语言的作用及操作系统和硬件的关系:答:1.编程语言的作用是与计算机沟通,并且可以用编程语言在操作系统上写程序,从而达到开发应用软件的目的2.操作系统是用来管理计算机硬件资源的 三.应用程序->操作系统->硬件:在硬件之上装操作系统,在操作系统上装应用程序1.应用程序是指程序员开发的可运行的软件2.操作系统的目的是用来管理计算机硬件的3.硬件:cpu.硬盘.内存.键盘.鼠标统称为电脑硬

Python学习 之 计算机基础

第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 等组成,只有硬件但硬件之间无法进行交流和通信 1.2 操作系统 操作系统用于协同或控制硬件之间进行工作,常见的操作系统有: windows xp win7 win10 windows server linux centos 公司线上一般用 (图形化比较差) ubuntu 个人开发(图形化比较好) redhat 企业级 mac 办公 1.3 解释器 或 编译器 编程语言的开发者写的一个工

Python学习之高级函数详解

本文和大家分享的主要是python自动化运维中高级函数相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.协程 1.1协程的概念 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.(其实并没有说明白~) 那么这么来理解协程比较容易: 线程是系统级别的,它们是由操作系统调度:协程是程序级别的,由程序员根据需要自己调度.我们把一个线程中的一个个函数叫做子程序,那么子程序在执行过程中可以中断去执行别的子程序:别的子程序也可以中断回来继续

Python学习之String模块详解

本文和大家分享的主要是python 中String 模块相关内容,一起来看看吧,希望对大家 学习python有所帮助. String 模块包含大量实用常量和类,以及一些过时的遗留功能,并还可用作字符串操作. 1. 常用方法 str.capitalize() 把字符串的首字母大写 str.center(width) 将原字符串用空格填充成一个长度为 width 的字符串,原字符串内容居中 str.count(s) 返回字符串 s 在 str 中出现的次数 str.decode(encoding='

Python学习之单步调试详解

遇到大型python项目,如何定位问题和监控程序的运行状态是一个程序员必须掌握的技能,本文和大家分享的是python程序的单步调试方法,一起来看看吧,希望对大家学习python有所帮助. 首先你需要在所调试程序的开头中:import pdb 并在你的代码行设置断点:pdb.set_trace() def get_input(Data, SuiteID, CaseID, caseinfolist): global sArge sArge='' args = [] #对于get请求,将参数组合 if

Python学习之ImportError 错误详解

本文和大家分享的主要是Python 的 ImportError 错误相关内容,一起来看看吧,希望对大家学习python有所帮助. 问题 错误:ImportError: No module named XXX 在Python的工程中,偶尔会遇到文件无法引用的情况,即PyCharm IDE支持文件跳转,但是当文件执行时,找不到模块. 例如,错误如下: Traceback (most recent call last): File "utils/average_clinic.py", lin

计算机基础详解

一.CPU 1.指令集的分类:指令集分为复杂指令集和精简指令集. 2.x86-64的CPU: x86即CPU的型号,CPU一次能从存储设备里面取的指令数,比如现在常用的为64,即代表64个bits(高低电频). 具有向下兼容性,即不超过CPU一次取指数的程序皆可运行(如64位的CPU可运行64位的程序,也可运行32位的程序). 3.内核态和用户态: 代表CPU的两种工作状态: ①内核态:操作系统运行,可以操作计算机硬件,同时调用了CPU的运算功能和控制功能. ②用户态:应用程序运行,不可操作计算

JavaScript学习--Item29 DOM基础详解

看完JavaScript高级程序设计,整理了一下里面的DOM这一块的知识点,比较多,比较碎!DOM在整个页面的地位如图: DOM(文档对象模型)是针对HTML 和XML 文档的一个API(应用程序编程接口).DOM描,绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分. 1.节点层次 DOM 可以将任何HTML 或XML 文档描绘成一个由多层节点构成的结构.节点分为几种不同的类型,每种类型分别表示文档中不同的信息及(或)标记.每个节点都拥有各自的特点.数据和方法,另外也与其他节点

Python学习一:序列基础详解

作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7858473.html 邮箱:[email protected] 日期:2017-11-18 Python学习一:序列基础详解 一:序列介绍 Python中一些类型的变量,就像容器一样,收纳多个数据,序列就像一个有序的队伍,像整齐的万里长城,存储着各种各样的数据,他们按照一定的秩序排列在一起,很威武,很美观,所以说序列是有序的数据集合.序列包含的一