软考操作系统&计算机网络复习指南

Posted 小哈里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软考操作系统&计算机网络复习指南相关的知识,希望对你有一定的参考价值。

1、操作系统

软件设计师需要有扎实的理论知识,而操作系统作为计算机科学最为基本的理论基础和分支领域之一,是软件设计师必须重点掌握的知识。本章将介绍操作系统相关的考点,并辅以练习题,以便考生切实掌握相关内容。
根据考试大纲,本章要求考生掌握以下几个方面的知识点。
(1)操作系统的内核。
(2)操作系统的五大管理功能:进程管理、存储管理、设备管理、文件管理、作业管理。
(3)网络操作系统和嵌入式操作系统基础知识。
(4)操作系统的配置。
从历年的考试情况来看,本章主要考查进程管理(进程状态转换图、信号量与PV操作、死锁问题、银行家算法)、存储管理(段页式存储、页面置换算法、磁盘调度)、文件管理(树形文件系统)。

一、进程管理:
进程管理也称为处理机管理 ,该部分内容是整个操作系统部分的考查重点
主要知识点有:进程状态转换图、信号量与PV操作、死锁问题、银行家算法

1.进程状态转换图
进程状态转换图用于展现进程的状态 ,以及各种状态之间的转换 。最为常见的有:三态模型和五态模型 ,其后又提出了七态模型 。在考试中,要求考生掌握五态模型。五态模型是对三态模型的扩展(即五态模型已经包含了三态模型)。标准的五态模型如图2-1所示。

从该图可以看出,五态模型中的五态为:执行状态(运行状态)、活跃就绪状态、活跃阻塞状态 、挂起就绪状态、挂起阻塞状态。其中前三种状态组成了三态模型。
执行状态:指进程占有处理机正在CPU上执行 的状态。在单CPU系统中,每一时刻只有一个进程处于执行状态。
活跃就绪状态:指进程分配到除处理机以外的必需的资源 (已经具备了执行的条件)的状态。进程被创建后处于就绪状态,处于就绪状态的进程可以有多个。
活跃阻塞状态:指进程因等待某个事件的发生而放弃处理机进入 等待状态。系统中处于这种状态的进程可以有多个。
挂起就绪状态:指进程被移至磁盘镜像区中 ,此时进程只缺处理机资源
挂起阻塞状态:指进程被移至磁盘镜像区中,此时进程除了缺处理机资源,还缺其它资源

2.信号量与PV操作
在操作系统中,进程之间经常会存在互斥和同步两种关系 。为了有效地处理这两种情况,W.Dijkstra在 1965年提出信号量和PV操作
信号量是一种特殊的变量 ,表现形式是一个整型S和一个队列。
P操作:也称为down()、wait()操作,使S=S-1,若S<0,进程暂停执行,放入信号量的等待队列。
V操作:也称为up()、signal()操作,使S=S+1,若S≤0,唤醒等待队列中的一个进程。

(1)完成互斥控制
也就是为了保护共享资源不让多个进程同时访问这个共享资源 ,换句话说,就是阻止多个进程同时进入访问这些资源的代码段,这个代码段称为临界区(也称为管程),而这种一次只允许一个进程访问的资源称为临界资源。为了实现进程互斥地进入自己的临界区,代码可以如下所示:P(信号量)临界区 V(信号量)
由于只允许一个进程进入,因此信号量中整型值的初始应该为1。该值表示可以允许多少个进程进入,当该值<0时,其绝对值就是等待使用的进程数,也就是等待队列中的进程数。而当一个进程从临界区出来时,就会将整型值加1,如果等待队列中还有进程,则调入一个新的进程进入(唤醒)。
(2)完成同步控制
最简单的同步形式是:进程A在另一个进程B到达L2以前,不应前进到超过点L1,这样就可以使用程序,如下所示:
进程A进程B
… …
L1:P(信号量)L2:V(信号量)
… …
因此要确保进程B执行V操作之前,不让进程A的运行超过L1,因此信号量的初值就应该为0。这样,如果进程A先执行到L1,那么执行P操作后,信号量的整型值就会小于1,也就停止执行。直到进程B执行到L2时,将信号量的整型值加1,并唤醒它以继续执行。
在考试中,该知识点出题形式主要是给出一系列操作,让考生在适当位置填充P操作或V操作。

3.死锁问题
死锁是指各并发进程彼此互相等待对方所拥有的资源 ,且这些并发进程在得到对方的资源之前不会释放自己所拥‘’有的资源 。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态
产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数 。产生死锁有四个必要条件:
(1)互斥条件 :即一个资源每次只能被一个进程使用,在操作系统中这是真实存在的情况。
(2)保持和等待条件 :有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不放
(3)不剥夺条件:有些系统资源是不可剥夺的,当某个进程已获得这种资源后,系统不能强行收回 ,只能由进程使用完时自己释放。
(4)环路等待条件:若干个进程形成环形链,每个都占用对方要申请的下一个资源

对待死锁的策略主要有:
(1)死锁的预防。不让任一产生死锁的必要条件发生就可以预防死锁。
(2)死锁的避免。这种策略不对用户进程的推进顺序加以限制,在进程申请资源时先判断这次分配安全否 ,只有安全才实施分配,典型的算法是银行家算法
(3)死锁的检测。这种策略采用资源请求分配图的化简方法来判断是否发生了不安全状态。资源请求分配图是一种有向图,表示进程与资源之间的关系。死锁的检测是在需要的时刻执行的,当发现系统处于不安全状态时,即执行死锁的解除策略
(4)死锁的解除。解除死锁的基本方法是剥夺。一种方法是把资源从一些进程处剥夺分给别的进程 ,被剥夺资源的进程则需回退到请求资源处重新等待执行;另一种方法是终止一个进程,剥夺其全部资源,以后再重新运行被终止的进程

