understanding operating systems 1 ch. 10 : management of network functions history comparison of...

38
Understanding Op erating Systems 1 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

Post on 19-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

1

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

Page 2: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

2

Moving Toward Decentralized Systems

• More computing devices linked thru complex networks.

• Two problems:

1. Tremendous demand on data communication networks by number of hardware interconnections.

2. Pressures by user community on networks to operate with greater reliability & faster speed.

Page 3: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

3

History of Networks

Share expensive hardware resources

Share info Access to centralized info.

Allow common tasks.

NOS D/OS Distributed processing

Networks

Page 4: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Reply

Request

node

OS

NOS

node

OS

NOSnode

OS

NOS

Page 5: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 6: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

D/OS

node

node

node

Reply

Request

Page 7: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

7

NOS vs. DO/S

Network operating system (NOS)

Distributed operating system (DO/S)

Resources owned by local nodes

Resources owned by global system

Local resources managed by local OS

Local resources managed by a global DO/S

Access performed by local OS

Access performed by DO/S

Requests passed from one local OS to another via NOS

Requests passed directly from node to node via DO/S

Page 8: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 9: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 10: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 11: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 12: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 13: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

13

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

Access allowed Protection Read/write Allows users to have full access to page's

contents. Read-only Allows users to read page but they’re not allowed

to modify it. Execute-only Allows users to use page but they’re not allowed

to read or modify it. Can jump to address within page & start executing.

Guard-page Used to facilitate automatic bounds-checking on stacks &other types of data structures.

No access allowed

Prevents users from gaining access to page. Typically used by debugging or virus protection software to prevent process from reading from/ writing to particular page.

Page 14: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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).

HardwareKernel

DistributedOperating

SystemApplicationsHost

computer

Ease-of-use

Control ofoperations

• Each network CPU must have own run-time kernel to manage hardware.

Page 15: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 16: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

16

DO/S System’s Scheduling Function

1. Decision mode determines policies used when scheduling resources. – E.g., preemptive, non-preemptive, round robin, etc.

2. 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).

3. 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).

Page 17: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

17

Most Advances in DO/S Job Scheduling Rely on 3 Theories

1. Queuing theory.

2. Statistical decision theory.

3. 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).

Page 18: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 19: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

19

Ways to Design DO/S

1. Process-based DO/S -- network resources managed as large heterogeneous collection.

2. 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).

Page 20: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 21: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 22: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 23: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 24: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

DO/S : Device Management

• 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.

User InterfaceDevice Manager

Disk Drive StatusData and

Device Drivers

Printer Status Dataand

Device Drivers

D/OSDevice Manager

Disk Drive #1

Disk Drive #2

Disk Drive #3

Printer #1

Printer #2

Printer #3

User #1

User #2

User #3

User n

Page 25: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 26: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

Page 27: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

27

Desired file function

File Manager’s action

Find and Open Uses master directory with info about all files stored anywhere on system & sets up channel to file.

Read Sets up channel to file & attempts to read it using simple file access schemes. Read won’t work if file is currently being created or modified.

Write Sets up channel to file & attempts to write to it using simple file access schemes. Exclusive access gained via locking.

Close Sends command to remote server to unlock that file. Typically accomplished by changing info in directory at file’s storage site.

Create Creates unique file id in network’s master directory & assigns space on storage device.

Delete Erases unique file id in master directory & deallocates space reserved on storage device.

Page 28: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

28

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.

Page 29: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

29

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.

Page 30: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

30

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).

Resource A Process 1

Resource BProcess 2

Page 31: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

31

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.

Page 32: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

32

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.

Page 33: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

33

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.

Page 34: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

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.

node

OS

NOS

Request

Reply

node

OS

NOS

Page 35: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

35

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.

Page 36: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

36

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.

Page 37: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

37

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.

Page 38: Understanding Operating Systems 1 Ch. 10 : Management of Network Functions History Comparison of Network and Distributed Operating Systems DO/S Development

Understanding Operating Systems

38

Terminology

• 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