day02

1.计算机基础之编程

什么是编程语言

  1. 什么是语言,中文,英语,日语,语言是拿来沟通交流的
  2. 编程语言: 和计算机交流的一种介质

什么是编程

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

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

为什么要编程

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

2.计算机的组成


CPU (大脑)

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

控制器(控制)

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

运算器(运算)

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

存储器(记忆)

主存(脑子)

内存(内存4gb--》8gb)

优点: 速度快

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

外存(笔记本)

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

优点:容量大,永久存储

缺点:速度慢

I/O设备(Input/Output设备)

输入设备(眼睛)

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

输出设备(决策)

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

冯诺依曼机-计算机


3.计算机组成的补充

多核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+0)/2 = 4.15ms
$$

平均寻找数据时间

$$
5+4.15 = 9.15ms
$$

固态硬盘

基于电容存储,数学的算法

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

《计算机组成原理》


4.操作系统

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

0.17个GB留给了一部分其他的操作系统

什么是文件

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

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

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

操作系统有什么用

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

应用程序的启动

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

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

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

操作系统的启动(开机)

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

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

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

临时内存(CMOS存储器)

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

  1. 开机,启动临时操作系统
  2. 临时操作系统区CMOS存储器上找到操作系统的路径
  3. 启动操作系统,临时操作系统关闭

5.编程语言分类

计算机只认识0和1

编码

0001 --》a

0011 --》b

0100 --》 c

0101 --》d

0111 --》 +

0001 0011 --》 ab

机器语言

写0和1

000101110011 a+b --》(设备) --》 低低低高

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

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

缺点:开发速度非常慢

汇编语言

add --》 0111

add(a,b)(汇编语言 )--》(设备) --》 000101110011(机器语言) --》(设备)--》低低低高(高低压电频)

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

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

高级语言

a+b(解释型语言) --》(设备)--》a+b(高级语言/编译型语言) --》(设备--翻译器)--》add, a, b (汇编语言)--》(设备)--》000101110011(机器语言) --》(设备)--》低低低高(高低压电频)

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

类似于谷歌翻译,一次性翻译所有代码位机器代码

# 这串代码表示:打印1+2的值
x = 1
y = 2
print(x + y)

'''
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
'''

'001001010010000011010101000100101001000001101010100010010100100000110101010'  --> 直接运行

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

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

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

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

# 这串代码表示:打印1+2的值
x = 1
y = 2
print(x + y)

'''
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
nick handsome
nice to meet you
good morninig
'''

'''
0000101010
运行
0101101001
运行
0101010101
运行
0000101010
运行
0101101001
运行
0101010101
运行报错
0000101010
运行
0101101001
运行
0101010101
运行
'''

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

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


6.网络瓶颈效应

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

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

程序一定要通过网络通信

木桶效应

A人的枪打到B人的头

网络的瓶颈效应

网络通信的时间(10ms)远远大于执行程序的时间(0.01ms)--》程序的执行效率没必要考虑了 --》 (网络的应用程序)解释型语言 --》 Python

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

物理学: 光谱

操作系统 1G内存

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

《计算机操作系统》

原文地址:https://www.cnblogs.com/maqiaobin/p/11394220.html