计算机基础

计算机基础

黄俊人

一、什么是编程

  1. 什么是编程语言:
    人与计算机交流的介质
  2. 什么是编程:
    用编程语言写出一个个文件,这堆文件会达到一个目的
  3. 编程有什么用:
    让计算机帮我们干活
    pkRvnbt.jpg

二、计算机组成原理

CPU中央处理器:

  1. 功能
    1. 帮我们控制四肢
    2. 运算+判断
  2. 控制器:
    • 控制构成计算机的一大堆废铜烂铁
  3. 运算器:
    • 逻辑运算+算术运算

存储器

  1. 内存
    • 人类:睡一觉就忘了
    • 计算机:断电即消失(缺点)、速度快(优点)
  2. 外存
    • 人类:永久保存
    • 计算机:永久保存(Ctrl+S→将文件由内存保存至外存)(优点)、速度慢(缺点)
  3. 吃饭的流程
    1. 判断自己饿不饿
    2. 点个外卖
    3. 能不能吃
    4. 吃完了
  4. 打开QQ的流程
    1. 双击QQ(找到QQ在外存的位置)(发送指令给CPU,让CPU帮我找到QQ在外存的位置)
    2. 运行(内存和外存二选一,内存)
    3. QQ启动了
    • 总结:内存或者外存的交互一定是CPU再控制协调(就好像人的四肢不能互相协调,只能是由大脑进行协调)

输入设备

  • 键盘、鼠标:输入内容、输入信息

输出设备

  • 屏幕、打印机:输出内容、输出信息

计算机的硬件

  • CPU、内存、外存、输入设备、输出设备
  • U盘:输入设备+输出设备(IO设备)

多核CPU

  • 同时完成多件事

x64

  • 下载文件时,一次性拿64位的0或1的二进制数(64位的电脑可以下载32位的文件/程序,但32位的电脑不能下载64位的文件)

总线

  • 连接电脑的各个组成部分
    pkWJ6l8.png

机械硬盘

  1. 机械手臂:读取数据
  2. 磁道:存取数据
  3. 扇区:划分磁道,一般划分的单位为512KB(多个扇区组成一个分盘)
  4. 平均寻道时间:由于工业水平的限制,一般为5ms
  5. 平均接卸硬盘寻找数据的时间=平均寻道时间+平均延迟时间=5+5.15=9.15ms(最少0ms能找到数据,最多1r才能找到,硬盘转速为7200r/min→120r/s,即1r=0.0083s=8.3ms,所以平均延迟时间为(8.3+0)/2=4.15)
    pkWJySf.png

存储器

  1. ROM存储器:在工厂就被编程完毕,不可修改,一般存放BIOS程序,充当临时操作系统,用于启动计算机、启动操作系统、处理底层设备的控制
  2. CMOS存储器:由电脑内置电池驱动供电,功能有1.保持时间与日期更新,及时计算机没有充电,时间也会更新2.存储启动磁盘的路径,用于启动计算机,启动操作系统

三、操作系统

  • 庄园例子中, 庄园主不屑于跟奴隶讲话,他会找一个管家传达命令 (操作系统就相当于管家,接受外部指令,控制硬件)
    pkRvnbt.jpg
  • 操作系统干了什么:
    1. 接受外部指令转化为0和1
    2. 翻译我写的字符,把对文件的操作从繁(控制高低压电平)到简(双击、敲键盘等),把一些对硬件的复杂操作简化成一个个接口(双击、快捷键等)eg:打开→双击、保存→Ctrl+S、复制→Ctrl+C
  • 为什么要有操作系统:
    • 如果我们要控制计算机→必须要有操作系统,不然就只能操作硬件,而CPU只认识0和1,即高低压电平
  • 计算机由什么组成
    1. 应用程序:便利生活,具体生活,完成具体任务
    2. 操作系统:接受外部指令,控制硬件。从繁(控制高低压电平)到简(双击、敲键盘等),和应用程序、人、硬件
    3. 硬件:存储、输出、输入数据--→操作数据
  • 应用程序的启动
    1. 双击
    2. 发送指令给操作系统
    3. 操作系统把这条指令转换成0和1发给CPU
    4. CPU把这条指令发给内存
    5. 内存从硬盘(外存)中调取程序的数据
    6. 程序被读入内存,启动程序
      • 注意:456步只是硬件间的交互,不涉及操作系统
  • 操作系统的启动
    1. 前提:启动操作系统相当于启动软件;若要启动软件就要经过操作系统(互相矛盾,所以需要一个临时操作系统)
    2. 按下开机键(相当于双击)
    3. ROM充当临时操作系统控制CPU
    4. ROM去CMOS寻找操作系统的路径,并启动操作系统
    5. 真正操作系统接管ROM的工作
      • 注意:34步不作详细了解,只需知ROM和CMOS共同充当了临时操作系统

四、编程语言

机器语言(了解)

  • 指的是0和1,这就是编程语言
  • 优点:执行代码效率很快
  • 缺点:开发效率低

汇编语言(了解)

  • 通过写英文字符的形式代替了0和1,但还是直接与硬件交互(了解)
  • 优点(相比于机器语言):开发效率高
  • 缺点:执行效率低

高级语言

  • 直接用人能理解的语言和语法风格编写程序,但需要翻译器进行翻译
  • 优点(相比于汇编语言):开发效率高
  • 缺点:执行效率低
同声传译(解释性)

pkWIy9I.png

  • 说一句解释一句,每次翻译都需要解释,如Python、JavaScript
  • 缺点(较编译型):执行效率低(我滴个乖乖,写一次翻译一次)
  • 优点(较编译型):开发效率高(写一行 翻译一行,错了马上就知道,妈妈再也不用担心我找不到bug了)
谷歌翻译(编译型)

pkWI63t.png

  • 把要翻译的代码全部放进去,一次翻译,下次使用直接使用上一次翻译好的结果,一次编译,多次执行,如C/C++、Java
  • 优点(较解释型):执行效率高(有解释器省去很多翻译的过程)
  • 缺点(较解释型):开发效率低(写完所有的代码才能检查bug,得多恐怖呀???)

瓶颈效应

  • 网络延迟让代码的执行效率变得毫无意义,短板:网速
posted @ 2024-07-10 09:33  jayyy798  阅读(8)  评论(0编辑  收藏  举报