Python学习笔记(九)
9、程序执行原理
9.1、计算机中的三大件
计算机中包含了很多的硬件,但是一个程序要运行,有三个核心的硬件,分别是:
A、CPU(GPU)
中央处理器,是一块超大规模的集成电路
负责处理数据/计算
B、内存
临时存储数据(断电之后,数据会消失)
速度快
空间小
价格高
C、硬盘
永久存储数据
速度慢
空间大
价格便宜
9.2、程序执行的原理
1、程序运行之前,程序是保存在硬盘中的
2、当要运行一个程序时
操作系统会首先让CPU把程序复制到内存中
CPU执行内存中的程序代码
程序要执行,首先要被加载到内存
9.2.1、Python程序执行原理
1、操作系统会首先让CPU把Python解释器的程序复制到内存总
2、Python的解释器根据语法规则,从上而下让CPU翻译Python程序中的代码
3、CPU负责执行翻译完的代码
Python的解释器有多大
Linux可以执行以下终端命令查看python的解释器大小
1、确认解释器的位置
which python
2、查看python文件大小(只是一个软连接)
ls -lh /usr/bin/python
3、查看具体文件大小
ls -lh /usr/bin/python2.7
提示:建立软链接的目的,是为了方便使用者不用记住使用的解释器是哪一个具体版本
9.3、程序的作用
程序就是用来处理数据的!
各种程序处理的都是数据
9.3.1、思考QQ程序的启动过程
1、QQ在运行之前,是保存在硬盘中的
2、运行之后,QQ程序就会被加载到内存中了
9.3.2、思考QQ程序的登录过程
1、读取用户输入的QQ号码
2、读取用户输入的QQ密码
3、将QQ号码和QQ密码发送给腾讯的服务器,等待服务器确认用户信息
思考1:在QQ这个程序将QQ号码和QQ密码发送给服务器之前,是否需要先存储一下QQ号码和密码
答案:肯定需要,否则不知道发什么到服务器
思考2:QQ这个程序把QQ号码和QQ密码保存在哪里?
答案:保存在内存
思考3:QQ这个程序是怎么保存用户的QQ号码和QQ密码的?
答案:1、在内存中为QQ号码和QQ密码各自分配一块空间
在QQ程序结束之前,在这两块空间是由QQ程序负责管理的,其他任何程序都不允许使用
在QQ自己使用完成之前,这两块空间始终都只负责保存QQ号码和QQ密码
2、使用一个别名标记QQ号码和QQ密码在内存中的位置
在程序内部,为QQ号码和QQ密码在内存中分配的空间就叫做变量
程序就是用来处理数据的,而变量就是用来存储数据的