100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 计算机核心基础 计算机硬件组成原理 计算机硬件组成详解 硬盘接口及操作系统 计算

计算机核心基础 计算机硬件组成原理 计算机硬件组成详解 硬盘接口及操作系统 计算

时间:2021-08-03 16:09:48

相关推荐

计算机核心基础 计算机硬件组成原理 计算机硬件组成详解 硬盘接口及操作系统 计算

一.编程语言

1.什么是编程语言?

人与人沟通使用人类的语言

人与计算机沟通使用编程语言

2.什么是编程?

把想要让计算机做事的步骤想清楚

用一种计算机能听懂的语言(编程语言)把做事的步骤翻译下来

3.为什么要编程?

为了让计算机取代人力

二.计算机基础

1.什么是计算机?为何要有计算机?

推荐观看《模仿游戏》主人公:图灵计算机诞生的目的就是为了取代人力说到底,计算机就是人类的奴隶

例子:

old:银行行长---------奴役---------->柜台人员:

接收用户输入的账号

接收用户输入的密码

判断 账号 和 密码 正确:

告诉用户登入成功

否则:

告诉用户登入失败

now:程序员(银行行长)------------奴役----------->计算机:

​ 用变成语言把上述步骤翻译下来

2.软件(两大类)

操作系统:就是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序

应用软件:应用软件直接使用操作系统提供的功能来间接使用硬件。

ps:计算机硬件就是一堆废铁,计算机的运行全都受程序控制,可以说程序是计算机硬件的灵魂,硬件的以外的都叫软件

3.计算机的三层结构:

应用程序:(图形化桌面KDE,GNOME)操作系统:(linux, windows, mac…)计算机硬件

ps:图形界面就是一个应用程序,用户通过图形化界面来管理其他的应用程序

4.计算机的五大组成部分

计算机是人类的奴隶,可以把计算机的组成部分看做人的器官

1.控制器:计算机的指挥系统,负责控制计算机所有其他组件如何工作—(人类的大脑)

2.运算器:负责数学运算和逻辑运算—(大脑)

3.存储设备(I/O设备):

内存:存取数据快,基于电工作,断电数据丢失,只能临时保存数据—(人类大脑的记忆功能)

外存(硬盘):存取数据慢,基于磁工作,断电数据不丢失,可以永久保存数据—(人类的笔记本)

4.输入设备:键盘,鼠标—(人的眼睛,耳朵)

5.输出设备:显示器,打印机—(人嘴巴说出的话和写出的字)

形象类比1

cpu是人的大脑,负责控制全身和运算

内存是人的记忆,负责临时存储

硬盘是人的笔记本,负责永久存储

输入设备是耳朵或眼睛或嘴巴,负责接收外部的信息存入内存

输出设备是你的脸部(表情)或者屁股,负责经过处理后输出的结果

以上所有的设备都通过总线连接,总线相当于人的神经

形象类比2:

上课开始,老师讲课,学生听课,老师是程序员,学生是计算机,学生的器官都是计算机各部分组成

1.你通过耳朵接收老师讲的知识->输入

2.通过自己的神经,将接收的数据存入自己的内存/短期记忆(总线、内存)

3.光听不行,你还需要反应/处理老师讲的知识,于是你的大脑/cpu从短期记忆里取出知识/指令,分析知识/指令,然后学习知识/执行指令 (cpu取指、分析、执行)

4.你通过作业或者说话输出你学到的结果

5.你想要永久将知识保存下来,只能拿出一个笔记本,把刚刚学会的知识都写到本子上,这个本子就是硬盘(磁盘)

5.计算机三大核心组件关系

计算机是由五大单元:CPU(控制单元、算术逻辑单元)、主存储器、输入单元、输出单元构成的。也可以说CPU+主存储器+输入输出构成了电子计算机的三大核心组件

计算机硬件组成详解

1、控制单元+算数逻辑单元=>CPU

2、主存储器,即内存

3、输入单元Input+输出单元Outpu=>IO设备

三大核心组件相关图

三.操作系统

1.为什么要有操作系统?

计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成

程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,于是操作系统就诞生了

但操作系统还没有丰富的功能,于是程序员就开始编写更多的应用软件来支撑这些功能,应用软件直接使用操作系统提供的功能来间接使用硬件。

三层结构概念:

用户/应用软件(QQ,爱奇艺,微信…)

操作系统(Linux,Windows,Mac…)

计算机硬件(CPU,内存,显示器…)

2.什么是操作系统(重点)?

概念:操作系统是一个协调、管理、控制计算机硬件资源 与 应用软件资源的控制程序,它位于计算机硬件与应用软件之间,本质也是一个软件,起呈上启下的作用。意义(作用):

1、控制计算机硬件的基本运行。

2、把使用硬件的复杂操作封装成简单的功能,给上层的应用程序使用。

例子:我们双击打开一个文件, 其实是操作系统把文件内容从硬盘加载到内存中, 关闭文件,内容又写回硬盘存着了,

其实, 这个文件就是操作系统提供给应用程序 / 用户操作硬盘的一种功能

明白点:操作系统提供了文件这个抽象概念,对文件的操作就是对磁盘的操作,有了文件我们无需再去考虑关于磁盘的读写控制(比如控制磁盘转动,移动磁头读写数据等细节),

3.应用程序的区分

计算机硬件是死的, 硬件的运行都受软件的控制,所以说软件是计算机的灵魂,计算机硬件是躯壳.软件可以分为两种:1.系统软件:用来控制底层硬件. 2.应用软件:应用程序相关逻辑

4.平台概念

平台:平台 = 计算机硬件 + 操作系统跨平台:软件的跨平台性指的是:我们写出的程序,在任何一个平台中,都能正常运行,这就叫跨平台。跨平台是衡量一款软件质量高低的一个非常重要的指标

补充

一.程序的开发流程

1.需求分析阶段

PM产品经理:市场调研, 需求分析, 原型草图

PM:从职业角度,是指企业建立以项目经理责任制为核心,对项目实行质量、安全、进度、成本管理的责任保证体系和全面提高项目管理水平设立的重要管理岗位。

项目经理是为项目的成功策划和执行负总责的人。

项目经理是项目团队的领导者,项目经理首要职责是在预算范围内按时优质地领导项目小组完成全部项目工作内容,并使客户满意。

为此项目经理必须在一系列的项目计划、组织和控制活动中做好领导工作,从而实现项目目标。

当然在互联网公司这个有着项目经理or产品经理的意思。

PM召集所有相关技术人员开需求分析会: n次 ==> 需求明确

2.项目开发阶段

2.1项目设计:
UE与PM产品经理 ==》交互原型图

UE:用户体验(User Experience,简称UX或 UE)

是一种纯主观的在用户使用一个产品(服务)的过程中建立起来的心理感受。

因为它是纯主观的,就带有一定的不确定因素。

个体差异也决定了每个用户的真实体验是无法通过其他途径来完全模拟或再现的。

