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


    我的第二篇博客(计算机组成和操作系统以及编程语言)

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

    冯诺依曼

    1.存储器:内存,外存

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

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

    外存:

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

    机械硬盘:(机械手臂、磁道、扇面3部分)靠机械手臂在磁道上存储数据,查询数据。机械硬盘上有扇面,其划分了磁道,多个扇面组成电脑中的一个盘(区),如C盘,D盘。 一个扇面是512kb,计算机一次性从机械硬盘上读取512kb数据)其实就是一个盘(区

    平均寻道时间:由于工业水平限制,为5ms。(机械手臂抬起或放下的时间)

    平均延迟时间:如一个7200r/min的机械硬盘。(机械手臂在磁道上划半圈的时间)

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

    平均寻找数据时间:

    [5+4.15=9.15ms ]

    二、操作系统

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

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

    分为32位操作系统和64位操作系统。
    32位即能一次接收32个0和1的组合数据,64位即能一次接收64个0和1的组合数据。它们向下兼容。

    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.编译型语言(通过设备翻译形式)如:C/C++/Java/Go

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

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

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

    5.解释型语言(通过设备的翻译形式)如:Python/JavaSript/PHP/R

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

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

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

    6、TIOBE编程语言排行

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

    人工智能

    四、网络瓶颈效应

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

    1.木桶效应

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

    2.网络的瓶颈

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

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

  • 相关阅读:
    mtd-utils 工具的使用
    nand flash坏块管理OOB,BBT,ECC
    Ubifs Support
    linux 关闭显示器命令
    玩转shell之符号篇
    shell中的cut命令
    【详解】如何编写Linux下Nand_Flash驱动_v1.2
    Nand 的几个名词:oob,bbt,ecc
    mtd-utils 及 ubi-utils 交叉编译
    UBIFS分区制作及UBIFS烧写和启动
  • 原文地址:https://www.cnblogs.com/Mcoming/p/11395018.html
Copyright © 2020-2023  润新知