python全栈开发学习 01

本节内容
 
01 计算机发展史简介
 
02 计算机的组成
 
03 计算机的基本原理
 
 
01 计算机发展史简介
 
计算机(computer,是一种用于高速计算的电子计算机器,能够进行数值计算,又能够进行逻辑计算,还具备存储记忆功能。是可以按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。可分为超级计算机、工业控制计算机、网络计算机、我的计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机等。

计算机发明者约翰·冯·诺依曼。计算机是20世纪最早进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已造成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引起了深入的社会变革,计算机已遍布通常学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。

计算机的应用在中国愈来愈广泛,改革开放之后,中国计算机用户的数量不断攀升,应用水平不断提升,特别是互联网、通讯、多媒体等领域的应用取得了不错的成绩。1996年至2009 年,计算机用户数量从原来的630万增加至6710 万台,联网计算机台数由原来的2.9万台上升至5940万台。互联网用户已经达到3.16 亿,无线互联网有6.7 亿移动用户,其中手机上网用户达1.17 亿,为全球第一位。

计算工具的演化经历了由简单到复杂、从低级到高级的不一样阶段,例如从“结绳记事”中的绳结到算筹、算盘计算尺、机械计算机等。它们在不一样的历史时期发挥了各自的历史做用,同时也启发了电子计算机的研制和设计思路。

1642年法国哲学-数学家Blaise Pascal 发明了世界上第一台手摇式机械式计算机,利用齿轮传动原理制成,能作加减法

1889年,美国科学家赫尔曼·何乐礼研制出以电力为基础的电动制表机,用以储存计算资料。

1930年,美国科学家范内瓦·布什造出世界上首台模拟电子计算机。

1933年,美国数学家D.N.Lehmer造出一台电气计算机用来分解1-1000万之间的全部天然数为素数因子。

1946年2月14日,由美国军方定制的世界上第一台电子计算机“电子数字积分计算机”(ENIAC Electronic Numerical And Calculator)在美国宾夕法尼亚大学问世了。ENIAC(中文名:埃尼阿克)是美国奥伯丁武器试验场为了知足计算弹道须要而研制成的,这台计算器使用了17840支电子管,大小为80英尺×8英尺,重达28t(吨),功耗为170kW,其运算速度为每秒5000次的加法运算,造价约为487000美圆。ENIAC的问世具备划时代的意义,代表电子计算机时代的到来。在之后60多年里,计算机技术以惊人的速度发展,没有任何一门技术的性能价格比能在30年内增加6个数量级。

第1代:电子管数字机(1946—1958年)

硬件方面,逻辑元件采用的是真空电子管,主存储器采用汞延迟线、阴极射线示波管静电存储器、磁鼓、磁芯;外存储器采用的是磁带。软件方面采用的是机器语言、汇编语言。应用领域以军事和科学计算为主。

特色是体积大、功耗高、可靠性差。速度慢(通常为每秒数千次至数万次)、价格昂贵,但为之后的计算机发展奠基了基础。

第2代:晶体管数字机(1958—1964年)

硬件方的操做系统、高级语言及其编译程序。应用领域以科学计算和事务处理为主,并开始进入工业控制领域。特色是体积缩小、能耗下降、可靠性提升、运算速度提升(通常为每秒数10万次,可高达300万次)、性能比第1代计算机有很大的提升。

第3代:集成电路数字机(1964—1970年)

硬件方面,逻辑元件采用中、小规模集成电路(MSI、SSI),主存储器仍采用磁芯。软件方面出现了分时操做系统以及结构化、规模化程序设计方法。特色是速度更快(通常为每秒数百万次至数千万次),并且可靠性有了显著提升,价格进一步降低,产品走向了通用化、系列化和标准化等。应用领域开始进入文字处理和图形图像处理领域。

第4代:大规模集成电路机(1970年至今)

硬件方面,逻辑元件采用大规模和超大规模集成电路(LSI和VLSI)。软件方面出现了数据库管理系统、网络管理系统和面向对象语言等。特色是1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。应用领域从科学计算、事务管理、过程控制逐步走向家庭。
html


因为集成技术的发展,半导体芯片的集成度更高,每块芯片可容纳数万乃至数百万个晶体管,而且能够把运算器和控制器都集中在一个芯片上、从而出现了微处理器,而且能够用微处理器和大规模、超大规模集成电路组装成微型计算机,就是咱们常说的微电脑或PC机。微型计算机体积小,价格便宜,使用方便,但它的功能和运算速度已经达到甚至超过了过去的大型计算机。另外一方面,利用大规模、超大规模集成电路制造的各类逻辑芯片,已经制成了体积并不很大,但运算速度可达一亿甚至几十亿次的巨型计算机。我国继1983年研制成功每秒运算一亿次的银河Ⅰ这型巨型机之后,又于1993年研制成功每秒运算十亿次的银河Ⅱ型通用并行巨型计算机。这一时期还产生了新一代的程序设计语言以及数据库管理系统和网络软件等。

随着物理元、器件的变化,不只计算机主机经历了更新换代,它的外部设备也在不断地变革。好比外存储器,由最初的阴极射线显示管发展到磁芯、磁鼓,之后又发展为通用的磁盘,现又出现了体积更小、容量更大、速度更快的只读光盘(CD—ROM)。
python

02 计算机的组成程序员

 

计算机是由 硬件系统(hardware system)和软件系统(software system)两部分组成的。

传统电脑系统的硬体单元通常可分为输入单元、输出单元、算术逻辑单元控制单元记忆单元,其中算术逻辑单元和控制单元合称中央处理单元(Center Processing Unit,CPU)。数据库

 

  • 电源

 

电源是电脑中不可缺乏的供电设备,它的做用是将220V交流电转换为电脑中使用的5V、12V、3.3V直流电,其性能的好坏,直接影响到其余设备工做的稳定性,进而会影响整机的稳定性。手提电脑在自带锂电池状况下,为手提电脑提供有效电源。

 

  • 主板

 

主板是电脑中各个部件工做的一个平台,它把电脑的各个部件紧密链接在一块儿,各个部件经过主板进行数据传输。也就是说,电脑中重要的“交通枢纽”都在主板上,它工做的稳定性影响着整机工做的稳定性。

 

 

CPU即 中央处理器,是一台计算机的运算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成。做为整个系统的核心,CPU也是整个系统最高的执行单元,所以CPU已成为决定电脑性能的核心部件,不少用户都以它为标准来判断电脑的档次。

 

  • 内存

 

内存又叫内部存储器或者是 随机存储器(RAM),分为DDR内存和SDRAM内存,(可是SDRAM因为容量低,存储速度慢,稳定性差,已经被DDR淘汰了)内存属于电子式存储设备,它由电路板和芯片组成,特色是体积小,速度快,有电可存,无电清空,即电脑在开机状态时内存中可存储数据,关机后将自动清空其中的全部数据。 内存有DDR、DDR II、DDR III三大类,容量1-64GB。

 

  • 硬盘

 

硬盘属于外部存储器,机械硬盘由金属磁片制成,而磁片有记忆功能,因此储到磁片上的数据,不论在开机,仍是关机,都不会丢失。硬盘容量很大,已达TB级,尺寸有3.五、2.五、1.八、1.0英寸等,接口有IDE、SATA、SCSI等,SATA最广泛。移动硬盘是以硬盘为存储介质,强调便携性的存储产品。市场上绝大多数的移动硬盘都是以标准硬盘为基础的,而只有不多部分的是以微型硬盘(1.8英寸硬盘等)为基础,但价格因素决定着主流移动硬盘仍是以标准笔记本硬盘为基础。由于采用硬盘为存储介质,所以移动硬盘在数据的读写模式与标准IDE硬盘是相同的。移动硬盘多采用USB、IEEE1394等传输速度较快的接口,能够较高的速度与系统进行数据传输。固态硬盘用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片)组成。固态硬盘在产品外形和尺寸上也彻底与普通硬盘一致可是固态硬盘比机械硬盘速度更快。

 

  • 声卡

 

