1、什么是硬件和软件?有哪些代表性名称?

  计算机硬件是计算机系统中完成输入、存储、处理和输出功能的具体设备。硬件系统又分为主机(CPU、内存储器)和外围设备(外存储器、输入/输出设备)。
  计算机软件是控制硬件正确有效的完成各项任务,分为系统软件和应用软件。系统软件主要包括操作系统(DOS、Windows、linux等)、编译软件、数据库管理系统等,应用软件有数据处理软件、文字处理软件等。

2、列举目前主流计算机的硬件组成(包括图像、基本参数及价格)

(1)主板:主要是技嘉系列、华硕系列等
例如技嘉H110:报价¥499-1299
重要参数:
主芯片组:Intel H110
音频芯片:集成Realtek ALC887 8声道
内存类型:2×DDR3 DIMM
最大内存容量:32GB
主板板型:Micro ATX板型
blob
(2)CPU:目前市场上的CPU主要是美国英特尔公司和超微公司
例如Intel奔腾系列、赛扬系列、酷睿双核系列、酷睿4核处理器等
Intel酷睿i7 7700:报价¥1597
主要参数:
CPU主频:3.6GHz
动态加速频率:4.2GHz
插槽类型:LGA 1151
核心数量:四核心
线程数:八线程
blob
(3)内存:计算机系统中存放数据与指令的存储单元,内存的好坏会直接影响电脑的运行速度。目前主要型号有金士顿、威刚等
例如金士顿FURY:报价¥199-2999
重要参数:
适用类型:台式机
内存容量:8GB
内存类型:DDR3
内存主频:1866MHz
blob
(4)声卡:也叫音频卡,是实现声波/数字信号相互转换的一种硬件,是计算机进行声音处理的适配器。
  此外还有键盘、鼠标、显示屏等

3、CPU的工作原理是是怎样的?

  CPU工作时是从内存中逐一取出指令和相应的数据,按指令操作码对数据进行运算处理,直到程序执行完为止。
(1)取指令:CPU 控制器从内存读取一条指令并放入指令寄存器。指令格式为操作码+操作数地址。
(2)指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。
(3)指令执行:取操作数和进行运算
取操作数:CPU 通过寻址操作,从内存(数据段)中读取操作数到通用寄存器中,暂存起来。
进行运算:运算单元通过指令中的操作码,对寄存器中的操作数进行 mov,add,jmp 操作。
(4)指令计数:修改指令计数器,决定下一条指令的地址。

4、内存是用来做什么的?为什么内存被称为RAM?

  内存是与CPU直接交换数据的内部存储器,用来存储数据。所有可以执行的程序也必须放到内存中才能运行。RAM可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。

5、什么是操作系统?列出一些主流的操作系统(名称、生产厂商及发布年份)

  操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
  Windows操作系统:微软公司于1985年11月推出了Windows的最早版本Windows9.0,Windows XP在2001年10月25日发布,Windows 10于2015年7月29日发布正式版。
  类Unix系统:包含了System V、BSD与Linux。1991年,芬兰学生林纳斯·托瓦兹根据类Unix系统Minix编写并发布了Linux操作系统内核
  MacOS X操作系统:是一套运行于苹果Macintosh系列计算机上的操作系统。

6、操作系统的主要任务是什么?(什么是多线程及多处理?)

  操作系统的主要任务可以概括为:1、管理计算机资源:管理文件、管理内存、管理CPU、管理设备(输入/输出等)2、提供一个用户与系统交互的操作界面。
  多线程是指从软件或者硬件上实现多个线程并发执行的技术。是同步完成多项任务的一种方法,需要区别于高并发(系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况)

一、随堂练习

1、(1314)10=(?)8
       (2442)8
2、(86)10=(?)16
       (56)16
3、(100110)2=(?)8
       (46)8
4、(4A.B)16=(?)10
       (74.6875)10
5、(CD)16=(?)2
       (11001101)2

二、随堂练习

1、根据十进制数字,分别写出原码、反码、补码

数字1:127
(01111111)=(00000000)=(00000001)
数字2:64
(01000000)=(00111111)=(01000000)
数字3:-128
以1个字节来看:-128没有反码和原码,只有补码表示,为:
(10000000)
从2字节来看:
(10000000 10000000)=(11111111 01111111)=(11111111 10000000)

三、课后作业

1、什么是硬件和软件?有哪些代表名称?

  硬件:从外观看分为主机和外部设备,主机包括CPU、内存、主板、硬盘等等等,外部设备包括鼠标,键盘等。
  软件:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据(摘自国际定义)。既按照特定的顺序执行的计算机数据或指令的集合体。分为系统软件和应用软件。系统软件有包括我们常用的操作系统(Windows、DOS、Linux、UNIX、苹果操作系统)、语言处理程序(汇编语言汇编器、C语言编译器等编译软件)、数据库管理系统(Foxpro、Access、Oracle、Sybase、DB2和Informix)和系统辅助处理程序(软件研发开发工具)。应用软件包括数据处理软件,文件处理软件,CAD软件,网页制作软件等。