但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计的实验来认识到。

计算机技术和互联网的发展,使技术创新形态正在发生转变,以用户为中心、以人为本越来越得到重视,用户体验也因此被称做创新2.0模式的精髓。

另外还有有个组合叫法:UED(产品交互设计师,用户体验师)。

UI根据原型图 ==》设计图

UI:用户界面(User Interface) (视觉设计)

UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。

UI还有其它的意义,如Unit Interval,Univ of Iowa,Unlock Instruction,Urgent Interrupt。

FE前端开发 ===> 客户端程序(web界面, 手机APP, 微信小程序…)

FE:前端(Front-End);前端开发(Front-End Development)

FE是web前端研发、前端开发的意思!

RD后端开发(PM小组项目经理) ===> 与前端定好接口规范

RD:研发(Research and Development)

如:软件RD工程师就是软件研发工程师,诸如PHP程序猿,Java程序猿,无论是苹果的还是安卓的都是属于这一类别。偏向于后端的技术实现。

QA测试人员 ===> 设计好测试用例

​ staging ===> 与线上环境一比一测试

QA:测试(QUALITY ASSURANCE,中文意思是“质量保证”)

其在ISO8402:1994中的定义是“为了提供足够的信任表明实体能够满足质量要求,而在质量管理体系中实施并根据需要进行证实的全部有计划和有系统的活动”。

有些推行ISO9000的组织会设置这样的部门或岗位,负责ISO9000标准所要求的有关质量保证的职能,担任这类工作的人员就叫做QA人员。

OP运维人员 ===> 设计好整套系统的架构

​ 模拟线上环境 ===> 互联网用户使用的环境

​ 后期维护:一两个周上线一个小版本, 一个月到半个月上线一个大版本 ===> 回滚

OP:运维(Operations)

OP这个词语代表的意思很多,这个简称来自于英文的Operations一词。

我也不清楚谁最早用op代表运维工程师,不过开始,这个词慢慢被很多人所知道。

OP工作内容主要就是维护公司的服务器能够正常提供服务,细分的话包括系统部分,网络部分,应用程序部分,数据库部分,具体根据公司的规模和职位职能不同,运维的定义也不同。

现在市面上主要的OP有三种:网络游戏运维,网站运维,大型项目测试和生产环境运维。

2.2项目开发:
前后端分头开发合并一起

3.项目测试

开发人员进行code review ==》过一遍代码,审查一下开发人员自测=》改bugQA专业测试=》改bug

4.项目上线

运维人员编写上线方案测试

5.环境

测试staging ===> 与线上环境一比一测试线上环境 ===> 互联网用户使用的环境

6.流程图

二.运维的职责

1.围绕三层做好监控: 应用程序必须一年365天24小时不间断的运行

2.数据备份 (磁带, 磁盘)

3.优化性能: 提升用户访问速度

三.计算机硬件组成原理

个人PC服务器

1.个人PC

家用台式电脑: 一半用来家庭娱乐使用, 游戏, 电脑之类

笔记本电脑: 携带方便快捷, 大部分用来办公使用

2.服务器

功能: 搭建网站所使用的服务器, 相对于其他台式机, 笔记本电脑来说, 更加稳定可靠.简介:服务器,也称同服器(台湾),是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一-般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

3.服务器的分类

3.1按尺寸分类
1U服务器(U 表示服务器的厚度) 1U = 1.75英寸 = 4.445CM = 4.45CM.

4U 服务器 (U 表示服务器厚度):

ps: 服务器内部结构:

3.2按外形分类
机架式服务器

机架式服务器的外形看来不像计算机,而像"抽屉”,有1U(1U=1.75英寸=44.45毫米)2U、4U等规格。机架式服务器安装在标准的19英寸机柜里面。这种结构多为功能型服务器。如下

刀片式服务器

所谓刀片服务器(准确的说应叫做刀片式服务器)是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度。每一块"刀片"实际上就是一块系统主板。它们可以通过"板载"硬盘启动自己的操作系统,如Windows NT/2000、Linux等, 类似于一个个独立的服务器,在这种模式下,每一

块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联,因此相较于机架式服务器和机柜式服务器,单片母板的性能较低。不过,管理员可以使用系统软件将这些母板集合成一个服务器集群。在集群模式下,所有的母板可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务。在集群中插入新的"刀片",就可以提高整体性能。而由于每块"刀片"都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。

塔式服务器

#

4.服务器品牌

常见品牌:

代表图片: Dell R72

代表图片: Dell R72

还有一些 IBM 品牌

1U 3550/m3 3550/m5

2U 3650

4U 3850

8U 3950

HP品牌:

DL380G7/G8 (2U)

四.去IOE运动

5月17日,阿里集团最后一台IBM小机在支付宝下线。

这是自“去IOE’战略透露以来,"去IOE"非常重要的一个节点.

什么是去IOE? ? --“IOE”:

1-- IBM公司、0-- Oracle公司、E – EMC公司

企业的数据库架构有三个不可或缺的部分:数据库服务器、数据库软件、数据存储设备。

而IOE这三家公司恰恰分别在这三个领域实现了垄断

造成的结果就是由这三驾马车构成的数据库系统占领了全球数据库市场的很大份额。

牵扯到数据安全以及数据设备成本的问题,

有公司提出了"去IOE"运动:用PC服务器代替IBM服务器,用mysq|替代Oracle。

五.小型机 与PC服务器的区别(了解)

小型机 (已经是过去时的概念) 与PC服务器的区别:

1.架构完全不一样

小型机是指采用精简指令集处理器,性能和价格介于PC服务器和大型主机之间的一种高性能64位计算机

小型机具有区别ec及其服务器的特有体系结构,还有各制造厂自己的专利技术,有的还采用小型机专用处理器:

比如美国Sun、日本Fujitsu (富士通)等公司的小型机是基于SPARC处理器架构,而美国HP公司的则是基于PA RISC架构; Compaq公司是A1pha架构。

另外I / 0总线也不相同,Fujitsu是PCI,Sun是sBUS,等等。

这就意味着各公司小型机机器上的插卡,如网卡、显示卡、scsI卡等可能也是专用的

PC服务器与PC电脑设计原理一致

2.小型机一般都是专用的操作系统。

不同公司生产的小型机只能运行特定的操作系统

小型机使用的操作系统一般是基于Unix的,像Sun、Fujitsu是用Sun Solaris, HP是用HP-Unix, IBM是AIX。

所以小型机是封闭专用的计算机系统。

使用小型机的用户一般是看 中Uni x操作系统的安全性、可靠性和专用服务器的高速运算能力。

现在生产小型机的厂商主要有HP、IBM、SUN、浪潮、曙光等.

它们的主要特色在于年宕机时间只有几小时,所以又统称为z系列(zero 零)。

AS/400主要应用在银行和制造业,还有用十Domino,主要的技术在于TIMI (技术独立机器界面),单级存储,有了TIMI技术可以做到硬件与软件相互独立。