声卡是组成多媒体电脑必不可少的一个硬件设备,其做用是当发出播放命令后,声卡将电脑中的声音数字信号转换成模拟信号送到音箱上发出声音。

 

  • 显卡

 

显卡在工做时与显示器配合输出图形、文字,做用是将计算机系统所须要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示,是链接显示器和我的电脑主板的重要元件,是“人机对话”的重要设备之一。

 

  • 网卡

 

网卡是工做在数据链路层的网路组件,是局域网中链接计算机和传输介质的接口,不只能实现与局域网传输介质之间的物理链接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。网卡的做用是充当电脑与网线之间的桥梁,它是用来创建局域网并链接到Internet的重要设备之一。

 

在整合型主板中常把声卡、显卡、网卡部分或所有集成在主板上。

 

 

英文名为“Modem”,俗称“猫”,即调制解调器,类型有内置式和外置式,有线式和无线式。调制解调器是经过电话线上网时必不可少的设备之一。它的做用是将电脑上处理的数字信号转换成电话线传输的模拟信号。随着ADSL宽带网的普及,内置式调制解调器逐渐退出了市场。

 

  • 光驱
英文名为“Optical Disk driver”,电脑用来读写光碟内容的机器,也是在台式机和笔记本便携式电脑里比较常见的一个部件。随着多媒体的应用愈来愈普遍,使得光驱在计算机诸多配件中已经成为标准配置。光驱可分为CD-ROM驱动器、DVD光驱(DVD-ROM)、康宝(COMBO)和DVD刻录机(DVD-RAM)等。读写的能力和速度也日益提高,4× 16× 32× 40× 48×。

 

 

