四 计算机网络基础知识
计算机网络就是计算机之间通过连接介质互联起来,按照网络协议进行数据通信,实现资源共享的一种组织形式。什么是连接介质呢?连接介质和通信网中的传输线路一样,起到信息的输送和设备的连接作用计算机网络的连接介质种类很多,可以是电缆、光缆、双绞线等“有线”的介质,也可以是卫星微波等“无线”介质,这和通信网中所采用的传输介质基本上是一样的。
在连接介质基础上,计算机网络必须实现计算机间的通信和计算机资源的共享,因此它的结构,按照其功能可以划分成通信子网和资源子网两部分。当然,根据硬件的不同,将它分成主机和通信子网两部分也是正确的。
主机的概念很重要,所为主机就是组成网络的各个独立的计算机。在网络中,主机运行应用程序。这里请注意区别主机与终端两个要领终端指人与网络打交道时所必需的设备,一个键盘加一个显示器即可构成一个终端,显然,主机由于要运行应用程序,只有一个键盘和显示器是不够的,还要有相应的软件和硬件才行。因此,不能把终端看成主机,但有时把主机看成一台终端是可以的。
协议是什么?拿电报来做比较,在拍电报时,必须首先规定好报文的传输格式,多少位的码长,什么样的码字表示启动,什么样的码字又表示结束,出了错误怎么办,怎地方发报人的名字和地址等,这种预先定好的格式及约定就是协议。这样就也网络协议的定义:为了使网络中的不同设备能进行下沉的数据通信而预先制定一整套通信双方相互了解和共同遵守的格式和约定。
协议对于计算机网络而言是非常重要的,可以说没有协议,就不可能有计算机网。每一种计算机网络,都有一套协议支持着。
由于现在在计算机网种类很多,所以现有的网络通信协议的种类也很多。典型的网络通信协议有开放系统互连(OSI)协议1、X.25协议等。TCP/IP则是为Internet互联的各种网络之间能互相通信而专门设计的通信协议。
可见,由于连接介质的不同,通信协议的不同,计算机网络的种类名目繁多。但一般来讲,计算机网络可以按照它覆盖的地理范围,划分成局域网和广域网。局域网一般指分布于几公里范围内的网络,常见的局域中校园网、大楼网等;广域网则在分范围很区域内提供数据通信服务,前面提到的NSFnet,国内的如中国公用分组交换网(CHINAPAC)、中国公用数字数据网(CHINADDA),以及建议中的国家教育和科研网(CERnet)等都属于广域网,建设好的CHINANET也将是一个广域网。
1. 网络定义 计算机网络是利用通信设备和线路将地理位置不同的、功能独立的多个计算机系统互联起来,以功能完善的网络软件(包括网络通信协议、信息交换方式及网络操作系统等)实现网络中资源共享和信息交换的系统。
2. 网络组成 若干主机、一个通信子网 、一系列通信协议
3. 网络功能
1)信息交换 如:传送电子邮件、发布新闻、电子购物、远程教育等
2)资源共享 如:计算处理能力、磁盘、打印机、绘图仪、数据库、文件等
3)分布式处理:由网络内多台计算机分别完成一项复杂任务的各部分
4)提高计算机系统的可靠性和可用性:网络中的计算机可互为备用
4. 网络分类 按规模和距离分为:广域网WAN(Wide Area Network)、局域网LAN(Local Area Network)
5. 网络设备
网络传输介质:有双绞线电缆、同轴电缆、光导纤维、激光、红外线、微波和卫星通信等。
网内连接设备: 网络适配器(网卡)、中继器、集线器
网络互联设备: 传输线
网间连接设备:网桥、路由器
6. 网络的拓扑结构 网络的拓扑结构指各节点(网络上的计算机、大容量磁盘、高速打印机等)在网络上的连接方式。它影响网络传输介质的选择和控制方法的确定,会影响网上节点的运行速度和网络软、硬件接口的复杂度。
常见的拓扑结构有:总线结构、星型结构、环型结构、树型结构、混合型结构
7. 网络的体系结构 网络的体系结构是对构成计算机网络的各个组成部分以及计算机网络本身所必须实现的功能的一组定义、规定和说明。
ISO制定的“开放式系统互连”网络模型将网络的通信功能分为七个层次:物理层\数据链路层\网络层\传输层\会话层\表示层\应用层 (由下至上)
附:
一。计算机中数据的表示方法-- 数值数据的编码
数值数据在计算机内用二进制编码表示,常用的原码、反码和补码。
1.机器数与真值通常,称表示一个数值数的机内编码为机器数,而它所代表的实际值称为机器数的真值。对于带符号数,在机器中通常用最高位代表符号位,0表示正,1表示负 补码,并设机器字长为8位。
2.原码 正数的符号位为0,负数的符号为1,其它位按一般的方法表示数的绝对值,用这样的表示方法得到的就是数的原码。
3.反码正数的反码与其原码相同,负数的反码为其原码除符号位外的各位按位取反(即是0的改为1,是1的改为0)
4.补码正数的补码与其原码相同,负数的补码为其反码在最低位加1。
二。计算机指令系统
1.寻址方式:指CPU指令中规定的寻找操作数所在的地址的方式。操作数: MOV AL , 05H 操作码 目的操作数 , 源操作数 操作数引用时的字节顺序:若存放的信息是字节,则按顺序存放若存放的信息是字,则将字的低位字节存放在低地址,高位字节存放在高地址注:如果 没有特别说明,寻址方式是指源操作数的寻址方式。
2.寻址方式之一:立即寻址操作数作为立即数直接存在指令中,可为字节或字。
3.寻址方式之二:寄存器(直接)寻址操作数包含在指令规定的8位、16位寄存器中。寄存器寻址由于无需从存储器中取操作数,故执行速度快。
4.寻址方式之三:直接寻址在指令的操作码后面直接给出操作数的16位偏移地址。这个偏移地址也称为有效地址EA。操作数默认在DS段中。如果操作数在DS以外的其他段(CS,SS,ES)中,指令中必须指明段寄存器(段超越)。
5.寻址方式之四:寄存器间接寻址操作数地址的偏移量(有效地址EA)存放在寄存器中。以SI,DI, BX间接寻址,默认操作数在DS段中;以BP间接寻址,默认操作数在SS段中。
6.寻址方式之五:基址寻址基址寻址将规定的基址寄存器的内容加上指令中给出的偏移量,即可得到操作数的有效地址。基址寄存器包括基址寄存器BX和基址指针寄存器BP。
7.寻址方式之六:变址寻址变址寻址将规定的变址寄存器的内容加上指令中给出的偏移量,即可得到操作数的有效地址。变址寄存器包括源变址寄存器SI和目的变址寄存器DI。
8.寻址方式之七:基址-变址寻址指令中规定一个基址寄存器和一个变址寄存器,同时还给出一个8位或16位偏移量,将三者的内容相加得到操作数的有效地址。
三。存储器的基本组成及其读写操作
(1)存储器的基本组成主存储器由存储体、地址译码电路、驱动电路、读写电路和控制电路等组成。
主存储器主要功能是:
①存储体:是信息存储的集合体,由某种存储介质按一定结构组成的存储单元的集合。通常是二维阵列组织,是可供CPU和计算机其他部件访问的地址空间。
②地址寄存器、译码电路与驱动器:即寻址系统,将CPU确定的地址先送至地址寄存器中,然后根据译码电路找到应访问的存储单元。在存储体与译码器之间的驱动器的功能是减轻译码线驱动负载能力。由于一条译码线需要与它控制的所有存储单元相联,其负载很大。需要增加驱动器,以译码线连接驱
动器的输入端,由驱动器的输出端控制连接在译码线上的所有存储单元。
③读写电路与数据寄存器:根据CPU的命令,将数据从数据寄存器中写入存储体中特定的存储单元或将存储体中指定单元的内容读到数据寄存器中。
④控制电路:接收CPU传来的控制命令,经过控制电路一系列的处理,产生一组时序信号控制存储器的操作。在存储器的组成中,存储体是核心,其余部分是存储体的外围线路。不同的存储器都是由这几部分组成,只是在选用不同的存储介质和不同的存取方式时,各部分的结构与工作方式略有变化。
(2)存储体阵列计算机存储器中存储的是“0”和“1”的信息,每一个能存储一位二进制并能保持两种状态的元件称为记忆元件。若干记忆元件组成存储单元,一个存储单元能够存储一个或几个字节的二进制信息。每个存储单元都有一个地址编号,用以唯一标识存储单元的位置。信息按地址存入指定的存储单元中,按地址从指定的存储单元中取出。存储单元的集合称为存储体。由于存储体中存储单元的每个二进制位必须并行工作,因此将存储单元按其地址的顺序组成存储阵列。
(3)存储器的地址译码系统 CPU要访问存储单元的地址由地址总线输入到地址寄存器中。地址译码器将地址转换为对应地址线(字线)上的控制信号,以表示选中某一单元,并驱动相应的读写电路,完成对存储单元的读写操作。地址译码为两种方式:一种是单译码方式,仅有一个译码器。译码器输出的每条译码线对应一个存储单元。如地址位数N=10,即译码器可以有2 10 =1024种状态,对应有1024条译码线(字线)即1024个存储单元。另外一种是双译码方式,将译码器分成X向和Y向两个译码器,通过双译码器的相互作用确定存储单元的地址。设地址长度n仍为10,将其中的前5位输入到X地址译码器中,译出X 0 到X 31 译码线,分别选择0~31行。将后5位输入到Y地址译码器中译出Y 0 到Y 31 译码线,分别选择0~31列。X向译码器和Y向译码器引出的地址线都是2 5 =32条。若采用X向和Y向交叉选择,可以选择从存储单元(0,0)至(31,31)共2 5 ×2 5 =1024个存储单元地址。即同样可以提供1024种状态,而地址线只需要64条,比单译码器节省93.75%的地址线。
(4)存储器的读写操作在CPU向存储体发生读操作命令时,首先由CPU将相应存储单元的地址码送至地址寄存器中;地址译码器将地址寄存器中的地址编码译成相应地址线(字线)的高电位,标志指定的存储单元;然后在CPU的统一控制下,由控制电路将读命令转换成读写电路的操作,执行将指定存储单元的内容传送到数据寄存器的操作,完成了整个存储器读的操作。存储器写的操作与读的操作相类似。
操作系统篇( Unix,Linux,Windows,Netware)
壹。 Unix
Unix是一个多任务多用户的操作系统。多任务是指可以同时运行几个不同的程序,或命令。在操作系统的术语里叫“进程”,就象在运行Windows xp 的时候我们可以一边听CD ,一边打字,同时打印机还在工作。多用户是指一台运行Unix系统的机器可以同时具有几个不同的输入输出设备,给几个,几十个用户同时使用。不同的输入输出设备我们称为终端。 Unix给每个终端设置不同的序号以协调工作,这个序号被称为终端序号。 Unix是一个根本不同于Dos的系统,无论其命令格式,用途都和Dos有很大区别。比如: 目录分割符是“/”,而不是“\”。
Unix的发展阶段
从总体来看,Unix的发展可以分为三个阶段:
第一阶段为Unix的初始发展阶段,从1969年AT&T贝尔实验室创造了Unix操作系统,到刚开始只是在实验室内部使用并完善它,这个阶段Unix从版本1发展到了版本6。同时Unix也以分发许可证的方法,允许大学和科研机构获得Unix的源代码进行研究发展。
这个阶段最重要的事件可以算Unix的作者使用C语言对Unix的源代码重新改写,使Unix非常具有可移植性。
第二阶段为80年代,这是Unix的丰富发展时期,在Unix发展到了版本6之后,一方面AT&T继续发展内部使用的Unix版本7 ,同时也发展了一个对外发行的版本,但改用System加罗马字母作版本号来称呼它。System III和System V都是相当重要的Unix版本。此外,其他厂商,以及科研机构都纷纷改进Unix,其中以加州大学伯克利分校的BSD版本最为著名,从4.2BSD中也派生出了多种商业Unix版本。
在这个时期中,Internet开始进行研究,而BSD Unix最先实现了TCP/IP,使Internet和Unix紧密结合在一起。
第三阶段是Unix的完善阶段,从90年代开始到现在。当AT&T推出System V Release 4(第五版本的第四次正式发布产品)之后,它和伯克利的4.3BSD已经形成了当前Unix的两大流派。 此时,AT&T认识到了Unix价值,因此他起诉包括伯克利在内的很多厂商,伯克利不得不推出不包含任何AT&T源代码的4.4BSD Lite,这次司法起诉也使很多Unix厂商从BSD转向了System V流派。
这个时期的另一个事件是Linux的出现,一个完全免费的与Unix兼容的操作系统,运行在非常普及的个人计算机硬件上。Linu x已经有500多万用户,成为仅次于Windows的第二大操作系统。
贰.Linux
1991年,芬兰赫尔辛基大学的学生Linus Benedict Torvalds为了实习MINIX(Andrew S. Tanenbaum所创的一种“微型”的、主要供研究教学使用的PC UNIX),在自己使用的486微机上开始试验开发一套比MINIX功能更强、能在低档微机上运行、对硬件要求不高而又能支持在PC上被广泛使用的众多外围设备的PC UNIX系统,他将这个摇篮中的系统称为“LINUX”。 1991年10月,Linus通过INTERNET公布了他的第一个“作品”——LINUX 0.02版,他将之放在互联网上的一个FTP服务器里供其他人自由下载,并在USENET讨论区comp.os.minix发布了相关消息。很快,这个由个人开发的自由操作系统吸引了众多网络冲浪者的注意,在众多价格不菲的商业操作系统充斥市场的年代里,LINUX的出现无疑带来一股清新气息。许多人(他们中不乏高级专业人才)开始在这个系统上工作:有的测试和修正核心的错误;有的给核心增加新的功能;有的开发或移植应用软件;有的为其编写新的硬件驱动程序;而有的则为其编写使用文档。LINUX以前所未有的速度蓬勃发展,一段时间后,LINUX的支持者几乎已经遍布全球,参与开发的成员也呈专业分工之势,LINUX的核心版本几乎每两个星期就更新一次,这种发展速度一直维持到今天,其蓬勃的生命力是其它任何商业操作系统所不能媲美的。LINUX诞生历程成为计算机发展历上的一个传奇故事。
一 .linux操作系统文件目录
随着linux的不断发展,越来越多的人开始使用Linux,对于那些刚刚接触的人来说,恐怕最先感到困惑的就是那些“不明不白”的目录了。如果想熟练使用linux,让Linux听命于自己,就必须掌握这些目录,下面就以Xteam公司的最新产品——Xteamlinux 4.0为例,介绍一下在该系统下的目录。 /bin bin是Binary的缩写。这个目录存放着最经常使用的命令。
/boot这里存放的是启动linux时使用的一些核心文件,包括一些链接文件以及镜像文件。
/dev dev是Device(设备)的缩写。该目录下存放的是linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home用户的主目录,在linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/mnt在这里面中有四个目录,系统提供这些目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/cdrom上,然后进入该目录就可以查看光驱里的内容了。
/proc这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping 你的机器:echo 1 》 /proc/sys/net/ipv4/icmp_echo_ ignore_all。
/root该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/tmp这个目录是用来存放一些临时文件的。
我们要用到的很多应用程序和文件几乎都存放在usr目录下。
具体来说: /usr/X11R6存放X-Windows的目录;
/usr/games存放着Xteamlinux自带的小游戏;
/usr/bin存放着许多应用程序;
/usr/sbin存放root超级用户使用的管理程序;
/usr/doc linux技术文档;
/usr/include用来存放linux下开发和编译应用程序所需要的头文件;
/usr/lib存放一些常用的动态链接共享库和静态档案库;
/usr/local这是提供给一般用户的/usr目录,在这里安装一般的应用软件; /usr/man帮助文档所在的目录;
/usr/src linux开放的源代码,就存在这个目录,爱好者们别放过哦;
/var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。如果你想做一个网站,你也会用到/var/www这个目录。
二.linux网络服务器配置基础
叁.Windows
在2000年3月微软推出了Windows 2000中文版。 Windows 2000采用Windows NT内核技术,比以前的版本更加稳定,而且它继承了以往Windows界面友好、操作方便的特征。
肆.Netware
Netware是NOVELL公司推出的网络操作系统。
Netware最重要的特征是基于基本模块设计思想的开放式系统结构。Netware是一个开放的网络服务器平台,可以方便地对其进行扩充。 Netware系统对不同的工作平台(如D0S、0S/2、Macintosh等),不同的网络协议环境如TCP/IP以及各种工作站操作系统提供了一致的服务。该系统 内可以增加自选的扩充服务(如替补备份、数据库、电子邮件以及记帐等),这些服务可以取自Netware本身,也可取自第三方开发者。
目前常用的版本有3.11、3.12和4.10 、V4.11,V5.0等中英文版本,而主流的是NETWARE 5版本,支持所有的重要台式操作系统(DOS,Windows,OS/2,Unix和Macintosh)以及IBM SAA环境,为需要在多厂商产品环境下进行复杂的网络计算的企事业单位提供了高性能的综合平台。
NetWare是具有多任务、多用户的网络操作系统,它的较高版本提供系统容错能力(SFT)。使用开放协议技术(OPT),各种协议的结合使不同类型的工作站可与公共服务器通信。这种技术满足了广大用户在不同种类网络间实现互相通信的需要,实现了各种不同网络的无缝通信,即把各种网络协议紧密地连接起来,可以方便地与各种小型机、中大型机连接通信。NetWare可以不用专用服务器,任何一种PC机均可作为服务器。NetWare服务器对无盘站和游戏的支持较好,常用于教学网和游戏厅。
Novell NetWare由两部分组成,即安装和运行在微机工作站上的用户接口shell(重定向程序,其作用是对来自工作站应用程序的请求进行解释,判断这些请求是本地请求还是网络请求)和安装并运行在文件服务器上的NetWare核心部分。
附:
嵌入式系统 英国电机工程师协会的定义,嵌入式系统就是为控制、监视或辅助设备、机器或甚至工厂运作的装置。它是一种电脑软件与硬件的综合体,并且特别强调『量身定做』的原则,也就是基于某一种特殊用途,我们就会针对这项用途开发出截然不同的一项系统出来,也就是所谓的客制化(Customize)。在新兴的嵌入式系统产品中,常见的有手机、PDA、GPS、Set-Top-Box或是嵌入式伺服器(embedded server)及精简型终端设备(thin client)等。
嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 PC 中 BIOS 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。
嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。 嵌入式系统的硬件部分,包括处理器 / 微处理器、存储器及外设器件和 I/O 端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用 EPROM 、 EEPROM 或闪存 (Flash Memory) 作为存储介质。软件部分包括操作系统软件 ( 要求实时和多任务操作 ) 和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
过去很多嵌入式系统不是一个操作系统,或者是提供商的专有核心,或者是DOS操作系统的扩展。显然这些方法并不能适应今天嵌入式系统开发的要求!现有的一些商业实时操作系统,尽管提供了很小的核心和多任务开发环境,但性能并不理想,也不符合现在实时嵌入式市场的需求。 因此,人们把目光投向了通用操作系统(例如Windows、Solaris、linux),希望把它们“改造”为实时操作系统。通常这些操作系统功能强大,结构复杂,易于软件的二次开发,实用性强,并且提供编程人员熟悉的标准API。此外,这些操作系统也提供了一些对实时软件开发的支持。然而,这些操作系统用于嵌入式系统的开发还存在不足。嵌入式系统要求具备高可靠性,满足应用需求的可剪裁性,以及比通用操作系统要求更高的实时性。 做为嵌入式系统开发的解决方案,linux在众多通用操作系统中具有独一无二的优势。 首先,Windows和Solaris等专有商业操作系统的剪裁受到商家的严格控制。这大大限制了开发者的剪裁深度。而linux遵循GPL协议,开放所有系统源代码,非常易于剪裁。 其次,同其它开放源码的通用操作系统(如FreeBSD)相比,linux在多种处理器、开发板支持和软件开发工具支持上有很强的优势。 linux最初也是作为通用操作系统而设计开发的,但提供了一些实时处理的支持。这包括支持大部分POSIX标准中的实时功能,支持多任务、多线程,具有丰富的通信机制等。 linux还提供符合了POSIX标准的调度策略,包括FIFO调度策略、时间片轮转调度策略和静态优先级抢占式调度策略。其默认的调度策略是第三种。Linux还提供了内存锁定功能,以避免在实时处理中存储页被换出,也提供了符合POSIX 标准的实时信号机制。 嵌入式系统几乎包括了生活中的所有电器设备,如掌上 PDA 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。