RS/6000比较常见,用于科学计算和事务处理等。

3.小型机比服务器性能要强大很多

稳定性也比较好,年宕机只有几小时

小型机跟普通的服务器(也就是常说的PC- SERVER)是有很大差别的,最重要的一点就是小型机的高RAS

(Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性)特性。

RAS是Reliability, Availability, Serviceability三个英文 单词的缩写,它们反映了计算机的高可靠性、高可用性、高服务性三个著名特点,它们的具体含义如下:

高可靠性(Reliability) :计算机能够持续运转,从来不停机。

高可用性(Availability) :重要资源都有备份;能够检测到潜在要发生的问题,并且能够转移其上正在运行的任务到其它资源,以减少停机时间,保持生产的持续运转;具有实时在线维护和延迟性维护功

高服务性(serviceability) :能够实时在线诊断,精确定位出根本问题所在,做到准确无误的快速修复。

4.小型机的价格会更贵

IBM小型机

补充

一.CPU详解

CUP的作用:程序员通过控制CPU, 由CPU这个组件下发指令来控制其他组件.

1.CPU的分类与指令集

1.1 指令集:

把程序员控制cpu的指令, 转成CPU操作某个组件的指令.这些指令不会自行的运行, 由人类控制它才能运行

1.2 CPU的分类
精简指令集: 指令集简短, 能完成的事情非常简单.

优点: 不容易错, 更稳定.

缺点: 实现复杂操作的时候指令就会成堆.

作用: 针对稳定的需求, 针对大型计算机架构的服务器就需要精简的指令集.

例子: 网络设备, 服务器等.

复杂指令集: 单条指令比较复杂.

优点: 单条指令集完成的事情比较多, 完成复杂的事情只需要几条指令集.

缺点: 单条指令指令比较复杂,容易出错不稳定.

作用: 针对功能更丰富,更强大的服务或设备就需要复杂指令集.

例子: 个人电脑等.

拓展知识

中国计算机硬件行cpu行业的落后,更多的是cpu精简指令集的开发,做上层的开发,尤其是涉及到硬件方面,是比较薄弱的。

2.x86 -64

2.1 (x86):

指的是CPU的型号, 或者是CPU架构的一种统称

x86的来历

最早的那颗Intel发明出来的CPU代号称为8086,后来在8086的基础上又开发出了80285、80386…,因此这种架构的CPU就被统称为x86架构了。

由于AMD、Intel、VIA所开发出来的x86架构CPU被大量使用于个人计算机上面,因此,个人计算机常被称为x86架构的计算机!

程序员开发出的软件最终都要翻译成cpu的指令集才能运行,因此软件的版本必须与cpu的架构契合.

举个例子,我们在MySQL官网下载软件MySQL时名字为:Windows(x86,32-bit),ZIP Archive 或者 (mysql-5.7.20-win32.zip)

我们发现名字中有x86,这其实就是告诉我们:该软件应该运行在x86架构的计算机上。

2.2 (64):

​ cpu的位数,指的是cpu一次性能从内存中取出多少位二进制指令,64bit指的一次性能从内存中取出64位二进制指令。注意:CPU的取主要决定于内存一次性能给多少二进制指令。

二进制的来历

内存基于电信号工作,人们定义高电频代表数字1,低电频代表数字0,0101之间高低电频的变化,就类比出了二进制。

2.3 CPU的向下兼容性:

x86-64的cpu既能运行64位的软件也能运行32位的软件。

64位的cpu读取提供32位指令集的内存,会在32位之前补全32个0。

3.内核态和用户态

什么是内核态与用户态

CPU工作的两种状态, 就是CPU的运行状态,也叫计算机的运行状态

为什么cpu要有这两种状态

避免代码进行潜在的危险操作,防止给操作系统带来隐患

CPU的 2 种指令集状态

CPU是计算机系统最核心的硬件,而cpu的核心就是指令集,CPU有两种指令集状态:

1://控制其他硬件的指令集,

2://运算相关的指令集

内核态

运行的程序是操作系统, 也就是操作系统当前工作的状态,也就是说当前状态下,cpu中所有的指令集开放(控制其他硬件的指令集 + 运算相关的指令集),可以操作硬件。(操作系统正在操控硬件)用户态

运行的程序是应用程序,当前状态cpu中只开放运算相关的指令集,不能操作硬件。(应用程序正在运行)内核态与用户态的切换

什么时候进行切换,应用程序的运行涉及到计算机硬件的操作,那就必须从用户态切换到内核态才能实现,因此计算机工作时频繁的发生内核态与用户态之间的转换。

4.多线程与多核芯片

摩尔定律(moore)

摩尔(moore)定律指出, 计算机芯片的晶体管数量每18个月翻一倍, 现在已经不太确定了2 核 4 线程

2核代表有2个CPU,4线程指的是每个CPU都有2个线程,通常也叫假4核。4核8线程

4核代表有4个CPU,8线程指的是每个CPU都有2个线程,通常也叫假8核。

二.存储器

1.储存器结构:

结构从上到下:cpu,寄存器,高速缓存,内存,硬盘,磁盘为了提高cpu读取数据的速度,所以在cpu与磁盘之间引入了内存,然后cpu从内存中读取数据其实也是慢的,所以之间加入的高速缓存,高速缓存还是不够块,又在cpu与高速缓存之间又增加了寄存器,这样一步一步提高cpu读取数据的速度。寄存器: 使用cpu同等材质制造而成,在cpu内部集成,存着cpu运行下一步操作立马需要的指令.高速缓存:存放cpu经常使用的数据。cpu读取数据的时候,先从高数缓存中查看自己所需要的数据,如果有直接从高速缓存中取走,速度很快:2ns(这叫高速缓存命中),如果没有才跑到内存中找.

2.RAM

RAM 英文全称 random access memory,又叫随机存取存储器。可存可取内存,断电数据丢失,就是我们通常所说的内存。

拓展:

linux系统会把内存分为两种区域:

1.buffer:缓冲区, 攒一大波数据,在刷入硬盘

2.cache:缓存, 把硬盘的数据在内存中缓存好, CPU取得时候可以直接从内存中取.

ps:buffer与cache的区别是什么?

1.写入数据到内存, 这个数据的内存空间称为缓冲区(buffer),写入到内存buffer缓冲区, 写缓冲.

2.从内存读取数据, 这个存数据的内存空间称为缓存区(cache), 从内存cache读取缓存区, 度缓存.

3.ROM

ROM英文全称ready only memory又叫只读存储器。只读内存,出产自带。为了保证安全性计算机产商出产就往ROM中写死一段核心程序。这段核心程序叫BIOS(BIOS英文全称basic input output system,又叫基本输入输出操作系统),保证计算机在没有任何高级操作系统的前提下,计算机可以正常启动。

4.CMOS

