一.计算机硬件组成与工作原理
1.python是一门编程语言,什么是编程语言?
人为何要跟计算机沟通
人为了奴役计算机
银行行长-----------------------------员工
接收用户输入的账号
接收用户输入的密码
判断输入的账号 等于正确的账号 并且输入的密码等于正确的密码 验证成功
告诉用户登录成功
否则:
告诉用户账号或密码错误
程序员-----------------------------------计算机
用编程语言翻译上述逻辑
2.什么是编程
编程就是把做事的步骤/业务逻辑给翻译下来
注意:
先想好业务逻辑
在翻译/编程
3.什么是程序(*****)
代码应该写到文件中,存放有程序代码的文件就是程序,或者叫软件
程序员--------------编程语言---------------------计算机
4.计算机硬件(*****)
原则:所有的计算机硬件都是在模仿人的某一功能或器官
CPU:负责数学运算与逻辑运算,执行指令=========================人脑
内存:负责临时记忆数据===========================================================人脑的记忆功能
优点:存取IO速度快
缺点:断电数据丢失
硬盘:负责永久记忆数据========================================================小本本
优点:永久保存数据,断电数据不丢失
缺点:存取IO速度都慢
输入设备:键盘 鼠标
输出设备:显示器,打印机
程序的运行与三大核心硬件的关系:(*****)
程序最先是存放硬盘中的
程序的运行是先把程序的代码从硬盘读入内存,然后CPU从内存读取指令然后运行。
5、IO问题与程序优化思路
1.读
能从内存读就不要从硬盘读
如果原始的数据就是存放于硬盘中的,并且该数据经常被用到,那么我需要把硬盘中的
数据先读入到内存中==》缓存
2.写
在内存攒一大波,然后一次性写入硬盘
8bit=1Byte
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
6 X86指的是CPU的型号(*****)
7.cpu的两种工作状态
内核态:所有指令集都可以使用
用户态:只能使用运算相关操作的指令集
特点:应用程序的运行必然涉及到计算机硬件的操作,那就必须由用户态切换到内核态下才能实现,他们在CPU内频繁的切换。
二、计算机硬件基础知识普及(***)
1.存储器
ROM=》内存:存放BIOS
CMOS=》‘硬盘’:断电数据丢失,但是耗电量极低
用来运行BIOS程序
CPU
ROM
COMS
2.硬盘详解
磁道
扇区
柱面
7200转/60s
120转/s
转一圈花费:8ms
平均延迟时间:4ms
平均寻道时间:5ms
三、操作系统
1.什么是操作系统:
操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序。
平台=计算机硬件+操作系统
跨平台性
2.计算机体系的三层结构:(******)
应用程序/用户
操作系统(windows、mac、linux) 文件
计算机硬件(cpu、内存、硬盘) 硬盘
四、编程语言分类(***)
机器语言:直接用二进制指令编写程序
优点:运行效率高
缺点:
开发效率低
1、二进制指令太难记忆
2、实现一个简单功能都需要很多步才能完成
汇编语言:用英文标签取代二进制指令去编写程序
优点:
1、运行效率高,但肯定是低于机器语言
2、解决了机器语言二进制指令难记的问题
缺点:
1、开发效率仍然比较低
高级语言:用人类能理解的表达方式去编写程序,计算机无法直接理解,需要翻译才行,
按照翻译方式的不同,高级语言又分为
编译型C、Go: 翻译一次得到可执行的结果,下次直接拿着现成的结果运行就好,不需要再用编译器翻译了
翻译工具:编译器
解释型python、shell:每次执行程序都离不开解释器的翻译
翻译工具:解释器
执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
开发效率:机器语言<汇编语言<高级语言 (解释型>编译型)