python-电脑结构、网络基础、单位转换
目录
一.计算机五大部件
电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备、输出设备、存储器、运算器和控制器。

我们把键盘和鼠标叫输入设备。
输入设备: 向电脑输入数据和信息的设备。除了键盘。除了键盘鼠标,其他输入设备还包括触摸板、麦克风、摄像头,游戏手柄、扫描仪等。
显示器用来向我们展示画面,显示内容,音箱则播放音乐给我们听,我们管他们叫输出设备。
输出设备: 将电脑中的信息输出给用户的设备。常用的输入设备有:显示器、音箱、打印机、投影仪等。
主板:连接所有其他设备的设备,是其他设备的载体,主板主要是为CPU、内存、显卡、硬盘等提供平台,相当于人体的躯干,关联着各个器官。
CPU:中央处理单元(Cntral Pocessing Uit)的缩写,也叫处理器,是计算机的运算核心和控制核心。人靠大脑思考,电脑靠CPU来运算、控制。让电脑的各个部件顺利工作,起到协调和控制作用。
硬盘:存储资料和软件等数据的设备,有容量大,断电数据不丢失的特点。也被人们称之为“数据仓库”。
内存:1. 负责硬盘等硬件上的数据与CPU之间数据交换处理;2. 缓存系统中的临时数据。3. 断电后数据丢失。
显卡:显示器想要呈现画面,显卡是关键。简单来说,就是负责在显示屏上显示一切信息。打个比方,它就像是人的眼睛,没有了它,电脑就无法驱动形成图像了。显卡性能好,电脑的图形处理能力就高,尤其在玩游戏时更能发现这个(所以很多游戏会要求显卡性能)。对玩家而言,最好选择独立显卡。不过,如果不玩大型游戏,CPU内置核心显卡也基本能满足要求。缺点: 系统功耗有所加大,发热量也较大,额外购买。
电源:将电压220伏的市电转换为低等电压,然后送到主板及各个硬件!供电!电脑运行需要电力,而电源就是为此供电的,也可以说它在为电脑提供一切动力。电源决定了电脑的稳定性。它和人体心脏功能类似,都是提供动力的核心。
CPU:是计算机的运算核心和控制核心,让电脑的各个部件顺利工作,起到协调和控制作用。
硬盘:存储资料和软件等数据的设备,有容量大,断电数据不丢失的特点。也被人们称之为“数据仓库”。
内存:1. 负责硬盘等硬件上的数据与CPU之间数据交换处理;2. 缓存系统中的临时数据。3. 断电后数据丢失。
二.程序是如何执行起来的?
当我们在电脑上打开QQ时(右键-打开 或者双击QQ图标),其实是通过鼠标(输入设备)向CPU发送了一条命令,CPU接收到这条命令后,QQ程序就从硬盘里被加载到内存(加载时不通过处理器,直接从硬盘加载程序到内存里),加载完成后,CPU就开始执行QQ程序。程序执行起来后,CPU可以让QQ程序显示在我们的在显示器上。也就是你看到了QQ 程序运行起来了。如果这个时候,你用QQ截取了一张屏幕的图片,那么这张图片会首先保存到内存,在没有退出截屏状态时,你可以在这张图片上写字、画线条,等你右键保存这张图片的时候,这张图片就会保存到硬盘里。
内存存取数据的速度比硬盘的存取速度快了10倍, 在某些环境里,硬盘和内存之间的速度差距可能会更大。
而CPU的速度比内存不知还要快多少倍。当我们把程序从硬盘放到内存以后,CPU就直接在内存运行程序,这样比CPU直接在硬盘运行程序就要快很多。
内存解决了一部分CPU运行过快,而硬盘数据存取太慢的问题。 提高了我们的电脑的运行速度。
内存就如同一条“高速车道”一般,数据由传输速度较慢的硬盘通过这条高速车道传送至CPU进行处理!
但内存是带电存储的(一旦断电数据就会消失),而且容量有限,所以要长时间储存程序或数据就需要使用硬盘。
三者之间的关系:
简单来说,硬盘用来存储我们的程序和数据,当我们运行程序的时候,CPU首先接受到我们的命令,之后CPU是告诉硬盘,我要运行你存储的程序A,你把程序A送到内存去。CPU对内存说,我让硬盘把程序A送到你这里来了,你保存一下。 等程序A被完整的送到内存之后。CPU就开始执行程序A。
过程就像上面说的,我们在举一个接近我们生活的例子。
如果说把硬盘比喻成一个大仓库,CPU比喻成加工车间,那么内存就是一个临时的小仓库。从距离上来说, 相比内存到CPU的距离和硬盘到内存的距离,内存和CPU的距离更短。
硬盘(大仓库)用来保存车间需要用的原料和最终生产出来的商品。仓库太大,取出原料和存储商品太慢,耗时间。
内存(临时小仓库):原料会先放到这里,小仓库,可以很快的找到需要的原料或商品。
CPU(车间):从内存(小仓库)里拿到原料,生产商品。中间会有半成品,半成品可以放在内存(小仓库)里。