2、列举目前主流的计算机硬件:

  关于显卡:说主流,其实具体要看个人需求,6年前的神U、V3、1230还可以使用(100、200)。5年左右的960,970(500左右),3年左右的1050ti,1060以及6代7代卡占着大量的使用率(500—2000不等),最新的2080ti、泰坦系列(4000—-1W3不等)。
  关于主板:主板根据板载声卡、板载网卡、内存(各种标准、最大容量、支持频率、插槽等等)、扩展CPI、芯片组、存储设备、板载接口、支持CPU等等等等的多方面的差异,价格也就有天壤之别,好一些的华硕的TUF板和微型BXXM的板子在700块钱左右。
  关于CPU:主要有Intel的i3、i5、i7、i9以及AMD的锐龙系列,Intel还是主流。AMD目前锐龙5主打高端在1700左右,而因特尔系差距较大,目前i5和i7为主流(i5的第九代1200,i7的九代2700),i3逐渐淘汰,i9主打高端(如i9的9980,X在5600左右,XE在1W以上)
  关于电源:看品牌和额定电压(主要看额定电压),额定电压主流为500W、600W,价位在200—400之间,高端有850W、1200W、1600W,价格在2000—6000不等,海盗船,鑫谷、酷冷至尊等都为大牌。
  关于风扇:现在风扇主要看是否有光污染或者水冷,水冷扇以酷冷至尊、海盗船为高端主要在1000快钱上下,普通家用支持ARPG的在200左右,主流带水冷散热器在500左右。
关于水冷:水冷关键部位在水冷液,好的水冷液在300块钱上下,以曜越为首。

3、CPU的工作原理:

  CPU从逻辑上可以划分成3个模块,分别是控制单元、运算单元和存储单元,这三部分由CPU内部总线连接起来。

     

CPU的工作原理是:

1、取指令 CPU的控制器从内存读取一条指令并放入指令寄存器。
2、指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作。
3、执行指令,分两个阶段“取操作数”和“进行运算”。
4、修改指令计数器,决定下一条指令的地址。

4、内存是是用来做什么的。为什么被称为RAM?

  内存是与CPU进行沟通的桥梁。其作用是暂时存放CPU中的运算数据。其实总体来说,RAM和ROM都是数据存储器。RAM是随机存储器,ROM是只读存储器。

5、什么是操作系统?列举一些主流的操作系统。

  操作系统是管理计算机硬件和计算机软件资源的一套计算机程序。主流的操作系统有Windows(微软公司(Microsoft)开发,1985年开始发行第一版)\Linux(林纳斯·本纳第克特·托瓦兹,1991年由个人开发)\苹果操作系统(MacOS,于1985年由乔布斯被辞退后在自己成立的NeXT公司研发,现以及被苹果收购)等。

操作系统的主要任务是什么(什么是多线程多处理)?

  操作系统的主要任务是管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。
  多线程:是指从软件或者硬件上实现多个线程并发执行的技术。既能够在同一时间执行多于一个线程,进而提升整体处理性能。
  多处理:多处理是指在多核处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。处理器之间彼此可以交换数据,所有处理器共享内存,I/O设备,控制器,及外部设备,整个硬件系统由统一的操作系统控制。

四、预习作业

1、市面上有什么样的操作系统。他们都是用来干什么的?

  操作系统有Windows\Linux\苹果操作系统。
  linux系统主要是用于后端服务器操作系统,在嵌入式方面也有广泛应用。Windows是个人电脑操作平台进行用户图形界面。苹果操作系统与Windows相同。

2、在windows系统中,有哪些常用的命令呢?

  1、从C盘切换到E盘或者D盘,输入“E:”敲回车键即可。2、打开E盘下的某个文件夹,输入”cd file“即可打开E盘下的test文件夹。输入“cd ..”即可退回到上一级目录。输入“cd / ”即可回到根目录下。
  输入“dir”命令可以查看目录下有那些文件和文件夹。
  mkdir 文件夹名\子文件夹 新建文件夹。
  rd E:\file 删除文件夹
  rd /s E:\file 删除空文件夹或者文件,如果不是空文件夹或文件,则会提示
  rd /s /q E:/file 删除非空的文件夹或者文件,不会提示
  del E:\file\file.txt 删除文件命令(del)

3、在windows系统中,在哪些情况下有哪些快捷键操作?

  选中工具栏,显示桌面,打开我的电脑,最小化窗口,打开运行,打开所有开始菜单想打开的系统工具都可以。

4、查查计算机网络怎么分类,都有些什么样的分类

1、计算机网络按照覆盖的地理范围进行分类,计算机网络可以分为局域网、城域网和广域网三类。

