热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

day02操作系统、编程语言分类及python安装

目录操作系统编程语言分类安装python解释器操作系统操作系统有什么用操作系统能接受外部指令转化成0和1,并把一些对硬件的复杂操作简化成一个个简单的接口,作为中间人连接硬件和软件计

目录

  1. 操作系统

  2. 编程语言分类

  3. 安装python解释器


操作系统

操作系统有什么用

操作系统能接受外部指令转化成0和1,并把一些对硬件的复杂操作简化成一个个简单的接口,作为中间人连接硬件和软件


计算机三大组成部分



  • 应用程序:是具体干活,完成一个个任务的,和人、操作系统交互

  • 操作系统:接受外部指令,控制硬件,为用户和用户程序提供一个个简单的接口,和应用程序、人、硬件交互

  • 硬件:用来操作数据的(存储数据、输入数据、输出数据)


应用程序的启动流程



  1. 双击应用程序

  2. 发送指令给操作系统

  3. 操作系统把这条指令转化成0和1发给CPU

  4. CPU把指令发给内存

  5. 内存从硬盘中调取应用程序的数据

  6. 应用程序读入内存中启动

注意:步骤4、步骤5和步骤6不涉及操作系统的概念


操作系统的启动流程

操作系统实际上是一个计算机程序,如果要启动程序就必须得经过操作系统。而在按下开机键的时候,操作系统还在硬盘中。此时,需要有个东西来充当临时操作系统。



  1. 按下开机键

  2. ROM充当临时的操作系统控制CPU

  3. 在CMOS中寻找操作系统的路径

  4. 找到后启动操作系统,接管ROM的工作


编程语言分类

机器语言

由于计算机以二进制的形式存储数据,如果我们要与计算机沟通,那我们必须得会二进制编程。最早的时候,0和1就是编程语言,也就是所说的机器语言



  • 优点:执行代码效率高(直接与计算机硬件交互)

  • 缺点:开发效率低(一大堆的0和1)


汇编语言

通过写英文字符的形式代替一串二进制,但是它还是直接和硬件交互的



  • 优点(相对于机器语言):开发效率高

  • 缺点(相对于机器语言):执行代码效率低


高级语言

由于汇编语言和机器语言都依赖于硬件体系,且助记符量大难记,于是人们又发明了更加易用的所谓高级语言,如C、C++、Java、Python等等



  • 优点(相对于汇编语言):开发效率高

  • 缺点(相对于汇编语言):执行效率低(不再和硬件直接交互)

但归根结底还是要给计算机执行的,而计算机只认识二进制指令,这就涉及到将高级语言翻译成二进制的过程。根据翻译方式的不同,高级语言又分成编译型和解释型两大类。


编译型

其实可以理解成谷歌/百度翻译,将要翻译的代码丢进去,一次性翻译出一个结果,这个翻译结果可以保留在下一次使用。如C、Java



  • 优点(相对于解释型):执行效率高(直接翻译成机器语言)

  • 缺点(相对于解释型):开发效率低(要等到代码全部写完后才能调试)


解释型

可以理解成同声传译,以写一行代码翻译一行,翻译的内容不保存。如python



  • 优点(相对于编译型):开发效率高(写一行翻译一行,可以很早的发现bug)

  • 缺点(相对于编译型):执行效率低(写一次就得再翻译一次)

总结:毫无疑问,高级语言的编译型语言和解释型语言两者是相互矛盾的,这根据不同的需求考虑使用哪种类型的高级语言


安装python解释器

下载

以下载64位windows系统下的python为例,在官网https://www.python.org/downloads/windows/下载(根据电脑选择相应的安装包下载)

双击所下载后的.exe文件进行安装,选择Customize installation自定义安装,在下一步点Next

在Customize install location下选择安装路径(推荐安装在C盘或D盘根目录下),点击Install开始安装

安装完成后(Setup was successful),点击Close即可

安装完成后,在安装的python文件中有个python.exe可执行文件,打开该执行文件便可调出python交互式环境,书写python代码


设置环境变量

但每次在文件中找到python.exe再打开交互式界面是非常不方便的,而且在命令提示符窗口不能直接使用python命令

计算机在执行命令的时候是在环境变量找对应的命令的位置的,如果不正确设置环境变量就不能正确使用相应的命令,因此需要设置环境变量。

在系统属性==>高级==>环境变量==>变量path==>新建(添加python.exe所在的路径)==>确认

设置好环境变量后就可以在命令提示符窗口直接调用python命令了



推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 基于事件驱动的并发编程及其消息通信机制的同步与异步、阻塞与非阻塞、IO模型的分类
    本文介绍了基于事件驱动的并发编程中的消息通信机制,包括同步和异步的概念及其区别,阻塞和非阻塞的状态,以及IO模型的分类。同步阻塞IO、同步非阻塞IO、异步阻塞IO和异步非阻塞IO等不同的IO模型被详细解释。这些概念和模型对于理解并发编程中的消息通信和IO操作具有重要意义。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
author-avatar
xiaobaibai
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有