1 / 38

Ch. 10 : Management of Network Functions

History Comparison of Network and Distributed Operating Systems DO/S Development Process-Based DO/S Object-Based DO/S NOS Development. Single User Operating Systems Network Operating Systems Distributed Operating Systems. Ch. 10 : Management of Network Functions.

leo-delgado
Download Presentation

Ch. 10 : Management of Network Functions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. History Comparison of Network and Distributed Operating Systems DO/S Development Process-Based DO/S Object-Based DO/S NOS Development Single User Operating Systems Network Operating Systems Distributed Operating Systems Ch. 10 : Management of Network Functions

  2. Moving Toward Decentralized Systems • More computing devices linked thru complex networks. • Two problems: • Tremendous demand on data communication networks by number of hardware interconnections. • Pressures by user community on networks to operate with greater reliability & faster speed.

  3. History of Networks Networks NOS D/OS Distributed processing Share expensive hardware resources Share info Access to centralized info. Allow common tasks.

  4. Network Operating Systems (NOS) • Network operating system (NOS) -- global access to resources, globally manage network’s processes, & make network almost completely transparent for users & local operating systems. • Each node (circle) managed by own local operating system (triangles). • Respective network operating systems (squares) used only when one site’s system needs to work with another site’s system.

  5. NOS • Gives local OS ability to accept processing request or to access data not available locally. • Transparent operations -- local OS views action as performed on-site. • NOS handles interfacing details & coordinates remote processing. • NOS coordinates communications between local OS by tracking status & location of all entities in system. • Appears NOS is server performing task, but really is facilitator. • NOS doesn’t take global control over memory management, process management, device management, or file management. • Sees them as autonomous local functions.

  6. Distributed Operating Systems (DO/S) • NOS can’t achieve true distributed computing or processing functions without global control of all assets. • DO/S provide unified environment designed to optimize operations for network as a whole, not just for local sites.

  7. NOS vs. DO/S

  8. D/OS Resource Management • Considers system resources are globally owned & manages them globally. • Accesses resources via global mechanisms not local mechanisms. • System control & management based on single system-wide policy. • DO/S typically constructed with replicated kernel OS. • Software may be unique or duplicated throughout system. • Allocates & manages system’s resources so that global system policies, not local policies, are maximized. • DO/S has layer that hides network &intricacies from users so they can use network as single logical system.

  9. DO/S Development • Because DO/S globally manages entire group of network resources, they are allocated based on negotiation & compromise among equally important peer sites. • Advantage -- ability to support file copying, e- mail, & remote printing without installation of special server software on local machines.

  10. DO/S Memory Management • Memory allocation & deallocation depend on scheduling & resource-sharing schemes that optimize resources of entire network. • For each node, uses kernel with paging algorithm to track available memory. • On local level: • Allocates pages based on local policy. • Garbage collection in memory & compaction. • Decides which are most & least active processes. • Determines processes to preempt to provide space for others.

  11. DO/S Memory Management - 2 • On global level, receives requests from Process Manager to provide memory to new or expanding client or server processes. • To control demand, handles requests to allocate/deallocate space based on network’s usage patterns. • If application tries to access page not in memory, page fault occurs. • Automatically brings that page into memory. • If page is changed while in memory, writes changed page back when time to swap page out of memory.

  12. DO/S Memory Management - 3 • Before allocating space, examines total free memory table. • If request can be filled, memory is allocated & table modified to show location of allocated space. • Memory Manager manages virtual memory. • Allocates/deallocates VM, reads/writes to VM, swaps virtual pages to disk, gets info about virtual pages, locks virtual pages in memory, & protects pages. • Pages are protected using hardware or low-level memory management software in each site’s kernel. • Protection is summoned as pages loaded into memory. • Several protection checks performed on pages.

  13. Protection checks performed on pages as they’re loaded into memory. (Last 3 controls ensure processes don’t write to read-only pages.)

  14. DO/S Process Management • Provides policies & mechanisms to create, delete, abort, name, rename, find, schedule, block, run, & synchronize processes, & to provide real-time priority execution. • Manages states of execution (READY, RUNNING, and WAIT). • Each network CPU must have own run-time kernel to manage hardware.

  15. DO/S Kernels • Kernel controls & operates CPU & manages queues used for states of execution. • Upper-level system policies direct how PCBs stored in queues & how selected to be run. • Each kernel is fairly simple combination of hardware & software that helps system reach its operational goals. • Kernel’s states are dependent on global system’s process scheduler & dispatcher. • Organizes queues within local CPU . • Selects running policy used to execute processes on those queues.

  16. DO/S System’s Scheduling Function • Decision mode determines policies used when scheduling resources. • E.g., preemptive, non-preemptive, round robin, etc. • Priority function gives scheduling algorithm policy used to assign order to processes in execution cycle. • Priority based on system characteristics (e.g., occurrence of events, task recurrence, system loading levels, or program run time characteristics). • Arbitration rule used to resolve conflicts between jobs of equal priority. • Dictates order in which jobs of same priority are executed. • E.g., last-in first-out (LIFO), first-in first-out (FIFO).

  17. Most Advances in DO/S Job Scheduling Rely on 3 Theories • Queuing theory. • Statistical decision theory. • Estimation theory -- scheduler based on process priorities & durations maximizes system’s throughput by using durations to compute & schedule optimal way to interleave process chunks. • Distributed scheduling better achieved when migration of scheduling function & policies considers all aspects of system (e.g., I/O, devices, processes, communications).

  18. Creation, Location, Synchronization, & Deletion of DO/S Processes • To create process, Process Manager creates PCB with basic info & info identifying process’s location in network. • To locate process, Process Manager uses system directory or process that searches all kernel queue spaces. • Requires system support for inter-process communications. • To synchronize processes, Process Manager uses message passing or remote procedure calls. • To delete or terminate process, Process Manager finds PCB, accesses it, & deletes it.

  19. Ways to Design DO/S • Process-based DO/S -- network resources managed as large heterogeneous collection. • Object-based DO/S -- clumps each type of hardware with its necessary operational software into discrete objects that are manipulated as a unit. • Objects contain all of their state information. • Info is stored with object, not separately in another part of system (e.g., PCB or other data structure).

  20. Process-Based DO/S • Uses client/server processes synchronized & linked together through messages & ports (channels or pipes). • Emphasizes processes & messages & how they provide basic features essential to process management. • Processes can be managed from single OS copy, from multiple cooperating peers, or some combination. • High level of cooperation & sharing of actions & data. • Synchronization key in network process management. • Interrupts represented as messages sent to proper process for service.

  21. Object-Based D/OS • System viewed as collection of objects (abstract entities, data types). • Can change state, act according to set patterns, be manipulated, or exist in relation to other objects in appropriate manner. • Unique identifier & set of unchanging properties that defines them & behavior within context of defined parameters. • Typically, systems have large number of objects & small number of operations on objects. • Process management becomes object management, with processes acting as discrete objects. • Deals with policies & mechanisms for controlling operations & creation & destruction of objects. • Two components: kernel level & process manager.

  22. Object-Based D/OS : Kernel Level • Provides basic mechanisms for building OS by dynamically creating, managing, scheduling, synchronizing, & deleting objects. • Capability manager on each site maintains capability list for its objects & directory listing location for all capabilities in system. • Provides process synchronization mechanisms & communication support. • E.g., WAIT & SIGNAL codes. • Communication between distributed objects in form of shared data objects, message objects, or control interactions. • Different communications primitives (synchronous,asynchronous). • Periodic checks or info arrives without warning. • Kernel environment has scheduler with consistent & robust mechanism for scheduling objects system according to operations goals.

  23. Object-Based DO/S : Process Manager • Process Manager must create its own primitives before going on with its job if kernel doesn’t already have primitives (test and set, P and V). • Process Manager must create, dispatch, schedule, synchronize operations, communicate among, & delete objects. • Uses kernel environment, which provides primitives to capture low-level hardware in system.

  24. Devices must be opened, read from, written to, & closed. Done on global, cluster, or localized basis. User selects devices by name, & D/OS selects & operates best device. Examines device’s status & when it’s free, sends requesting process unique device ID. Releases devices when process sends CLOSE command. DO/S keeps global accounting of each network device & availability. DO/S : Device Management

  25. Device Management in Process-Based DO/S & Object-Based DO/S Process-Based DO/S • All resources controlled by servers (guardians, administrators) that accept requests for service on individual devices they control, processing each request. • Complex server processes control clusters as group & manage multiple resources or divide work among subordinate processes. Object-Based DO/S • Physical device is seen as object & managed same way throughout network via set of operations. • Advantage -- objects assembled to communicate & synchronize with each other to provide distributed network of resources, with each object knowing location of distributed peers.

  26. DO/S File Management • Main function to provide transparent mechanisms to find & open, read, write, close, create, & delete files, no matter where they’re located in network. • Tasks include controls & mechanisms to provide consistent, synchronized, & reliable management of system & user info assets (similar to distributed dbms). • Concurrency control. • Data redundancy. • Location transparency and distributed directory. • Deadlock resolution or recovery. • Data handling.

  27. Concurrency Control & Data Redundancy • Concurrency Control-- system can perform concurrent reads & writes, as long as results of these actions don’t jeopardize contents of database. • Provides serial execution view on a database. • Data redundancy -- makes files much faster and easier to read, provides recovery of data from failed sites. • Must keep multiple copies of same file up-to-date at all times.

  28. Location Transparency & Distributed Directory • Location transparency -- allows users to deal with network as single system. • Mechanisms & directories that map logical data items to physical locations using info about data stored at all sites as directories. • Distributed directory -- manages transparency of data location & enhances data recovery for users. • Definitions for physical & logical structures of stored data. • Policies & mechanisms for mapping between physical & logical. • System-wide names of all resources & addressing mechanisms for locating & accessing them.

  29. Deadlock Resolution or Recovery • Critical to detect & recover from circular wait. • Can involve multiple processes & multiple resource. • Detection (directed resource graph). • Prevention (delay transaction start until all resources available). • Avoidance (transaction allowed only when can complete). • Recovery (e.g., select best victim).

  30. Data Handling • Based on algorithm used & method of recovery, system can require updates performed at all sites before any reads occur to master site or to majority of sites. • Update algorithms include: unanimous agreement, primary site copy, moving primary site, & majority site agreement. • Query processing -- processing requests for information. • Techniques try to increase effectiveness of global query execution sequences, local site processing sequences, & device processing sequences. • All relate directly to the network’s global process scheduling problem. • To ensure consistency of entire system’s scheduling scheme, query processing strategy must be integral part of processing scheduling strategy.

  31. DO/S Network Management • Communications function unique to networked systems. • Provides policies & mechanisms necessary to provide intrasite & intersite communication among concurrent processes. • Intrasite processes within network, provides process identifiers & logical paths to other processes, & dynamically manages paths. • Must locate processes in network, send messages throughout network, track media use, reliably transfer data, code & decode messages, retransmit errors, perform parity checking, do cyclic redundancy checks, establish redundant links, & acknowledge messages & replies, if necessary.

  32. Network Management in Process-Based DO/S & Object-Based DO/S Process-Based DO/S • Interprocess communication is transparent to users. • Network Manager allocates ports to requesting processes, identifies every process, controls message, & guarantees error-free transmission. Object-Based DO/S • Easy intermode & intramode communication among cooperative objects. • User only needs to know receiver’s name & Network Manager takes over, providing proper routing to receiver.

  33. NOS Development • Runs on computer (server) &performs services for network workstations (clients). • Includes management functions (memory management, process scheduling, file management, device management) & network management function (responsible for network communications, protocols). • Network management functions used only when system needs to use network; dormant at all other times.

  34. NOS Development - 2 • Focus is on sharing resources instead of running programs. • Focus on workstations’ ability to share server’s resources including applications, data, and expensive shared resources. • E.g., Novell’s NetWare, Microsoft’s LAN Manager, IBM’s LAN Server, and Banyan’s VINES. • Best NOS choice depends on many factors including applications to be run on server, technical support required, user’s level of training, & compatibility of hardware with other networking systems.

  35. Major NOS Functions • Allow users to access hardware or software at a remote site. • E.g., Internet’s telnet command -- allows users to log-in from remote locations if have authorized account at connected site. • Allows users to transfer files from one computer to another. • Each system controls & manages its own file system. • E.g., Internet File Transfer Protocol (FTP) program.

  36. Important NOS Features • Implemented as 16-bit, 32-bit, or 64-bit software. • Supports standard LAN technologies & client desktop OS. • Supports heterogeneous networks on variety of OS due to robust architecture that adapts easily to new technologies. • Designed to operate range of third-party software applications, hardware devices, software for multiuser-network applications & networking expansions (e.g., new protocol stacks). • Blends efficiency with security. • Provide network clients with quick & easy access to network’s data & resources without compromising network security.

  37. anonymous FTP clients Distributed Operating Systems (DO/S) distributed processing file transfer protocol (FTP) firmware groupware kernel Network Operating Systems (NOS) object-based DO/S objects primitives process-based DO/S server processes servers telnet version control Terminology

More Related