zoukankan      html  css  js  c++  java
  • 计算机组成和编程语言

    计算机组成和操作系统以及编程语言

    一、编程

    • 什么是编程?
      编程就是写一堆堆文件。(控制变量不断变化的过程)
    • 为什么编程?
      代替劳动力,帮助人完成一些具体的事情
    • 什么是编程语言?
      编程语言是人与计算机交流的介质

    二、冯诺依曼机的五大结构:控制器,运算器,存储器,输入设备,输出设备

    冯诺依曼

    1.存储器:内存,外存

    内存:运算速度快,内存越大,能运行的程序就越多。

    	但容量小,断电内容即消失。
    

    外存:容量大,永久存储,但速度慢

    固态硬盘:基于电容存储,运算速度快。但工艺较复杂,成本较高。

    机械硬盘:(机械手臂、磁道、扇面3部分)靠机械手臂在磁道上存储数据,查询数据。机械硬盘上有扇区,其划分了磁道,多个扇区组成电脑中的一个盘(区),如C盘,D盘。

    平均寻道时间:由于工业水平限制,为5ms。

    平均延迟时间:如一个7200r/min的机械硬盘。

    [7200/60=120r/s 1/120=0.0083s=8.3ms 8.3/2=4.15ms ]

    平均寻找数据时间:

    [5+4.15=9.15ms ]

    三、操作系统

    如果只有5大组成结构,要读取数据,只能自己滑动机械手臂。但实际我们不需要自己滑动。当我们装一个内存,已经有一小部分被使用,这就是操作系统占用的。

    操作系统提供给我们一个一个接口,把对复杂的硬件操作简单化。

    1.文件

    存储信息,操作系统提供给你的一个虚拟概念。

    文件接口(操作系统提供的,文件只是其中一个接口):帮你把对硬件的复杂操作简单化。

    双击接口(操作系统提供的):帮助你快速打开一个应用程序。

    等等接口

    2.应用程序的启动

    1. 双击QQ--》让操作系统通知CPU(企鹅图标是操作系统提供给你的)(找到qq在硬盘的位置)

    2. CPU让内存去外存读取QQ的数据,QQ数据进入内存

    3. 启动QQ

    3.计算机的组成(有了操作系统之后)

    1. 应用程序(软件):和操作系统交互
    2. 操作系统:和硬件交互
    3. 硬件:直接和硬件交互

    4.操作系统的启动(开机)

    启动软件,首先启动操作系统查询软件在硬盘上的位置,操作系统本身也是软件的一种,启动操作系统也必须先找到操作系统在硬盘上的位置(而要找到也必须通过操作系统),这样就有一个问题。

    操作系统正确的启动方式为:

    1. 开机,启动临时操作系统(其存储在ROM存储器,且该存储器出厂时就被写死,无法改变)
    2. 临时操作系统去CMOS存储器上寻找本机操作系统在硬盘上的路径(CMOS存储器为临时内存,用电池供电,存储了操作系统的路径和时间,当重装系统时就会修改对应的路径)
    3. 启动操作系统,临时操作系统关闭

    四、编程语言

    编程语言就是人与计算机交互的介质,编程就是交互的过程。

    计算机(硬件)只认识0和1

    一切的数据都是由0和1组成

    1.机械语言(就是写0和1)

    例如:假如意思是a+b

    000101110011 (机械语言)【普通人写不来】--》(设备)--》低低低高低

    优点:执行速度非常快,直接和硬件交互

    缺点:开发速度非常慢

    2.汇编语言

    例如:假如意思是a+b

    add(a,b)(汇编语言)--》(设备)--》000101110011--》(设备)----》低低低高低高高高低低高高(高低压电频)

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

    缺点(相较于机器语言):执行效率低

    3.高级语言

    例如:假如意思是a+b

    a+b(解释型语言)---》(设备)---》a+b(高级语言/编译型语言)--》(设备--翻译)--》add,a,b--》(设备)--》00010101001--》低低高高(高低压电频)

    4.编译型语言(通过设备翻译形式)

    类似于Google翻译,一次性翻译所有代码为机械代码,然后直接运行。

    优点(相较于解释型语言):执行效率高

    缺点(相较于解释型语言):开发效率低(找bug非常复杂)

    5.解释型语言(通过设备的翻译形式)

    类似同声传译,说一句翻译一句,解释型语言的翻译器是通过编译型语言写出来的,相当于一句一句运行。

    优点(相较于编译型而言):开发效率高

    缺点(相较于编译型语言):执行效率低

    6、TIOBE编程语言排行

    阿尔法围棋(AlphaGo)是第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能机器人,由谷歌(Google)旗下DeepMind公司戴密斯·哈萨比斯领衔的团队开发。其主要工作原理是“深度学习”。

    人工智能

    五、网络瓶颈效应

    由于程序联网的趋势,在未来,几乎全部应用程序都要通过网络通信。

    1.木桶效应

    木桶能装的水的量由木桶最短的一根木头决定。

    2.网络的瓶颈

    网络通信的时间几乎远远大于程序的执行时间。

    因此程序的执行效率可以说完全没必要考虑了,

    六、执行Python程序的两种方式

    1. 命令行式

      解释一个文本,python是一个解释器。

      使用方式:

      在终端中输入:
      python 文本路径
      

      优点:一次解释全部代码

      缺点:调试非常麻烦

    2. 交互式

      输入一行,解释一行

      交互式下,不需要使用print,会自动打印

      一般用来做调试

      优点:调试起来非常方便

      缺点:关掉终端程序就没了

  • 相关阅读:
    数据结构之栈和队列
    数据结构之线性表
    关于优惠券优惠的思路以及实践
    mysql基础知识扫盲
    rabbitMQ第五篇:Spring集成RabbitMQ
    rabbitMQ第四篇:远程调用
    rabbitMQ第三篇:采用不同的交换机规则
    rabbitMQ第二篇:java简单的实现RabbitMQ
    rabbitMQ第一篇:rabbitMQ的安装和配置
    java容器详细解析
  • 原文地址:https://www.cnblogs.com/Mcoming/p/11475301.html
Copyright © 2011-2022 走看看