预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共66页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

清华大学出版社第8章网络操作系统第8章网络操作系统网络操作系统的设计不是完全独立(dúlì)的,与单机系统不可分离。20世纪80年代随着个人计算机的广泛应用以及局域网技术的创立与应用,如何在各种机器之间共享资源成为人们研究的焦点.网络操作系统可以为用户提供网络接口、管理共享资源以及提供各种网络服务,因此有人也将其称为网络管理系统。但是,网络操作系统并非仅仅只有这些功能,它是建立在单机操作系统之上的,因此也具有一个单机操作系统的所有功能。NOS定义(dìngyì)网络操作系统的基本(jīběn)任务8.1.1网络操作系统的功能(gōngnéng)NOS对网络资源的管理(guǎnlǐ)功能:8.1.2网络操作系统的特征(tèzhēng)网络操作系统的安全性表现(biǎoxiàn)在以下几个方面:8.2网络操作系统的结构(jiégòu)8.2.1网络操作系统结构设计的模式(móshì)网络操作系统结构设计的主要(zhǔyào)模式:客户(kèhù)/服务器模式下的操作系统对等模式在对等模式中,网络上任一节点机所拥有的资源都作为网络公用资源,可被其它(qítā)节点机上的网络用户共享。对象模式在对象模式中,通常用对象表示系统中的资源,如:进程、文件、内存块等都可看成对象。把具有相同特性的对象归纳(guīnà)为对象类,对象类是描述资源类型的。网络操作系统WindowsNT广泛使用对象来表示共享的系统资源。但在严格的意义下,WindowsNT并不是一个面向对象的系统,WindowsNT的大部分代码是用C语言编写的,这是因为C语言具有良好的可移植性,但它并不支持面向对象的结构。因此,WindowsNT只能算是一个基于对象的系统。无论是面向对象还是基于对象的系统,都可以认为是采用对象模式来进行操作系统结构设计的。8.2.2客户(kèhù)/服务器模式下的网络操作系统的组成8.2.3客户/服务器模式的工作(gōngzuò)过程8.2.4内核(nèihé)结构4内核(nèihé)结构网络操作系统与单机操作系统一样,其结构通常般无共享存储器,因此不同节点机上的进socket_statestate;20世纪80年代随着个人计有节点,即对等式结构;点之间通信的支持是必须的。中心节点所管理资源的应用称为客户。第四十三页,。操作系统的内核是对硬件的首次(shǒucì)扩充,是实现操当有消息到达后,它被唤醒并将所接3远程(yuǎnchéng)过程调用统中,基本上可分为两种类型的通信方式:5、缺乏在一次调用过程中多次接受返回结果的能力.服务第四十九页,。电子邮件是ElectronicMail的中文名,简称E-微内核操作系统是具有微内核的操作系统。微内核的基本思想是良好的结构化、模块化,最小的公共服务。它作为一个必不可少的核心,提供最基本、最必要的服务,其它服务都以服务器的形式(xíngshì)建立在微内核上。如图8-3所示微内核结构与强内核结构相比具有(jùyǒu)如下优点8.3网络操作系统的通信(tōngxìn)基于(jīyú)共享变量的通信方式基于共享变量的主要通信(tōngxìn)方式有:1、进程间的同步与互斥2、消息缓冲通信(tōngxìn)3、信箱通信(tōngxìn)8.3.2基于(jīyú)消息传递的通信方式客户进程的工作(gōngzuò)流程如图8-4所示服务器进程(jìnchéng)的工作流程如图8-5所示8.3.3远程(yuǎnchéng)过程调用远程(yuǎnchéng)过程调用的缺点8.4资源共享8.4.1硬盘共享8.4.3文件(wénjiàn)和数据共享8.5服务(fúwù)软件8.5.1名字(míngzi)服务8.5.2文件(wénjiàn)服务8.5.3电子邮件(diànzǐyóujiàn)服务8.5.4WWW服务(fúwù)HTTP协议由两部分组成:浏览器到服务器的请求集,以及服务器到浏览器的应答集组成。HTTP协议支持两种请求:简单请求和完全请求。表8-2显示(xiǎnshì)了一些常用的请求方法。8.6应用(yìngyòng)程序接口8.6.1操作命令接口(jiēkǒu)8.6.2网络(wǎngluò)编程接口Linux的BSD套接字的socket结构体在include/linux/net.h中定义(dìngyì)如下:structsocket{Shorttype;socket_statestate;longflags;structproto_ops*ops;void*data;structsocket*conn;strcutsocket*iconn;structsocket*next;structwait_queue**wait;structinode*inode;structfasync_struct*fasync_l