day02

1.计算机基础之编程

什么是编程语言

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

什么是编程

表达本身的想法(实现一些东西)python

编程:经过编程语言作一些事情,写一堆.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放到服务器

《计算机操做系统》

相关文章
相关标签/搜索