Python一种人和计算机沟通的语言也称为编程语言,所谓知己知彼 在学习Python以前咱们先了解一下要沟通的对象---计算机是什么?它的结构、底层工做原理才能写出更好的编程语言,和它进行更亲密得交流、沟通。html
计算机是什么?编程
一种帮助人类运算、存储信息的工具。网络
一套完整的计算机系统由硬件、操做系统、应用程序组成;并发
计算机硬件可划分为:CPU、内存、存储设备、输入设备、输出设备、总线链接组成。抽象比喻到人身上 处理器至关于人类的大脑、内存比如记忆、存储设备比如人的笔记本(帮助人永久存储信息)、 输入设备比如老师讲课(向大脑传入信息)、输出设备(比如人的表情,喜怒变现于面),链接总线(比如人的神经系统将各个组件联系起来)分别了解一下计算机的各大组件。框架
CPU至关于人类脑负责从内存中取指令->解码->执行,循环工做着。编程语言
1.0.CPU模式:工具
CPU在工做过程当中有2中模式,即内核态与用户态,PSW(状态寄存器)中有一个二进制位控制这两种模式。学习
a.内核态: CPU能够访问内存全部数据, 包括外围设备, 例如硬盘, 网卡. CPU也能够将本身从一个程序切换到另外一个程序spa
b.用户态: 只能受限的访问内存, 且不容许访问外围设备. 占用CPU的能力被剥夺, CPU资源能够被其余程序获取操作系统
1.一、为何要有用户态和内核态?
因为须要限制不一样的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 -- 用户态 和 内核态
1.二、CPU核心的组件
CPU核心组件包含 运算器、控制器、寄存器
a.运算器
arithmetic unit,计算计中执行各类算术和逻辑运算操做的部件。运算器的基本操做包括加、减、乘、除四则运算,与、或、非、异或等逻辑操做,以及移位、比较和传b.送等操做,亦称算术逻辑部件(ALU)。
c.控制器
内存是三维编址/全局编址的数据存放都有特定的位置,控制器负责从内存中读取数据给运算器
d.寄存器
因为运算器要对数据进行运算 好比运算 2+6=8但运算器只能运算没有记忆因此 须要寄存器 存储要参加运算的数据 2 和 6 。
1.三、寄存器的分类:
通用寄存器
保持临时变量和运算结果
程序计数器
它保存了将要取出的下一条指令的内存地址。在指令取出后,程序计算器就被更新以便执行后期的指令。
堆栈指针寄存器
它指向内存中当前栈的顶端。该栈包含已经进入可是尚未退出的每一个过程当中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量
程序状态字寄存器(PSW)
这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各类其余控制位。用户一般读入整个PSW,可是只对其中少许的字段写入。在系统调用和I/O中,PSW很是很是很是很是很是很是重要
因为内存有易失性,断电后不能保持信息,因此计算机必须由存储器来永久保存数据;
2.0、 存储器的种类
a.非易失性随机访问存储如ROM(Read Only Memory,ROM)
在电源切断以后,非易失性存储的内容并不会丢失,ROM只读存储器在工厂中就被编程完毕,而后不再能修改。ROM速度快且便宜,在有些计算机中,用于启动计算机的引导加载模块就存放在ROM中,另一些I/O卡也采用ROM处理底层设备的控制。
b.EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory)也是非易失性的
可是与ROM相反,他们能够擦除和重写。不太重写时花费的时间比写入RAM要多。在便携式电子设备中中,闪存一般做为存储媒介。闪存是数码相机中的胶卷,是便携式音译播放器的磁盘,还应用于固态硬盘。闪存在速度上介于RAM和磁盘之间,但与磁盘不一样的是,闪存擦除的次数过多,就被磨损了。
c.CMOS
它是易失性的,许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由一小块电池驱动,因此,即便计算机没有加电,时间也仍然能够正确地更新,除此以外CMOS还能够保存配置的参数,好比,哪个是启动磁盘等,之因此采用CMOS是由于它耗电很是少,一块工厂原装电池每每能使用若干年,可是当电池失效时,相关的配置和时间等都将丢失。
d.磁盘:
扇区: 机械硬盘的转轴转动带动硬盘内的金属盘片跟随转动,机械手臂上下摩擦盘面一个段称扇区。
链接计算机各个组件的主线
3.0链接总线分类:
a.北桥:
即PCI桥:链接高速设备
b.南桥:
即ISA桥:链接慢速设备
在计算机的主板上有一个基本的输入输出程序(Basic Input Output system)
BIOS就至关于一个小的操做系统,它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中。
启动流程以下
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操做系统
6.而后操做系统询问BIOS,以得到配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,若是没有,系统则会要求用户按照设备驱动程序。一旦有了所有的设备驱动程序,操做系统就将它们调入内核。而后初始有关的表格(如进程表),穿件须要的进程,并在每一个终端上启动登陆程序或GUI
参考:http://www.cnblogs.com/linhaifeng/p/6523843.html