计算机常识

什么是编程

  1. 什么是语言?

    中文,英语,日语,语言是拿来交流沟通的

  2. 编程语言:和计算机交流一种介质

什么是编程

表达自己的想法(实现一些东西)

编程:通过编程语言做一些事情,写一堆.py/.obj/.css文件

为什么要编程

编程的目的:取代劳动力,然后才帮人类完成一些具体的事情

计算机的组成

CPU(大脑)

电脑创立初控制器和运算器是分开的

控制器(控制)

控制硬件(运算器,存储器,输入设备,输出设备)

运算器(运算)

算术运算(1+1=2)+逻辑运算(今天下雨我就带伞)

存储器(记忆)

主存(脑子)

内存(内存4gb--》8gb),内存越大,同时能运行的程序越多

优点:速度快

缺点:容量小,断电即消失

外存(笔记本)

机械硬盘--》128gb固态硬盘

优点:容量非常大,永久存储

缺点:速度慢,

I/O设备(Input/Output设备)(网络并发延迟问题 )

输入设备(眼睛)

输入信息,键盘/鼠标/麦克风/u盘

输出设备(决策)

输出信息,显示屏/打印机/U盘

冯诺依曼机,图灵(提出计算机猜想)

计算机组成的补充

多核CPU

一个CPU相当于一个大脑,左手画圆右手画方(太简单可忽略时间差)

多核CPU--》计算机同时拥有多个CPU,同一时刻处理多件事情(多进程)

32位和64位

计算机如何存储图片:计算机只认识0(低电频和)1(高电频),图片本质就是一串0和1

鼠标点击--》低电频低电频低电频高电频低电频--》00010(化学材料特殊性展示,显示屏有寿命,化学材料消耗)

光盘--》凹0凸1刻印

32位--》计算机一次性能处理32个0和1

64位--》计算机一次性能处理64个0和1

32位和64位本质上是同一种东西

安装包是64位的(一次性给你64个0和1),计算机是32位的(一次性能接收32个0和1)

安装包是32位的,计算机是64位的(可兼容)

向下兼容性

机械硬盘工作原理

凹凸凹凸凹凸 010101

机械手臂

读取数据

磁道

存储数据

扇面(整个为磁面)

划分了磁道,多个扇面(扇区的最小单位通常为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
$$

固态硬盘

基于电容存储,(有电1无电0)成本高,数学的算法压缩文件

优点:不需要机械手臂;基于电存储

操作系统

如果只有刚刚说的五大组成刚刚说的五大组成,你要读取数据,只能自己滑动机械手臂

0.17个GB留给了一部分其他东西

什么是文件

存储信息的介质,操作系统提供给你的一个虚拟的概念,这个虚拟的概念可以用来存储信息,帮你滑动了机械手臂

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

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

操作系统有什么用

提供给我们一个一个接口,让我们不再关心硬件的复杂操作,让复杂操作简单化

应用程序的启动(以启动QQ为例)

  1. 双击qq--》让操作系统通知cpu(企鹅是操作系统提供给你的)(找到qq在硬盘的位置)
  2. cpu让内存去外存读取qq的数据,qq数据进入内存
  3. 启动qq

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

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

操作系统的启动(开机)

启动软件,首先启动操作系统找软件在硬盘上的位置,操作系统本质也是一个软件,启动操作系统也需要找到操作系统在硬盘中的位置(要找到就必须通过操作系统)

临时操作系统(ROM存储器)

计算机出厂的时候就写死了,他会去CMOS存储器上调用操作系统的路径,只负责寻找操作系统路径 ,

临时内存(CMOS存储器)

用电池供电,存储了操作系统的路径(未被写死,重装操作系统修改启动盘的位置,改的就是这个)存储了时间

  1. 开机,启动临时操作系统

  2. 临时操作系统去CMOS存储器上找到操作系统的路径

  3. 启动操作系统,临时操作系统关闭

编程语言分类

计算机只认识0和1

编码

0001--》a

0011--》b

0100--》c

0101--》d

0111--》+

00010011--》ab

机器语言

写0和1

000101110011--》(设备)--》低低低高

早期只有顶级科学解才能使用计算机

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

缺点:开发速度非常缓慢

print('hello')-->0010101100101001

汇编语言

add--》0111

add(a,b)--》(设备)--》0001101110011--》设备--》低低低高(高低压电频)

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

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

高级语言

a+b(解释型语言)--》(设备)--》a+b(高级语言/编译型语言)--》(设备)--》add,a,b(汇编语言,无括号)--》

(设备)--》000101110011(机器语言)--》(设备)--》低低低高(高低压电频)

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

类似于谷歌翻译,一次翻译所以代码为机器代码

# 这串代码表示:打印1+2的值
x=1
y=2
print(x+y)
'nick handsome
nice to meet you
good morning'
'0010010100100000110101010'
'''
010010100100000
运行
010010100100000
运行
010010100100000
运行
'''

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

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

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

类似同声传译,一次翻译一句,解释型语言的翻译器是通过编译型语言写出来的

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

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

网络瓶颈效应

编程--》完成具体的事情--》帮人类干活

写一个应用程序(一定要联网)

程序一定要通过网络通信

木桶效应

A人的枪打到B人的头

网络的瓶颈效应

网络的通信时间(1000s)远远大于程序的执行时间(1s)--》

程序的执行效率就没必要考虑了--》网络的应用程序(解释型语言)

操作系统(单机操作的程序)--》编译型语言

操作系统1G内存

微内核0.1G内存+0.1G网络通信10G放到服务器

原文地址:https://www.cnblogs.com/-406454833/p/11396765.html