1 / 113

Understanding Operating Systems Sixth Edition

Understanding Operating Systems Sixth Edition. Chapter 10 Management of Network Functions. Learning Objectives. After completing this chapter, you should be able to describe: The complexities introduced to operating systems by network capabilities

yanni
Download Presentation

Understanding Operating Systems Sixth Edition

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. Understanding Operating SystemsSixth Edition Chapter 10 Management of Network Functions

  2. Learning Objectives After completing this chapter, you should be able to describe: • The complexities introduced to operating systems by network capabilities • Network operating systems (NOS) compared to distributed operating systems (DO/S) • How a DO/S performs memory, process, device, and file management Understanding Operating Systems, Sixth Edition

  3. Learning Objectives (cont’d.) • How a NOS performs memory, process, device, and file management • Important features of DO/S and NOS Understanding Operating Systems, Sixth Edition

  4. History of Networks • Networks were created to share expensive hardware resources such as large mainframes, laser printers, and sizable hard disks. • These physical networks, with there network operating systems, allowed organizations to increase the availability of these resources and spread the cost among many users. • However, the focus of technology changed when system owners realized that a network’s most prized resource wasn’t the hardware – it was the information stored on it. Understanding Operating Systems, Sixth Edition

  5. History of Networks (cont’d) • Soon many OSs were enhanced with network capabilities to give users throughout an organization easy access to centralized information resources. • The Network Operating System (NOS) was developed first, followed by the more powerful distributed operating system. • Today, applications collectively known as computer-supported cooperative work (groupware) use a set of technologies called distributed processing to allow even greater access to centralized information and to allow users to work together to complete common tasks. Understanding Operating Systems, Sixth Edition

  6. Comparison of Network and Distributed Operating Systems • The network operating systems (NOS) evolved from the need: • To give users global access to resources; • To globally manage the network’s processes; • To make the networks almost completely transparent for users and their sites’ OSs (local operating systems). • A NOS gives Local operating systems extended powers. Understanding Operating Systems, Sixth Edition

  7. Comparison of Network and Distributed Operating Systems (cont’d) • A NOS gives Local operating systems extended powers. • It gives the local system new ability to: • Accept a request; • Perform processing or • Access data that’s not available locally. • It starts by determining where the resources are located. • Then it initiates the operation and returns the appropriate data or service to the requester. Understanding Operating Systems, Sixth Edition

  8. Comparison of Network and Distributed Operating Systems (cont'd.) Understanding Operating Systems, Sixth Edition

  9. Comparison of Network and Distributed Operating Systems (cont’d) • The NOS accomplishes this transparently. • The local operating system views the action as having been performed on site. • That’s because the NOS handles the interfacing details and coordinates the remote processing. • It also coordinates communications between the local operating systems by tracking the status and location of all entities in the system. • The local operating systems are traditional operating systems designed to run a single computer. Understanding Operating Systems, Sixth Edition

  10. Comparison of Network and Distributed Operating Systems (cont’d) • They can perform a task only if the process is part of their environment. • Otherwise, they must pass the request on to the network operating system to run it. • To a local operating system, it appears that the NOS is the server performing the task, whereas in reality the NOS is only the facilitator. • The biggest limitation of a NOS is that it doesn’t take global control over memory management, process management, device management, or file management. • It sees them as autonomous local functions that must interact with each other. Understanding Operating Systems, Sixth Edition

  11. Comparison of Network and Distributed Operating Systems (cont’d) • This limited view is problematic because an OS can’t achieve true distributed computing or processing functions without global control of all assets, not only assets at the network communication level. • This need for global control led to the development of the distributed operating system (DO/S). Understanding Operating Systems, Sixth Edition

  12. Comparison of Network and Distributed Operating Systems (cont'd.) • Distributed operating systems (DO/S) provide a unified environment designed to optimize operations for the network as a whole, not just for local sites. • The major difference between a NOS and a DO/S is how each views and manages the local and global resources. • A NOS builds on capabilities provided by the local operating system and extends it to satisfy new needs. • It accesses resources by using local mechanisms, and each system is controlled and managed locally based on that system’s policy. Understanding Operating Systems, Sixth Edition

  13. Comparison of Network and Distributed Operating Systems (cont'd.) Understanding Operating Systems, Sixth Edition

  14. Comparison of Network and Distributed Operating Systems (cont'd.) • The major difference between a NOS and a DO/S is how each views and manages the local and global resources (cont’d). • The DO/S considers system resources to be globally owned and manages them as such. • It accesses resources using global mechanisms rather than local mechanisms, with system control and management based on a single system-wide policy. Understanding Operating Systems, Sixth Edition

  15. Comparison of Network and Distributed Operating Systems (cont'd.) Understanding Operating Systems, Sixth Edition

  16. Comparison of Network and Distributed Operating Systems (cont'd.) • In a typical NOS environment, a user who wants to run a local process at a remote site must: • Log on to the local network; • Instruct the local system to migrate the process or data to the remote site; • Send a request to the remote site to schedule the process on its system. • Thereafter, the remote site views the process as a newly created process within its local OS’s environment and manages it without intervention. Understanding Operating Systems, Sixth Edition

  17. Comparison of Network and Distributed Operating Systems (cont'd.) • If the process needs to be synchronized with processes at remote sites, the process needs to have embedded calls to initiate action by the NOS. • These calls are typically added on top of the local OS to provide the communications link between the two processes on the different devices. • This complicates the task of synchronization, which is the responsibility of the user and is only partially supported by the OS. Understanding Operating Systems, Sixth Edition

  18. Comparison of Network and Distributed Operating Systems (cont'd.) • A system managed by a DO/S handles the same example differently. • If one site has a process that requires resources at another site, then the task is presented to the DO/S as just another process. • The user acquires no additional responsibility. • The DO/S examines the process control block to determine the specific requirements for this process. • Using its process scheduler, the DO/S determines how to best execute the process based on the site’s current knowledge of the state of the total system. Understanding Operating Systems, Sixth Edition

  19. Comparison of Network and Distributed Operating Systems (cont'd.) • The process scheduler then takes this process, along with all other processes ready to run on the network, and calculates their order of execution on each node while optimizing global run time and maintaining process priorities. • The emphasis is on maintaining the OS’s global functionality, policies, and goals. • To globally manage the network’s entire suite of resources, a DO/S is typically constructed with a replicated kernel OS. • A low-level, hardware-control software (firmware) with system-level software for resource management. Understanding Operating Systems, Sixth Edition

  20. Comparison of Network and Distributed Operating Systems (cont'd.) • This software may be unique or duplicated throughout the system. • Its purpose is to allocate and manage the system’s resources so that global system policies, not local policies, are maximized. • The DO/S also has a layer that hides the network and its intricacies from users so that they can use the network as a single logical system and not as a collection of independent cooperating entities. Understanding Operating Systems, Sixth Edition

  21. DO/S Development • Because a DO/S manages the entire group of resources within the network in a global fashion, resources are allocated based on negotiation and compromise among equally important peer sites in the distributed system. • One advantage of this type of system is its ability to support file copying, e-mail, and remote printing without requiring the user to install special server software on local machines. Understanding Operating Systems, Sixth Edition

  22. Memory Management • For each node, the Memory Manager uses a kernel with a paging algorithm to track the amount of memory that’s available. • The algorithm is based on the goals of the local system but the policies and mechanisms that are used at the local sites are driven by the requirements of the global system. • To accommodate both local and global needs, memory allocation and deallocation depend on scheduling and resource-sharingschemes that optimize the resources of the entire network. Understanding Operating Systems, Sixth Edition

  23. Memory Management (cont'd.) • The Memory Manager for a network works the same way as it does for a stand-alone OS, but it’s extended to accept requests for memory from both local andglobal sources. • On a local level, the Memory Manager allocates pages based on the local policy. • On a global level, it receives requests from the Process Manager to provide memory to new or expanding client or server processes. Understanding Operating Systems, Sixth Edition

  24. Memory Management (cont'd.) • The Memory Manager uses local resources to: • Perform garbage collection in memory; • Perform compaction; • To decide which are the most least active processes; • To determine which processes to preempt to provide space for others. • To control the demand, the Memory Manager handles requests from the Process Manager to allocate and deallocate space based on the network’s usage patterns. Understanding Operating Systems, Sixth Edition

  25. Memory Management (cont'd.) • In a distributed environment, the combined memory for the entire network is made up of several subpools. • One for each processor • The Memory Manager has a subcomponent that exists for each processor. • When an application tries to access a page that’s not in memory, a page fault occurs and the Memory Manager automatically brings that page into memory. Understanding Operating Systems, Sixth Edition

  26. Memory Management (cont'd.) • If the page is changed while in memory, the Memory Manager writes the changed page back to the file when it’s time to swap the page out of memory. • Before allocating space, the Memory Manager examines the total free memory table. • If the request can be filled, the memory is allocated and the table is modified to show the location of the allocated space. • The Memory Manager also manages virtual memory. Understanding Operating Systems, Sixth Edition

  27. Memory Management (cont'd.) • Specifically, it: • Allocates and deallocates virtual memory; • Reads and writes to virtual memory; • Swaps virtual pages to disk; • Gets information about virtual pages; • Locks virtual pages in memory; • Protects pages that need to be protected. • Pages are protected using hardware or low-level memory management software in each site’s kernel. • This protection is summoned as pages are loaded into memory (Table 10.2). Understanding Operating Systems, Sixth Edition

  28. Memory Management (cont'd.) Understanding Operating Systems, Sixth Edition

  29. Process Management • The Processor Manager provides the policies and mechanisms to: • Create,delete, abort, name, rename, find, schedule, block, run, and synchronize processes; • Provides real-time priority execution if required. • The Processor Manager manages the states of execution: • READY, RUNNING, and WAIT. • To do this, each CPU in the network is required to have its ownrun-time kernel that manages the hardware • The lowest-level operation on the physical device (Figure 10.3). Understanding Operating Systems, Sixth Edition

  30. Process Management (cont'd.) Understanding Operating Systems, Sixth Edition

  31. Process Management (cont'd.) • Kernel • Actually controls and operates the CPU and manages the queues used for states of execution. • Each kernel assumes the role of helping the system reach its operational goals. • The kernel’s states are dependent on the global system’s process scheduler and dispatcher, which organize the queues within the local CPU and choose the running policy that’s used to execute the processes on those queues. Understanding Operating Systems, Sixth Edition

  32. Process Management (cont'd.) • Kernel • The system’s scheduling function has three parts: • Decision mode • Priority function • Arbitration rule Understanding Operating Systems, Sixth Edition

  33. Process Management (cont'd.) • Decision mode • Determines which policies are used when scheduling a resource • Options could be: • Preemptive; • Nonpreemptive; • Round robin. • Priority function • Gives the scheduling algorithm the policy that’s used to assign an order to process in the execution cycle. Understanding Operating Systems, Sixth Edition

  34. Process Management (cont'd.) • Priority function • This priority is often determined using a calculation that’s based on system characteristics such as: • Occurrence of events; • Task recurrence; • System loading levels; • Program run characteristics. • Examples of these run-time characteristics are: • Most time remaining (MTR); • Least time remaining (LTR). Understanding Operating Systems, Sixth Edition

  35. Process Management (cont'd.) • Arbitration rule • The arbitration rule is a policy that’s used to resolve conflicts between jobs of equalpriority. • It typically dictates the order in which jobs of the same priority are to be executed. • Last-in first-out (LIFO); • First-in first out (FIFO). Understanding Operating Systems, Sixth Edition

  36. Process Management (cont'd.) • Most advances in job scheduling rely on one of three theories: • Queuing theory; • Statistical decision theory; • Estimation theory. • A scheduler based on process priorities and duration. • It Maximizes the system’sthroughput by using durations to compute and schedule the optimal way to interleaveprocess chunks. • Distributed scheduling is better achieved when migration of the scheduling function and policies considers all aspects of the system, including I/O, devices, processes, and communications. Understanding Operating Systems, Sixth Edition

  37. Process Management (cont'd.) • Processes are created, located, synchronized, and deleted using specific procedures. • To create a process: • The Process Manager (which is part of the Processor Manager) starts by creating a process control block (PCB) • Contains PCB information (Chapter 4) but with additionalinformation identifying the processes’s location in the network. • To locate a process: • The Process Manager uses a system directory or process that searches all kernel queue spaces. • Requires system support for interprocess communication. Understanding Operating Systems, Sixth Edition

  38. Process Management (cont'd.) • To synchronize processes: • The Process Manager uses message passing or remote procedure calls. • To delete or terminate a process: • The Process Manager finds the PCB, accesses it, and deletes it. Understanding Operating Systems, Sixth Edition

  39. Process Management (cont'd.) • There are two ways to design a DO/S: • The first is a Process-Based DO/S. • Network resources are managed as a large heterogeneous collection. • The second and more recent is an Object-Based DO/S. • Clumps each type of hardware with its necessary operational software into discrete objects that are manipulated as a unit. Understanding Operating Systems, Sixth Edition

  40. Process Management (cont'd.) • Process-Based DO/S • Provides for process management through the use of client/server processes; • Synchronized and linked together through messages and ports (channels or pipes). • The major emphasis is on processes and messages and how they providing the basic features essential to process management, such as: • Process creation; • Scheduling; • Pausing; • Communication; • Identification. Understanding Operating Systems, Sixth Edition

  41. Process Management (cont'd.) • Process-Based DO/S • The issue of how to provide these features can be addressed in several ways: • The processes can be managed: • From a single copy of the OS; • From multiple cooperating peers; • From some combination of the two. • OSs for distributed computers are typically configured as a kernel on each site. • All other services that are dependent on particular devices are typically found on the sites where the devices are located. Understanding Operating Systems, Sixth Edition

  42. Process Management (cont'd.) • Process-Based DO/S • As users enter the system, they’re given a unique process identifier and then assigned to a site for processing by the scheduling manager. • In a distributed system, there is a high level of cooperation and sharing of actions and data maintained by the sites when determining which process should be loaded and where it should run. • This is done by exchanging messages between site OSs. • Once a process is scheduled for service, it must be initiated at the assigned site by a dispatcher. Understanding Operating Systems, Sixth Edition

  43. Process Management (cont'd.) • Process-Based DO/S • The dispatcher: • Takes directions from the OS’s scheduler; • Allocates the device to the process; • Initiates its execution. • This procedure may necessitate: • Moving a process from memory in one site to memory at another site; • Reorganizing a site’s memory allocation; • Reorganizing a site’s READY, RUNNING, and WAIT queues; • Initiating the scheduled process. Understanding Operating Systems, Sixth Edition

  44. Process Management (cont'd.) • Process-Based DO/S • The Processor Manager only recognizes processes and their demands for service. • It responds to them based on the established scheduling policy, which determines what must be done to manage the processes. • Policies for scheduling must consider issues such as: • Load balancing; • Overhead minimization; • Memory loading minimization; • First-come first-served and least-time remaining. Understanding Operating Systems, Sixth Edition

  45. Process Management (cont'd.) • Process-Based DO/S • Synchronization is a key issue in network process management. • Processes can coordinate their activities by passing messages to each other. • Process can pass synchronization parameters from one port to another using primitives. • Well-defined low-level, OS mechanisms such as send and receive,” to carry out the proper logistics to synchronize actions within a process. • When a process reaches a point at which it needs service from an external source, such as an I/O request, it send a message searching for the service. Understanding Operating Systems, Sixth Edition

  46. Process Management (cont'd.) • Process-Based DO/S • While it waits for a response, the processor server puts the process in a WAIT state. • Interrupts, which cause a processor to be assigned to another process, also are represented as messages that are sent to the proper process for service. • An interrupt may cause the active process to be blocked and moved into a WAIT state. • When the cause for the interruption ends, the processor server unblocks the interrupted process and restores it to a READY state. Understanding Operating Systems, Sixth Edition

  47. Process Management (cont'd.) • Object-Based DO/S • Has a different way of looking at the computer system. • Instead of viewing the system as a collection of individual resources and processes, the system is viewed as a collection of objects. • An object can represent: • Hardware (CPUs, memory); • Software (files, programs, semiphores, and data): • A combination of the above two (printers, scanners, tape drives, and disks --- each bundled with the software required to operate it). • Each object in the system has a unique identifier to differentiate it from all other objects in the system. Understanding Operating Systems, Sixth Edition

  48. Process Management (cont'd.) • Object-Based DO/S • Objects are viewed as abstract entities. • Data types that can: • Go through a change of state; • Act according to set patterns; • Be manipulated; • Exist in relation to other objects in a manner appropriate to the object’s semantics in the system. • Objects have a set of unchanging properties that defines them and their behavior within the context of their defined parameters. Understanding Operating Systems, Sixth Edition

  49. Process Management (cont'd.) • Object-Based DO/S • A writable CD drive has unchanging properties that include the following: • Data can be written to a disk; • Data can be read from a disk; • Writing can’t take place concurrently; • The data’s beginning and ending points can’t be compromised. • If we use these simple rules to construct a simulation of a CD-R drive, we have created an accurate representation of this object. Understanding Operating Systems, Sixth Edition

  50. Process Management (cont'd.) • Object-Based DO/S • To determine and object’s state, one must perform an appropriate operation on it. • Reading and writing to a hard disk. • The object is identified by the set of operations one can send it. • The combination of the operations with their internally defined data structures and computations represents an object’s instantiation. • Systems using this concept have a large number of objects but a small number of operations on the objects. Understanding Operating Systems, Sixth Edition

More Related