4.银行家算法
银行家算法是一种经典的死锁避免方法 。银行家算法的基本思想是:当某个进程提出申请时,必须判断将资源分配给该进程后,会不会引起死锁。 若不会,则进行分配;否则就不分配。这样做能保证在任何时刻至少有一个进程可以得到所需的全部资源而执行结束,并将归还资源加入到系统的剩余资源中,这些资源又至少可以满足一个进程的最大需求,于是保证所有进程都能在有限的时间内得到需求的全部资源。
按照银行家算法的思想,当进程请求资源时,系统将按如下原则分配资源:
(1)当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
(2)进程可以分期请求资源,但请求的总数不能超过最大需求量。
(3)当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
(4)当系统现有的资源能满足进程尚需资源数时,必须测试系统现存的资源能否满足该进程尚需的最大资源数,若能满足则按当前的申请量分配资源,否则也要推迟分配。

二、存储管理
存储管理是操作系统的重要职能之一,在计算机中,存储是分层次的体系结构。层次从高到低包括:寄存器(CPU中)、Cache、内存、外存(硬盘,U盘,光盘等) 。在本节,主要论述虚拟存储管理技术中的页式存储、段式存储、段页式存储,以及磁盘的基本工作原理

  1. 页式存储组织
    页式存储组织的基本原理是将各进程的虚拟空间划分为若干个长度相等的页 ,把内存空间以与页相等的大小划分为大小相等的片或页面,采用请求调页或预调页技术实现内外存的统一管理 。页式存储组织的主要优点是利用率高,产生的内存碎片小 ,内存空间分配及管理简单。主要缺点是要有相应的硬件支持,增加了系统开销;请求调页的算法如选择不当,有可能产生“抖动”现象。

  2. 段式存储组织
    一个作业是由若干个具有逻辑意义的段(如主程序、子程序、数据段等)组成 。在分段系统中,允许程序(作业)占据内存中若干分离的分区 。分段系统中的虚地址是一个有序对(段号,段内位移)。系统为每一个作业建立一个段表 ,其内容包括段号与内存起始地址的对应关系、段长和状态等 。状态指出这个段是否已调入内存,若已调入内存,则指出这个段的起始地址位置,状态同时也指出这个段的访问权限。如果该段尚未调入内存,则产生缺段中断,以便装入所需要的段 。段式存储组织的主要优点有:便于多道程序共享内存,便于对存储器的保护 ,各段程序修改互不影响。其缺点是内存利用率低,内存碎片浪费大

  3. 段页式存储组织
    段页式存储组织是分段式和分页式结合的存储组织方法,这样可充分利用分段管理和分页管理的优点。在段页式管理的存储器中,程序按逻辑单位分成基本独立的段,再把每段分成固定大小的页 。内存则等分成与上述页大小相等的页。程序对内存的调入或调出是按页进行的。但它又可按段实现共享和保护。
    在多道程序环境中,每道程序都有一张段表和一个作为用户标志的基号 。一个逻辑地址中,除了基号x、段号s和页号p外,还有一个页内地址d。每个逻辑地址变换成实地址的过程如下:根据基号找到相应的基址寄存器,由该基址寄存器内容找到该程序对应的段表始地址,再由段号找到该段表中相应行地址,该行地址中的内容为页表起始地址,再由页号找到物理页号的地址(已是内存中的某页)它与页内地址拼接后即得物理地址。可见段页式管理中需要多次查表才能最终获得物理地址。该过程可简单地用一个式子来示意,即其中,(x)表示基寄存器中地址为x的单元的内容,n为页内地址的位数。
    段页式管理将段式存储管理和页式存储管理两种方式相结合,互相取长补短,充分发挥了它们的优点。使段页式虚拟存储器管理方案具有空间浪费小、存储共享容易、存储保护容易、能动态连接的特点。但由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内存也有所增加,使得执行速度大大下降。

  4. 页面置换算法
    由于实际主存是小于虚存的 ,因此可能会发生内存中已满,但需要使用的页不在主存中 这一情况。这时就需要进行置换,即将一些主存中的页淘汰到外存,腾出空间给要使用的页,这个过程也称为Swapping。其工作原理与Cache调入相类似
    最优算法(OPT):淘汰不用的或最远的将来才用的页 。这是一种理想算法,不可能实现,只是用来作为衡量算法效率的参照物。
    随机算法(RAND):随机淘汰。这种算法开销小 ,但性能不稳定。
    先进先出算法(FIFO):选择最早调入(也是驻留时间最长)的页
    最近最少使用算法(LRU):选择离当前时刻最近的一段时间内使用得最少的页

  5. 局部性原理
    存储管理策略的基础是局部性原理 ,即进程往往会不均匀地高度局部化地访问内存 。局部性分为时间局部性和空间局部性时间局部性是指最近访问存储位置,很可能在不久的将来还要访问 ;空间局部性是指存储访问有聚集的倾向,当访问了某个位置后,很可能也要访问其附近的位置
    根据局部性原理的特征性,Denning阐述了程序性能的工作集理论。工作集是进程频繁访问的页面的集合。工作集理论指出,为使进程有效地运行,它的页面工作集应驻留内存中 。否则,由于进程频繁地从外存请求页面,而出现称为“抖动”(又称颠簸) 的过度的页面调度活动。此时,处理页面调度的时间超过了程序的执行时间。显然,此时CPU的有效利用率会急速下降
    工作集的大小依赖于工作集窗口(进程在定长时间间隔中涉及到的页面的集合)的大小,在进程执行时,工作集会发生变化。有时,当进程进入另一具完全不同的执行阶段时,工作集会出现显著的变化。不过在一个进程的执行过程中,工作集的大小处于稳定状态的时间基本上占绝大多数。
    另一种控制颠簸的技术是控制缺页率 。操作系统规定缺页率的上下限,当一个进程的缺页率高于上限时,表明该进程需要更大的内存空间 ,则分配较多的内存页面给它。当进程的缺页率低于下限时,表明该进程占用的内存空间过大,可以适当地收回若干内存页面。

  6. 磁盘工作原理
    磁盘是最常见的一种外部存储器,它是由1至多个圆形磁盘 组成的,其结构如图2-9所示。

    (1)概念
    磁道 :磁道是一组记录密度不同的同心圆 。在一个磁盘中,从外到内,磁盘记录密度不断增加 。同时,值得注意的是,0磁道是磁盘最外圈的磁道。
    扇区 :磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区
    柱面 :一个磁盘中,多个记录面相同磁道组成柱面 。如磁盘有9个记录面,则这9个记录面的0磁道可组成一个柱面
    注意:硬盘就是磁盘的一种。硬盘工作时,无论是否在进行数据的读取,其盘片都是不断旋转的状态。

