1、计算机中的三大件
计算机中包含有较多的硬件,但是一个程序要运行,有 三个 核心的硬件,分别是:
(1)CPU
1、中央处理器,是一块超大规模的集成电路;
2、负责 处理数据/计算;
(2)内存
1、临时*存储数据(断电之后,数据会消失);
2、速度快;
3、空间小(单位价格高);
(3) 硬盘
1、 永久存储数据;
2、速度慢;
3、空间大(单位价格低);
思考题
1、计算机中哪一个硬件设备负责执行程序?
CPU
2、内存 的速度快还是 硬盘 的速度快?
内存
3、我们的程序是安装在内存中的,还是安装在硬盘中的?
硬盘
4、我买了一个内存条,有 500G 的空间,这句话对吗?
不对,内存条通常只有 `4G` / `8G` / `16G` / `32G`
5、计算机关机之后,内存中的数据都会消失,这句话对吗?
正确
2、程序执行的原理
1、程序 运行之前,是 保存在硬盘 中的;
2、当要运行一个程序时,首先要被加载到内存:
(1)操作系统会首先让CPU把程序复制到内存中;
(2)CPU执行内存中的程序代码;
2.1、Python 程序执行原理
1、操作系统会首先让 CPU 把 Python 解释器 的程序复制到 内存 中。
2、Python 解释器 根据语法规则,从上向下 让 CPU 翻译 Python 程序中的代码。
3、CPU 负责执行翻译完成的代码。
2.2、Python 的解释器有多大?
- 执行以下终端命令可以查看 Python 解释器的大小。
# 1. 确认解释器所在位置
$ which python
# 2. 查看 python 文件大小(只是一个软链接)
$ ls -lh /usr/bin/python
# 3. 查看具体文件大小
$ ls -lh /usr/bin/python2.7
提示:建立 软链接 的目的,是为了方便使用者不用记住使用的解释器是 哪一个具体版本。
3、程序的作用
程序的作用就是用来处理数据的。
- 新闻软件 提供的 新闻内容、评论…… 等数据;
- 电商软件 提供的 商品信息、配送信息…… 等数据;
- 运动类软件 提供的 运动数据…… 等数据;
- 地图类软件 提供的 地图信息、定位信息、车辆信息…… 等数据;
- 即时通讯软件 提供的 聊天信息、好友信息…… 等数据;
- ……
3.1、 思考-QQ 程序的启动过程
1、QQ 在运行之前,是保存在 硬盘 中的。
2、运行之后,QQ 程序就会被加载到内存中了。
3.2、 思考-QQ 程序的 *登录**过程
1、读取用户输入的 QQ号码;
2、读取用户输入的 QQ密码;
3、将 QQ号码 和 QQ密码 发送给腾讯的服务器,等待服务器确认用户信息;
思考 1
在QQ这个程序将QQ号码和QQ密码发送给服务器之前,是否需要先存储一下QQ号码和QQ密码?
答案:
需要,否则 QQ 这个程序就不知道把什么内容发送给服务器了。
思考 2
QQ这个程序把QQ号码和QQ密码保存在哪里?
答案:
保存在 内存中,因为 QQ 程序自己就在内存中。
思考 3
QQ这个程序是怎么保存用户的QQ号码和QQ密码的?
答案:
1、在内存中为QQ号码和QQ密码各自分配一块空间;
在 QQ 程序结束之前,这两块空间是由 QQ 程序负责管理的,其他任何程序都不允许使用;
在 QQ 自己使用完成之前,这两块空间始终都只负责保存QQ号码和QQ密码;
2、使用一个别名标记QQ号码和QQ密码在内存中的位置;
在程序内部,为QQ号码和QQ密码在内存中分配的空间就叫做变量;
程序就是用来处理数据的,而变量就是用来存储数据的;