450 likes | 888 Views
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.
E N D
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
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.
History of Networks Networks NOS D/OS Distributed processing Share expensive hardware resources Share info Access to centralized info. Allow common tasks.
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.
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.
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.
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.
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.
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.
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.
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.
Protection checks performed on pages as they’re loaded into memory. (Last 3 controls ensure processes don’t write to read-only pages.)
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.
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.
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).
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).
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.
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).
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.
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.
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.
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.
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
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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