目录

一.计算机五大部件

二.程序运行的过程

三.ARP协议

四.单位转换

一.计算机五大部件

电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备、输出设备、存储器、运算器和控制器。

我们把键盘和鼠标叫输入设备。

输入设备: 向电脑输入数据和信息的设备。除了键盘。除了键盘鼠标,其他输入设备还包括触摸板、麦克风、摄像头,游戏手柄、扫描仪等。

显示器用来向我们展示画面,显示内容,音箱则播放音乐给我们听,我们管他们叫输出设备。

输出设备: 将电脑中的信息输出给用户的设备。常用的输入设备有:显示器、音箱、打印机、投影仪等。

主板:连接所有其他设备的设备,是其他设备的载体,主板主要是为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-电脑结构、网络基础、单位转换的更多相关文章

  1. Python进程间通信和网络基础

    Python进程间通信和网络基础 Python支持多种进程间通讯的方式, 有单机通信的signal和mmap等, 也有可以通过网络的socket方式, 这里先介绍select等的有关知识, socke ...

  2. Python服务器开发 -- 网络基础

    Python服务器开发 -- 网络基础   网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.... 网络由下 ...

  3. python之路——网络基础

    你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据,你要怎么做 ...

  4. Python学习笔记(Ⅰ)——Python程序结构与基础语法

    作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...

  5. Python服务器开发 -- 网络基础-乾颐堂

    网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip ...

  6. python之路-网络基础

    1.什么是网络: 通过网络设备将各个设备连接在一起,使用协议让设备之间可以通信,共享资源,这些组成了一个网络. 2.osi七层模式: 国际标准化组织(ISO)创建OSI(开放系统互联)参考模型,希望不 ...

  7. python学习之网络基础

    七 网络编程 7.1 C/S B/S架构 7.1.1 认识 Client : 客户端 Browser :浏览器 Server :服务器端 C/S:客户端与服务器之间的构架 B/S:浏览器与服务器之间的 ...

  8. Python网络编程之网络基础

    Python网络编程之网络基础 目录 Python网络编程之网络基础 1. 计算机网络发展 1.1. OSI七层模型 1.2. 七层模型传输数据过程 2. TCP/IP协议栈 2.1 TCP/IP和O ...

  9. python基础(29):网络编程(软件开发架构、网络基础、套接字初使用)

    1. 软件开发架构 我们了解的程序之间通讯的应用可分为两种: 第一种是应用类:qq.微信.百度网盘.腾讯视频这一类是属于需要安装的桌面应用. 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就 ...

随机推荐

  1. MSIL实用指南-数学运算

    C#支持的数学运算是加.减.乘.除.取模,它们对应的指令是Add.Sub.Mul.Div.Rem. 这五个运算都需要两个参数,它们的通用步骤1.生成加载左边变量2.生成加载右边变量3.生成运算指令 实 ...

  2. Delphi - Indy TIdFTP控件实现文件的上传和下载

    FTP信息保存和获取 我们在做FTP相关开发时,为方便后续FTP切换,一般先把FTP账户信息保存到数据库表中,在使用时再通过Query获取出来. 一般通过如下方式获取到FTP相关信息,代码如下: // ...

  3. 微信小程序捕获async/await函数异常实践

    背景 我们的小程序项目的构建是与web项目保持一致的,完全使用webpack的生态来构建,没有使用小程序自带的构建功能,那么就需要我们配置代码转换的babel插件如Promise.Proxy等:另外, ...

  4. 树状数组求区间和模板 区间可修改 参考题目:牛客小白月赛 I 区间

    从前有个东西叫树状数组,它可以轻易实现一些简单的序列操作,比如单点修改,区间求和;区间修改,单点求值等. 但是我们经常需要更高级的操作,比如区间修改区间查询.这时候树状数组就不起作用了,只能选择写一个 ...

  5. GitHub 简单教程

    码农朋友们都知道,GitHub是一个面向开源及私有软件项目的托管平台,上面托管了众多的优秀的项目,比如Linux内核源码.Git源码.机器学习框架Tensorflow等等.当然,除了这些顶尖项目外,还 ...

  6. javascript 多个异步处理解决方法

    JS异步处理真是一个让人头疼的东西,尤其是AJAX这个玩意.刚开始为了方便我会将jquery ajax 这个属性这样设置 async: false但是这样做问题很多,会让浏览器假死,好在ajax提供了 ...

  7. 【Spring】容器刷新(refresh)流程解析

    一.概述 二.prepareRefresh() 三.obtainFreshBeanFactory() 四.prepareBeanFactory(beanFactory); 五.postProcessB ...

  8. css3-旋转的太极图

    123 body { background-color: #aaa; } .div { width: 400px; height: 400px; border-radius: 50%; border: ...

  9. Java日志框架SLF4J和log4j以及logback的联系和区别

    1.SLF4J(Simple logging Facade for Java) 意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接 ...

  10. java对象与json字符串的互相转换

    java对象与json字符串的互相转换 1.采用 net.sf.json.JSONObject maven依赖包: <dependency> <groupId>net.sf.j ...