(2)公式
平均数据传输速率􀀀每道扇区数􀀀扇区容量􀀀盘片转数。
存取时间􀀀寻道时间􀀀等待时间,寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。

(3)数据存取过程
根据硬盘存放数据的规则,在向磁盘记录一个文件时,应将文件尽可能记录在同一柱面上 ,当一个柱面记录不下时,再记录到相邻柱面上 。因此,当一个文件超出一个磁道容量时,剩下的部分应存于其他盘面的同一编号的磁道上,即同一柱面的其他磁道上
为存取磁盘上的一个物理记录,必须给出3个参数:柱面号,磁头号(盘面号),扇区号 。 磁盘机根据柱面号控制移动臂作径向运动,带动读写头到达所需的柱面;从磁头号可确定哪一个磁头来读写数据,然后便等待访问的信息块旋转到读写头下时进行存取。磁盘机实现这些功能的操作是:
查找(将读写头定位到指定柱面并选择指定磁头)、搜索(指定磁头寻找访问的记录块)、读、写和控制等。
平均存取时间(Average Access Time)是反映磁盘数据操作速度的指标,单位是毫秒(ms)。它包括三个时间段,分别是平均寻道时间(Seek Time),平均定位时间(SettingTime)和转动延迟(Rotational Latency),其中后两个又统称为等待时间。
寻道时间也称为查找时间,为磁头移动到目标磁道所需的时间 。对于固定磁头磁盘而言,无需移动磁头,只需选择目标磁道对应的磁头即可 。等待时间为等待读写的扇区旋转到磁头下方所用的时间。一般选用磁道旋转一周所用时间的一半作为平均等待时间 。寻道时间由磁盘机的性能决定,
目前主流硬盘典型的平均寻道时间(Average Seek Time,AST)一般在4ms左右 ,而转速则有5400rpm、7200rpm、15000rpm等。在考试当中,这些参数通常是由试题指定。

(4)磁盘调度算法
先来先服务(FCFS) :该算法根据进程请求访问磁盘的先后次序进行调度 。其优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,致使平均寻道时间可能较长
最短寻道时间优先(SSTF) :该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近 ,以使每次的寻道时间最短,但这种调度算法却不能保证平均寻道时间最短
扫描算法(SCAN) :SCAN算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向 。例如,当磁头正在自里向外移动时,SCAN算法所选择的下一个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直到再无更外的磁‘’道需要访问才将磁臂换向,自外向里移动。由于这种算法中磁头移动的规律颇似电梯的运行,故又称为电梯调度算法
循环扫描(CSCAN)算法 :该算法规定磁头单向移动 。例如,只自里向外移动,当磁头移到最外的被访问磁道时,磁头立即返回到最里的欲访磁道 ,即将最小磁道号紧接着最大磁道号构成循环,进行扫描。

三、设备管理:
在计算机系统中,除了处理器和内存之外,其他的大部分硬设备称为外部设备 。它包括输入/输出设备,辅存设备及终端设备等。

1.数据传输控制方式
输入输出系统主要有五种方式与主机交换数据 :程序控制方式、程序中断方式、DMA方式、通道方式、I/O处理机。
(1)程序控制方式 :CPU直接利用I/O指令编程,实现数据的I/O 。CPU发出I/O命令,命令中包含了外设的地址信息和所要执行的操作,相应的I/O系统执行该命令并设置状态寄存器 ;CPU不停地(定期地)查询I/O系统以确定该操作是否完成 。由程序主动查询外设,完成主机与外设间的数据传送,方法简单,硬件开销小。
(2)程序中断方式 :CPU利用中断方式完成数据的I/O ,当I/O系统与外设交换数据时,CPU无需等待也不必去查询I/O的状态 ,当I/O系统完成了数据传输后则以中断信号通知CPU 。CPU然后保存正在执行程序的现场,转入I/O中断服务程序完成与I/O系统的数据交换。然后返回原主程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率 。在系统中具有多个中断源的情况下,常用的处理方法有:多中断信号线法、中断软件查询法、雏菊链法、总线仲裁法和中断向量表法。
(3)DMA方式 :使用DMA控制器(DMAC)来控制和管理数据传输。DMAC和CPU共享系统总线,并且具有独立访问存储器的能力 。在进行DMA时,CPU放弃对系统总线的控制而由DMAC控制总线 ;由DMAC提供存储器地址及必须的读写控制信号,实现外设与存储器之间进行数据交换。 DMAC 获取总线方式主要有三种 ,分别是暂停方式、周期窃取方式和共享方式。
(4)通道 :通道是一种通过执行通道程序管理I/O操作的控制器 ,它使主机与I/O操作之间达到更高的并行程度。在具有通道处理机的系统中,当用户进程请求启动外设时,由操作系统根据I/O要求构造通道程序和通道状态字,将通道程序保存在主存中,并将通道程序的首地址放到通道地址字中,然后执行“启动I/O”指令。按照所采取的传送方式,可将通道分为字节多路通道、选择通道和数组多路通道三种。
(5)输入输出处理机(IOP) :也称为外围处理机(PPU),它是一个专用处理机 ,也可以是一个通用的处理机,具有丰富的指令系统和完善的中断系统。专用于大型、高效的计算机系统处理外围设备的I/O,并利用共享存储器或其他共享手段与主机交换信息。从而使大型、高效的计算机系统更加高效地工作。与通道相比,IOP具有比较丰富的指令系统,结构接近于一般的处理机,有自己的局部存储器。

