Client machines are generally single-user PCs or workstations that provide a highly user-friendly interface to the end user
Each server provides a set of shared services to the clients
The server enables many clients to share access to the same database and enables the use of a high-performance computer system to manage the database
61 trang |
Chia sẻ: tieuaka001 | Lượt xem: 480 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Operating Systems: Internals and Design Principles, 6/E William Stallings - Chapter 16: Client/Server Computing, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chapter 16Client/Server ComputingPatricia RoyManatee Community College, Venice, FL©2008, Prentice Hall Operating Systems:Internals and Design Principles, 6/EWilliam StallingsClient/Server ComputingClient machines are generally single-user PCs or workstations that provide a highly user-friendly interface to the end userEach server provides a set of shared services to the clientsThe server enables many clients to share access to the same database and enables the use of a high-performance computer system to manage the databaseClient/Server TerminologyGeneric Client/Server EnvironmentClient/Server ApplicationsBasic software is an operating system running on the hardware platformPlatforms and the operating systems of client and server may differThese lower-level differences are irrelevant as long as a client and server share the same communications protocols and support the same applicationsGeneric Client/Server ArchitectureClient/Server ApplicationsBulk of applications software executes on the serverApplication logic is located at the clientPresentation services in the clientDatabase ApplicationsThe server is a database serverInteraction between client and server is in the form of transactionsthe client makes a database request and receives a database responseServer is responsible for maintaining the databaseClient/Server Architecture for Database ApplicationsClient/Server Database UsageClient/Server Database UsageClasses of Client/Server ApplicationsHost-based processingNot true client/server computingTraditional mainframe environmentClasses of Client/Server ApplicationsServer-based processingServer does all the processingClient provides a graphical user interfaceClasses of Client/Server ApplicationsClient-based processingAll application processing done at the clientData validation routines and other database logic functions are done at the serverClasses of Client/Server ApplicationsCooperative processingApplication processing is performed in an optimized fashionComplex to set up and maintainThree-tier Client/Server ArchitectureApplication software distributed among three types of machinesUser machineThin clientMiddle-tier serverGatewayConvert protocolsMerge/integrate results from different data sourcesBackend serverThree-tier Client/Server ArchitectureFile Cache ConsistencyFile caches hold recently accessed file recordsCaches are consistent when they contain exact copies for remote dataFile-locking prevents simultaneous access to a fileDistributed File Cacheing in SpriteMiddlewareSet of tools that provide a uniform means and style of access to system resources across all platformsEnable programmers to build applications that look and feel the sameEnable programmers to use the same method to access dataRole of Middleware in Client/Server ArchitectureLogical View of MiddlewareDistributed Message PassingDistributed Message PassingDistributed Message PassingBasic Message-Passing PrimitivesReliability versus UnreliabilityReliable message-passing guarantees delivery if possibleNot necessary to let the sending process know that the message was deliveredSend the message out into the communication network without reporting success or failureReduces complexity and overheadBlocking versus NonblockingNonblockingProcess is not suspended as a result of issuing a Send or ReceiveEfficient and flexibleDifficult to debugBlocking versus NonblockingBlockingSend does not return control to the sending process until the message has been transmittedOR does not return control until an acknowledgment is receivedReceive does not return until a message has been placed in the allocated bufferRemote Procedure CallsAllow programs on different machines to interact using simple procedure call/return semanticsWidely acceptedStandardizedClient and server modules can be moved among computers and operating systems easilyRemote Procedure Call MechanismClient/Server BindingBinding specifies the relationship between remote procedure and calling programNonpersistent bindingLogical connection established during remote procedure callPersistent bindingConnection is sustained after the procedure returnsSynchronous versus AsynchronousSynchronous RPCBehaves much like a subroutine callAsynchronous RPCDoes not block the callerEnable a client execution to proceed locally in parallel with server invocationObject-Oriented MechanismsClients and servers ship messages back and forth between objectsA client sends a request to an object brokerThe broker calls the appropriate object and passes along any relevant dataObject-Oriented MechanismsMicrosoft’s Component Object Model (COM)Common Object Request Broker Architecture (CORBA)ClustersAlternative to symmetric multiprocessing (SMP)Group of interconnected, whole computers working together as a unified computing resourceIllusion is one machineSystem can run on its ownClustersSeparate serverEach computer is a separate serverNo shared disksNeed management or scheduling softwareData must be constantly copied among systems so each is currentCluster ConfigurationsClustersShared nothingReduces communication overheadDisks partitioned into volumesEach volume owned by a computerIf computer fails, another computer has ownership of the volumeCluster ConfigurationsClustersShared diskMultiple computers share the same disks at the same timeEach computer has access to all of the volumes on all of the disksClustering Methods: Benefits and LimitationsClustering Methods: Benefits and LimitationsOperating System Design IssuesFailure managementHighly available cluster offers a high probability that all resources will be in serviceNo guarantee about the state of partially executed transactions if failure occursFault-tolerant cluster ensures that all resources are always availableOperating System Design IssuesLoad balancingWhen new computer is added to the cluster, the load-balancing facility should automatically include this computer in scheduling applicationsOperating System Design IssuesParallelizing ComputationParallelizing compilerParallelized applicationParametric computingCluster Computer ArchitectureCluster middleware services and functionsSingle entry pointSingle file hierarchySingle control pointSingle virtual networkingCluster Computer ArchitectureCluster middleware services and functionsSingle memory spaceSingle job-management systemSingle user interfaceSingle I/O spaceCluster Computer ArchitectureCluster middleware services and functionsSingle process spaceCheckpointingProcess migrationCluster Computer ArchitectureClusters Compared to SMPSMP is easier to manage and configureSMP takes up less space and draws less powerSMP products are well established and stableClusters Compared to SMPClusters are better for incremental and absolute scalabilityClusters are superior in terms of availabilityWindows Cluster ServerCluster ServiceCollection of software on each node that manages all cluster-specific activityResourceItem managed by the cluster serviceWindows Cluster ServerOnlineOnline at node when it is providing service on that specific nodeGroupCollection of resources managed as a single unitWindows Cluster Server Block DiagramSun ClusterMajor componentsObject and communication supportProcess managementNetworkingGlobal distributed file systemSun Cluster StructureSun Cluster File System ExtensionsBeowulf and Linux ClustersKey featuresMass market commodity componentsDedicated processors (rather than scavenging cycles from idle workstations)A dedicated, private network (LAN or WAN or internetted combination)No custom componentsEasy replication from multiple vendorsBeowulf and Linux ClustersKey featuresScalable I/OA freely available software baseUse freely available distribution computing tools with minimal changesReturn of the design and improvements to the communityGeneric Beowulf Configuration
Các file đính kèm theo tài liệu này:
- chapter16_rev_7399.pptx