计算机基础知识

计算机的本质

	计算机也称之为"电脑">>>:通电的大脑
	计算机的工作肯定离不开电 电信号只有高低电平两种状态(0和1)
	计算机其实只认识数字0和1(二进制)
		进制数
			二进制: 0 1
			八进制: 0 1 2 3 4 5 6 7
			十进制: 0 1 2 3 4 5 6 7 8 9
			十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e f
		通过二进制位的长短来记录各式各样的数据
			比特位(bit)    1bit   
			8bit = 1bytes  字节
			1024bytes = 1KB 
			1024KB = 1MB
			1024MB = 1GB
			1024GB = 1TB
	
	# 补充:文件后缀名的作用
		仅仅是给人看的    

计算机的五大组成部分

	五大组成部分概要
	1.控制器
		类似于人的大脑 控制计算机各个硬件的工作
        控制计算机各个硬件的工作
	2.运算器
		类似于人的大脑 数学运算、逻辑运算
        数学运算、逻辑运算
		控制器+运算器=CPU(中央处理器) 
	3.存储器
		类似于人的记忆 短期记忆、长期记忆
        存储数据
		内存:基于电工作 存取数据的速度快 但是断电数据立刻丢失
      		类似于人的短期记忆
		外存:不基于电工作 存储数据的速度较内存慢 但是可以永久保存数据
        	类似于人的长期记忆
			 eg:U盘 磁盘 磁带 硬盘 固态
	4.输入设备
		类似于人的眼睛 接收外界信息
        eg:鼠标 键盘 触摸屏
	5.输出设备
		类似于人的嘴巴 给外界传递信息
        eg:显示屏 打印机 音响

image

计算机的三大核心硬件

1.CPU
	计算机中真正干活的人(程序要想运行起来必须要有CPU参与)
    控制器+运算器= cpu 
2.内存
	存取数据的速度极快 主要与CPU配合使用
3.硬盘
	能够长久保存数据 

4.内存的容量一般比硬盘小的多得多
	硬件水平跟不上 
    	4GB 8GB 16GB 32GB 64GB 128GB 256GB
5.为什么不直接砍掉内存 让CPU跟硬件交互 
	CPU的运行速度非常的快(1000) 但是硬盘的运行速度非常的慢(1)
	内存的速度比硬盘快很多 可以跟CPU搭配干活 提升CPU运行效率
6.只要是运行的程序 产生的数据第一时间肯定在内存
	以前的文本编辑器使用过程中如果突然断电数据会立刻丢失
 	现在的文本编辑器不会出现这种情况的原因是内部自动执行保存操作
    	保存>>>:将内存中的数据刷到硬盘
    扩展:自动保存机制有两种方式
      	方式1:实时检测文档变化 一旦有变化就保存
       方式2:循环定时任务 每隔一段时间保存一次

image

操作系统

"""
控制 协调 管理计算机各个硬件的工作
"""
程序员ABC都需要开发一个播放视频的软件
	程序员A开发快播
 		 得先编写操作计算机各个硬件的代码
       再编写快播的核心功能
	程序员B开发迅雷
  		 得先编写操作计算机各个硬件的代码
       再编写迅雷的核心功能
	程序员C开发暴风影音
    	 得先编写操作计算机各个硬件的代码
      	再编写暴风影音核心功能
由于计算机各个硬件几乎一致 所以操作计算机各个硬件的代码也几乎相同
为了避免重复造轮子 有个人站出来说这个活它来干!!!
	微软>>>:windows
   
我们现在所使用的应用程序都必须依赖于操作系统之上才可以运行
	所以我在拿到一台计算机之后第一件事就是按照操作系统
 
PC端常见操作系统
	windows、macOS、linux
移动端常见操作系统
	安卓、IOS、鸿蒙

image

编程与编程语言

"""
课外了解:计算机的发展史
"""
1.机器语言
	程序员是直接使用二进制与计算机沟通交流
		优势:计算机能够直接读懂 执行效率高
    	劣势:学习难度太大 开发效率极低 门槛太高
2.汇编语言
	用一些英语字母来表示一串二进制数
       优势:学习难度有所降低 开发效率有所提高 
       劣势:门槛还是太高 
3.高级语言 
	用人类能够读懂的字符与计算机沟通交流
    	优势:学习难度低 开发效率高 门槛低
    	劣势:执行速度没有上述两个语言快
常见高级语言:C++、Java、PHP、python、Golang
 	种类虽然多但是万变不离其宗 底层原理几乎一致
    掌握了一门学习其他的会非常的快

image

编程语言的分类

高级语言都需要经过翻译之后才能被计算机识别并执行
1.编译型语言		C++
	类似于谷歌翻译(一次性翻译) 翻译之后可以反复使用翻译的结果
 		优势:一次翻译可以反复使用 执行效率高 速度快
  		劣势:当程序中频繁出现bug 那么需要反复编译 
2.解释型语言    python
	类似于同声传译(说一句翻一句) 
    	优势:有bug和没有bug执行效率几乎一样
    	劣势:速度没有编译型语言快
'''要想让计算机能够识别并运行高级语言需要对应类型的翻译官'''

pyhon发展方向

	web方向
    自动化运维
    自动化测试
    自动化办公
    网络爬虫
    金融量化
    人工智能
    机器学习
    数据分析