2.虚设备与SPOOLING技术
SPOOLING(Simultaneous Peripheral Operation On Line)的意思是外部设备同时联机操作,又称为假脱机输入输出操作,采用一组程序或进程模拟一台I/O处理器。SPOOLING系统的组成如图2-11所示。

该技术利用了专门的外围控制机将低速I/O设备上的数据传送到高速设备上,或者相反。但是当引入多道程序后,完全可以利用其中的一道程序来模拟脱机输入时的外围控制机的功能,把低速的I/O设备上的数据传送到高速磁盘上;再利用另一道程序来模拟脱机输出时的外围控制机的功能,把高速磁盘上的数据传送到低速的I/O设备上。这样便可以在主机的控制下实现脱机输入、输出的功能。此时的外围操作与CPU对数据的处理同时进行,我们将这种在联机情况下实现的同时外围操作称为SPOOLING,或称为假脱机操作。
采用假脱机技术,可以将低速的独占设备改造成一种可共享的设备,而且一台物理设备可以对应若干台虚拟的同类设备。SPOOLING系统必须有高速、大容量并且可随机存取的外存(如磁盘或磁鼓)支持。

四、文件管理
文件管理部分考查主要集中于树型目录结构、位示图以及索引文件结构

  1. 树型目录结构
    在计算机的文件系统中,一般采用树型目录结构。在树型目录结构中,树的根结点为根目录,数据文件作为树叶,其他所有目录均作为树的结点。
    根目录隐含于一个硬盘的一个分区中 ,根目录在最顶层。它包含的子目录是一级子目录。每一个一级子目录又可以包含若干二级子目录,…,这样的组织结构就叫做目录树。
    当前盘和当前目录是系统默认的操作对象 。如果用户没有指明操作对象,系统就将用户命令指向当前盘和当前目录。
    路径是指从根目录或者当前目录开始到访问对象(目录或者文件),在目录树中路经过的所有目录的序列。例如“c:\\dos\\lmouse\\mouse”就是Windows系统中的一条路径。在树型目录结构中,从根目录到任何数据文件之间,只有一条惟一的通路,从树根开始,把全部目录文件名与数据
    文件名,依次用“/”(UNIX/Linux系统)或“\\”(Windows系统)连接起来 ,构成该数据文件的路径名,且每个数据文件的路径名是惟一的。这样,可以解决文件重名问题。从树根开始的路径为绝对路径,如果文件系统有很多级时,使用不是很方便,所以引入相对路径,即是从当前目录开始,再逐级通过中间的目录文件,最后到达所要访问的数据文件。
    绝对路径 给出文件或目录位置的完全的描述,通常由层次结构的顶端开始(根目录)开始 ,通常第一个字符是“/”(UNIX/Linux系统)或者是盘符(Windows系统)。
    相对路径 通常由目录结构中的当前的位置开始 ,一般都比绝对路径要短。父目录是指当前路径的上一层目录。每个目录下都有代表当前目录的“.”文件和代表当前目录父目录的“…”文件相对路径名一般就是从“…”开始的

2. 位示图
位示图法是为管理磁盘空闲存储空间而提出的一种方法 。该方法是在外存上建立一张位示图(Bitmap),记录文件存储器的使用情况。每一位仅对应文件存储器上的一个物理块取值0和1分别表示空闲和占用 。文件存储器上的物理块依次编号为:0、1、2、…。假如系统中字长为32位,有4096个物理块 ,那么在位示图中的第1个字对应文件存储器上的0、1、2…31号物理块;第2个字对应文件存储器上的32、33、34、…、63号物理块;第32字对应文件存储器上的4064、4065、…、4095号物理块。这样位示图的大小为32字。
位示图是利用二进制的一位来表示磁盘中一个盘块的使用情况 ,如图2-12所示。当其值为“0”时,表示对应的盘块空闲;为“1”时表示已分配。由所有盘块对应的位构成一个集合,称为位示图。位示图也可描述为一个二维数组map:Var map:array[1…m,1…n]of bit;

  1. 索引文件
    索引文件是一种对文件存储不连续分配的方法 。为每个文件建立一张索引表,索引表中的每一表项指出文件信息所在的逻辑块号和与之对应的物理块号
    索引文件既可以满足文件动态增长的要求,又可以方便而迅速地实现随机存取 。对一些大的文件,当索引表的大小超过一个物理块时 ,会发生索引表的分配问题。一般采用多级(间接索引)技术,这时在由索引表指出的物理块中存放的不是文件存放处而是存放文件信息的物理块地址 。这样,如果一个物理块能存储n个地址,则一级间接索引将使可寻址的文件长度变成n2块,对于更大的文件可以采用二级甚至三级间接索引(例如,Unix操作系统采用三级索引结构,如图2-13所示)。


