第一篇 计算机介绍&python简介

计算机简介

   1、计算机硬件组成
1.1 一个程序的运行与三大核心硬件(cpu、内存、硬盘)的关系 (*****)


2、操作系统
2.1 计算机体系的三层结构 (*****)
2.2 平台与跨平台的概念 (*****)


3、扫盲(***)
cpu相关(x86-64代表的意义)
存储器相关(IO问题)
操作系统启动流程

python是一门编程语言
什么是编程语言?什么语言?为什么要有编程语言?
编程语言的本质就是一门语言
语言就是一种事物与另外一种事物沟通的表达方式/工具


人--------------人类的语言------------>奴隶
人--------------编程语言------------->计算机


什么编程?为什么要编程?
编程就是人把自己想计算机做的事,也就是自己的思维逻辑,用编程语言表达出来
编程的目的就是让计算机按照人类的思维逻辑去工作,从而解放人力


二:计算机基础
1. 什么是计算机
计算机俗称“电脑”,包含人对计算机的终极期望,能够真的像人脑一样去工作

2、为何要有计算机
为了执行人类的程序,从而把人类解放出来

大前提:计算机所有的组成都是模仿人的某一功能或器官

3、计算机的组成
控制器:
作用:是计算机的指挥系统,负责控制计算机所有其他组件如何工作的
类比:控制器=》人类的大脑

运算器:
作用:运算包括数学运算与逻辑运算
类比:运算=》人类的大脑

控制器+运算器=》cpu===》人类的大脑

存储器/IO设备
作用:是计算机的记忆功能,负责数据的存取
分类:
内存(基于电工作):存取数据都快,断电数据丢失,只能临时存取数据
外存(硬盘,基于磁工作):存取速度都慢,断电数据也不丢,可以永久保存数据

类比:
内存===》人类的大脑的记忆功能
外存===》人的笔记本

输入设备input
如键盘、鼠标
输出设备output
如显示器、打印机


4、一个程序的运行与三大核心硬件的关系
人--------------编程语言------------->计算机
程序如下:
1、去包子店
2、付钱
3、把包子送回来

总结:
程序最先是存放于硬盘之上
程序的运行一定事先把程序的代码加载到内存
然后cpu从内存中读取指令执行


三:操作系统
1、引入
用户/应用程序(暴风影音、腾讯qq、快播、哇嘎)
操作系统:控制程序(windows、linux)
计算机硬件

2、操作系统概念
操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序
作用:
1、控制计算机硬件的基本运行
2、把使用硬件的复杂操作封装成简单的功能,给上层的应用程序使用

例如:文件就是操作系统提供给应用程序/用户操作硬盘的一种功能


3、程序的区分
计算机硬件是死的,计算机硬件的运行都受软件控制,所以说,软件相当于计算机的灵魂
具体来说软件分为两种:
1、应用软件:应用程序相关逻辑
2、系统软件:控制底层硬件的


4、计算机系统三层结构
应用程序
操作系统
计算机硬件


5、平台
计算机硬件+操作系统=》平台

软件的跨平台性指的是:一款软件可以任意平台上运行,是衡量软件质量高低的一个非常重要的指标


question
1、什么是编程语言?什么是语言?为何要用编程语言?
2、计算机的世界里有几种角色
3、简述计算机五大组成部分的功能,以及与人的对应关系
4、软件的运行与三大核心硬件的关系
5、一个完整的计算机系统的三层结构是什么?简述三者的关系
6、什么是平台?什么是跨平台

1、计算机硬件
(运算器,控制器)=》CPU
负责运行人类程序的硬件是cpu

存储器
内存:存取速度都快,基于电工作的,断电数据就丢失,不能永久保存数据=========》人脑的记忆功能
外存(磁盘):存取速度都慢,基于磁工作的,断电数据不丢失,可以永久保存数据===》人的笔记本
输入设备
键盘
输出设备
显示器

2、看图总结:https://images2018.cnblogs.com/blog/1036857/201803/1036857-20180314171523158-1421724255.png

                                        



2.1、cpu存取的数据和指令都来自于内存
2.2、内存称之为主存
主存储器内的数据则是从输入单元所传输进来!而CPU处理完毕的数据也必须先写回主存储器中,最后数据才从主存储器传输到输出单元。

3、三大核心硬件
程序最先是存放于硬盘中的
程序的运行一定是先把程序的代码由硬盘加载到内存
然后cpu从内存中取出指令运行


4、什么是操作系统?为啥要有操作系统?
4.1、操作系统是一个协调、管理、控制计算机硬件资源与应用软件资源的控制程序
它位于计算机硬件与应用软件之间,起承上启下的作用

4.2 操作的系统意义
I:控制计算机硬件的基本运行
II:将硬件操作的复杂细节封装成简单的接口来提供给应用程序或用户使用


5、计算机体系的三层结构
应用程序、用户
操作系统
计算机硬件

6、平台与跨平台
平台具体指的是应用程序的运行平台,或者说用户的使用平台
平台=操作系统+计算机硬件


