标签:解释 引导 技术 info 意义 编程 总结 需要 二进制
编程语言的本质就是一门语言,Python就是一门编程语言
语言就是一种事物与另外一种事物沟通的表达方式/工具
编程就是人把自己的思维逻辑,用编程语言表达出来
编程的目的就是让计算机按照人类的思维逻辑去工作,从而解放人力
人--------------编程语言-------------计算机
程序最先是存放于硬盘中的
程序的运行一定是先把程序的代码由硬盘加载到内存
然后cpu从内存中取出指令运行
应用程序
操作系统:协调,管理,控制计算机硬件资源与应用软件资源的一个控制程序
计算机硬件:运行受软件控制
*软件分为应用软件(应用程序相关逻辑)和系统软件(控制底层硬件)两种
计算机硬件+操作系统 = 平台
一款软件可以任意平台上运行,是衡量软件质量高低的一个非常重要的指标
操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的控制程序
它位于计算机硬件与应用软件之间,起承上启下的作用
操作的系统意义
(1)控制计算机硬件的基本运行
(2)将硬件操作的复杂细节封装成简单的接口来提供给应用程序或用户使用
cpu存取的数据和指令都来自于内存
内存称之为主存
主存储器内的数据则是从输入单元所传输进来
CPU处理完毕的数据也必须先写回主存储器中,最后数据才从主存储器传输到输出单元。
x86是CPU的型号,64位的CPU既可以运行32位也可以运行64位程序
代表cpu的两种工作状态
1、内核态:运行的程序是操作系统,可以操作计算机硬件
2、用户态:运行的程序是应用程序,不能操作计算机硬件
内核态与用户态的转换
应用程序的运行必然涉及到计算机硬件的操作,那就必须有用户态切换到
内核态下才能实现,所以计算机工作时在频繁发生内核态与用户态的转换
IO延迟=平均寻道时间+平均延迟时间
*平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,受限于物理工艺水平,目前机械硬盘可以达到的是5ms
*平均延迟时间:转半圈需要花费4ms,受限于硬盘的转速
***优化程序运行效率的一个核心法则:能从内存取数据,就不要从硬盘取
*BIOS:Basic Input Output System,BIOS被写入ROM设备
*裸机:CPU+ROM(充当内存,存放BIOS系统)+CMOS(充当硬盘)
具体过程:
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求
用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核
1、双击exe快捷方式--exe文件的绝对路径
2、操作系统会根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存
3、控制cpu从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动
分类:
机器语言:由0/1组成,计算机可直接读取,所以执行效率高
汇编语言:用英文标签取代二进制编写程序,性能介于上下两者之间
高级语言:用人类语言编写,计算机无法直接读取,所以需要进行翻译,根据翻译方式不同分为以下两类
编译型——直接翻译好结果给到计算机
解释型——同步翻译,一句一句给到计算机
总结:
1、执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
2、开发效率:机器语言<汇编语言<高级语言(编译型<解释型)
3、跨平台性:解释型具有极强的跨平台型(比如Python)
2.python解释器多版本共存
注意安装好之后添加路径:
注意会按照路径前后读取,所以python不同版本的exe文件注意区别命名
方法:在同一个文件夹下面复制python.exe的副本,对副本进行重命名
1、交互式
即时得到程序的运行结果,多用于调试
2、脚本的方式
把程序写到文件里(约定俗称文件名后缀为.py),然后用python解释器解释执行其中的内容
python3.8 python程序文件的路径
python3.8 C:\a\b\c.py 执行python程序经历三个步骤:
1、先启动python3.8解释器,此时相当于启动了一个文本编辑器
2、解释器会发送系统调用,把c.py的内容从硬盘读入内存,此时c.py中的内容
全部为普通字符,没有任何语法意义
3、解释器开始解释执行刚刚读入内存的c.py的代码,开始识别python语法
对比文本编辑器读取C:\a\b\c.py文件内容也经历了三个步骤:
1、先启动文本编辑器
2、文本编辑器会发送系统调用,把c.py的内容从硬盘读入内存
3、文本编辑会将刚刚读入内存的内容控制输出到屏幕上,让用户看到结果
总结:
二者在前两个阶段做的事情完全一致
唯一不同的就是第三个阶段对读入内存的python代码的处理方式不同
1、注释是对关键代码的解释说明 单行注释:#
多行注释:‘‘‘‘‘‘ 或者 """"""
2、被注释的代码不会被执行
标签:解释 引导 技术 info 意义 编程 总结 需要 二进制
原文地址:https://www.cnblogs.com/lucky-cat233/p/12404887.html