索引文件的优点是既适用于顺序存取,又适用于随机存取 。缺点是索引表增加了存储空间的开销 。另外,在存取文件时需要访问两次磁盘,一次是访问索引表,另一次是根据索引表提供的物理块号访问文件信息。为了提高效率,一种改进的方法是,在对某个文件进行操作之前,预先把索引表调入内存。这样,文件的存取就能直接从在内存的索引表中确定相应的物理块号,从而只需要访问一次磁盘。

2、计算机网络

根据考试大纲,本章要求考生掌握以下几个方面的知识点。
(1)网络体系结构。
(2)传输介质,传输技术,传输方法,传输控制。
(3)常用网络设备和各类通信设备的特点。
(4)LAN(拓扑,存取控制,组网,网间互连)。
(5)Internet 和Intranet 基础知识以及应用。
(6)网络软件,网络管理,网络性能分析。
从历年的考试情况来看,本章的考点主要集中以下方面。
在OSI模型与TCP/IP协议族方面,主要考查各个网络层次有哪些协议、设备,它们具备什么样
的功能特性以及IP网络下的子网划分。
在网络应用中,主要考查常用的网络命令、操作系统中网络功能的基本配置。

一、OSI模型与TCP/IP协议族:
本知识点重点在于掌握OSI模型与TCP/IP网络体系结构,以及他们所涉及的协议和设备。

1.OSI模型
为了使不同的网络厂商、硬件厂商的系统能够良好地兼容与互联,ISO(国际标准化组织)在1979年公布了开放系统互连参考模型(OSI/RM),它是现在计算机网络领域的“金科玉律”。OSI网络体系结构中共定义了七层,从高到低分别是:

  • 应用层(Application):直接为端用户服务,提供各类应用过程的接口和用户接口 。诸如:HTTP,Telnet,FTP,SMTP,NFS等
  • 表示层(Presentation):使应用层可以根据其服务解释数据的含义。通常包括数据编码的约定、本地句法的转换 。诸如:JPEG,ASCII,GIF,DES,MPEG等。
  • 会话层(Session):负责管理远程用户或进程间的通信,通常包括通信控制、检查点设置、重建中断的传输链路 、名字查找和安全验证服务。诸如:RPC,SQL,NFS等。
  • 传输层(Transport):实现发送端和接收端的端到端的数据分组传送,负责保证实现数据包无差错、按顺序、无丢失和无冗余的传输 。其服务访问点为端口。代表性协议有:TCP(可靠,面向连接,建立连接时要进行3次握手,有应答机制)、UDP(不可靠,无连接,无须建立连接,无应答机制)、SPX等。
  • 网络层(Network):属于通信子网,通过网络连接交换传输层实体发出的数据。它解决的是路由选择、网络拥塞、异构网络互联的问题。其服务访问点为逻辑地址(也称为网络地址,通常由网络号和主机地址两部分组成)。代表性协议有:IP,IPX等 。常见设备包括:路由器(路由转发、协议转换、异构网络连接)和三层交换机(带路由功能的交换机)。
  • 数据链路层(DataLink):建立、维持和释放网络实体之间的数据链路,这种数据链路对网络层表现为一条无差错的信道。它通常把流量控制和差错控制合并在一起。数据链路层可以分为MAC(媒介访问层)和LLC(逻辑链路层)两个子层 ,其服务访问点为物理地址(也称为MAC地址)。代表性协议有:IEEE 802.3/.2,HDLC,PPP,ATM等。该层的数据单元称为数据帧。常见设备包括:网卡、网桥(同构网络之间的连接)和交换机(多端口网桥)。
  • 物理层(Physical):通过一系列协议定义了通信设备的机械的、电气的、功能的、规程的特征。代表性协议有:RS232,V.35,RJ-45,FDDI等 。常见设备包括:中继器(对接收信号进行再生和发送,只起到扩展传输距离用)和集线器(多端口中继器)。
  1. TCP/IP协议族
    TCP/IP不是一个简单的协议,而是一组专业化协议。TCP/IP协议族可被大致分为应用层、传输层、网际层和网络接口层四层 。如图6-1所示(注意:TCP/IP协议族的划分并不像七层模型那么严格,所以有些人将其划为四层,也有将其划为五层,在此主要掌握每个层次所对应的协议)。

    (1)应用层
    TCP/IP的应用层大致对应于OSI模型的应用层和表示层,应用程序通过本层协议利用网络。这些协议主要有FTP、TFTP、HTTP、SMTP、DHCP、NFS、Telnet、DNS和SNMP等。
    FTP(File Transport Protocol,文件传输协议)是网络上两台计算机传送文件的协议,是通过Internet把文件从客户机复制到服务器上的一种途径。
    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP协议设计的时候是进行小文件传输的,因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,也不进行认证。它传输8位数据。
    HTTP(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议输。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示等。HTTP工作时,首先浏览器软件与HTTP端口建立一个TCP连接,然后发送GET命令,Web服务器根据命令取出文档,发送给浏览器;浏览器释放连接,显示文档。
    SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是一种提供可靠且有效的电子邮件传输的协议。SMTP 是建模在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。
    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)分为两个部分,一个是服务器端,另一个是客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP环境数据。DHCP透过“租约”的概念,有效且动态地分配客户端的TCP/IP设定。DHCP分配的IP地址可以分为三种方式,分别是固定分配、动态分配和自动分配。
    NFS(Net File System,网络文件系统)是FreeBSD支持的文件系统中的一种,允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
    Telnet(远程登录协议)是登录和仿真程序,它的基本功能是允许用户登录进入远程主机系统。以前,Telnet是一个将所有用户输入送到远方主机进行处理的简单的终端程序。它的一些较新的版本在本地执行更多的处理,于是可以提供更好的响应,并且减少了通过链路发送到远程主机的信息数量。
    DNS(Domain Name System,域名系统)用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,
    DNS就是进行域名解析的服务器。DNS通过对用户友好的名称查找计算机和服务。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息,如IP地址。
    SNMP (Simple Network Management Protocol,简单网络管理协议)是为了解决Internet上的路由器管理问题 而提出的,它可以在IP, IPX, AppleTalk, OSI及其他用到的传输协议上被使用。
    SNMP事实上指一系列网络管理规范的集合,包括协议本身、数据结构的定义和一些相关概念。目前SNMP已成为网络管理领域中事实上的工业标准,并被广泛支持和应用,大多数网络管理系统和平台都是基于SNMP的。

