电脑简史

早期计算方式发展 :手指和石头 -》结绳 -》算筹-》计算尺 -》 算盘

19岁时(1642),帕斯卡发明了人类有史以来第一台机械计算机——帕斯卡加法器。它是一种系列齿轮组成的装置,外形像一个长方盒子,用儿童玩具那种钥匙旋紧发条后才能转动,只能够做加法和减法。

在德国的大数学家莱布尼茨看到了帕斯卡关于加法计算机的论文, 1674年,莱布尼茨制造出了一台更完美的机械计算机。

1924年,IBM——一个有划时代意义的公司成立了。

1936年,美国青年霍德华·艾肯去哈佛共度物理学博士学位,由于博士论文设计设计空间电荷传导理论,需要计算非常复杂的非线性微分方程。艾肯想发明一种机器代替人工计算,幻想有一台计算机帮他解决数学难题。正好艾肯的一位老师正在IBM出资创办的“哥伦比亚大学统计局”里任职,艾肯从这位老师这里听说了IBM董事长沃森的大名。这位老师为艾肯写了一封推荐信。艾肯拿到推荐信后,准备好了一份可行性报告,就去找沃森。沃森听完了艾肯的话以后,直接给艾肯划了100W美元。艾肯发明了马克1号,马克1号被称为最后一台“史前”计算机——机械/电动方式。

阿塔纳索夫和克利福德·贝瑞的计算机工作直到1960年才被发现和广为人知,并且陷入了谁才是第一台计算机的冲突中。那时候,ENIAC普遍被认为是第一台现代意义上的计算机,但是在1973年,美国联邦地方法院注销了ENIAC的专利,并得出结论:ENIAC的发明者从阿塔纳索夫那里继承了电子数字计算机的主要构件思想。因此,ABC被认定为世界上第一台计算机

在埃历阿克尚未投入运行前,冯·诺依曼就已开始着手起草一份新的设计报告,要对这台电子计算机进行脱胎换骨的改造。他把新机器的方案命名为“离散变量自动电子计算机”,英文缩写译音是“埃德瓦克”(EDVAC)。冯·诺依曼是当之无愧的“电脑之父”。

总之:

第一代电子计算机(1946-1958):

特点: 操作指令是为特定任务而编制的,每种机器有各自不同的机器语言,功能受到限制,速度也慢。另一个明显特征是使用真空电子管和磁鼓储存数据。

第二代晶体管计算机(1956-1963):

特点: 晶体管代替了体积庞大电子管,使用磁芯存储器。体积小、速度快、功耗低、性能更稳定。还有现代计算机的一些部件:打印机、磁带、磁盘、内存、操作系统等。在这一时期出现了更高级的COBOL和FORTRAN等编程语言,使计算机编程更容易。新的职业(程序员、分析员和计算机系统专家)和整个软件产业由此诞生。

第三代集成电路计算机(1964-1971):

特征是以中小规模集成电路,来构成计算机的主要功能部件。主存储器采用半导体存储器。运算速度可达每秒几十万次至几百万次基本运算。在软件方面,操作系统日趋完善。

第四代大规模集成电路计算机(1971-至今):

指从1970年以后采用大规模集成电路(LSI)和超大规模集成电路(VLSI)为主要电子器件制成的计算机,重要分支是以大规模、超大规模集成电路为基础发展起来的微处理器和微型计算机。

计算机结构

计算机由运算器、控制器、存储器、输入设备和输出设备组成。其中运算器和控制器被统称为中央控制单元。

操作系统历史

手工操作

 最开始的时候,每次只能一个人去业务窗口办理业务,等第一个人业务办理完成,回到等候区后,下一个人才可以去窗口办理业务。

问题: 每次在用户走向/离开业务窗口的时候,都需要等到一分钟,办理一个人的业务就需要等待2分钟。如果业务处理一个人的业务需要一个小时的时候,这个问题并不明显,但     是随着业务窗口办理业务的速度加快,变成10分钟处理一个业务的时候,这个问题就凸显出来了。不那里业务的速度越快,问题就明显。