03 计算机的基本原理缓存

 

1.3  基本工做原理网络

 

(1)数制转换工具

 

10进制转换成其余的都是除以要转换成的那个数,也就是说转换成二进制的就除以2,转换成八进制的就除以8,转换成十六进制的就除以16,而后倒取余数。布局

 

不一样的进位制数转化为十进制数:按权展开相加
十进制是权是10;二进制是权是2;十六进制是权是16;八进制是权是8;
例:110011(二进制数)=1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+1*2^0=32+16+2+1=51
1507(八进制数)=1*8^3 + 5*8^2 + 0*8^1 + 7*8^0 = 839 
2AF5(十六进制数)=2*16^3 + A*16^2+ F*16^1 + 5*16^0 = 10997
性能

 

二进制换算八进制 
将二进制数从右到左,三位一组,不够补0
例:二进制数10110111011换八进制数: 
010 110 111 011 
结果为:2673 
测试

 

二进制转换十六进制 
二进制数转换为十六进制数的方法也相似,从右到左,四位一组,不够补0
如上题: 
0101 1011 1011 
结果为:5BB

 

(2)机器数与码制

 

各类数据在计算机中表示的形式称为机器数,其特色是采用二进制计数制,数的符号用01表示,小数点则隐含表示而不占位置。机器数对应的实际数值称为真值。
       机器数有无符号数和带符号数之分。无符号数表示正数,在机器数中没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位以后,则是纯整数;若约定小数点的位置在机器数的最高位以前,则是纯小数。对于带符号数,机器数的最高位一晴地正负的符号位,其他位则表示数值。若约定小数点的位置在机器数的最低数值位以后,则是纯整数;若约定小数点的位置 在机器数的最高数值位以前,则是纯小数位。
        为了便于运算,带符号的机器右数可采用原码,反码和补码等不一样的编码方法,机器数的这些编码方法称为码制。
1. 原码表示法
    数值X的原码记为[X]原,最高位是符号位,0表示正号,1表示负号,其他位表示数值的绝对值。
2.反码表示法
     数值X的原码记为[X]反,最高位是符号位,0表示正号,1表示负号,正数的反码和原码相同,负数的反码则是其绝对值按位求反。
3.补码表示法
     数值X的原码记为[X]补,最高位是符号位,0表示正号,1表示负号,正数的补码与其原码和反码相同,负数的补码则等于其反码的末尾加1