(2)传输层
TCP/IP的传输层大致对应于OSI模型的会话层和传输层,主要包括TCP和UDP,这些协议负责提供流控制、错误校验和排序服务。所有的服务请求都使用这些协议。
TCP(Transport Contrl Portocol,传输控制协议)是整个TCP/IP协议族中最重要的协议之一,它在IP协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP协议一般用于传输数据量比较少,且对可靠性要求高的场合。
UDP(User Datagram Protocol,用户数据报协议)是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信,与同样处在传输层的面向连接的TCP相比较,UDP是一种无连接的协议,它的错误检测功能要弱得多。可以这样说,TCP有助于提供可靠性,而UDP则有助于提高传输的高速率。UDP协议一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。
(3)网际层
TCP/IP的网际层对应于OSI模型的网络层,包括IP、ICMP、IGMP,以及ARP和RARP。这些协议处理信息的路由及主机地址解析。
IP(Internet Protocol,网际协议)所提供的服务通常被认为是无连接的和不可靠的,因此把差错检测和流量控制之类的服务授权给了其他的各层协议,这正是TCP/IP能够高效率工作的一个重要保证。网际层的功能主要由IP来提供,除了提供端到端的分组分发功能外,IP还提供了很多扩充功能。例如,为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的IP数据包能以较小的分组在网上传输。
网际层的另一个重要服务是在互相独立的局域网上建立互联网络,即网际网。网间的报文来往根据它的目的IP地址通过路由器传到另一网络。
ARP(Address Resolution Protocol,地址解析协议)用于动态地完成IP地址向物理地址的转换 。物理地址通常是指主机的网卡地址(MAC地址),每一网卡都有唯一的地址。
RARP(Reverse Address Resolution Protocol,反向地址解析协议)用于动态完成物理地址向IP地址 的转换。
ICMP(Internet Control Message Protocol,网际控制报文协议 )是一个专门用于发送差错报文 的协议,由于IP协议是一种尽力传送的通信协议,即传送的数据可能丢失、重复、延迟或乱序传递 ,所以IP协议需要一种尽量避免差错并能在发生差错时报告 的机制。
IGMP(Internet Group Management Protocol,网际组管理协议 )允许Internet主机参加多播,也即是IP主机用做向相邻多目路由器报告多目组成员 的协议。多目路由器是支持组播的路由器,向本地网络发送IGMP查询。主机通过发送IGMP报告来应答查询。组播路由器负责将组播包转发到网络中所有组播成员。
(4)网络接口层
TCP/IP的网络接口层大致对应于OSI模型的数据链路层和物理层,TCP/IP协议不包含具体的物理层和数据链路层,只定义了网络接口层作为物理层的接口规范。网络接口层处在TCP/IP协议的最底层,主要负责管理为物理网络准备数据所需的全部服务程序和功能。该层处理数据的格式化并将数据传输到网络电缆,为TCP/IP的实现基础,其中可包含IEEE802.3的CSMA/CD、IEEE802.5的TokenRing 等。

二、IP地址与子网划分
关于IP协议的相关情况上一节已有详细介绍,本节将对IP协议中IP地址与子网划分 的问题进行探讨。
1.IP地址
所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。这个地址分为网络号和主机号 两部分。网络号标识一个网络,一般网络号由互联网络信息中心统一分配 。主机号用来标识网络中的一个主机,它一般由网络中的管理员来具体分配。一个由32位二进制数构成的IP地址是难以阅读的。为了平时更好地记忆和使用,人们就将它分成4组,每组8位,然后每组都以十进制表示,并用小圆点分开。这种表示方法又称为“点分十进制表示法”。例如:
IP地址:01110101010011111000001001101011分成4组:01110101 0100111110000010 01101011
用十进制数表示:117 79 130 107用小点隔开:117. 79. 130.107
这样我们就得到了用点分十进制表示的IP地址:117.79.130.107。

2.IP地址的分类
IP地址分成了网络号和主机号两部分,网络号部分所占字长就直接决定了整个互联网可以为多少个网络分配IP地址 ;主机号部分所占字长也直接决定了所包含网络中最大的主机数。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明地选择了一种灵活的方案:将IP地址划分成不同的类别,每一类具有不同的网络号位数和主机号位数 。如图6-2所示,IP地址的前4位用来决定地址所属的类别。

