第二天:计算机结构与操作系统、进制 编码编程语言介绍
第二天:
1:计算机结构:冯*诺依曼机 系统:运算器、控制器、存储器、输入设备、输出设备

1.1:硬件组成:
CPU(cntral processing unit):计算机的运算控制核心 起协调控制各部件运行的作用。
硬盘 (disk):存储数据和软件的设备,容量大 断电数据不丢失。
内存(memary):负责硬盘等硬件上的数据与CPU间数据交换处理,缓存系统中的临时数据,断电后数据丢失。
主板(m-bord):连接各硬件部分
显卡:负责显示器上显示信息
电源:将市电转换成低电压供给主机各部分使用
1.2:cpu 、内存、硬盘间的关系:cpu 运算速度较快对数据需求量和数据传输速度有较高要求,硬盘存储数据容量大但读写速度有限且比较慢,
内存较硬盘读写快许多 可充分协调CPU与硬盘间的速度与性能优势。
用户运行程序时,CPU向硬盘发送指令读取硬盘数据到内存,读取完成后由存取速度较快的内存再读取到CPU进行运算程序,程序运行的结果和中间数据会暂存内存中,退出或关闭程序时数据 由内存保存到硬盘进行存档。
2:操作系统:1、管理计算机软硬件资源。2、管理调试计算机内部任务。3、提供给用户和其他计算机服务接口。
2.1操作系统发展历史:
早期计算机处理流程:效率较差,每个任务之间都较长等待程序输入时间。改进输入出现联机批处理与脱机批处理。

单任务处理,完成一个执行下一个

批量输入多个任务统一执行,整批输出。

多次批量输入任务 尽量提高CPU使用效率。cpu将任务一个一个进行处理,
分时处理系统 :cpu按时间分段进行任务处理。将任务分为多个时间段,按时间段进行执行,在用户看来多个程序是同时运行的。
缺点:每个任务花费的时间较未分时更长。不能实时处理任务。不适合对实时必要求比较高的任务。
实时系统:应用于飞机 ,动车,对实时性要求较高的场合。
通用处理系统:集成以上各系统的优点。
二十世纪60年代 IBM 公司开发了system360系列机,有了统一的操作系统os-360
1965年at&t公司贝尔实验室加入了MULTICS操作系统,ken thompson 因工作需要在pdp-7h 写了一个作业系统和常用工具程序---UNICS (unix).
1970年 肯*汤普逊与丹尼斯*里奇把第一版的unixt移植到pdf-11/20机器上,开发出了第二版的unics 可供多人同时使用系统。布莱恩*柯林汉提议下更名为unix.
Unix被称为计算机、互联网行业的基石。
第一版的unix是用汇编语言和B语言开发的,开发者于1971年共同发明了C语言。
1973年 肯*汤普逊与丹尼斯里奇 用C语言重新写了UNIX,UNIX正式版发行了。
3:主流操作系统分类与版本
1978年 berkeley software distribution (BSD)加州伯克利大学 BILL JOY 开发。
1984-1986年 andrew tanenbaum 写了minx(类unix核心程序),与unix兼容,支持x86个人电脑。
1991年 linus torvalds 修改minix 使其可以在intel 386机上运行。
linux版本分支:
Debian---ubuntu,麒麟
slackware------suse,opensuse
redhat------enterprise,centos
fedora-----
应用领域:企业服务器、嵌入式-手机,PDA/水费性电子产品及航天等领域。 桌面-个人电脑,其他
android:
2003年 安迪*鲁宾 创办了android公司, android 是基于linux内核的开放移动操作系统
2005年android被google公司收购。
2007年11月5日 谷歌公司正式公布android操作系统。
1973年施乐公司开发了alto--真正意义上的个人电脑。具有显示器,鼠标,键盘,网口,图形界面。

苹果公司:
1975年 乔布斯 与沃兹涅克 开始开发apple 1
1976年 apple1原型机完成。4月1日成立苹果公司

1977年apple2发布。
1979年开始开发APPLE lisa 和 apple macintosh

1980年APPLE 3问市 苹果公司上市。
1984年第二代苹果机问世,第一种普通人买得到的用有交互界面且有鼠标的个人电脑。
1985年 乔布斯被赶出苹果公司
1994年苹果公司告微软公司 windows系统抄袭麦金塔系统,官司最终和解。
1997年乔布斯回到苹果公司接手濒临倒闭的公司,同年与微软的官司以微软注资苹果而和解。
1998年Imac-G3诞生,苹果公司开始盈利。


2001年IPOD诞生 颠覆音乐产业。

2007年诞生 颠覆手机行业。

2010年苹果成为全球最值钱的IT公司
微软公司及windows发展史:
1975年微软公司成立
1980年微软为IBM-pc提供dos系统,捆绑销售
1981年微软和苹果开始合作。
1990年微软推出基于图像的windows3.0系统 微软帝国开始形成。
1993年excel问世 挤垮了莲花公司。
1995年我认得95问世 挤垮了wordperfect公司:同年IE问世 挤垮了网景公司;进入互联网的动作较慢,落后于雅虎。
2000年成为市值最高的公司,同年被裁定为垄断行为, 要求被一分为二,后上诉最高法被驳回原判。鲍尔转成为CEO。
2004年进入搜索领域,开始与google竞争。
2007年推出vista 微软史上最失败的操作系统。
2009年试图收购雅虎,结果 失败。
操作系统:


3.进制:
逢二进一,2的指数 在二进制中左侧的数位的数值 表示右侧所有数位之和+1
十进制: 逢十进一
表示数字: 0123456789
二进制:逢二进一
表示数字: 0 1
八进制: 逢八进一
01234567
作用: 在某些编程语言里提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
和二进制之间的转换:
2-->8 : 取三合一 8-->2 : 取一分三
十六进制: 逢十六进一
表示数字: 01234567ABCDEF
二进制使用起来很不方便, 16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的?2、8、16,分别是2的1次方、3次方、4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。
计算机容量:
1位:=1bit (bit)
1字节=8位 字节(byte)
1024个字节=1Kbytes =1kB
1024个KB=1MB =1million bytes
1024个MB=1GB =1gigabytes
1024个GB=1TB =
1024个TB=1PB =
为什么计算机里都是的数据单位都是1024进制的
1024就是2的10次方,也就是基于二进制的基础上、与英制的1000进制最接近的一个数字,因此常常在计算机领域用作“千”的替代进制概念。
4编码:
目的 :把人能看董的语言转换成计算机能看懂的语言,
先将我们输入的符号 转成代表这个符号的序号 然后将序号转换为能被计算机识别的二进制。
为了方便统一存储字符 ASSIC码表每一个字符都需要8个bit来存储.
二进制的编码
计算机内部是由集成电路这种电子部件构成的,电路只可以表示两种状态——通电、断电
因为这个特性,计算机内部只能处理二进制。那为什么我们能在计算机上看到字母和特殊字符呢?
如果我们用一个二进制数字表示一个字符,比如说用“0100 0001”来表示A。
根据这个对应关系,我们制作一个表格,这个表格里一个二进制数字对应一个字符。
编码表:


ASCII(美国(国家)信息交换标准(代)码),使用7个或8个二进制位进行编码的方案,最多可以给256个字符。使用了ASCII码,不同的计算机之间就可以实现数据的标准化。
但是ASCII使用的时候有一些限制。他最多之可以表示256个字符。如果有其他的字符就无能为力了。ASCII只能表示26个基本的拉丁字母、阿拉伯数字和英式标点。因此也只能用于显示现代美国英语。
后来计算机世界开始有了其他语言,ASCII码已经无法满足需求。后来不同语言的人各自为自己定制了一套属于自己的编码,同时与ASCII保持兼容。这些编码统称MBCS,到了这里大家都开始好似用双字节。(中国的叫GB*,比如GBK).
在后来有人开始觉得,这么多编码,有些编码之间还不兼容,太让人头大了,于是有这么一群人就坐在一起想出了一个办法:所有的语言都使用同一种编码,这种编码就是Unicode。 Unicode使用最少2个字节(1个字节=1BYTE=8bit=一个长度为8的二进制数) 来表示字母和符号等,有时候是4个字节。这样就解决了上面遇到的问题。
Unicode又叫万国码,是业界的一种标准。但是有人又觉得如果我要表示一个ASCII里的字符,使用unicode来表示不是太浪费空间了吗,于是就有人想出了另外一种解决方案——UTF-8。
UTF-8是对Unicode编码的压缩和优化,最大的特点是它采用了变长的编码方式,他不再是最少使用2个字节,而是将所有的字符进行分类。ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存…

Assic--->GB2312-->GBK1.0--->GB18030
Assic--->unicode --->utf-8
python2.x中如果用中文 需要首行 声明 UTF-8

5编程语言介绍:
什么是编程语言:定义好一套与计算机交互的语法规则, 学编程==学计算机语法规则,,世界上有多种编程语言 C语言是现存早古老的计算机编程语言。
编程可以做什么:print hello world eject cd 一堆指令的组合==软件
c语言 是各种操作系统的开发语言。
c++ ==c语言的加强版 1983年推出。贝尔实验室的Bjarme stroustrup在c语言基础上开发。
java ==1995年由 sun公司开发 java jdk 虚拟机支持跨平台运行程序。
PHP == 1994年纯WEB开发语言。
python ==1989年 雏形出现 ,刚开始作为脚本语言出现,1991年正式版本诞生。同年linux诞生 与正版本。
C# == C sharp 是微软公司开发的, 面向对像的开发语言。
ruby == 日本人 松本行弘 开发,
perl ==unix平台上开发出来的语言,文字处理非常强大。
shell ==脚本语言 简单易学 基于unix linux 做一引起简单系统管理任务。
scalar ==一门多范式的编程语言,类似JAVA的编号语言 用于大数据开发。
erlang ==一种通用的面向并发的编程语言 函数式编程。
go语言 == 2009年谷歌开发 针对多处理器系统应用程序的编程进行了优化,go编译的程序可以媲美C或C++代码 的速度,而且更安全支持并行进程。
javascript ==是当下使用最为广泛的语言,主要写前端语言。
lua ==nginx 的脚本语言 web服务器维护语言。
浙公网安备 33010602011771号