今日内容概要
- 计算机存储数据的本质
- 计算机详细发展史
- 计算机五大组成部分
- 计算机三大核心硬件
- 数据概念、计算机网络
计算机存储数据的本质
计算机的工作必须依赖于"电",而电信号只有高低电频两种状态
也就意味着计算机也只能识别两种状态,为了理解方便人类将高低电频两种状态用数字0和1来表示
# 结论:在计算机的世界里也只认识数字0和1!!!
在计算机内部数据真实的模样其实就是一串01的二进制数
"""疑问:计算机之认识0和1 为什么能够存储各式各样的数据?"""
0:你
1:我
00:你
01:我
10:他
11:她
...
# 以此类推 我们可以通过01的数字组合从而表示更多的数据
"""计算机的存储单位(******)"""
数字的每一位称之为二进制位(相当于人类世界里面表示金钱的单位)
0:一位二进制位(bit 比特位)
01:两位二进制位
001:三位二进制位
...
# 单位换算
8bit = 1bytes # 字节
1024bytes = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
"""
结论:存储数据的硬件容量本质就是存储二进制位的大小
1TB的硬盘与2GB的硬盘差别就在于前者能够存储更多的二进制位
"""
推导:在计算机的世界里任何的数据其实都是一串二进制数字
![img]()
计算机详细发展史
1946年—1957年 电子管时代
1958年—1964年 晶体管时代
1965年—1970年 集成电路时代
1971至今 大规模超大规模集成电路时代
计算机五大组成部分
"""
预备知识
一台完整的计算机由硬件系统和软件系统组成
硬件:可以看得到、摸得到的物件,是一个具体的实物
软件:看不到 摸不到的程序 不是一个具体的实物(代码)
"""
1.控制器:
控制计算机各个硬件的工作 类似于人的大脑控制肢体动作
2.运算器:
控制数学运算和逻辑运算 类似于人的大脑思考解决问题
数学运算:加减乘除等数学类计算问题
逻辑运算:根据条件判断是否可行
3.存储器:
保存数据的地方
4.输入设备:
往计算机内部传递信息的设备
eg:键盘 鼠标 手写板
5.输出设备:
计算机往外部传递信息的设备
eg:显示屏 耳机 打印机
"""详细知识"""
1.控制器 + 运算器 = 中央处理器(CPU):
CPU是衡量电脑性能的一个关键性指标
2.存储器:
内存:存取数据的速度特别快,但是断电之后数据立刻丢失
内存是临时存放数据的地方
外存:存取数据的速度较于内存慢很多,但是断电之后数据也不会丢失
外存是永久存放数据的地方
eg:磁盘、硬盘(C盘、D盘、F盘)、固态硬盘、U盘
![img]()
计算机三大核心硬件
1.CPU
2.内存
3.硬盘
"""
使用电脑下载的软件其实是下载到电脑的硬盘中了
我们如果想启动一个软件需要双击该软件的图标并且需要等待一会儿
等待的过程其实就是讲该软件的代码由硬盘读取到内存
之后CPU去内存中取指该软件才能被电脑运行起来(CPU必须从内存中获取数据)
"""
结论:任何想要运行起来的软件 必须先由硬盘加载到内存才可以被CPU执行
ps:正在运行的软件产生的数据第一时间肯定是在内存
这就能够解释为什么有一些软件在使用过程中如果突然断电数据会丢失的原因
但是随着技术的发展有很多软件内部已经自带了自动保存的功能(不定时的将内存中的数据保存到硬盘里面)
"""为什么CPU需要去内存中获取数据而不去硬盘?"""
因为CPU的运行速度特别的快 而硬盘的读取速度相较于CPU太慢
如果CPU与硬盘交互则会浪费CPU的效率 需要频繁的等待硬盘读取数据
为了解决该问题有了内存 内存中只需要提前将CPU需要执行的程序读取进来之后CPU直接读取执行即可 提高了CPU的效率
# 问题
小明的电脑在运行了几个软件之后就非常的卡顿
问:比较简单的解决方案是什么?
运行的软件程序代码肯定在内存,出现卡顿的极大概率是因为内存容量不够
所以解决的措施可以考虑扩大内存容量。(笔记本电脑一般都有一个外扩的内存条 如果没有可以将原来的内存条拔掉插入容量更大的内存条)
# 内存不能无限的扩容 还需要考虑配套的其他硬件 过大的内存电脑硬件不一定带的动
硬件补充
# 电路板
大部分都是绿色(绿釉),电路板其实是由很多块薄的板压接到一起形成的
每一块薄板上面都有线路(有些肉眼能够看到 有些则是离子级别)
ps:考量一块电路板功能是否强大就看它的层数
![img]()
软件系统
计算机系统包括硬件系统和软件系统(类比“躯壳”和“灵魂”)
其中软件是为了完成某一项特定工作而开发的程序
而软件分为系统软件和应用软件
# 系统软件(必备)
系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统
ps:每台计算机都必须有一个系统软件(操作系统)
操作系统:
PC端:windows mac linux...
手机端:ios 安卓 鸿蒙 MIU...
'''计算机如果没有操作系统就跟废铁一样'''
# 应用软件(可选)
应用软件其实就是我们日常生活所使用到的各个公司出版发行的软件
比如:微信 王者荣耀 抖音 QQ音乐 网易云音乐等
"""计算机三层架构"""
1.应用程序
2.操作系统(必须存在)
3.计算机硬件
# 应用程序必须跟操作系统打交道才可以操作计算机硬件
# 同理计算机硬件也必须跟操作系统打交道才可以与应用程序交互
ps:程序员编写的应用程序都是基于操作系统之上的 没了操作系统所有的程序都无法正常运行
![img]()
数据的含义
# 数据是互联网最宝贵的财富
eg:滴滴出行
出行记录
普通人的还好 如果是重要部门的重要官员呢?
就可以间接性掌握重要战略位置
数据的表现形式可以有很多
符号、文字、数字、语音、图像、视频等
针对进制数的换算问题我们可以不掌握 后面有相应的方法能够直接实现
字符编码的概念
计算机只认识01的二进制 而我们不同国家的人使用不同的字符
那么如何让计算机能够识别不同的字符?
人为的规定01010的二进制与人类字符的对应关系
01010101 >>> a
# 字符编码发展史
1.一家独大
计算机是由美国人发明的 计算机只认识01二进制 如何让计算机认识英文呢?
制定一个二进制数字组合与英文字符的对应关系>>>"字符编码表"
ASCII码表
记录了英文字符与数字的对应关系
用一个字节来表示英文字符
1bytes = 8bit # 2的八次方 256
"""英文字符跟符号总共加起来不超过127个"""
#该阶段的计算机只认识英文不认识其他国家的字符
2.群雄割据
疑问:如何让计算机识别更多国家的语言?
中国人
GBK编码表
记录了中文字符、英文字符与数字对应关系
用两个字节来表示中文 一个字节表示英文字符
2bytes = 16bit # 2的十六次方 65536
"""有时候针对生僻字无法表示 需要更多位数3bytes 4bytes"""
韩国人
Euc_kr编码表
记录了韩文字符、英文字符与数字的对应关系
日本人
shift_JIS编码表
记录了日文字符、英文字符与数字的对应关系
#该阶段的计算机不同国家使用不同的编码表
3.天下一统
"""
群雄割据阶段有一个不可忽视的问题>>>:不同国家计算机之间数据无法交互
eg:
GBK编码 01:你
Euc_Kr编码 01:车
shift_JIS编码 01:吃
"""
unicode编码表(万国码)
内部兼容万国语言
所有的字符全部采用2bytes来表示 如果不够则增加位数
那么会出现一个问题,那就是针对纯英文的文本数据原本只需要比如1G的容量,而那么采用了unicode之后就需要2G的容量 读取文件的时间也翻倍了
所以发明了utf8编码(unicode转换版本)
utf8编码会对unicode编码做优化而且英文还是用1bytes来表示
#内存使用unicode兼容万国 存储到硬盘使用utf8节省资源
#该阶段的计算机不同国家也可以无障碍的交互
结论:现在的文本文件默认都使用utf8编码
![img]()
![img]()
编码与解码
# 编码
将人类能够读懂的字符按照指定的编码编译成计算机能够读懂的数字
eg:将中文按照GBK编码编译成数字
# 解码
将计算机能够读懂的数字按照指定的编码表翻译成人类能够读懂的字符
eg:将GBK对应的数字翻译成中文
"""
数据基于网络传输必须是二进制形式
eg:
我们在使用聊天软件聊天的时候
计算机内部其实在频繁的发生编码与解码的过程
"""
解决文件乱码的核心就在于
当初以什么编码存的就以什么编码解
eg:选择一个可以切换编码的文本编辑器 切换常见的编码
1.为什么要认识计算机?
因为计算机是时代的需求。计算机的发展历史告诉我们,社会越来越离不开计算机的帮助,各行各业无不使用着计算机,小到家庭,大到国家,计算机已不可缺失,未来的文明人懂计算机已是必然,学计算机将会成为一种潮流
2.什么是计算机?
计算机俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算和逻辑计算,具有存储记忆功能。是能够按照程序运行,自动,高速处理海量数据的现代化智能电子设备。
3.计算机是有哪两部分组成的?
计算机是由硬件系统和软件系统两个部分组成
4.什么是硬件?硬件是有哪些部件组成的?
硬件:可以看得到、摸得到的物件,是一个具体的实物。硬件相当于是计算机的躯壳
5.什么是软件?
软件是为了完成某一项特定工作而开发的程序,软件相当于计算机的灵魂。它是看不到,摸不到的程序,不是一个具体的实物
6.软件可以分为哪些软件?
系统软件和应用软件