需要注意的是,在IP地址中,全0代表的是网络,全1代表的是广播
举个例子来说:假设一个单位的IP地址是202.101.105.66,那么它所在的网络则由202.101.105.0来表示,而202.101.105.255(8位全为1转成十进制数为255)则代表向整个网络广播的地址。另外,127.0.0.1被保留作为本机回送地址。IP地址类别对照如表6-1所示。

3.子网掩码
子网掩码是相对特别的IP地址而言的 ,如果脱离了IP地址就毫无意义 。它的出现一般跟着一个特定的IP地址,用来为计算这个IP地址中的网络号部分和主机号部分提供依据 ,换句话说,就是在写一个IP地址后,再指明哪些是网络号部分,哪些是主机号部分
子网掩码的格式与IP地址相同,对应的网络号部分用1填上,主机号部分用0填上 。例如:一个B类地址:172.16.3.4,为了直观地告诉大家前16位是网络号,后16位是主机号,就可以附上子网掩码:255.255.0.0(11111111 11111111 00000000 00000000)。

4.子网划分与可变长子网掩码(VLSM)
随着网络的应用深入,32位IP地址设计限制了地址空间的总容量,出现了IP地址紧缺的现象,在此情况之下,诞生了IPv6技术(后面将详细介绍该技术),IPv6采用128位IP地址设计 ,但目前IPv6的应用,还难以全面实现,因为这将涉及到大量设备的更新,以目前的情况来看,新型的网络设备都开始支持IPv6 ,但要把原来的设备全部淘汰,尚需时日。这时就需要我们采取一些措施来避免IP地址的浪费 ,以充分利用现有的IP资源。以原先的A,B,C三类地址划分,经常出现B类太大、C类太小或者C类都太大的应用场景, 因此就出现了**“子网划分”和“可变长子网掩码** (VLSM)”两种技术。
子网划分的主要思想就是将IP地址划分成三个部分:网络号、子网号、主机号。也就是说,将原先的IP地址的主机号部分分成子网号和主机号两部分 。说到底,也就是利用主机号部分继续划分子网。子网可以用“子网掩码”来识别。例如,我们可以将一个C类地址划分子网,如图6-3所示。

也就是将最后8位——原来的主机号,拿出2位用来表示子网,则可以产生4个子网,每个子网可包含62个主机(000001~111110,000000代表网络,111111代表广播被保留)。值得一提的是,这个时候,子网掩码就发生了变化:不是255.255.255.0(11111111 11111111 1111111100000000),而是255.255.255.192(11111111 11111111 11111111 11000000)。
从C类址中划分子网的时候就可以参照表6-2来进行。

采用了子网联网技术之后,虽然在一定程度上缓解了地址空间总容量受限这个问题,但又引发了一个新问题:即使得每个子网的主机数相等也难以有效地满足实际的需要 ,而且还引起了新的IP地址的浪费。VLSM技术正是针对这个问题的行之有效的解决方案。
VLSM是一种产生不同大小的子网的网络分配机制
VLSM用直观的方法在IP地址后面加上“/网络及子网编码比特数”来表示 。例如:192.168.123.0/26就表示前26位表示网络号和子网号 ,即子网掩码为26位长,主机号为6位长。利用VLSM技术,我们可以多次划分子网,即分完子网后,继续根据需要划分子网。
例如,某单位有4个部门,需建立4个子网,其中部门1有50台主机,部门2有25台主机,部门3、4则只有10台主机,有一个内部C类地址:192.168.1.0。下面我们一起来看一下采用VLSM划分的过程。
􀀀首先,我们找到最大的网络,即部门1,需要50台主机。25<50<26,因此需要6位主机号,剩下的26位则是网络号、子网号。‘’而最后一个8位段还剩下2位,可以表示00,01,10,11四个子网,但00和11有特殊应用,因此只有01、10两个子网。因此得到192.168.1.64/26,192.168.1.128/26两个子网。
􀀀假设我们将192.168.1.64/26分给部门1,则现在就需要处理部门2,3,4。这三个部分中部门2的网络最大,需要25台主机。24<25<25,所以需要5位主机号,因此我们可以分成192.168.1.128/27和192.168.1.160/27两个子网。
􀀀然后按这样的思路划分下去,可以得到,如表6-4所示的划分。
5.IPv6
现在的IP协议的版本号为4,所以也称为IPv4。它已经有了20年漫长的历史,为计算机网络互联做出了巨大的贡献。然而,互联网以人们不可想像的速度在膨胀,IPv4不论从地址空间上,还是协
议的可用性上都无法满足互联网的新要求。这样一个新的IP协议开始孕育而生,这个新版本IP协议,早先被称为IPng,现在一般被叫做IPv6。
IPv6的设计要点在于克服IPv4的地址短缺,无法适应对时间敏感的通信等缺点。值得一提的是,IPv6将原来的32位地址扩展成为128位地址,彻底解决了地址缺乏的问题。然而,由于IPv4的广泛使用,而且充当重要的角色,一下子升级成新的协议是不大现实的,加上现在也出现了许多在IPv4上的改良技术,使用IPv4也能够应付现在的大部分网络互联要求。当然,随着时间的推移,新一代的IP协议将取代现有的IPv4,为网络互联提供一个更稳定、更优秀的协议平台。