联机批处理

为了改进上面的问题,安排了一个调度员T,每次调度员T从等候区叫10个人,来窗口排队办理业务,这样就相对上面来说,节省了很多时间,但是还有一个问题。在每次队伍走向业务窗口和离开窗口的时候,还是会浪费时间。

问题: 如果业务窗口在为某人办理业务的时候,办理业务的人来了个电话,这个时候业务窗口就需要等待他打完电话后才能继续办理业务。

脱机批处理

为了克服与缓解告诉主机与慢速外设(输入输出设备),提高CPU利用率,用又引入了脱机批处理系统,即输入输出脱离主机控制。

多道程序系统

为了解决上述问题,业务窗口又进行了改进,这次是业务窗口一个让5个人同时等待窗口(而不是窗口前只等待一个人),如果在办理业务的时候,第一个人来电话,业务窗口就先暂停办理第一个人的业务,此时去办理第二个人的业务,如果第二个人此时也来了电话,业务窗口就去办理第三个人的业务。这样业务窗口就提高了工作效率。 在相同的时间内办理了更过的业务。

问题:办理业务的时候,一个人独占业务窗口,资源效率低。

分时操作系统

业务窗口再次进行了改进。 业务窗口同时接待10个人,没10秒处理一个人的业务,时间到了以后,不管有没有处理完成当前业务,都会在下一个10秒钟去处理下一个人的业务,这样去轮流给10个人处理业务。随着业务窗口办理业务速度的提高,变成每一秒处理一个人的业务。这样对在也窗口前的10个人来说,他们的业务就好像被同时处理一样。

问题: 如果这个时候,行长的亲戚来办理业务,但是行长亲戚不想等,希望自己的业务马上被处理。这个时候,就无法满足需求了。现在无法满足实时问题的处理。

实时系统