5、查查IP地址都是怎么分类的,每一类IP地址

  A类地址:一个A类IP地址仅使用第一个8位位组表示网络地址。剩下的3个8位位组表示主机地址。A类地址的第一个位总为0。
  B类地址:设计B类地址的目的是支持中到大型的网络。B类网络地址范围从128.1.0.0到191.254.0.0。
  C类地址:C类地址用于支持大量的小型网络。这类地址可以认为与A类地址正好相反。A类地址使用第一个8位位组表示网络号,剩下的3个表示主机号,而C类地址使用三个8位位组表示网络地址,仅用一个8位位组表示主机号。
  D类地址:D类地址用于在IP网络中的多目广播。D类地址的前4位恒为1110,预置前3位为1意味着D类地址开始于128+64+32等于224。第4位为0意味着D类地址的最大值为128+64+32+8+4+2+1为239,因此D类地址空间的范围从224.0.0.0到239.255.255.254。
  E类地址:Internet上没有可用的E类地址。E类地址只保留做研究用途。E类地址的前4位恒为1,因此有效的地址范围从240.0.0.0至255.255.255.255。

一.什么是进制数:

X进制数就是指:数字在运算,记录时遇到X就进一位。
数制系统的要素:
数字:数字即是组成当前数制的所有数,即10进制的0,1,2,3,4,5,6,7,8,9
8进制的0,1,2,3,4,5,6,7
16进制的0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
星期的数字为周一,周二,周三,周四,周五,周六,周天
一般来说x进制数的数字的范围是0到x-1的所有整数。
基数:x进制的基数就是x。
位权:某一位数上的1所表示的大小,例如(10)2上1的位权为21

二.进制数的转换:

1.十进制转二进制:短除法

 例如十进制数19,将他转为二进制的方法:
   1.先用这个数19除以基数2,商为9,余数为1
   2.用前面的商9 除以基数2,商为4,余数为1
   3.用前面的商4 除以基数2,商为2,余数为0
   4.用前面的商2 除以基数2,商为1,余数为0
   4.前面的商1除不尽基数2了,直接取出    1

   将前面所有计算出的余数从下到上排列出来,就是19的二进制数,即10011。

十进制转其他进制也是一样的,把基数的值改成对应基数的值就可以了

2.二进制转十进制:按权重进行展开相加

例如二进制数11101,将他转成十进制的方法:
每一位数上的数字乘以他那一位数的位权,再把他们相加,即得到对应的十进制数
(11101)2=()10?
1 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 1 * 24=29
(11101)2=(29)10

其他的的进制数转成十进制也是一样的,把位权改成相应的位权就可以了

3.非十进制数之间的转换

万能思路:先转换成十进制,在从十进制转成相应的进制数。

遇到二进制和 (2的次方数)进制之间的转换时,有简便得方法:

例如(11101)2=()8?
1.先看要转的基数,16 = 24,指数为4
2.即把前面的二进制数从右到左四个成组(最后一组不足四个的不需要管)
3.即1 1101
4.将每一组数转成8进制得到 1 13
5.按顺序组合起来即可(11101)2=(1D)16

反过来从其他(2的次方数)进制转成二进制也一样,从右到左将非二进制数的每一位数转成其基数的指数位数的二进制,再将这些二进制数按顺序组合即可。

4.有小数的其他进制数转十进制

以二进制转十进制为例
(1101.101)2 = ()10?
同整数的其他进制转十进制一样,按权重进行展开相加,小数部分指数取负
1 * 23 + 1 * 22 + 0 * 22 + 1 * 21 + 1 * 2-1 + 0 * 2-2 + 1 * 2-3 = 13 + 0.625 =13.625
(1101.101)2 = (13.625)10

5.有小数位的十进制转其他进制

(43.3)10 = ()16?
整数部分用短除法
43/16 商2 余11 即整数部分的十六进制为2B
小数部分0.3乘以基数16 =4.8 取出整数部分8 剩下的小数部分继续乘以基数16
剩下的小数部分0.8继续乘以基数16 =12.8 取出整数部分12 剩下的小数部分继续乘以基数16
………………直到小数部分为零或者到达要求经度位置(可能这就是有时候double型做计算时后面小数位最后几位会出现一些小数的原因?)
按照正序把取整部分排列 .8C
拼接起来 (43.3)10 = (2B.8C)16

什么是计算机网络

计算机网络又叫计算机通信网,根据不同的方面看,对它的定义也不同。

  • 从广义来看,计算机网络通信线路将地理上分散的、具有独立功能的计算机系统和和通信设备按照不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。

  • 从连接角度来看,计算机网络将分布在不同地理位置上的具有独立工作能力的计算机,中断及其附属设备和通信线路连接起来并配置网络软件,以实现计算机资源共享的系统。

  • 从需求方面来看,计算及网络就是由大量独立且相互连接起来的计算机共同完成计算机任务的集合。

计算机网络的发展历程

