510 likes | 551 Views
Operating System Concepts. Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University. Chapter 1 Introduction. An Operating System (OS) A program that manages the computer hardware
E N D
Operating System Concepts Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University
Chapter 1 Introduction • An Operating System (OS) • A program that manages the computer hardware • Provides a basis for application programs • Acts as an intermediary between a user of a computer and the computer hardware • Some operating systems are designed to be • Convenient • Efficient • Some combination of the above Chapter 1 Introduction
Chapter 1 Introduction • To understand how they have developed • Trace the development of operating systems • Operating system variations • Parallel systems • Real-time systems • Embedded systems Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
1.1 What Is an Operating System? • A computer system can be divided into: • The hardware • The operating system • The application programs • The users Chapter 1 Introduction
Abstract view of the componentsof a computer system Chapter 1 Introduction
Computer System Components 1. Hardware– provides basic computing resources (CPU, memory, I/O devices). 2. Operating system– controls and coordinates the use of the hardware among the various application programs for the various users. 3. Applications programs– define the ways in which the system resources are used to solve the computing problems of the users (compilers, database systems, video games, business programs). 4. Users (people, machines, other computers). Chapter 1 Introduction
Two Viewpoints1.1.1 User View • PC • Monopolize its resources • Maximize the work • Designed for ease of use - convenient • Mainframe or minicomputer • Terminal • Share resources and may exchange information • Maximize resource utilization – efficient • Workstation • Compromise between individual usability and resource utilization • Embedded computer • Little or no user view Chapter 1 Introduction
Two Viewpoints1.1.2 System View • Resource allocator • manages and allocates resources. • Control program • controls the execution of user programs and operations of I/O devices . • Kernel • the one program running at all times (all else being application programs) Chapter 1 Introduction
1.1.3 System Goals • Tradeoffs • Convenience • Efficiency • Operating systems have also evolved over time. • Graphical User Interfaces (GUIs) Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
1.2 Mainframe Systems • First computers used to tackle many commercial and scientific applications • Batch systems • Multiprogrammed Systems • Time-Sharing Systems Chapter 1 Introduction
Early computer Physically enormous machine run from a console Input devices Card readers Tape drives User prepared a job and submitted it to the computer operator At some time later, the output appeared. Output devices Line Printer Tape drives Card punches 1.2.1 Batch Systems Chapter 1 Introduction
1.2.1 Batch Systems • First rudimentary operating system • Always resident in memory • To speed up processing • Batch similar jobs • Automatic job sequencing – transfers control from one job to another • Introduction of disk technology • Keep all jobs on disk • Job scheduling Chapter 1 Introduction
Memory Layoutfor a Simple Batch System Chapter 1 Introduction
1.2.2 Multiprogrammed Systems • Increase CPU utilization • Keep several jobs in memory simultaneously • CPU is multiplexed among them. Chapter 1 Introduction
Memory Layoutfor a Multiprogramming System Chapter 1 Introduction
1.2.2 Multiprogrammed Systems • Job scheduling • All the jobs enter the system are kept in the job pool • Processes residing on disk awaiting for allocation of main memory • If there is not enough room for all the jobs, the system must choose among them. • CPU scheduling • If several jobs are ready to run at the same time, the system must choose among them. Chapter 1 Introduction
1.2.3 Time-Sharing Systems • Multiprogrammed, batch systems • Utilize system resources effectively • CPU, memory, peripheral devices • Do not provide user interaction with computer system. • Time-sharing (Multitasking) system • A logical extension of multiprogramming • Switch CPU among multiple jobs frequently • The user can interact with each program while it is running. Chapter 1 Introduction
1.2.3 Time-Sharing Systems • Response time • The amount of time it takes to start responding(not output that response) • An interactive (hands-on) computer system • Direct communication • The response time should be short – typically with 1 second or so. Chapter 1 Introduction
1.2.3 Time-Sharing Systems • A time-sharing system • Allow many users to share the computer simultaneously • Switch rapidly from one user to the next • Give each user the impression that the entire computer system is dedicated to his/her use Chapter 1 Introduction
1.2.3 Time-Sharing Systems • Multiprogramming and time sharing systems are the central themes of modern operating systems • Process and Thread concepts • Virtual / Physical memory • File system Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
1.3 Desktop Systems • Personal computers (PCs) • Computer system dedicated to a single user. • Appear in the 1970s • Maximizing user convenience and responsiveness • Instead of maximizing CPU and peripheral utilization • May run several different types of operating systems (Windows, MacOS, UNIX, Linux) Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
More than one CPU in close communication Also known as parallel systems or tightly coupled systems Processors share Computer bus Clock Main Advantages Increased throughput Economy of scale Increased reliability graceful degradation fault tolerant Memory Peripheral devices 1.4 Multiprocessor Systems Chapter 1 Introduction
1.4 Multiprocessor Systems • Symmetric multiprocessing (SMP) • Each processor runs an identical copy of the operating system. • Many processes can run simultaneously without performance deterioration. • Most modern operating systems support SMP. • Asymmetric multiprocessing • Each processor is assigned a specific task; master processor schedules and allocated work to slave processors. • More common in extremely large systems Chapter 1 Introduction
Symmetric Multiprocessing Architecture Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
1.5 Distributed Systems • Depends on network functionality • TCP/IP is the most common network protocol • Local-area network (LAN) • Within a room, a floor, or a building • Wide-area network (WAN) • Between buildings, cities, or countries • Metropolitan-area network (MAN) • Buildings within a city • Small-area network (SAN) • Short distance of several feet : BlueTooth Chapter 1 Introduction
1.5.1 Client-Server Systems • Centralized systems • Terminals • Supplanted by PCs • Server systems • Satisfy requests generated by client systems • Two categories (broadly) • Compute-server systems • File-server systems Chapter 1 Introduction
General Structure ofa Client-Server System Chapter 1 Introduction
1.5.2 Peer-to-Peer Systems • Distribute the computation among several physical processors. • Loosely coupled system • each processor has its own local memory • processors communicate with one another through various communications lines, such as high-speed buses or telephone lines. • Network operating system • Provide features such as file sharing across the network Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
1.6 Clustered Systems • Gather multiple CPUs to accomplish computational work • Provide high availability • General accepted definition • Clustered computers share storage and are closely linked via LAN networking Chapter 1 Introduction
1.6 Clustered Systems • Asymmetric clustering • one server runs the application while other servers standby. • Symmetric clustering • all N hosts are running the application. Chapter 1 Introduction
1.6 Clustered Systems • Parallel clusters • Multiple hosts to access the same data on the shared storage • Most OSs lack such support • Clustering over a WAN • Global clusters – the machines could be anywhere in the world • Cluster technology is rapidly changing. • Storage-Area-Networks (SANs) Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
1.7 Real-Time Systems • Well-defined, fixed time constraints • Processing must be done within the defined constraints, or the system will fail. • Often used as a control device in a dedicated application • Weapon systems • Medical imaging systems • Industrial control systems Chapter 1 Introduction
Two Flavors • Hard real-time system • Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) • Conflicts with time-sharing systems, not supported by general-purpose operating systems • Soft real-time system • Limited utility in industrial control of robotics • Useful in applications (multimedia, virtual reality) requiring advanced operating-system features Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
1.8 Handheld Systems • Personal Digital Assistants (PDAs) • Palm • Cellular telephones • Limited size • Small amount of memory • Slow processor • Small display screens Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
Migration of OS Concepts and Features Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
1.10 Computing Environments • Traditional computing • Web-based computing • Embedded computing Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
Summary • P.23 – P.24 Chapter 1 Introduction
What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real-Time Systems Handheld Systems Feature Migration Computing Environments Summary Exercises Chapter 1 Introduction Chapter 1 Introduction
Exercises • 1.3 • 1.4 • 1.5 • 1.9 • 1.10 Chapter 1 Introduction