第一大点和第二大点这些知识是 有规则的,客观的文字表述,所以以上笔记从博客中摘抄下来。
(原博客地址:https://www.cnblogs.com/resn/p/5766142.html)
三.Arp协议
发包分三步:
1.计算是否在同一个广播域
2.利用arp协议获取mac地址
3.发包

1.如果在同一个广播域:
例如pc1要向pc3发包,流程如下:
(1.首先计算pc1和pc3在同一个广播域(利用ip进行计算)
(2.arp协议获取pc3的mac地址
格式:原mac 目标mac 原ip 目标ip
具体:pc1mac FF:FF:FF:FF:FF:FF 192.168.11.10 192.168.11.11
(在同一个广播域所有机器都可以收到这个数据包,然后开始解包,发现ip地址不是自己的就丢弃,发现ip是自己的就返回自己的mac地址)
返回格式:自己的mac 目标mac 自己的ip 目标ip
具体:pc3mac pc1mac 192.168.11.11 192.168.11.10
这样pc1就受到了pc3的mac地址
(3.开始发包
发包格式:原mac 目标mac 原ip 目标ip 数据部分
具体:pc1mac pc3mac 192.168.11.10 192.168.11.11 数据
2.如果不在同一个广播域:
例如pc1要向pc4发包,流程如下:
(1.首先计算pc1和pc3不在同一个广播域
(2.arp协议获取pc1所在广播域的网关1的mac地址
格式:自己的mac 目标mac 自己的ip 目标ip
具体:pc1mac 网关1mac 192.168.11.10 网关ip
网关1解包发现是要自己的mac地址后,网关就会响应,把自己的mac地址返回给pc1
返回格式:网关1的mac 目标mac 网关1的ip 目标ip
具体:网关1mac pc1mac 网关1ip 192.168.11.10
Pc1获取到网关1mac地址后开始发包
(3.pc1开始给pc4发包:
发包格式:原mac 目标mac 原ip 目标ip 数据部分
具体:pc1mac 网关1mac 192.168.11.10 172.16.45.10 数据
Pc4返回数据流程一样,这里不做赘述。
四.单位转换:
1GB=1024MB
1MB=1024KB
1KB=1024B (Byte == 字节,简写B)
1B=8b (bit == 二进制位,计算机数据最小的单位,简写b)
python-电脑结构、网络基础、单位转换的更多相关文章
- Python进程间通信和网络基础
Python进程间通信和网络基础 Python支持多种进程间通讯的方式, 有单机通信的signal和mmap等, 也有可以通过网络的socket方式, 这里先介绍select等的有关知识, socke ...
- Python服务器开发 -- 网络基础
Python服务器开发 -- 网络基础 网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.... 网络由下 ...
- python之路——网络基础
你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据,你要怎么做 ...
- Python学习笔记(Ⅰ)——Python程序结构与基础语法
作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...
- Python服务器开发 -- 网络基础-乾颐堂
网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip ...
- python之路-网络基础
1.什么是网络: 通过网络设备将各个设备连接在一起,使用协议让设备之间可以通信,共享资源,这些组成了一个网络. 2.osi七层模式: 国际标准化组织(ISO)创建OSI(开放系统互联)参考模型,希望不 ...
- python学习之网络基础
七 网络编程 7.1 C/S B/S架构 7.1.1 认识 Client : 客户端 Browser :浏览器 Server :服务器端 C/S:客户端与服务器之间的构架 B/S:浏览器与服务器之间的 ...
- Python网络编程之网络基础
Python网络编程之网络基础 目录 Python网络编程之网络基础 1. 计算机网络发展 1.1. OSI七层模型 1.2. 七层模型传输数据过程 2. TCP/IP协议栈 2.1 TCP/IP和O ...
- python基础(29):网络编程(软件开发架构、网络基础、套接字初使用)
1. 软件开发架构 我们了解的程序之间通讯的应用可分为两种: 第一种是应用类:qq.微信.百度网盘.腾讯视频这一类是属于需要安装的桌面应用. 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就 ...
随机推荐
- Spring依赖注入浅析
1. 概念理解 依赖注入 谁注入谁? 依赖对象注入IoC容器. 控制反转 谁控制谁?控制什么? IoC容器控制对象,控制依赖对象的创建与注入. 为什么称为反转?创建.注入对象的控制权由程序员的主观意愿 ...
- C++ 并发编程之互斥锁和条件变量的性能比较
介绍 本文以最简单生产者消费者模型,通过运行程序,观察该进程的cpu使用率,来对比使用互斥锁 和 互斥锁+条件变量的性能比较. 本例子的生产者消费者模型,1个生产者,5个消费者. 生产者线程往队列里放 ...
- SqlServer关于“无法删除数据库 "XXXX",因为该数据库当前正在使用”问题的解决方案
引言 在项目中,通过使用SQL语句“DROP DATABASE [数据库名]”删除数据时,一直出现“无法删除数据库 "XXXX",因为该数据库当前正在使用”的错误信息,经测试在Sq ...
- JDBC工具类连接数据库,模仿登录
## 使用JDBC工具类的原因在使用JDBC连接数据库的时候,加载驱动.获取连接.释放资源等代码是重复的,所有为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装 ...
- codeforce303C-Minimum Modular-剪枝,暴力
Minimum Modular 题意:就是在一堆数字中,每一个数字对m取模不能等于这堆数字中的其他数字,同时给了K个机会可以删除一些数字.求最小的m: 思路:我一开始完全没思路,队长说的并查集什么的不 ...
- hdu6356 Glad You Came 杭电多校第五场 RMQ ST表(模板)
Glad You Came Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ...
- java1.8新特性(一)接口的默认方法
一 简介 我们通常所说的接口的作用是用于定义一套标准.约束.规范等,接口中的方法只声明方法的签名,不提供相应的方法体,方法体由对应的实现类去实现. 在JDK1.8中打破了这样的认识,接口中的方法可以有 ...
- Python作业本——第5章 字典和结构化数据
习题 1. {} 2. {'fow': 42} 3.字典是无序的 4.报错 (KeyError) 5.第一种是既搜索键又搜索值,第二种值搜索键 没有区别,in操作符检查一个值是不是字典的一 ...
- PDF文件预览和下载
背景:项目中实现pdf文件的预览以及下载 环境:jdk1.8.SpringBoot2.0.Maven PDF.js下载地址将下载的源码拷入项目中 修改viewer.js: 将default ...
- iOS 13 绕过锁屏密码漏洞
iOS 13 很快就要发布了,在未正式发布之前,西班牙的安全研究员 Jose Rodriguez 公开了一个漏洞,能够查绕过锁屏密码查看通讯录.照片.短信. 在 iOS 设备上,当屏幕锁定时,用户无法 ...