我国的计算机网络设备制造业是在改革开放后成长起来的,早期与世界水平存在巨大差异,但受益与计算机网络设备的生产技术不断提高及市场需求越来越大,我国的计算机网络设备制造业发展得十分迅速。

  • 第一代计算机网络 – 远程终端联机阶段
    1.最初的计算机是为批处理而设计,当计算机和远程终端相连时,就得在计算机上增加一个接口,并且这个接口要对计算机原来的软件和硬件影响尽可能的小,所以出现了如下图1-1所示的线路控制器( Line Controller )。
    

    [线路控制器](https://tieba.baidu.com/p/5706406675 "线路控制器")

    2.随着远程终端数量的增加,为了避免一台计算机使用多个线路控制器,在60年代初期出现了多重线路控制器( Multiple Line Controller),它可以和远程终端相连接构成面向终端的计算机通信网。这种最简单的通信网就是第一代计算机网络。如下1-2所示:
    

    [多重线路控制器](https://tieba.baidu.com/p/5706406675 "多重线路控制器")

  • 第二代计算机网络 – 计算机网络阶段

    1.20世纪60年代,美苏冷战期间,美国国防部领导的远景研究规划局(APPA)提出要研制一种崭新的网络来对付前苏联的核攻击威胁,当时传统的电信网络虽然四通八达,但是战争期间,一旦正在通信的电路有一个交换机或者链路被炸,就会中断整个通信电路,而且用其他的迂回电路还需要重新拨号建立连接。在这个背景下,出现了分组交换技术。正是利用这个技术美国研制出了阿帕网(ARPAnet)。
    
    2.分组交换技术采用存储转发技术把报文转换为一个个的“分组”在网络中传送,分组交换网由若干个结点交换机和连接这些交换机的链路组成,一个结点交换机就是一个小型的计算机,主机进行信息处理,结点交换机进行分组交换,由于它是计算机,所以输入和输出端口之间是没有直接连线的。这种集合就是早期的通信子网。如下所示:
    

    [分组交换技术](https://tieba.baidu.com/p/5706406675 "分组交换技术")

    3.它将收到的分组先放入缓存,结点交换机暂存的事短分组而不是整个长报文,短分组暂存在交换机的存储器(内存)而不是存储在磁盘中,这样保证了较高的传输速率,在查找转发表找出某个目的地址应该从哪个端口转发,然后交换机将该分组传递给适当的端口转发出去。各结点交换机之间也要经常交换路由信息,但这是为了进行路由选择,当某段链路的通信量太大或中断时,结点交换机中运行的路由选择协议能自动找到其他路径转发分组。通信线路资源利用率提高。
    
    4.分组交换技术的出现使得计算机网络时代进入第二阶段,它以通信子网为中心,分组交换技术为基础,数据处理和数据通信开始分开处理。远程大规模互联开始被广泛使用。
    
  • 第三代计算机网络 – 计算机网络互联阶段
    1.随着分组技术的不断发展,到70年代ARPAnet已经有了好几十个计算机网络,但是每个网络智能在网络内部的计算机之间互联通信,不同计算机网络之间仍然不能互通,为此APRA又设立了新的项目,以此支持学术界和工业界的有关研究,项目的主要内容就是想用一种新的方法将不同的计算机局域网互联,形成“互联网”,研究人员将其称为“internetwork”,简称“internet”。我们熟悉的因特网就由此而来。计算机网络正式进入第三阶段,网络互联。
    
    2.研究过程中,计算机软件起到了主要作用,不同的网络之间互联,需要一个共同的标准制约,1974年,出现了连接分组网络的协议,其中包括了著名的TCP/IP(网际互联协议和传输控制协议),IP是基本的通信协议,而TCP是实现可靠传输的协议。
    

    [TCP/IP](https://tieba.baidu.com/p/5706406675 "TCP/IP")

    3. TCP/IP有一个非常重要的特点,开放性。它的规范和技术都是公开的,目的就是使任何厂家生产的计算机都能相互通信,而正是因为这个原因使得internet在这个时期之后得到飞速的发展。
    
  • 第四代计算机网络-国际互联网和信息高速公路阶段
    1.APPA在1982年接受了TCP/IP,选定internet作为主要的计算机通信系统,1986年美国科学家基金组织将分布在美国各地为科研教育的5个超级计算机中心互联并支持地区网络技术形成SNSFnet,1988年它取代了ARPAnet成为了internet的主干网,1989年ARPAnet解散,internet开始从军用转向民用。
    
    2.从一开始的单个网络ARPAnet到互联网的发展,到NSF取代它建立围绕6个大型计算机中心建立了三级结构的因特网NSFnet,再到之后它逐渐被若干个商用的internet主干网取代,多级结构internet形成。计算机网络进入了国际互联网时代,信息传输得到飞速发展。
    

    [因特网时代](https://tieba.baidu.com/p/5706406675 "因特网时代")

计算机网络的组成分类

计算机网络基本组成包括:计算机,网络操作系统,传输介质(有形或者无形)和相应的应用软件。

计算机网络的分类:

  • 局域网(Local Area Network),最常见、应用最广的网络。
    [局域网](https://tieba.baidu.com/p/5706406675 "局域网")

    1.连接范围窄(几十米-几公里的小型范围里)
    2.用户少
    3.配置容易
    4.连接速率高
    
  • 城域网(Metropolitan Area Network)
    [城域网](https://tieba.baidu.com/p/5706406675"城域网")

    1.连接范围相对较广,可以覆盖一个城市(几公里-几十公里)
    2.用户相对比较多(一个城市的所有局域网用户)
    
  • 广域网(Wide Area Network),又叫远程网。
    [广域网](https://tieba.baidu.com/p/5706406675 "广域网")

    1.范围更广(几百公里-几千公里),跨越国界和洲界。
    2.信息衰减严重(一般要租用专线解决通过IMP协议解决)
    3.internet就是广域网的典型代表。
    
  • 无线网(Wireless Network),采用无线通信技术实现。
    [无线网](https://tieba.baidu.com/p/5706406675 "无线网")

    1.易于安装使用。
    2.数据传输率比有线低。
    

计算机网络的性能

通过计算机的性能指标能决定计算机的性能好坏。

  • 速率,单位:bit/s
    1.网络技术中的速率指的是连接在计算机网络上的主机在数字信道上传输数据的速率。速率越大性能越好。
    2.现在的100M以太网就是指速率为100Mbit/s的以太网
    
  • 带宽
    1.传统意义的带宽指某个信号具有的频带宽度,单位是赫兹。
    2.计算机网络的带宽用来表示网络通信线路传输数据的最高数据率,即速率的最大值就是带宽,单位还是bit/s。
    
  • 吞吐量,表示在单位时间内通过某个网络(信道,接口)的数据量。单位:bit/s
    1.它用于现实世界网络的测量,以便知道有多少数据量能通过网络。
    2.它受到带宽和速率的制约。
    
  • 时延,数据从一端传送到另一端所需要的时间。又叫延迟。
    1.发送时延,主机或路由器发送数据需要的时间,它与发送数据的帧长成正比,和信道带宽成反比。
    2.传播时延,数据在信道中传播一定距离所需要花费的时间。等于信道长度(m)除以它的传播速率(m/s)。
    3.处理时延,收到信息时花费的处理时间。
    4.排队时延,网络传输进入路由器要先后等待处理。
    5.往返时间,发送数据到收到对方确认所经历的时间
    6.利用率,信道利用率指某信道有百分之几的时间有数据通过,网络利用率则是信道利用率的加权平均值。
    
  • 其他决定网络性能的非性能特征指标
    1.费用(价格越高性能就越好)
    2.材料质量(决定网络质量)
    3.可扩展和可升级性(能不能升级,紧跟版本)
    4.标准化(是否符合国际标准)
    5.管理和维护(是不是方便管理维护)
    

计算机网络体系结构

计算机网络中想要做到有条不紊的交换数据,就必须遵循一些事先约定好的规则(通信协议或者网络协议),这些规则明确规定了所交换的数据格式和有关的同步问题。是计算机网络中不可缺少的部分。

  • 网络协议:为网络中的数据交换所制定的规则,它由以下三要素组成:
    1.语法:规定数据和控制信息的结构和格式。
    2.语义:规定需要发出的控制信息,完成的动作和做出的响应
    3.同步:规定事件实现顺序的详细说明。
    
  • 对于复杂的计算机网络协议,其结构应该是分层的,分层可以带来很多好处。如下所示:
    [分层工作示意图](https://tieba.baidu.com/p/5706406675 "分层工作示意图")

    1.各层之间相互独立,每一层只实现一种相对独立的功能,所以可以将一个难以处理的负杂问题分解成若干个容易处理的小问题,降低处理难度。
    2.灵活性好,当任何一层发生变化时,只要层间接口关系不变,这层的上下层都不受影响,甚至可以进行修改和取消。
    3.结构分开,每层都可以采用最合适的技术实现。
    4.方便实现和维护,因为整个系统已经被分解为若干个子系统。
    5.能促进标准化工作。每一层提供的服务都有精确说明。
    
  • 通过以上我们可以看出,网络的体系结构就是这个计算机网络和它的构件所应该完成的功能的精确定义。

常用网络

虽然我们现在所能看到的局域网主要是以双绞线为代表传输介质的以太网,但是在网络战战的早起或在其他各行各业中,因为其行业特点,采用的局域网也不一定都是以太网。

  • 以太网:应用最广泛的局域网。遵循IEEE 802.3标准
    1.标准以太网:最早只有10Mbps的吞吐量,使用带有冲突检测的载波侦听多路访问(CSMA/CD)的访问控制方法。传输介质是双绞线和同轴电缆。
    2.快速以太网:1993年,Grand Junction公司退出了世界上第一台快速以太网集线器(FastSwitch10/100)和网络接口卡(FastNIC100),拉开了快速以太网序幕,1995年电器和电子工程师协会IEEE宣布了IEEE802.3u 100BASE-T快速以太网标准(Fast Ethernet),开始了快速以太网的时代。它支持3.4.5类双绞线以及光纤的连接,能有效利用设备。速度达到了100Mbps。
    3.千兆以太网:随着以太网技术的深入应用和发展,1995年IEEE802.3工作组委任了一个高速研究组,研究将以太网的速度增至1000Mbps的可行性和方法。1998年正式批准了千兆以太网的标准(IEEE802.3z),千兆以太网得以开始应用。
    4.10G以太网,标准在2000年正式制定,但是这类设备造价太高,所以它还处于研发的初级阶段没有得到实质应用。
    
  • 令牌环网

这种网络比较少见,在这种网络中,有一种专门的帧称为“令牌”,在环路上持续地传输来确定一个结点何时可以发送包。但是由于以太网的快速发展,它的缺点也比较大,所以现在基本退出了市场。

  • FDDI网(Fiber Distributed Data Interface)

它的中文名是“光纤分布式数据接口”,在80年中期发展起来的一项局域网技术,通信能力高于当时的以太网,但是由于它只支持光缆和5类电缆,所以使用环境受到了很大限制。以太网升级后更是面临着大量的移植问题。

  • ATM网(Asynchronous Transfer Mode)

他的中文名为“异步传输模式”,它是一种新型的单元交换技术,和以太网,令牌环网,FDDI网所使用的可变长度包技术不同,它使用的是53字节固定长度的单元进行交换,它没有共享介质所带来的延时,非常适合音频和视频数据的传输。它使用的是相通的数据单元。可以实现局域网和广域网的无缝连接,并支持虚拟局域网功能,能灵活管理和配置网络。

  • 无线局域网(Wireless Local Area Network;WLAN):最新最热门的局域网。
    1.它自Intel推出首款自带无线网络模块的迅驰笔记本处理器之后大热,与其他网络不同,它是以空气作为传输介质,传统的网络都是通过有形介质进行传输的,所以它最大的优点就是自由,只要是在网络的覆盖范围内,就可以在任何地方连接上无线网络。
    2.采用IEEE 802标准委员会指定的IEEE 802.11系列标准,包括802.11b(ISM 2.4GHz)、802.11a(5GHz)、802.11g(ISM 2.4GHz) 和802.11z,前三个是针对传输速度进行的改进,最后一个则是加强无线局域网安全而设定的。
    

总结

21世纪人类将全面进入信息时代。信息时代的重要特征就是数字化、网络化和信息化。要实现信息化就必须依靠完善的网络,因为网络可以非常迅速地传递信息。因此网络现在已经成为信息社会的命脉和发展知识经济的重要基础。网络对社会生活的很多方面以及对社会经济的发展已经产生了不可估量的影响。

这里所说的网络是指电信网络、有线电视网络和计算机网络。这三种网络向用户提供的服务不同。电信网络的用户可得到电话、电报以及传真等服务;有线电视网络的用户能够观看各种电视节目;计算机网络则可使用户能够迅速传送数据文件,以及从网络上查找并获取各种有用资料,包括图像和视频文件。这三种网络在信息化过程中都起到十分重要的作用,但其中发展最快的并起到核心作用的是计算机网络。随着技术的发展,电信网络和有线电视网络都逐渐融入了现代计算机网络(也称计算机通信网)的技术,产生了“网络融合”的概念。

自从20世纪90年代以后,以因特网(Internet)为代表的计算机网络得到了飞速的发展,已从最初的教育科研网络逐步发展成为商业网络,并已成为仅次于全球电话网的世界第二大网络。因特网正在改变着我们工作和生活的各个方面,它已经给很多国家带来了巨大的好处,并加速了全球信息革命的进程。因特网是人类自印刷术发明以来在通信方面最大的变革。现在,人们的生活、工作、学习和交往都已离不开因特网了。

背景

上一篇文章提到过,自网络互联之后,为了减少网络设计的复杂性,大多数网络都采用分层结构,对于不用的网络,层的数量、名字、内容和功能都不尽相同。所以,它们需要一个共同遵守的协议来规定数据的传输规范,由此产生了TCP/IP协议。

定义

TCP/IP是Transmission Control Protocol/Internet Prococol的缩写,译为传输控制协议/因特网互联协议(网络通讯协议)。它是因特网最基本的协议,国际互联网络的基础。

  • TCP协议规定电子设备如何进入internet。

  • IP协议则是给internet的每一台联网设备规定一个地址,方便数据进行传输。

层次结构

从协议分层模型来讲,TCP/IP由4个层次组成,如下所示:

[TCP/IP模型](https://tieba.baidu.com/p/5706406675 "TCP/IP模型")

IP协议位于网络层。TCP协议位于传输层。

  • 网络接口层负责定义传输介质的各种特性,包括机械特性,电子特性,功能特性和规程特性并接收IP数据包交给网络层(IP层)。

  • 网络层则负责计算机之间的通信,根据IP协议处理来自下一层(传输层)的分组发送请求和上一层(网络接口层)发来的数据,然后处理数据传输路径等问题。

  • 传输层提供应用程序间的通信,格式化信息流并提供可靠传输。

    为了实现可靠传输,传输层协议规定接收端必须发回确认,数据丢失则重新发送,这就是著名的“三次握手”过程。

  • 应用层则是面向用户交互的界面,一般通过应用程序实现。

IP地址(Internet Protocol Address)

上一小节说到,IP协议位于网络层,因为各种网络中的计算机设备都是不止一台,为了实现数据的正确可靠传输,IP协议给每一台联网设备规定了一个独一无二的地址。根据地址就能正确找到相应的计算机。这就是IP地址。

IP地址又叫网际协地址,可以理解成它是给每一台因特网上的电脑进行编号,传输的数据不能区分电脑,但是可以根据编号找到相应的计算机设备把数据准确可靠的送达。是网络上计算机的唯一标识。分为IPv4和IPv6两大类。

  • IP地址是一个32位的二进制数,通常被分割为4个8位的二进制数。

    即(a,b,c,d)的形式

  • 其中,a,b,c,d都是0~255之间的十进制整数。

    因为八位二进制数最大是11111111,所以换成十进制刚好是255。

IP地址的编址方案

IP地址由网络ID + 主机ID组成。

  • 网络ID标识设备所在的网段。

  • 主机ID则标识相应的设备。

IP地址编址方案将IP地址空间划分为A,B,C,D,E五类,其中A,B,C是基本类,D,E类作为多播和保留使用。如下所示:

[IP分类](https://tieba.baidu.com/p/5706406675 "IP分类")

到现在为止介绍IP地址都是IPv4地址,它有4段有效数字,每一段最大不超过255,由于互联网的蓬勃发展,IPv4地址已经在2011年全部分配完毕。为了扩大地址空间,现在正在拟通过IPv6重新定义地址空间。

IP地址的分配

TCP/IP协议需要针对不同的网络进行不同的设置,而且每个节点需要一个IP地址,一个子网掩码,一个默认网关来组成。

  • 子网掩码:它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识是主机的位掩码。

    简单来说,它就是将某个IP地址划分成网络地址和主机地址两个部分。A类的默认子网掩码就是255.0.0.0,B类的事255.255.0.0,C类的则是255.255.255.0。

  • 默认网关:一个网络通向其他网络的IP地址。

互联网上的IP地址统一由一个叫“LCANN”(Internet Corporation for Assigned Names and Numbers,互联网赋名和编号公司)的组织来管理。

协议优势

  • TCP/IP协议不依赖于任何特定的计算机硬件或操作系统,提供开放的协议标准,即使不考虑Internet,TCP/IP协议也获得了广泛的支持。所以TCP/IP协议成为一种联合各种硬件和软件的实用系统。

  • 它不依赖网络传输硬件,所以TCP/IP能够集成各种各样的网络,不管是是以太网还是令牌环网还是拨号线路等等都可以。

  • 有着统一的网络地址分配方案。每个TCP/IP设备在网络中都有唯一的地址。

  • 有标准化的高层协议,能提供多种可靠的用户服务。

主要缺点

  • 在服务、接口和协议上的区别不是很清楚。没有很好的将功能和实现方法区分开来。

  • 网络层本身并不是实际的一层,它定义了网络层和数据链路层的接口。数据链路层和物理层的划分是很有必要的。

    参考TCP/IP结构对应的OSI参考模型

[TCP/IP和OSI相对比](https://tieba.baidu.com/p/5706406675 "TCP/IP和OSI相对比")

◆编写第一个C语言程序-Hello World

“Hello World”的字面意思是“你好,世界”,也就是跟世界打招呼。
这是每个程序猿要征服的第一个代码,旅程从这里开始·······

一.下载编译器及配置环境变量

  1. 我下载的是code::blocks自带编译器的版本,这个是下载地址:☆☆下载戳我☆☆
  2. 安装好后,开始给编译器配置环境变量,首先找到code::blocks文件夹内编译器的位置,
    —–code::blocks >>> MinGW >>> bin——–
    z
  3. 依次按以下顺序:右键单击系统—属性—环境变量—Path—编辑—新建
    然后在新建里输入刚刚找到的bin目录
  4. 最后测试是否成功配置环境
    • win+R输入cmd
    • 输入gcc(空格)-v

二.输出HelloWorld

1. 右键单击空白的地方,新建一个空白的文本文档![]
2. 将文本文档重命名为
3. 在文本里输入以下代码

#include <stdio.h>

int main()  
{  
    printf("Hello World\n");
    return 0;
}

4. 先找到HelloWorld.c文件的位置,在cmd里进入该文件地址,然后输入gcc.HelloWorld.c(这里注意要区分大小写)

5. 如果没有报错,说明编译正常,会在HelloWorld.c的文件夹内生产一个a.exe文件,cmd输入“.\a.exe”运行程序

第一步:

打开命令行界面:键盘WIN+R,输入CMD进入命令行;

第二步:

确认环境配置是否正确,在命令行输入gcc -v,出现如下结果即为正确,否则需要先配置环境;
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=E:/CodeBlocks/MinGW/bin/../libexec/gcc/mingw32/4.9.2/lto-wrapper.exe
Target: mingw32
Configured with: ../../../src/gcc-4.9.2/configure –build=mingw32 –enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ –enable-libgomp –enable-lto –enable-graphite –enable-libstdcxx-debug –enable-threads=posix –enable-version-specific-runtime-libs –enable-fully-dynamic-string –enable-libstdcxx-threads –enable-libstdcxx-time –with-gnu-ld –disable-werror –disable-nls –disable-win32-registry –disable-symvers –enable-cxx-flags=’-fno-function-sections -fno-data-sections -DWINPTHREAD_STATIC’ –prefix=/mingw32tdm –with-local-prefix=/mingw32tdm –with-pkgversion=tdm-1 –enable-sjlj-exceptions –with-bugurl=http://tdm-gcc.tdragon.net/bugs
Thread model: posix
gcc version 4.9.2 (tdm-1)

第三步

新建一个文本文件,后缀名改为“.c”如:”hello.c”
注意路径不要有中文,如:H:\CodeBlocks\hello。打开记事本,输入需要的程序,并保存;

第四步

在CMD窗口运行下面命令:
“你的文件所在的盘符D+冒号”,如 D:
“cd+空格+你文件的路径” 如:cd H:\CodeBlocks\hello
这里cd是change directory的意思
输入“gcc+空格+文件名”完成编译,如:gcc hello.c

第五步

第四步完成时已经生成了新的exe文件a.exe,这里可以输入“.\a.exe”运行程序,也可以双击这个文件直接运行。

在桌面建一个文件夹。我这里新建的文件夹取名为1.在1这个文件夹里面新建一个txt文件。取名。我这里名字叫text.txt。打开这个记事本。输入一个简单的c程序。
注意文件扩展名!有的操作系统自动隐藏了文件扩展名 你改了后缀实质文件类型并没有改变。
去除隐藏文件扩展名
方法;文件夹左上角工具-文件夹选项-查看-隐藏文件扩展名去勾
**
#include
int main(void)
{
printf(“Hello world”);
}
**
win键盘+R 打开‘运存’窗口,然后键入CMD打开命令提示符。
然后输入cd空格desktop下ps;这里是为了进入桌面根目录。图1

在根目目录在打开我刚刚新建的那个文件夹。
就是cd空格1 **图2

再次输入gcc空格文件名 直接用gcc编译这个文件
就是;
**gcc text.c

此时就会在该目录编译并且生成一个.exe文件

最后再次输入.\a.exe就能运行了

首先 下个东西 “MinGW”放到C盘
然后键盘win + r (这里的r是run的意思)
输入cmd,回车,你就看到了命令行,输入gcc -v
有东西返回就对了
然后在E盘创造一个文件夹取名myc(名字最好是英文),然后在这个文件夹里建造一个文档 把以下内容输入进文档
#include
#include

int main()
{
printf(“Hello world!\n”);

return 0;

}
然后改名为“.c”文件 ”

现在在命令行里输入如下: E:
cd myc
gcc test001.c
这里的cd是change directory的意思。此时你会发现生成了一个新的文件a.exe。 就是myc里生成的
然后再在命令行里输入: .\a.exe
就成功的输出如图所示了
———————————————————————————————————收功**

——计算机的基本功能:输入、输出、存储、处理、控制。
1.可以创建自己的程序。
2.与世界各地的人联络。
3.访问世界各地的信息。
——计算机分为硬件和软件。
——硬件有:主机和外围设备。
——软件有:系统软件和应用软件。
——主机有中央处理器和内存储器(内存),中央处理器(CPU)分为运算器和控制器。
——外围设备有外存储器,比如磁盘、光盘、优盘。输入设备、输出设备。
——C语言的基本结构:
#include
#include
int main()
{
printf(“Hello world!\n”);
return 0;
}

——程序需要编译后连接函数库才能在特定的环境下执行。
——什么是变量?变量就是一块内存空间,是可以进行变化的数据。
——什么是常量?常量是定义了的数据且不可改变。是共享的
——数据类型 :数值和非数值
——数值分为整型和非整型
——非数值:char(字符型)
——整型:int、short、long
——非整型:float、double
——十进制转二进制:短除法。
——二进制转十进制:按全展开。
——一元运算符:++、–
——二元运算符:+、-、*、/、%
——运算符可以比较大小、高低、长短。
_C语言中“0”表示假、“1”表示真。
*逻辑运算符:&并且,两个同时为真,结果为真。“|”
只要有一个为真结果为真。
——循环三要素:循环变量的初值
————————循环变量的判断
————————循环变量的更新
——while(先判断在执行)
——do while(先执行在判断)
——三大操作系统:windows,unix,linux。
——语言的分类: 低级语言:机器语言,汇编语言 高级语言:C,BASIC…..面向对象的语言:C++,VB,JAVA…