三、
1.网络需求分析
我们在网络建设前都要做一个需求分析工作,否则,网络建立起来就带有盲目性,轻则造成网络资源浪费或网络瓶颈,重则使网络瘫痪,损失无法估量的数据资源。网络建设前的需求分析,就是要规划网络建设所要做的工作。根据用户提出的要求,进行网络的设计。可以这么说,网络建设的好坏、快慢、可持续发展性等,都将取决于网络实施前的规划工作。
(1)网络的功能要求。任何网络都不可能是一个可以进行各种各样工作的“万能网”,因此,必须针对每一个具体的网络,依据使用要求、实现成本、未来发展、总预算投资等因素仔细地反复推敲,尤其是分析出网络系统要完成的所有功能。
(2)网络的性能要求。根据对网络系统的相应时间、事物,处理的实时性进行研究,确定系统需要的存储量及备用的存储量。根据网络的工作站权限、容错程度、网络安全性方面的要求等,确定采取何种措施及方案。
(3)网络运行环境的要求。根据整个局域网运行时所需要的环境要求,确定使用哪种网络操作系统、应用系统以及相应的应用软件和共享资源。
(4)网络的可扩充性和可维护性要求。如何增加工作站、怎样与其他网络联网、对软件/硬件的升级换代有何要求与限制等,都要在网络设计时加以考虑,以保证网络的可扩充性和可维护性。通常新建网络时都会给这个局域网提出一些有关使用寿命、维护代价等的要求。

2.网络设计
在进行网络设计过程中,为了平衡各方需求,达到最理想的状态,需要考虑很多方面的因素:可用性、可靠性、可恢复性、适应性、可伸缩性。
可用性 是指网络或网络设备(如主机或服务器)可用于执行预期任务时间所占总量的百分比 。可用性百分值越高,就意味着设备或系统出现故障的可能性越小,提供的正常服务时间越多。
可靠性 是网络设备或计算机持续执行预定功能的可能性 。可靠性经常用平均故障间隔时间来度量。这种可靠性试题也适用于硬件设备和整个系统。
可恢复性 是指网络从故障中恢复的难易程度和时间 。可恢复性即指平均修复时间(MTTR)。适应性是指在用户改变应用要求时网络的应变能力。优秀的网络设计应当能适应新技术和新变化的要求。
可伸缩性 是指网络技术或设备随着用户需求的增长而扩充的能力
3.层次化网络设计
在网络设计方面,主要采用层次式方法 。层次式网络设计在互联网组件的通信中引入了3个关键层的概念 ,分别是核心层、汇聚层和接入层。
接入层 :网络中直接面向用户连接或访问网络的部分 。其目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性
汇聚层 :位于接入层和核心层之间的部分。汇聚层用于完成网络访问策略控制、数据包处理、过滤、寻址 ,以及其他数据处理的任务。
核心层 :网络主干部分。其主要目的在于通过高速转发通信,提供优化、可靠的骨干传输结构 ,因此核心层交换机应拥有更高的可靠性,性能和吞吐量。
4.DNS——域名解析协议
网络用户希望用有意义的名字来标识主机 ,而不是IP地址。为了解决这个需求,应运而生了一个域名服务系统DNS(工作在53号端口 )。它是运行在TCP协议之上 ,负责将域名转换成实际相对应的IP地址,从而在不改变底层协议的寻址方法 的基础上,为使用者提供一个直接使用符号名来确定主机的平台。
DNS是一个分层命名系统 ,名字由若干个标号组成 ,标号之前用圆点分隔。最右边的是主域名,最左边的是主机名 ,中间的是子域名。例如:xinu.cs.purdue.edu中,xinu是主机名、cs和purdue是子域名(分别代表计算机系、普渡大学)、edu是主域名。可以看出一个域名可以由几个段组成,那么它们是怎样被赋值的呢?它是由国际域名管理机构InterNIC来制定最高域的选择方法,然后由逐层组织自己确定剩下的部分,每级组织都可以增加一个段。常用域名如表6-4所示。

注:通常我们在写域时,最后是不加一个“.”的,其实这只是一个缩写,最后一个“.”代表的是“根”,如果采用全域名写法,还需要加上这个小点。这在配置DNS时就会需要。
除了以上讲述的名字语法规则和管理机构的设立,域名系统中还包括一个高效、可靠、通用的分布式系统用于名字到地址的映射。将域名映射到IP地址的机制由若干个为称为名字服务器(nameserver)的独立、协作的系统组成。要理解域名服务器的工作原理最简单的方法就是将它们放置在与命名等级对应的树形结构中,如图6-4所示。

5.FTP——文件传输协议
FTP的传输模式包括:Bin(二进制)和ASCII(文本文件)两种,除了文本文件之外,都应该使用二进制模式传输。
FTP应用的连接模式:在客户机和服务器之间需建立两条TCP连接,一条用于传送控制信息(21端口 ) ,另一条用于传送文件内容(20端口) 。匿名FTP的用户名为anonymous。
6.DHCP——动态主机配置协议
对于大中型网络而言,DHCP可以减轻网管人员的负担,避免IP地址分配错误。它能让管理员快捷地验证IP地址和其他配置参数 ,可以为每个DHCP范围设置若干选项,并且如果主机物理上被移动到不同子网,DHCP服务器也能够进行适当的配置。它还大大方便了便携机用户移动到不同子网无须重新分配IP地址。DHCP服务最为基础的过程如图6-5所示。

当DHCP客户机首次启动时,客户机向DHCP服务器发送一个Dhcpdiscover数据包,表达客户机的IP租用请求。
DHCP服务器收到Dhcpdiscover包后,就会从自己的地址范围中向那台主机提供(Dhcpoffer)一个还没有被分配的有效的IP地址。要注意的是:

以上是关于软考操作系统&计算机网络复习指南的主要内容,如果未能解决你的问题,请参考以下文章

软考信息安全&多媒体&标准化知识产权复习指南

软考数据库&数据库建模复习指南

软考数据流图&数据库设计&UML建模复习指南

软考数据库系统工程师复习资料(完全版)

软考网络工程师复习备考策略

软考高级之制定备考计划