一.python是一门编程语言
1.什么是编程语言?什么是语言?为什么要有编程语言?
编程语言的本质就是一门语言
语言就是一种事物与另一种事物进行沟通的媒介(表达方式/工具)
古代: 人-------人类语言-------->奴隶
现代: 人-------编程语言-------->计算机
2.什么是编程?为什么要编程?
编程就是人把自己想让计算机做的事,也就是自己的逻辑思维,用编程语言表达出来
编程的目的:让计算机按照人类的思维逻辑去工作,从而解放人力
二.计算机基础
1.什么是计算机
计算机俗称"电脑",即通电的大脑,包含人对计算机的终极期望,能够真的像人一样去工作
2.为什么要有计算机
为了执行人类的程序,从而把人类解放出来
大前提:计算机所有的组成都是模仿人的某一功能或器官
3.计算机的五大组成
控制器
作用:是计算机的指挥系统,负责控制计算机所有其他组件如何工作的
类比:人类的大脑
运算器
作用:运算包括数学运算与逻辑运算
类比:人类的大脑
存储器
作用:是计算机的记忆功能,负责数据的存取
分类:
内存(基于电工作):存取数据快,断电数据丢失,只能临时存取数据
外存(硬盘,基于磁工作):存取速度慢,断电数据不会丢失,可以永久保存数据
类比:
内存--->人类的大脑记忆功能
外存--->人类的笔记本
输入设备input
如键盘/鼠标
输出设备output
如显示器/打印机
4、一个程序的运行与三大核心硬件的关系
人--------------编程语言------------->计算机
程序如下:
1、去包子店
2、付钱
3、把包子送回来
总结:
程序最先是存放于硬盘之上
程序的运行一定事先把程序的代码加载到内存
然后cpu从内存中读取指令执行
三:操作系统
1、引入
用户/应用程序(暴风影音、腾讯qq、快播、哇嘎)
操作系统:控制程序(windows、linux)
计算机硬件
2、操作系统概念
操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序
作用:
1、控制计算机硬件的基本运行
2、把使用硬件的复杂操作封装成简单的功能,给上层的应用程序使用
例如:文件就是操作系统提供给应用程序/用户操作硬盘的一种功能
3、程序的区分
计算机硬件是死的,计算机硬件的运行都受软件控制,所以说,软件相当于计算机的灵魂
具体来说软件分为两种:
1、应用软件:应用程序相关逻辑
2、系统软件:控制底层硬件的
4、计算机系统三层结构
应用程序
操作系统
计算机硬件
5、平台
计算机硬件+操作系统=》平台
软件的跨平台性指的是:一款软件可以任意平台上运行,是衡量软件质量高低的一个非常重要的指标
四.计算机基础知识想详解
1、cpu详解
cpu的分类与指令集
x86-64(*****)
cpu具有向下兼容性
64的cpu既能运行32位的程序也能运行64位的程序
内核态与用户态(*****)
代表cpu的两种工作状态
1、内核态:运行的程序是操作系统,可以操作计算机硬件
2、用户态:运行的程序是应用程序,不能操作计算机硬件
内核态与用户态的转换
应用程序的运行必然涉及到计算机硬件的操作,那就必须有用户态切换到
内核态下才能实现,所以计算机工作时在频繁发生内核态与用户态的转换
多线程与多核芯片
2核4线程:
2核代表有两个cpu,4线程指的是每个cpu都有两个线程=》假4核
4核8线程
4核代表有4个cpu,8线程指的是每个cpu都有两个线程=》假8核
2、存储器
RAM:内存
ROM:“只读内存”
存放计算机厂商写死计算机上的一段核心程序=》BIOS
CMOS:存取速度慢,断电数据丢失,耗电量极低
硬盘:
机械硬盘:磁盘
磁道:一圈数据,对应着一串二进制(1bit代表一个二进制位)
8bit比特位=1Bytes字节
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
200G=200*1000*1000B
扇区:
一个扇区通过为512Bytes
站在硬盘的解读,一次性读写数据的最小单为为扇区
操作系统一次性读写的单位是一个block块=》8扇区的大小=4096Bytes
柱面
固态硬盘
IO延迟(*****)
7200转/min
120转/s
1/120转/s=转一圈需要花费8ms
平均寻道时间:机械手臂转到数据所在磁道需要花费的时间,受限于物理工艺水平,目前机械硬盘可以达到的是5ms
平均延迟时间:转半圈需要花费4ms,受限于硬盘的转速
IO延迟=平均寻道时间+平均延迟时间
优化程序运行效率的一个核心法则:能从内存取数据,就不要从硬盘取
虚拟内存
IO设备=设备的控制+设备本身
3、总线
4、操作系统的启动流程(*****)
BIOS介绍:
BIOS:Basic Input Output System
BIOS被写入ROM设备
裸机:
cpu
ROM:充当内存,存放BIOS系统
CMOS:充当硬盘
操作系统的启动流程(*****)
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核
BIOS
1、存有win10系统的光盘、u盘、移动硬盘:无密码
2、本地硬盘上的win7系统:密码
应用程序的启动流程(*****)
1、双击exe快捷方式--》exe文件的绝对路径,就是在告诉操作系统
说:我有一个应用程序要执行,应用程序的文件路径是(exe文件的绝对路径)
2、操作系统会根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存
3、然后控制cpu从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动