业务窗口再次改进,对待特殊的业务需求马上处理。这样就可以对实时发生的问题进行处理,实时问题优先处理。(

通用操作系统

由于办理业务的时候需要处理多种情况,将上面的各种情况进行综合,吸取各自的优点,这样业务窗口就能根据情况来处理业务

二进制

由0和1组成。

字符编码与计算机容量

计算机只识别0和1,而我们编写程序输入的是自然语言。要想计算机能够按输入执行,需要编码。ASCII (American Standard Code for Information Interchange)顺势而生。后来  计算机传入中国,利用ascii码对的保留位编制了GB2312-》GBK-》GB18030。后来考虑到不同的语言都需要一套编码,因此统一整理unicode编码,又叫万国码。但是使用英语的国家,他们本来只需要占用1个字节就能存储一个字符,使用unicodde编码后就要两个字节存储一个字符,这对于他们来说,存储空间造成了浪费。所以又出现可变长对的编码utf-8,随后也有utf-16和utf-32,不过后两种是可忽略的。

编程语言介绍

编程语言是制定对的一套语法规则。就像想说英语,就要学习英语的语法规则一样。

开发语言分类

开发语言按照执行方式的不同,可以分为编译型和解释型。可以由这样的场景。有一个中国人A和一个俄国人B交流,中间有个翻译C。编译型就是:A说完整个话,C翻译给B。解释型可以理解为A说一句,C翻译一句给B。

python版本的选择

python按照版本不同分为 python2.x和python3.x。但是官方对python2.x的支持是到2020年终止。

python基础知识:

       (1)缩进

缩进必须统一格式,敲一个tab键等于四个空格需要手动设置,否则表面上看上去缩进式一致对的,但是运行会报错。

        (2)注释

注释使用#,多行注释使用一对'''

        (3)用户输入输出

输入:  input("请输入")

输出:print("xxx")   #默认输出会有换行,可以通过参数end="" 来设置

        (4)变量

变量是用来存储数据的。在python里是没有常量一说,大家通过把变量名全部大写来表示常量,这只是约定。

        (5)算术运算符

+     加

-      减

*      乘

/      除

%    求余

//     求商

**    开方

        (6)赋值运算符

=

+=

-=

*=

/=

%=

//=

**=

        (7)逻辑运算符

and

or

not

        (8)条件语句

if a=b:

elif a=c:

else:

        (9)循环语句

while:

else:

备注:当while正常结束时执行else后的代码。如果while中包含 break 则else后的代码不再执行。

for i in range(0,10):

python之01电脑和操作系统简史的更多相关文章

  1. Python网络01 原始Python服务器

    原文:Python网络01 原始Python服务器 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前我的Python教程中有人 ...

  2. 程序员带你十天快速入门Python,玩转电脑软件开发(一)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  3. python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学

    首发于:python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学 http://jianma123.com/viewthread.aardio?threadid=431 本文 ...

  4. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  5. 程序员带你十天快速入门Python,玩转电脑软件开发(四)

    本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...

  6. 程序员带你十天快速入门Python,玩转电脑软件开发(三)

    声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 . 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群5 ...

  7. 程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  8. python进阶01 面向对象、类、实例、属性封装、实例方法

    python进阶01 面向对象.类.实例.属性封装.实例方法 一.面向对象 1.什么是对象 #一切皆对象,可以简单地将“对象”理解为“某个东西” #“对象”之所以称之为对象,是因为它具有属于它自己的“ ...

  9. 新电脑安装操作系统一定要注意硬盘是否被bitlocker加密!

    新电脑安装操作系统一定要注意硬盘是否被bitlocker加密! 前段时间帮一MM的戴尔灵越14燃5488装机,购买不久的电脑,硬盘是被bitlocker加密的,鬼知道戴尔为什么这么过分.按照常规思路, ...

随机推荐

  1. ajax调试小技巧

    在编写ajax时出现了问题,通过myXmlHttpRequest.responseXML无法获取值. 可以尝试打印出responseText的值.截图如下所示:

  2. phalcon:官方多模块支models层,mode数据库配置(二)

    phalcon:官方多模块支models层,mode数据库配置(二) 利用:\pahlcon\mvc\model\Manager::registerNamespaceAlias()方法获取多模块下的m ...

  3. ATL和vc++中的智能指针(分别是CComPtr和_com_ptr_t)

    一.智能指针的概念 智能指针是一个类,不是指针,智能指针在所包含的指针不再被使用时候会自动释放该所包含指针所占用的系统资源,而不用手动释放. 原理:智能指针封装了包含指针的AddRef()函数和Rel ...

  4. 【二叉查找树】01不同的二叉查找树的个数【Unique Binary Search Trees】

    当数组为1,2,3,4,...,n时,基于以下原则构建的BST树具有唯一性: 以i为根节点的树,其左子树由[1,i-1]构成,其右子树由[i+1, n]构成. 我们假定f(i)为以[1,i]能产生的U ...

  5. java将白色背景图片转换成透明图片

    package evecom.image; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.Buffe ...

  6. innerdb disable error

    innodb=OFF ignore-builtin-innodb skip-innodbdefault-storage-engine=myisam default-tmp-storage-engine ...

  7. javascript获取窗口位置、绝对位置、事件位置等

    有段时间没更新博客了,工作实在太忙了,加班加班再加班就是我们这个行业的常态吧...还好最近把工作进度完成了,终于有些空余时间了.关于<Javascript高级程序设计>系列,我并没有弃坑, ...

  8. ACM学习历程—HDU5476 Explore Track of Point(平面几何)(2015上海网赛09题)

    Problem Description In Geometry, the problem of track is very interesting. Because in some cases, th ...

  9. python中string和bool的转换

    python中字符串"True" 和 "False"转为bool类型时, 不能通过bool(xx)强转. 注意是因为在python中,除了&apos;& ...

  10. MySQL on Azure高可用性设计 DRBD - Corosync - Pacemaker - CRM (一)

    MySQL迁移到Azure上后,由于云的特性,在自建数据中心的MySQL的HA的方法在云上很多都不能部署. 这主要是因为,目前Public Cloud不支持:1. 共享存储:2. Multicast: ...