存放BIOS程序产生的数据, 比如: 启动设备的优先级等

在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。

有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的并行或串行FLASH芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。

优点: 耗电量极低, 主板电池为时钟芯片供电, 时钟芯片存放在CMOS中.缺点: 数据容易丢失, 断电数据丢失拓展: 主板电池使用寿命为3~5年

5.机械硬盘

什么是机械硬盘 -

机械硬盘依赖于机械的运动, 盘片基于磁信号, 所以也称之为磁盘.

高磁信号代表:二进制 1

低磁信号代表:二进制 0

磁头

负责读写数据

磁道

磁盘的数据, 对应的一串二进制, 图中的圈圈就是,一圈圈的.

//单位换算:

小写 b 代表着比特位

大写 B 代表字节

8bit(比特位) = 1Bytes(字节)

1024Bytes = 1KBytes

1024KBytes = 1MBytes

1024MBytes = 1GBytes

1024GBytes = 1TBytes

1024TBytes = 1PBytes

拓展: 对应产商的硬盘存储单位1000表示为一个单位, 例: 200G = 20010001000B

扇区一个扇区 = 512Bytes, 硬盘的一次性读写数据的最小单位就是一个扇区由扇区拓展出操作系统的1次性读写单位:操作系统的1次性读写的单位是1个block块,1个blcok = 8个扇区的大小,也就是4K。操作系统攒够了block块的容量才交给硬盘,以此来减少与硬盘打交道的次数,从而减少IO次数。

buffer缓冲区—>大卡车

操作系统的block块—>收纳箱

硬盘的扇区—>单个快递盒子

block块大小可以自定义,默认1个block等于8个扇区大小柱面如图中所示, 所有的盘片上下形成的一个整体磁盘的分区概念: 从第一个柱面开始, 到第二个柱面结束, 下面所有的范围看做一个整体,就是一个磁盘分区注意:每个磁道上的扇区数量相同,磁盘上的磁道长度确实是长度不同,内圈的磁道短,越往外磁道的长短越长,但存贮资料时不是按磁道来存贮的,而是按扇区来存贮的,因此每圈磁道的容量是相同的!

7.IO延迟