4.移码表示法
     .移码表示法是在数X上增长一个偏移量来定义的,经常使用于表示浮点数中的阶码。若是机器字长为n,在偏移2的(n-1)次方的状况下,只要将将码的符号位取反即可得到相应的移码表示。

 

(3)汉字编码

 

区位码

 

   为了使每个汉字有一个全国统一的代码,1980年,我国颁布了第一个汉字编码的国家准: GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内全部汉字系统的统一标准。

 

 全部的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"",每一列称为一个"",所以,这个方阵实际上组成了一个有94个区(区号分别为0 194)、每一个区内有94个位(位号分别为0194)的汉字字符集。一个汉字所在的区号和位号简单地组合在一块儿就构成了该汉字的"区位码"。在汉字的区位码中,高两位为区号,低两位为位号。

 

在区位码中,01-09区为682个特殊字符,16~87区为汉字区,包含6763个汉字 。其中16-55区为一级汉字(3755个最经常使用的汉字,按拼音字母的次序排列)56-87区为二级汉字(3008个汉字,按部首次序排列)

 

·  须要注意的是:区位码一般都是用十进制表示的,例如字的区位码为1947,也就说它位于19区第47个字符。

 

国标码

 

国家标准代码,简称国标码,是中华人民共和国的中文经常使用汉字编码集。国家标准强制标准冠以“GB”。现时中华人民共和国官方强制使用GB 18030标准,但较旧的计算机仍然使用GB 2312国标码 =区位码(16进制化--区码和位码分别进行16进制转化)+2020H

 

机内码

 

计算机只识别由01组成的代码,ASCII码是英文信息处理的标准编码,汉字信息处理也必须有一个统一的标准编码。 汉字交换码(国标码)主要用于汉字信息交换,我国国家标准局于19815月颁布了《信息交换用汉字编码字符集——基本集》,代号为GB2312-80,共对6763个汉字和682个图形字符进行了编码。

 

其编码原则为:汉字用两个字节表示,原则上,两个字节能够表示 256×256=65536种不一样的符号,做为汉字编码表示的基础是可行的。但考虑到汉字编码与其它国际通用编码,如ASCII西文字符编码的关系,我国国家标准局采用了加以修正的两字节汉字编码方案,只用了两个字节的低7位。这个方案能够容纳128×128=16384种不一样的汉字,但为了与标准ASCII码兼容,每一个字节中都不能再用32个控制功能码和码值为32的空格以及127的操做码。因此每一个字节只能有94个编码。这样,双七位实际可以表示的字数是:94×94=8836个。

 

机内码 = 国标码 + 8080H
机内码 = 区位码(16进制化--区码和位码分别进行16进制转化) + a0a0H

 

相互转换

 

内码转换为区位码

 

         区位码:  区码=内码高字节-0xa0

 

                       位码=内码低字节-0xa0

 

         例如:内码为:0xb9,0xfa

 

16进制表示的区位码:0x19,0x5a

 

                  其区位码(默认为10进制):2590

 

区位码转换为内码

 

        内码:  内码高字节=区码+0xa0

 

                  内码低字节=位码+0xa0

 

         例如:区位码为:2603

 

16进制表示的区位码:0x1a,0x03

 

           其内码(默认为16进制)0xba,0xa3

 

字模

 

  汉字在显示的时候,是以点阵的形式显示出来的,常见到的有16*16点阵、24*24点阵、32*32点阵。好比说16*16点阵字模以下,共256Bits,占用32 Bytes

 

0x00,0x00,0xf7,0x7e,0x95,0x04,0x95,0x04,0x96,0x74,0x96,0x54,0x95,0x54,0x95,0x54,0x95,0x54,0xf5,0x54,0x97,0x74,0x04,0x04,0x04,0x04,0x05,0x04,0x04,0x14,0x04,0x08

 

  字模显示的时候,以两个字节表示一行像素点,16行就构成了一个完整的字模。屏幕在显示的时候,1显示为亮色,0显示为背景色,这样就能把字体显示出来。

 

 

 

