计算机组成和编程语言

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

一、编程

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

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

冯诺依曼

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,会自动打印

    一般用来做调试

    优点:调试起来非常方便

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

posted @ 2019-09-06 15:58  BigSun丶  阅读(244)  评论(0编辑  收藏  举报