定义
IO延迟 = 平均寻道时间 + 平均延迟时间(一般为9ms)例子:假设当前硬盘转轴(盘片)转速是7200/min,也就是120/s,那么转一圈需要花费1/120≈8ms,半圈也就是4ms(假设找到数据要半圈
平均寻道时间

机械手臂从一个柱面随即移动到相邻的柱面的时间成为寻道时间。

找到了磁道就以为找到了数据所在的那个圈圈,但是还不知道数据具体在这个圈圈的具体位置。

所以机械手臂移动柱面的时间,就叫平均寻道时间。

目前受限于物理工艺水平目前机械硬盘可以达到得是5ms

平均延迟时间
机械手臂到达正确的磁道之后还必须等待旋转到数据所在的扇区,这段时间就叫平均延迟时间。

2.基于上面例子,转半圈需要花费4ms,受限于硬盘得转速

硬盘读写慢的原因
由上述可知,硬盘主要是慢在找数据得过程,读数据是很快得过程。因此想优化程序运行效率,就要让程序减少与硬盘打交道的过程,数据能从内存取,就不要从硬盘取。文件读写就是与硬盘打交道的过程,因此要减少文件的读写操作.文件是操作系统给人提供操作硬盘的虚拟单位

7.固态硬盘

固态硬盘基于电工作,取代了机械硬盘容易损坏的缺点使用的是物理元件, 闪存芯片

8.虚拟内存

当内存不够用的时候, 在硬盘上划出一块空间, 这个空间就叫虚拟内存.linux系统中的 swap 分区就是虚拟内存.作用: 当内存不够用的时候, 保证程序的正常运行.

9.磁带

一般用于备份, 价格低, 容量大, 便于携带

三.操作系统的启动流程

1.未安装高级操作系统时的硬件

CPUROM: 充当内存, 存放BIOS系统, BIOS能保证没有安装高级操作系统的情况下,正常启动.CMOS: 充当硬盘, 存放BIOS程序产生的数据

2.安装高级操作系统后的硬件

CPURAM: 开机之后, 操作系统就加载到内存.本地硬盘: 分区, 启动盘(一般是C盘)存放操作系统.

3.启动流程

计算机通电优先加载BIOS, 硬件自检: CPU, 内存, 硬盘等.BIOS读取CMOS存储器中的参数, 选择启动设备从启动设备上(也就是即将安装的操作系统)读取第一个扇区的内容(称之为主引导记录MBR).

MBR主引导记录:MBR主引导记录共512字节

1.前446字节:boot loader–>grub程序

2.后64字节为分区信息

3.最后2字节为标志位。

grub程序负责将操作系统内核装载入内存,启动正真意义上的操作系统。

该分区信息指的就是上面所读取第一个扇区内容得后64个字节的分区信息.

然后正真意义上的操作系统询问BIOS,以获取配置信息。对于每种设备,操作系统会检查其设备驱动程序是否存在,如果没有,操作系统会要求用户安装设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核,完成了BIOS与操作系统的交接,获取了控制所有硬件的最高权限。

通过BIOS重置密

四.总线

计算机所有组成部分就是硬件, 他们都集成在一块板子上,这个板子就是主板, 而总线就是组件与组件之间来回传输数据的桥梁.北桥(PCI桥): 负责连接CPU与内存, 图中可以看出北桥连接的都是高速硬件.南桥(ISA桥): 负责连接SCSI(硬盘的一种接口), USB(外部设备的一些接口), 图中可以看出板桥连接的都是慢速设备.

五.网线

常用线序:橙白, 橙, 绿白, 蓝, 蓝白, 绿, 棕白, 棕千兆网卡–>双绞线万兆网卡–>光纤

补充

一.硬盘的接口

1.接口类型

IDE并口

IDE代表着硬盘的一种类型,IDE接口硬盘多用于家用产品中,也部分应用于服务器。(现在已经被淘汰)

SATA串口 (常用)

使用SATA接口的硬盘又叫串口硬盘,是现在和未来的PC机硬盘主流趋势。

SCSI

SCSI接口具有应用范围广,多任务,带宽大CPU占用率低以及热插拔等优点。

SAS(SATA + SCSI) (常用)

SAS的接口技术可以向下兼容SATA,但反过来SATA系统并不兼容SAS

光纤通道 (常用)

光纤通道接口,光纤通道是为向服务器这样的多硬盘系统环境而设计的

有热插拔性,高速带宽,远程连接,连接设备数量大等特点。

2.硬盘与接口的搭配

SSD + SAS =====>土豪搭配SSD + SATA ====>常规搭配, 对速度有特殊要求机械硬盘 + SAS===>常规搭配, 比较核心的业务使用, 对速度的要求常规机械硬盘 + STAT==>一般用于公司内部服务(慢一点没事)

3.Raid卡(阵列卡) 介绍

它其实是一种技术,叫做磁盘冗余阵列

raid 0 : 至少需要一块盘

容量 : n 块盘合在一起的总容量

性能 : 理论上是n块盘合在一起的读写速度, 实际上要略低一些

冗余性 :不允许坏任何一块盘

场合 :追求读写性能,但是对数据安全性没有啥要求,例如集群服务器

特点 :追求速度,不考虑数据安全

raid 1 : 只能两块盘

容量 :1 块盘的容量

性能 :几乎就是一块盘的读写速度

冗余性 :可以坏一块盘,另外一块盘有完整的数据

场合 :对数据安全性有要求,对读写速度没有特殊要求,例如服务器的系统盘

特点 :追求数据安全,不考虑速度

raid 5 : 至少3块盘, 两两进行奇偶校验

#介于 Raid 0 与 Raid 1 之间的折中方案

//两两之间奇偶校验—>异或运算, 相同结果为0, 不同结果为1.

容量 :废掉1块盘的容量,等量盘的情况下,容量低于raid0

性能 :读写速度 raid 0 > raid 5 > raid 1

冗余性 :可以坏一块盘,其余两块盘可以通过奇偶校验推导出坏盘的数据

场合 :一般的场合都可以使用

raid 10 : 至少四块盘

raid 1和raid 0的整合的产物,兼顾了raid 1的数据安全性与raid 0的性能,但是成本大幅度提升

通常用于数据库服务器

优化读写的基本原则
针对读操作, 数据能从内存取就不要从硬盘针对写操作, 在内存中攒一波再写入硬盘

二.操作系统的发展史

操作系统最核心的概念就是进程串行: 多个任务是一个运行完再运行下一个并发: 多个任务看起来是同时运行的

1.第一代计算机

真空管

2.第二代计算机 (了解)

批处理系统(串行)从字面上理解,就是一批一批的处理任务的一种系统一次只把一个/道程序读入内存,运行完毕后,再执行下一个程序,没有并发,称之为串行

优点: 充分利用了计算机资源

缺点:

1. 整个过程需要人去参与程序的放置//(这是以前,现在不需要)

2. 让程序员明显的感觉到等待(要等到其他所有用户的程序跑完了才能看到结果)

3. 程序的运行是串行

3.第三代计算机 (重点)

分时操作系统 CTTS (并发)

多用户多任务应用多道技术来实现多个任务的并发的运行分时操作系统将CPU的时间划分成若干个片段,称为时间片,操作系统以时间片为单位,轮流为每个终端用户服务 ,

由于时间间隔很短,每个用户的感觉就像他独占计算机一样

分时操作系统特征

交互性: 用户与系统进行人机交互

多路性: 多用户在各自终端上使用同一CPU

独立性: 用户可彼此独立操作, 互不干扰, 互补混淆

及时性: 用户在短时间内可得到系统的及时回应

分时系统主要运用的领域

PC及服务器都是采用这种运行模式, 即把CPU的运行分成若干个时间片分别处理不同的运算请求.

3.两者不同点

批处理系统没有人机交互, 而分时操作系统允许多个用户同时使用批处理系统允许程序长时间占用CPU, 而分时操作系统不允许

4.多道技术

多道技术指的是多个程序
4.1为什么要有多道技术?
针对单核实现并发效果

现在的主机一般是多核, 每个核都会利用多道技术

比如有4个cpu,运行在cpu1的某个程序遇到I/O阻塞,会等到I/O结束再重新调度,调度到4个cpu中的任意一个,具体由操作系统调度算法决定

4.2.复用
空间上的复用: 在内存里同时跑进多个程序(进程)时间上的复用: 多个进程复用CPU的时间片(让CPU在多个进程之间来回切换,什么时候切呢?👇👇👇)

1.当一个进程占用CPU的时间过长要切(被操作系统剥夺对CPU的执行权限)(这里是为了保证并发效果). (降低了效率)

2.当一个进程遇到I/O堵塞(I/O操作)时要切. (提升了效率)

ps:多个进程的内存空间是互相隔离的,而且是物理隔离(安全性)

补充

计算机网络

1.什么是网络?

网络 = 物理连接介质 + 互联网通信协议

2.为何要有网络?

为了方便数据的传输/通信互联网 (Old : 信息高速公路)

3.以太网

以太网的数据称之为数据帧, 分为head + data 两部分, 其中head长度固定18字节规定但凡接入互联网的主机必须要有一块网卡, 网卡上有一个mac地址, 全世界独一无二以太网的通信协议采用的是广播的➠➠计算机通信靠吼以太网协议规定

协议: 协议是每一层功能的实现方法, 规定了数据的组织格式.

数据格式: 头部 + 数据部分

🙈头部包含: 源mac地址(6字节) + 目的mac地址(6字节) + 数据类型(6字节)

🙊数据部分包含: 包含的是网络层发过来的整体内容(最短46字节, 最长1500字节)

🙉数据帧最短64字节, 最长1518字节, 超过最大限制就分片发送给物理层

4.mac地址学习流程

多台计算机连接交换机, 交换机里面会有一份mac表, 最开始没有任何记录PC1 向 PC2 发送一个数据包, 交换机先记录PC1的mac地址由于不知道PC2的mac, 这时只能使用广播(吼)的方式, 交换机会复制数据包向每个接口发送一份当PC2收到数据包后, 确认是发给自己的, 于是向PC1回包交换机记录到PC2的mac, 而PC1的mac之前已经记录了, 所以可以直接发送给PC1通过不断地通信, 所有mac都被记录

5.网络体系结构

计算机网络的各层其协议的集合, 称之为网络的体系结构互联网通信协议更具历史的发展分别有: OSI七层协议, TCP/IP四层协议, TCP/IP五层协议

OSI的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用TCP/IP体系结构则不同,它现在已经得到了非常广泛的应用。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层 (用网际层这个名字是强调这一层是为了解决不同网络的互连问题)不过从实质上讲,TCP/IP只有最上面的三层,因为最下面的网络接口层基本上和一般的通信链路在功能上没有多大差别,对于计算机网络来说,这一层并没有什么特别新的具体内容。因此在学习计算机网络的原理时往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。

6.OSI七层协议数据传输的封包与解包过程

1.传输层一组数据-----段(segment)

2.网络层一组数据-----包(packet)

3.数据链路层一组数据-----帧(frame)

4.物理层一组数据-----位(bit)

7. IP协议

IP➢➢➢定位子网(局域网)mac➢➢➢定位在子网内的具体位置IP地址 + mac地址➢➢➢全世界范围内唯一的一台计算机IP地址的范围

0.0.0.0 ➺➺➺ 255.255.255.255

00000000.00000000.00000000.00000000

11111111.11111111.11111111.11111111

子网掩码

全由连续的 1 和连续的 0 组成

11111111.11111111.11111111.00000000 ➺➺➺ 255.255.255.0

例如 IP地址: 172.16.10.4/24

10101100.00010000.00001010.00000100 ➺➺➺ 172.16.10.4

11111111.11111111.11111111.00000000 ➺➺➺ 255.255.255.0

10101100.00010000.00001010.00000000 ➺➺➺ 172.16.10.0 子网地址

例如 IP地址: 172.16.10.5/24

10101100.00010000.00001010.00000101 ➺➺➺ 172.16.10.5

11111111.11111111.11111111.00000000 ➺➺➺ 255.255.255.0

10101100.00010000.00001010.00000000 ➺➺➺ 172.16.10.0 子网地址

8.进制转换 (常用)

十进制 ➺➺ 十进制 (转换过程)

123

1 * 10^2 + 2 * 10^1 + 3 * 10^0

100 + 20 + 3

十进制 ➺➺ 八进制

123

1 * 8^2 + 2 * 8^1 + 3*8^0

64 + 16 + 3 = 83

十进制 ➺➺ 二进制

二进制 ➺➺ 十进制

1 0 0 1 0 1 1 0

12^7 + 0 + 0 + 12^4 + 0 + 12^2 + 12^1 + 0

128 + 0 + 0 + 16 + 0 + 4 + 2 + 0

150

一.OSI七层协议数据传输封包与解包过程

对于现在学习计算机网络原理一般采用五层协议, 即应, 表, 会看做一个整体应用层

二.物理层

1.物理层的由来

两台计算机想要通信就必须接入到Internet中, 明白点就是计算机之间必须完成组网

2.物理层的功能

将数据转换成电信号, 对应的是二进制, 高电频对应数字 1, 低电压对应数字 0, 然后发送.

物理层一组数据称之为 “位” 比特位

三.数据链路层

1.数据链路层的由来

物理层单纯的电信号1, 0,是没有任何意义的, 数据链路层规定电信号多少位为一组, 每组又代表什么意思.

2.数据链路层的功能

定义了电信号的分组方式

3.遵循协议 : 以太网协议 (enthernet)

1.一组数据称之为一个"数据帧"

2.组成: head(头部) + data(数据)

–head: 源MAC地址(6字节) + 目标MAC地址(6字节) + 数据类型(6字节)

3.基于MAC地址的广播方式通信—>计算机的通信方式基本靠吼

四.网络层

1.网络层的由来

有了MAC地址, 计算机之间可以相互通信, 但无法制造出供全世界一起使用的交换机, 因此必须找出一种方法来区分哪些计算机属于同一广播域,哪些不是,如果是就采用广播的方式发送,如果不是,就采用路由的方式(向不同广播域/子网分发数据包),这是MAC地址是无法区分的

2.网络层的功能

引入一套新的地址用来区分不同广播域 / 子网, 即网络地址 (IP地址 + 子网掩码)

3.遵循协议: IP协议

广泛采用的版本是ipv4版本, 它采用的是32位二进制表示

1.一组数据称之为"数据包"2.组成: head(头部) + data(数据)–head: 源IP地址 + 目的IP地址3.IP地址的通信---->路由协议4.ARP协议工作在这一层

4.ipv4简介

ipv4地址范围: 0.0.0.0 --255.255.255.25500000000.00000000.00000000.00000000=>0.0.0.011111111.11111111.11111111.11111111->255.255.255.255子网掩码: 由连续的 1 和连续的 0 组成11111111.11111111.11111111.00000000-》255.255.255.0子网地址: 由IP地址和子网掩码按位与运算得出//IP地址172.16.10.1/2410101100.00010000.00001010.00000001-->172.16.10.111111111.11111111.11111111.00000000-->255.255.255.0按位与运算得网络地址结果:10101100.00010000.00001010.00000001--> 172.16.10.0//IP地址172.16.10.2/2410101100.00010000.00001010.00000010-->172.16.10.211111111.11111111.11111111.00000000-->255.255.255.0按位与运算得网络地址结果10101100.00010000.00001010.00000001--> 172.16.10.0结果都是172.16.10.0,因此它们在同一个子网络(lan)。

五.传输层

1.传输层的由来

网络层的IP地址帮我们划分子网

数据链路层的MAC地址帮我们找到主机

IP 和 MAC 找到一台特定的主机

而传输层的端口就是帮我们找到主机上的应用程序

2.传输层的功能

提供了一台主机上的应用程序基于网络与另一台主机上的应用程序之间的通信

3.传输层协议

1.TCP传输控住协议(流式协议)

2.UDP数据报协议

3.一组数据称之为"数据段"

4.组成: head(头部) + data(数据)

–head: 源端口 + 目标端口

端口号在本机唯一即可

4.端口的理解

端口号具有本地性质: 就是说它是为了标志本地计算机应用层中各个进程和传输层交互时的窗口, 不同主机上的端口号是没有关联的.

没有关联: 比如PC1有一个888端口号, PC2也可以有888端口号, 不冲突

5.端口号划分

前提: 只有基于网络通信的进程才有端口号的概念.

提示: 传输层端口号采用16位来标识一个端口, 因此会有 2^16=65536个端口

服务器端使用的端口号: 分为2类

-----熟知端口号或系统端口号(最重要): 数值为0~1023.

-----登记端口号: 数值为1024~49151

客户端使用的端口号

-----短暂端口号: 49152~65535.

六.应用层

1.应用层的由来

用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式

2.应用层的功能

规定应用程序的数据格式

3.应用层协议

HTTP, FTP, mail等等

TCP协议可以为各种各样的程序传递数据

比如Email、WWW、FTP等等

那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。可以自定义协议

自定义协议需要注意的问题:

1.两大组成部分 ==> 头部 + 数据部分

— 头部: 放对数据的描述信息. 比如: 数据要发给谁, 数据的类型, 数据的长度

—数据部分: 想要发送的数据

2.头部的长度必须固定

—因为接收端要通过获取固定长度的头部, 从而方便进一步获取数据部分的详细信息.

七.ARP协议 (地址解析协议)

1.引入

1.PC1要与PC2通信,PC1必须拿到PC2的ip地址, 可以由IP地址转换成MAC地址

2.通信分为两类:

–局域网内

–跨局域网

3.PC1如何确定与PC2是否在一个局域网内

4.如果在一个局域网内,如何通信?—>要拿到目标mac就是PC2的mac地址

5.如果跨局域网,如何通信?—>要拿到的目标mac是网关的mac地址

2. ARP 的工作方式

情况一

PC1: 192.168.10.11/24

PC2: 192.168.10.13/24

(1) 判断两台计算机的子网地址是否一样,如果一样,尝试获取PC2的mac地址

ARP发送数据包

ARP向所有计算机都发送一份

1.碰到 FF-FF-FF-FF-FF-FF,大家知道对方想跟自己要mac地址

2.如果目标ip: 192.168.10.13/24就是自己,那么就返回mac地址

获取到PC2的MAC才真正开始发数据

情况二

PC1: 192.168.10.11/24

PC2: 202.10.11.13/24

(1)判断两台计算机的子网地址如果不一样,应该尝试获取网关的mac地址

ARP 发送数据包

所有计算机都收到该ARP包

碰到 FF-FF-FF-FF-FF-FF,大家知道对方想跟自己要mac地址

如果目标ip:192.168.10.1/24就是自己,那么就返回mac地址

获取到网关的MAC后才开始发送真正的数据

3.IP + MAC

ip地址+mac地址=》全世界唯一一台计算机

ARP会将ip地址转换成mac地址

要么是局域网内一台计算机的mac地址,要么就是网关的mac地址

不能是公网计算机的mac地址

七.TCP协议(传输控制协议)

TCP可靠协议(有建立连接的过程): 数据发出后需等到对方确认并收到响应包后才删除数据

优点: 保证了数据的安全性缺点: 效率没有UDP高应用: 对数据安全有要求的场景, 例如支付宝支付环节, 关系到资金

1.三次握手

TCP通过三次握手来建立可靠的链接, 建立连接是在沟通, 而真正的作用是发送数据

第一次握手

客户端向服务端发送连接请求报文段

报文的头部包含: syn = 1, ack = 0, 以及一个初始序列号seq = x

请求发送后客户端进入SYN_SENT状态第二次握手

服务端收到连接请求报文段后,如果同意连接,会发送一个应答:ack=x+1

应答也包含服务端的请求报文段:SYN=1,seq=y,

发送完应答后服务端进入SYN-RCVD状态。第三次握手

客户端收到服务端连接同意的应答后,还会向服务端发送一个确认报文段,表示:服务端发来的连接同意应答已经成功收到

该报文段的头部为:seq=y+1,

该报文发送完毕后,客户端和服务器端都进入ESTABLISHED状态,完成TCP三次握手。

2.四次挥手

TCP连接是双向的,在四次挥手中,前两次挥手用于断开一个方向的连接,后两次挥手用于断开另一方向的连接。

第一次挥手

服务端向客户端发送连接释放请求

报文的头部包含: fin = 1, seq = X

(ack = Z+1 表示的是上一条信息的应答包)

请求发送后服务端进入fin_wait_1状态第二次挥手

客户端收到服务端发来的释放报文后处于CLOSE_WAIT状态

并且会一个释放报文: ACK = x+1

服务端收到应答报文后会处于FIN_WAIT_2状态, 等待着客户端发送最后连接释放报文

(因为这时客户端到服务端的数据可能还没有发完)第三次挥手

当客户端的数据发送完毕后,客户端到服务端的链接就不需要存在了

就向服务端发送连接释放报文,其报文头包含:FIN=1,ack=y+1

由于在CLOS-WAIT状态,客户很可能又发送了一些数据,服务器就进入了LAST-ACK(最后确认)状态,服务端的确认。第四次挥手

服务端收到客户器的连接释放报文后,向客户端发出确认应答,报文头:ACK=y+2

此时客户端就进入了TIME-WAIT(时间等待)状态。

该状态会持续2MSL(最长报文段寿命)时间,这个期间TCP连接还未释放,若该时间段内没有服务端的重发请求的话,客户端就进入CLOSED状态,服务端只要收到了客户端发出的确认,立即进入CLOSED状态。就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。

详情查看连接

八.UDP协议(数据报协议)

UDP不可靠协议(不需要建立链接): 数据发出后立马删除

优点: 效率高, 不占内存

缺点: 数据不安全, 不可靠

应用: 聊天软件, 信息发送失败,再发送一条

十.socket(套接字)

1.什么是 socket ?

socket应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信。

2.socket的由来

socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写—关闭"模式的实现

服务器和客户端各自维护一个"文件",在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件。

十一.DHCP

1.实现网络通信, 每台主机需具备四要素

本机的IP地址子网掩码网关的IP地址DNS的IP地址

2.获取以上地址有两种方式

手动配置—>静态获取

动态获取—>DHCP

1.“以太网标头”,设置发出方(本机)的MAC地址和接收方(DHCP服务器)的MAC地址。前者就是本机网卡的MAC地址,后者这时不知道,就填入一个广播地址:FF-FF-FF-FF-FF-FF。

2.“IP标头”,设置发出方的IP地址和接收方的IP地址。这时,对于这两者,本机都不知道。于是,发出方的IP地址就设为0.0.0.0,接收方的IP地址设为255.255.255.255。

3.“UDP标头”,设置发出方的端口和接收方的端口。这一部分是DHCP协议规定好的,发出方是68端口,接收方是67端口。

这个数据包构建好之后, 通过广播发送, 子网内的每台主机都收到

开始拆包, 以太网头的目的mac:FF-FF-FF-FF-FF-FF无法看出是发送给那台主机的

继续拆包, 发现发出方IP地址为 0.0.0.0, 接收方IP地址为 255.255.255.255, 于是DHCP服务器知道包是发给它的.

接下来DHCP服务器读包, 然后分配IP地址, 发送一个"DHCP响应"数据包, 这个包结构类似:

1."以太网标头"的MAC地址是双方的网卡地址

2."IP标头"的IP地址是DHCP服务器的IP地址(发出方)和255.255.255.255(接收方)

3."UDP标头"的端口是67(发出方)和68(接收方)

4.分配给请求端的IP地址和本网络的具体参数则包含在Data部分。

十二.DNS(域名解析协议)

作用:将 这种格式的地址解析成IP地址

1.递归查询(不常用)

1.本机向本地DNS服务器查询域名,如果本地DNS服务器不知道

2.那么他会以DNS客户的身份向相邻DNS服务器 or 根域名服务器继续发出询问请求(替主机查询)

3.然后递归返回结果, 结果是返回插叙结果或者是表示无法找到

2.迭代查询

1.本地DNS服务器向根域名服务器发出查询请求

2.根域名服务器告诉你去顶级域服务器查询

3.顶级域又告诉你去二级域查询

4.最后二级域才告诉你格式的解析IP地址(返回主机)

3.浏览器上网DNS查询顺序

浏览器DNS缓存(内存)

浏览器会按照一定的频率缓存DNS记录本地操作系统DNS服务器(内存)

浏览器DNS里找不到会到操作系统里面找本机 HOSTS 文件(硬盘)

Windows系统中位于 C:\Windows\System32\drivers\etc路由器指定的DNS(远程)

路由器自动获取DNS, 也可以登入后手动修改ISP的DNS服务器(远程)

互联网提供商的DNS服务器根域名服务器(远程, 跨国)

ISP还找不到就到根域名服务器去找(美国9台, 欧洲三台,日本1台)

4.清除缓存方法

谷歌浏览器

在浏览器地址栏输入:

chrome://net-internals/#dns

点击 clear host cache

firefox火狐浏览器

1.在地址栏中 about:config 并回车

2.可能会出现一个警告信息,直接点击按钮进入,会出现firefox的所有配置信息

3.通过搜索dns 进行过滤

4.可以看到一项名为 network.dnsCacheExpirationGracePeriod 项

5.它对应的值就是DNS缓存的时间,双击此项,会出现修改的提示框,填入 0 (不缓存DNS)即可

Windows系统缓存

1.打开CMD输入命令: ipconfig /all

2.查看本地DNS缓存: ipconfig /displaydns

3.清除本地DNS缓存: ipconfig /flushdns

一.网络位和主机位

10101100.00010000.00001010.00000010—>ip地址:172.16.10.2/24

10101100.00010000.00001010. —>网络号: 172.16.10

.00000010—> 主机号: 2

192.168.10.2/24

前24位二进制位网络号: 192.168.10

主机位: 2

二.子网掩码

子网掩码用来标识一个IP地址的网络号个数, 从左到右, 只要属于网络号, 子网掩码就标记为 1, 主机部分全用 0 表示

还可以用网络前缀表示子网掩码,即"/<网络地址位数>"

如172.16.45.0/24表示B类网络172.16.45.0的子网掩码为255.255.255.0

比如子网掩码: 255.255.255.0

11111111.1111111.111111111.00000000—>255.255.255.0

前三个255为网络位, 0 为主机位

比如IP地址: 172.16.10.2/16

10101100.00010000.00001010.00000010—>ip地址:172.16.10.2/16

11111111.11111111.00000000.00000000—>255.255.0.0

前16位为网络位: 172.16

后16位为主机位: .10.2

三.按位与运算👉👉👉子网地址

10101100.00010000.00001010.11111110--------》ip地址:172.16.10.254/24

11111111.11111111.11111111.00000000--------》子网掩码:255.255.255.0

10101100.00010000.00001010.00000000--------》子网地址:172.16.10.0

10101100.00010000.00001010.11111110--------》ip地址:172.16.10.254/2511111111.11111111.11111111.10000000--------》子网掩码:255.255.255.12810101100.00010000.00001010.10000000-------->子网地址:172.16.10.128

四.什么是子网划分(子网划分的概念)

子网划分是通过借用IP地址的若干个主机位来充当子网地址, 从而将原来的网络划分成若干个彼此隔离的子网

五.为什么要子网划分

👉节省IP地址, 缩小广播域👈

IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用

为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了

六.子网划分的优点

减少网络流量提高网络性能简化管理易于扩大地理范围

七.如何子网划分

C类子网划分例子1

将一个C类地址: 192.168.0.0/24 划分成两个子网, 2^1 = 2, 向主机位借1位

所以子网掩码由原来的 255.255.255.0 (/24)变成了 255.255.255.128 (/25)

C类网络等分成2个子网,子网掩码往右移动1位,就能等分成2个子网(1, 0两种)

划分可得出结果:

1.子网A:

👉网络地址: 192.168.0.0/25

👉可用地址: 192.168.0.1 ~ 192.168.0.126

👉广播地址: 192.168.0.127

2.子网B:

👉网络地址: 192.168.0.128/25

👉可用地址: 192.168.0.129 ~ 192.168.0.254

👉广播地址: 192.168.0.255

C类子网划分例2

将一个C类地址: 192.168.0.0/24 划分成4个子网, 2^2 = 45, 向主机位借2位

所以子网掩码由原来的 255.255.255.0 (/24)变成了 255.255.255.192 (/26)

C类网络等分成4个子网,子网掩码往右移动2位,就能等分成4个子网(00, 01, 10, 11四种)

划分可的出结果:

1.子网A:

👉网络地址: 192.168.0.0/26

👉可用地址: 192.168.0.1 ~ 192.168.0.62

👉广播地址: 192.168.0.63

2.子网B:

👉网络地址: 192.168.0.64/26

👉可用地址: 192.168.0.65 ~ 192.168.0.126

👉广播地址: 192.168.0.127

1.子网C:

👉网络地址: 192.168.0.128/26

👉可用地址: 192.168.0.129 ~ 192.168.0.190

👉广播地址: 192.168.0.191

2.子网D:

👉网络地址: 192.168.192./26

👉可用地址: 192.168.0.193 ~ 192.168.0.254

👉广播地址: 192.168.0.255

子网划分

八.本地回环地址

1.什么是本地回环

127.0.0.1,通常被称为本地回环地址(Loopback Address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口

2.本地回环的作用

一般用来检查本地网络测试, 这样可以避免网络因素的影响

VLAN简述

一.什么是 LAN ?

由Hub、网桥或交换机等网络设备连接同一网段内的所有节点形成局域网(LAN),通常是一个单独的广播域。处于同一个局域网LAN之内的网络节点之间可以直接通信处于不同局域网段的设备之间的通信则必须经过路由器才能通信。

以上通信必须通过三层设备(路由器来实现), 但在网络规模增大的情况下存在着以下缺陷:

1.路由器数量需要增加, 网络延迟随之增长, 网络数据传输速率下降(数据包需要经过路由器, 路由器需要查看包中响应信息)

2.用户是通过物理连接被分到不同广播域, 每个用户的带宽需求都不同, 但这种连接方式并不会区分用户的带宽需求, 于是被机械地划分到同一个

二.什么是 VLAN?

1.可以不通过路由器来隔离不同的广播域

2.可以突破地理位置的限制, 在逻辑上划分不同的广播域

3.IEEE 802.1Q定义了VLAN Header的格式, VLAN ID 最大值为4096, 但有效范围是: 1~4094

4.交换机的端口类型

Access 用户接入端口: 该类型端口只能属于一个VLAN, 一般用于主机连接的端口

这些端口被打上了 VLAN Tag

离开交换机的 Access port 进入计算机的以太帧中没有 VLAN Tag,这意味着连接到 access ports 的机器不会觉察到 VLAN 的存在

离开计算机进入这些端口的数据帧被打上了 VLAN Tag

Trunk 汇聚端口: 当需要设置跨越多台交换机的VLAN时则需要设置Trunk功能

​ 互联网线连接

当两台交换机上分别设置了红, 蓝个VLAN

处于不同交换机上的相同VLAN的主机通信就需要添加互联网线和端口

这种方法扩展性和管理效率都比较差

需要的网线以及端口越来越多

​ 使用Trunk 端口连接两台交换机

三.VLAN的不足

1.Vlan使用12-bitde VLAN ID, 最多支持4096个VLAN网络(除去预留后可用范围: 1~4094), 对于大型数据中心来说, 这个数量是远远不够的

2.VLAN 是基于 L2 的,所以很难跨越 L2 的边界,在很大程度上限制了网络的灵活性

3.VLAN 操作需手工介入较多,这对于管理成千上万台机器的管理员来说是难以接受的

计算机核心基础 计算机硬件组成原理 计算机硬件组成详解 硬盘接口及操作系统 计算机网络简述 OSI七层协议 子网划分 VLAN简述

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。