字库

 

  字库,就是全部汉字字模的集合。显然,在编排这些字模的时候须要必定的顺序(规则),而这个规则就是“机内码。根据机内码的汉字布局,将对应的汉字字模进行整合,造成字库文件。在使用的时候,应用程序根据汉字的机内码,从字库中找到对应的存储位置,取出字模,进行显示。机内码就是汉字在字库中的索引。

 

在区位码中,01-09区为682个特殊字符,16~87区为汉字区,有效汉字6768个。在制做字库的时候把特殊字符删除,只使用有效汉字区。也就是说咱们从第16区的第1位开始进行字模收集,当第16区收集结束,紧接着收集第17区,直到第87区编排结束。总共收集6768个汉字,占用空间216576 Bytes

 

(4)CPU

 

CPU从逻辑上能够划分红3个模块,分别是控制器运算器内部寄存器,这三部分由CPU内部总线链接起来。以下所示:

 

 

 

控制器:控制单元是整个CPU的指挥控制中心,由指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操做控制器OC(Operation Controller)等,对协调整个电脑有序工做极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,经过指令译码(分析)肯定应该进行什么操做,而后经过操做控制器OC,按肯定的时序,向相应的部件发出微操做控制信号。操做控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。

 

运算器:是运算器的核心。能够执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元而言,运算器接受控制单元的命令而进行动做,即运算单元所进行的所有操做都是由控制单元发出的控制信号来指挥的,因此它是执行部件。

 

内部寄存器:包括CPU片内缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,能够减小CPU访问内存的次数,从而提升了CPU的工做速度。但由于受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的做用是固定的,分别寄存相应的数据。而通用寄存器用途普遍并可由程序员规定其用途,通用寄存器的数目因微处理器而异。这个是咱们之后要介绍这个重点,这里先提一下。

 

咱们将上图细化一下,能够得出CPU的工做原理归纳以下:

 

 

 

总的来讲,CPU从内存中一条一条地取出指令和相应的数据,按指令操做码的规定,对数据进行运算处理,直到程序执行完毕为止。
   上图中我没有画总线,只是用逻辑方式对其进行呈现。缘由早期Intel的微处理器,诸如8085,8086/8088CPU,广泛采用了地址总线和数据总线复用技术,即将部分(或所有)地址总线与数据总线共用CPU的一些引脚。例如8086外部地址总线有20根,数据总线复用了地址总线的前16根引脚。复用的数据总线和地址总线虽然能够少CPU的引脚数,但却引入了控制逻辑及操做序列上的复杂性。因此,自80286开始,Intel的CPU才采用分开的地址总线和数据总线。
   无论是复用仍是分开,对咱们理解CPU的运行原理没啥影响,上图没画总线的目的就是怕有些人太过于追求细节,一头扎下去,浮不起来,不能从宏观上藐视敌人。
   总结一下,CPU的运行原理就是控制单元在时序脉冲的做用下,将指令计数器里所指向的指令地址(这个地址是在内存里的)送到地址总线上去,而后CPU将这个地址里的指令读到指令寄存器进行译码。对于执行指令过程当中所须要用到的数据,会将数据地址也送到地址总线,而后CPU把数据读到CPU的内部存储单元(就是内部寄存器)暂存起来,最后命令运算单元对数据进行处理加工。周而复始,一直这样执行下去
  

 

 

 

 关于一些笔记

关于编码   http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html

32位的系统最多可使用 4 G 的内存 64位的系统可使用16T 左右的内存。

变量的命名规则:

  01 具备描述性,见名知意

  02 由数字,字母,下划线组成

  03 不能以数字开头

  04 不能够是保留字符

  05 变量名不能是中文

  06 在python中 区分大小写

如下关键词不能是变量:

   and  as  assert  break  class  continue def  del  elif  else  except  exec  finally  for  from  global  if  import  in  is  lambda  not  or  pass  print  raise      return  try  while  with  yield

在python 2.7 中写入中文,须要在程序第一行加上

 #!-*- coding:utf-8 -*-

input 接受的全部数据都会默认看成字符串处理

if 后面必须加 : (缩进)

tab 键 != 4个空格

缩进级别必须保持一致

相关文章
相关标签/搜索