操作系统及Python解释器工作原理讲解
操作系统介绍
操作系统位于计算机硬件与应用软件之间
是一个协调、管理、控制计算机硬件资源与软件资源的控制程序
操作系统功能:
控制硬件
把对硬件复杂的操作封装成优美简单的接口(文件),给用户或者应用程序去使用。
注意:一套完整的计算机系统包含
应用程序:qq、微信等
操作系统:windows、linux等
计算机硬件:昨天内容
强调:
我们以后开发的都是应用程序
应用程序无法直接操作硬件,但凡要操作硬件,都是调用操作系统的接口
编程语言分类:
机器语言:
直接用二进制编写程序
优点:程序执行效率高
缺点:开发效率低
汇编语言:
用英文标签去代替二进制指令,本质还是再直接操作硬件
优点:相对于机器语言的开发效率要高
缺点:执行相对于机器语言要低
高级语言:
高级语言就是直接用人能理解的语言跟风格来编写程序,程序员无需再去考虑复杂的硬件操作
问题是我们用高级语言编写的程序归根结底还是要给计算机去执行,这就涉及到一个翻译的过程,要把人用高级语言编写的程序翻译成计算机所能理解的二进制指令去执行,按照翻译方式的不同,可以分为2类,如下:
类型
|
例如
|
优点
|
缺点 |
编译型 |
C语言 |
执行效率比解释型高 |
开发效率不如解释型 |
解释型 |
Python |
开发效率高 |
执行效率比编译型慢 |
执行效率再快也要受限于网速,于是我们现阶段需要优先考虑就是开发效率
1、执行Python程序有2种方式:
1)交互式
优点:调试程序
缺点:无法永久保存代码
2)命令行的方式
python3 D:\p1.py
优点:可以永久保存代码
2、python解释器执行程序的三个阶段
Python解释器执行程序的三个阶段,例如执行(python3 D:\test.py) |
第一步:先启动python3解释器 |
第二步:Python3解释器就像一个文本编辑器一样将文件python3 D:\test.py从硬盘读入内存 |
|
Python3解释器解释执行文件代码 |
强调:只有第三阶段才识别python的语法
Pyhton多版本安装及使用
官网安装地址:https://www.python.org/downloads/windows/,可以看到python2.0和3.0的版本链接
操作系统及Python解释器工作原理讲解的更多相关文章
- 计算机三大硬件和操作系统以及python解释器
今日分享内容概要 计算机五大组成部分详解 计算机三大核心硬件 操作系统 编程与编程语言 编程语言的发展历史 编程语言的分类 python解释器 python解释器多版本共存 分享详细 计算机五大组成部 ...
- MapReduce工作原理讲解
第一部分:MapReduce工作原理 MapReduce 角色•Client :作业提交发起者.•JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业.•TaskT ...
- [转载] MapReduce工作原理讲解
转载自http://www.aboutyun.com/thread-6723-1-1.html 有时候我们在用,但是却不知道为什么.就像苹果砸到我们头上,这或许已经是很自然的事情了,但是牛顿却发现了地 ...
- 【Todo】Python的工作原理
参考这篇: http://python.jobbole.com/86086/?from=timeline&isappinstalled=1&nsukey=MWQG%2B7OI4FvdQ ...
- OAuth 授权过程工作原理讲解
转自:http://www.imooc.com/article/10931 在一个单位中,可能是存在多个不同的应用,比如学校会有财务的系统会有学生工作的系统,还有图书馆的系统等等,如果每个系统都用独立 ...
- Android 异步通信:图文详解Handler机制工作原理
前言 在Android开发的多线程应用场景中,Handler机制十分常用 今天,我将图文详解 Handler机制 的工作原理,希望你们会喜欢 目录 1. 定义 一套 Android 消息传递机制 2. ...
- python程序执行原理
Python程序的执行原理 1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后解释器一条一条执行字节码指令,从而完成程序的执行. 1.1python先把代码(.py ...
- python中的函数、生成器的工作原理
1.python中函数的工作原理 def foo(): bar() def bar(): pass python的解释器,也就是python.exe(c编写)会用PyEval_EvalFramEx(c ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
随机推荐
- Shader Optimization Tips
Author : http://www.cnblogs.com/open-coder/p/3982999.html During the last few months, I have been wo ...
- Inconsistant light map between PC and Mobile under Unity3D
Author: http://www.cnblogs.com/open-coder/p/3898159.html The light mapping effects between PC and Mo ...
- JavaScript基础部分经典案例
再复杂的程序都是由一个个简单的部分组成. 001案例 - 交换两个变量的值 方法01 - 使用临时变量 var n1 = 5; var n2 = 6; // 创建一个临时中介变量 tmp var tm ...
- 【POJ 3368】Frequent values(RMQ)
Description You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In ad ...
- C++继承细节 -2
继承与动态内存分配 //基类定义 class BaseClass { private: char *label; public: BaseClass() {} BaseClass(const char ...
- morphia 框架 mongodb内嵌查询
mongodb中存储的文档格式如下,实现查询fromdata下did和dvid为指定值的数据 { "_id": { "$oid": "553f4a9f ...
- Systemd简介与使用
按下电源键,随着风扇转动的声音,显示器上开启的图标亮起.之后,只需要静静等待几秒钟,登录界面显示,输入密码,即可愉快的玩耍了. 这是我们大概每天都做的事情.那么中间到底发生了什么? 简单地说,从BIO ...
- JavaScript中Array的正确使用方式
在 JavaScript 中正确使用地使用 Array 的方法如下: 用 Array.includes 代替 Array.indexOf “如果你要在数组中查找元素,请使用 Array.indexOf ...
- MySQL5.7主从同步--点位方式及GTID方式
MySQL5.6加入了GTID的新特性,其全称是Global Transaction Identifier,可简化MySQL的主从切换以及Failover.GTID用于在binlog中唯一标识一个事务 ...
- (待整理)flume操作----------hivelogsToHDFS案例----------运行时,发生NoClassDefFoundError错误
1. 2.错误日志 命令为 bin/flume-ng agent --name a2 --conf conf/ --conf-file job/file-hdfs.conf Info: Sourcin ...