1 / 22

Chapter 6 OPERATING SYSTEMS OVERVIEW

Chapter 6 OPERATING SYSTEMS OVERVIEW. WHAT IS AN OPERATING SYSTEM? An interface between users and machine( hardware,software ) - an environment "architecture” Allows convenient usage; hides the tedious stuff Allows efficient usage; parallel activity, avoids wasted cycles

mort
Download Presentation

Chapter 6 OPERATING SYSTEMS OVERVIEW

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. Chapter 6 OPERATING SYSTEMS OVERVIEW Chapter 6-- Operating Systems Overview

  2. WHAT IS AN OPERATING SYSTEM? • An interface between users and machine(hardware,software) - an environment "architecture” • Allows convenient usage; hides the tedious stuff • Allows efficient usage; parallel activity, avoids wasted cycles • Provides information protection • Gives each user a slice of the resources • Acts as a control program. Chapter 6-- Operating Systems Overview

  3. OPERATING SYSTEM OVERVIEW The Layers Of A System Humans Program Interface User Programs O.S. Interface O.S. Hardware Interface/ Privileged Instructions Disk/Tape/Memory Chapter 6-- Operating Systems Overview

  4. Characteristics Other Characteristics include: • Time Sharing - multiprogramming environment that's also interactive. • Multiprocessing - Tightly coupled systems that communicate via shared memory. Used for scientific applications. Used for speed improvement by putting together a number of off-the-shelf processors. • Distributed Systems - Loosely coupled systems that communicate via message passing. Advantages include resource sharing, speed up, reliability, communication. • Real Time Systems - Rapid response time is main characteristic. Used in control of applications where rapid response to a stimulus is essential. Chapter 6-- Operating Systems Overview

  5. Characteristicscontd…. • Interrupts: • Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines. • Interrupt architecture must save the address of the interrupted instruction. • Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt. • A trap is a software-generated interrupt caused either by an error or a user request. • An operating system is interrupt driven. Chapter 6-- Operating Systems Overview

  6. Storage Hierarchy Very fast storage is very expensive. So the Operating System manages a hierarchy of storage devices in order to make the best use of resources. In fact, considerable effort goes into this support. Fast and Expensive Slow an Cheap Chapter 6-- Operating Systems Overview

  7. Protection The goal is protecting the Operating System and others from malicious or ignorant users. The User/Supervisor Mode and privileged instructions. Concurrent threads might interfere with others. This leads to protection of resources by user/supervisor mode. These resources include: I/ODefine I/O instructions as privileged; they can be executed only in Supervisor mode. System calls get us from user to supervisor mode. Chapter 6-- Operating Systems Overview

  8. Protection Memory A user program can only access its own logical memory. For instance, it can't modify supervisor code. Depends on an address translation scheme such as that shown here. Chapter 6-- Operating Systems Overview

  9. Protection CPU A clock prevents programs from using all the CPU time. This clock causes an interrupt that causes the operating system to gain control from a user program. • For machines connected together, this protection must extend across: • Shared resources, • Multiprocessor Architectures, • Clustered Systems • The practice of this is called “distributed operating systems”. Chapter 6-- Operating Systems Overview

  10. Resource Management Resource Management in DS is concerned with making both local and remote resources available to the user. Resource Management is roughly divided into three areas: The program, i.e., the location of the computation, must be able to access data. These data is generally thought of as being contained in a file that is referenced (open, read, write, modify, etc) by the program. Hence, one of the issues in data migration is the design of a file system that hides the location of the data with respect to the location of the program.  Network Transparency • Data Migration • 2. Computation Migration • 3. Distributed Scheduling Chapter 6-- Operating Systems Overview

  11. Resource Management cont’d Another issue in Data Migration is shared memory access among multiple computers. Distribute Shared Memory (SHMEM) must guarantee that the consistency of data is maintained. Think about how SHMEM could be implemented !! • How should can we achieve network transparency? • How can we manage memory across all computers? 2. Computation Migration: Here, the computation “moves” to another location, where the data may be available. Paradigms for computation migration include: 1. Remote Procedure Calls (RPC) 2. Mobile Agents (MA) 3. Process Migration Chapter 6-- Operating Systems Overview

  12. Resource Management cont’d The fact that jobs (or processes) may be transferred to remote machines requires a distributed scheduling strategy. Distributed Scheduling must assure that the resources of the entire systems are utilized optimally and must assure that specific job requirements are being met. This is of even greater importance in GRID computing environments where resources are generally owned and operated by different organizations. Issues related to distributed scheduling include: • Load Balancing • Resource Utilization • Quality of Service (for Jobs) • Cost / Performance Tradeoff • Security (maybe) Chapter 6-- Operating Systems Overview

  13. Networks and Communication Any DS is build on top of some type of Communication Infrastructure. Remote hosts are connected to sub-networks via switches. Subnets connect to other subnets or a backbone via routers. We can distinguish different types of networks / network classes: • Wide Area Networks • Local Area Networks • Metropolitan Area Networks • Wireless (not really a nw-class) • Ad-Hoc ( not really a nw-class) Chapter 6-- Operating Systems Overview

  14. Main Network Types • Local Area Networks (LANs) • Processors distributed over small geographical areas, e.g. single building, or neighboring buildings • Replacement of large mainframe computer systems • High speed, reliability and quality (usually more expensive high quality cables are used) • Wide Area Networks (WANs) • Autonomous processors distributed over large geographical area, e.g. the U.S. • Originally as an academic project to provide communication between sites. • First WAN: Arpanet • Examples: Internet, inter-connection of company sites • Subject to slower unreliable channels Chapter 6-- Operating Systems Overview

  15. DS and Networks A DS may span as little as a small LAN or as much as multiple WANs. Different Topologies may determine the structure of algorithms used to facilitate a DS. • Ring Topology • Star Topology • Tree Topology • Bus Topology • Switched subnets The concept of topology may be extended beyond the physical layer into the logical structure of the DS. This structure may be exploited in formulating more efficient communication sequences. In this course, we will mostly disregard the specific structure of the network and make some simplifying assumption on reliability of the underlying communication. Chapter 6-- Operating Systems Overview

  16. Communication • Naming and Name Resolution • <host name, identifier> • Host name must be unique within network. • Domain Name System (DNS) • Name-to-address resolution • Hierarchical system of name servers • Before: all hosts needed to know all addresses Routing • Fixed routing: fixed communication path • Virtual routing: fixed for session • Dynamic routing: use of packets; can take link load into account Quality of Service (QoS) • Loss • Latency Chapter 6-- Operating Systems Overview

  17. Communicationcontd Contention Collisions may occur on network CSMA/CD Carrier Sense with Multiple Access: check if link is free Collision Detection: stop transmitting, wait for random time interval Token passing Usually in ring structure Node with token may transmit Message slots Fixed length message slots are passed (often in ring) • Packet Strategies • Fixed length messages: packets, frames, datagrams • Connectionless unreliable service vs reliable service • Connection Strategies • Circuit switching: permanent physical link for session • Message switching: temporary link for message • Packet switching Chapter 6-- Operating Systems Overview

  18. Communication Protocols International Standards Organization (OSI) layers • Physical layer: mechanical and electrical details • Data-link layer: handle frames, error detection and recovery • Network layer: provide connections, routing • Transport layer: Transfer messages between clients, packet order, etc. • Session layer: Process-to process communication • Presentation layer: Formats, character conversion, etc • Modes of communication • Asynchronous • Large overhead • Synchronous • Set-up phase • Negotiate communication parameters • Connectionless User Datagram Protocrol (UDP) • Connection-oriented Transmission Control Protocol/Internet Protocol (TCP/IP) Chapter 6-- Operating Systems Overview

  19. application transport network data link physical application transport network data link physical application transport network data link physical Communication Primitives Unless the network architecture provides functions to access the lower layers of the protocol stack, communication primitives are used at the application layer. Most DS algorithms and protocols assume only 2 primitives: • SEND message • RECEIVE message We need to distinguish, however, two modes of primitives: • Synchronous • Asynchronous Chapter 6-- Operating Systems Overview

  20. Communication Primitives RPC One frequently used communication vehicle in DS is the Remote Procedure Call RPC provides access to functionality that is available on remote hosts. In the program, the RPC is “identical” to a local procedure call. The fact that the procedure is actually executed remotely is hidden. In synchronous communication, a SEND is blocked until a corresponding RECEIVE is executed on the remote machine (or process). With asynchronous communication, a SEND operation is buffered and the process is not blocked to wait for a corresponding receive. Chapter 6-- Operating Systems Overview

  21. Robustness Reconfiguration Assume failure has been discovered Link failure: broadcast information Assumed site failure, notify every site in DS Possibly elect new coordinator site What if site did not really fail? Recovery • Notify that link is back up • Notify that site back up • Failure Detection • Hard to distinguish type of failure in DS • Link failure • Site failure • Message loss • Handshaking procedure sending “I-am-up” and “Are-you-up?” messages • Combine with time-out scheme Chapter 6-- Operating Systems Overview

  22. References • www.web.cs.wpi.edu/~jb/CS502/lectures (for operating system) • www.cse.unt.edu/~mikler/Courses/OS/Slides (for Resource management) Chapter 6-- Operating Systems Overview

More Related