内容:
   day01:计算机基础知识想详解
      1、cpu详解
         cpu的分类与指令集
         x86-64(*****)
         内核态与用户态(*****)
         多线程与多核芯片
      2、存储器
         RAM
         ROM
         CMOS

         磁盘的结构
         IO延迟(*****)
         虚拟内存

         IO设备=设备的控制+设备本身

      3、总线

      4、操作系统的启动流程(*****)

   day02:python入门(全为重点)
      1、编程语言介绍
         编程语言分类,总结

      2、python介绍

      3、解释器多版本共存

      4、运行python程序的两种方式

      5、一个python程序的运行的三个步骤(******6、注释

      7、IDE集成开发环境

   day03:变量与基本数据类型(全为重点)
      1、变量
         变量的基本使用
         变量的三大组成部分
         变量名命名规范
         变量名命名风格
         变量值的三个特征
            id
            type
            值

         is与==
         小整数池(了解)

         垃圾回收机制之引用计数    

         常量


      2、基本数据类型
         数字类型:intfloat
         字符串类型
         列表类型
         字典

   day04:(全为重点)
      1、垃圾回收机制详解(****)
         引用计数
         标记清除
         分代回收

      2、与用户交互
         接收用户输入
         格式化输出

      3、基本运算符
         算数运算符
         赋值运算符
         比较运算符
         逻辑运算符
         成员运算符
         身份运算符

      3、流程控制之if判断
         if 条件:
            代码块
         elif 条件:
            代码块
         。。。
         else:
            代码块
   day05:(全为重点)
      1、流程控制之while循环
         while循环的基本使用
         死循环与效率问题
         while循环嵌套
         退出while循环的两种方式
            条件改为False
            while+break

         while+continue
         while+else


      2、流程控制之for循环
         for循环的基本使用
         for循环嵌套
         for+break
         for+continue
         for+else
View Code
   day01:计算机基础知识想详解
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从内存中读取刚刚读入内存的应用程序的代码执行,应用程序完成启动


计算机question:
1、我们为何将内存称之为主存
2、x86-64代表的含义?简述cpu的向下兼容性
3、内核态与用户态代表的含义是什么?在什么情况下会发生用户态与内核态的切换
4、什么是IO延迟时间?
5、操作系统的启动流程
6、应用程序的启动流程

主存:软件运行起来以后,产生的所有的数据都优先存储于内存

cpu
寄存器
高速缓存
内存
硬盘(机械硬盘)


操作系统
驱动程序
设备控制器
设备本身

cpu cpu
ROM:BIOS RAM
CMOS:存放BIOS程序产生的数据 本地硬盘


应用程序
操作系统
硬件


人========编程语言=======》计算机
人类的程序 ----- 01010101010
print('Hello')


编译型------》Gcc编译器--------》机器语言
解释型------》解释器(解释一行执行一行)

今日内容:python入门(全为重点)
1、编程语言介绍
分类:
机器语言
汇编语言
高级语言(编译型、解释型号)

总结:
#1、执行效率:机器语言>汇编语言>高级语言(编译型>解释型)

#2、开发效率:机器语言<汇编语言<高级语言(编译型<解释型)

#3、跨平台性:解释型具有极强的跨平台型



2、python介绍
python语言:指的是pyton的语法风格
python解释器:专门用来识别python这门语言的语法并解释执行的

3、解释器多版本共存
设置环境变量
windows
win10:。。。
win7:C:python27;C:python27scripts;C:a;D:a;E:a

linux:
vim /etc/profile
PATH=$PATH:/usr/local/python38:/usr/local/python38
export PATH

mac:
同linux

4、运行python程序的两种方式
1、交互式
即时得到程序的运行结果,多用于调试
2、脚本的方式
把程序写到文件里(约定俗称文件名后缀为.py),然后用python解释器解释执行其中的内容

python3.8 python程序文件的路径


5、一个python应用程序的运行的三个步骤(******)
python3.8 C:ac.py 执行python程序经历三个步骤
1、先启动python3.8解释器,此时相当于启动了一个文本编辑器
2、解释器会发送系统调用,把c.py的内容从硬盘读入内存,此时c.py中的内容
全部为普通字符,没有任何语法意义
3、解释器开始解释执行刚刚读入内存的c.py的代码,开始识别python语法

对比文本编辑器读取C:ac.py文件内容也经历了三个步骤
1、先启动文本编辑器
2、文本编辑器会发送系统调用,把c.py的内容从硬盘读入内存
3、文本编辑会将刚刚读入内存的内容控制输出到屏幕上,让用户看到结果


总结:
二者在前两个阶段做的事情完全一致
唯一不同的就是第三个阶段对读入内存的python代码的处理方式不同
6、注释
1、注释是对关键代码的解释说明
单行注释:#
# 这是一行xxx的代码
print("hello") # 这是一行xxx的代码

多行注释:'''''' """"""
"""
笔记
"""
2、被注释的代码不会被执行
7、IDE集成开发环境pycharm
mac平台pycharm使用参考视频讲解
windows平台pycharm使用参考博客https://zhuanlan.zhihu.com/p/108676916
windows平台下相关配置
选择pycharm对话框左上角File,然后点击settings,接下来的配置同mac平台


作者:华王 博客:https://www.cnblogs.com/huahuawang/
原文地址:https://www.cnblogs.com/huahuawang/p/14724328.html