Day2 操作系统+编程语言分类+网络的瓶颈效应

今天首先对昨天学习的什么是编程以及计算机硬件的五大组成部分进行了一个简单的回顾,并学习了计算机基础的另外一半,即操作系统与编程语言分类。所谓操作系统,就是将计算机中各种的应用软件,文件等内容与计算机的硬件连接起来,将各种计算机硬件的复杂操作简化成一个个窗口,即将重复性,复杂性的劳动简化成简单的操作,同时了解了 在关机时候,要打开操作系统(关机时关闭),但要打开操作系统需要通过操作系统 这一尴尬局面的解决方法。编程语言分为三类,但前两类 机器语言与汇编语言 用的不多,更多时候用的是高级语言,包括解释性(python),编译性(C)两种,并概括了其优缺点。在最后补充了网络的瓶颈效应,类似于木桶效应,实际中数据的访问速度是非常非常快的,但受网速的限制,并不能达到他本来能达到的速度,即数据的访问速度取决于网速,即为网路的瓶颈效应。

上节课复习

  1. 什么是编程语言? 人与计算机进行交流的介质

  2. 什么是编程? 使用编程语言达到人们的目的

  3. 为什么要编程? 奴役计算机,解放生产力

  4. 计算机五大组成部分?

    1. cpu
      1. 控制器
      2. 计算器
    2. 内存
      1. 优点:访问速度快
      2. 缺点:断电即消失
    3. 外存
      1. 优点:永久保存
      2. 缺点:访问速度慢
    4. 输入设备:输入信息,键盘鼠标等
    5. 输出设备:输出信息,显示屏、打印机等。

    特殊的:u盘,既能输入,又能输出,称为io设备

  5. 计算机组成补充

    1. 多核cpu
    2. 32位与64位
    3. 硬盘工作原理
      1. 机械硬盘
        1. 机械手臂:读取数据
        2. 磁道:存取数据
        3. 扇区(512KB):划分磁道,多个扇区组成一个分盘
        4. 平均寻道时间:工业限制5ms
        5. 平均延迟时间:7200r/min的电脑为4.15ms
        6. 平均寻找数据的时间:5+4.15 = 9.15ms
      2. 固态硬盘:基于算法和电存储数据

一.操作系统

庄园主

​ 需要一个管家来传达命令 》》操作系统

奴隶

1.什么是操作系统?

操作系统就是软件

如果把计算机比作一个农场的话,cpu是庄园主,那么操作系统就是这个庄园里的大管家,他作为cpu等各种硬件与应用程序之间的桥梁。

2.操作系统干什么

将外部的指令发个cpu

什么是文件? 是一个个虚拟的单位,有个他,我们就不用再有机器手臂一个个磁道扇区去寻找我们想要的东西

什么是应用程序?接着上次的那个例子,那么应用程序就是努力,为农场里干活,不能直接接触农场主,有事找大管家,即操作系统(应用程序也是软件)

因此,操作系统就是将计算机的各种硬件与应用程序连接起来来为人类服务

结合这二点,给出操作系统的定义:操作系统位于计算机硬件与应用程序之间,来协调管理计算机资源与软件资源的控制程序。他把一个个应用程序简化成一个一个的接口,避免了对硬件直接进行复杂的操作。

3.为什么要操作系统

控制计算机,减少重复性、复杂性的劳动,提供方便

4.计算机有什么组成

应用程序:位于操作系统之上,不直接与硬件进行交互,是一个一个的窗口,通过操作系统进行访问,如计算机里面的各种app图标等

操作系统:位于应用程序与硬件之间,是整个计算机的大管家,负责处理各种指令,把硬件的各种指令封装成一个一个简单的接口,供用户或应用程序使用,凡用到硬件的地方,都要用操作系用

应用程序与操作系统共同组成了计算机的软件

计算机硬件:即五大组成部分,位于操作系统之下,以二进制的形式储存。

img

5.应用程序的启动和操作系统的启动

  1. 双击qq图标,此时操作系统收到打开qq的指令
  2. 操作系统将打开qq的指令传给硬件中的cpu
  3. cpu通过像内存发送打开qq的指令(cpu通过机械手臂找到qq所在的位置)
  4. 内存在硬盘中找到qq的位置(通过内存访问qq)
  5. 运行qq

6.操作系统启动流程

计算机分为两类:硬件和软件

操作系统是软件

启动操作系统相当于启动软件,如果要启动软件就必须得经过操作系统

按下开机键的时候,操作系统还躺在硬盘里,但我们现在想要启动操作系统。但是启动操作系统又必须经过操作系统,

所以我们现在需要一个临时的操作系统(ROM存储器)来启动这个操作系统

所以有ROM临时控制CPU,功能有限,这个临时操作系统负责取CMOS去寻找操作系统的路径,找到了,然后启动操作系统

然后真正的操作系统接管ROM的工作

ROM+CMOS充当了临时操作系统

二.编程语言分类

1.机器语言(了解)

二进制 即0和1 直接和硬件交互

优点(相较于汇编语言):执行的效率高

缺点(相较于汇编语言):开发的效率低

2.汇编语言(了解)

直接和硬件交互

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

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

3.高级语言

1.同声传译(解释性)

如 python ,特点:说一句解释一句

写一行翻译一行翻译的内容不保存

优点(相较于编译性):开发的效率高

缺点(相较于编译性):执行的效率低

2.谷歌翻译(编译性)

如 c , java,把全部东西丢进去

把你写好的代码丢进去,编译出一个结果,结果还可以保存下一次使用

优点(相较于解释性):执行的效率高

缺点(相较于解释性):开发的效率低

三.网络瓶颈效应

以python为例 参考木桶效应

以后你会写应用程序,为什么现在不写单机游戏,而写网络游戏

什么造就了这一切,网络,网速就是那样一根短木板

瓶颈效应 :网络延迟让代码的执行效率变得毫无意义。这根短板就是网速

posted @ 2024-09-20 17:01  blueeeeeeeeeeee  阅读(23)  评论(0)    收藏  举报