Subject Details Subject Name: Operating System Concepts Subject Number: 0612331 Lecturer Associate Professor Dr. Bassam Alqaralleh
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Computer System Components A computer system can be divided roughly into four components: Ø Hardware: provides basic computing resources (CPU, memory, I/O devices) Ø Operating system: controls and coordinates the use of the hardware among the various application programs for the various users. Ø 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). Ø Users: people, machines, other computers.
Abstract View of System Components Operating System Concepts
Introduction What is an Operating system? • A program that acts as an intermediary between a user of a computer and the computer hardware. • Operating system goals: – Execute user programs. – Make the computer system convenient to use. – Use the computer hardware in an efficient manner.
What Operating Systems Do? Depends on the point of view Users want convenience, ease of use and good performance Don’t care about resource utilization But shared computer such as mainframe or minicomputer must keep all users happy • Users of dedicate systems such as workstations have dedicated resources but frequently use shared resources from servers • Handheld computers are resource poor, optimized for usability and battery life • Some computers have little or no user interface, such as embedded computers in devices and automobiles • •
Operating System Definitions • OS can be viewed as: - A resource allocator which acts as a manager of computer resources (hardware and software) and allocates them to specific programs and users as necessary for tasks. - A control program which controls the execution of user programs and operations of I/O devices to prevent errors and improper use of the computer.
Operating Systems Definition (Cont. ) • “The one program running at all times on the computer” is the kernel. • Everything else is either Ø a system program (ships with the operating system) , or Ø an application program.
Mainframe Systems q Multi-programmed Systems q Time-Sharing Systems
Memory Layout for a Simple System Operating System Concepts
Multiprogrammed Systems Several jobs are kept in main memory at the same time, and the CPU is multiplexed among them. Operating System Concepts
Multi-programmed Systems • Increase the CPU utilization by organizing jobs such that the CPU has always one to execute. • Provide an environment where the various system resources (e. g. CPU, memory. Peripheral devices) are utilized effectively. • The operating system keeps several jobs in memory at a time. This set of jobs is a subset of jobs kept in the job pool.
OS Features Needed for Multiprogramming • I/O routine supplied by the system. • Memory management – the system must allocate the memory to several jobs. • CPU scheduling – the system must choose among several jobs ready to run. • Allocation of devices. Operating System Concepts
Time-Sharing Systems – Interactive Computing • Time sharing, or multitasking is alogical extension of multiprogramming. In order to obtain reasonable response time, several jobs must be kept simultaneously in memory. • The CPU is multiplexed among several jobs that are kept in memory and on disk (the CPU is allocated to a job only if the job is in memory). • Process is a program loaded into memory and is executing. • A job swapped in and out of memory to the disk. Operating System Concepts
Time-Sharing Systems • A time-shared operating system allows the many users to share the computer simultaneously. • It uses CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared computer. • Each user has at least one separate program (process) in memory. • More complex than are multiprogrammed OS.
Computer System Architecture • Personal computers – computer system dedicated to a single user. • I/O devices – keyboards, mice, display screens, small printers. • User convenience and responsiveness. • The goal of these systems is maximizing user convenience and responsiveness, instead of maximizing CPU and peripheral utilization. • May run several different types of operating systems (Windows, Mac. OS, UNIX, Linux) Operating System Concepts
Computer System Architecture (Cont. ) Multiprocessor Systems • • • Multiprocessors systems growing in use and importance Multiprocessor systems with more than one CPU in close communication. Also known as parallel systems, tightly-coupled where processors share memory and a clock; communication usually takes place through the shared memory. • Advantages include: Ø Increased throughput Ø Economy of scale Ø Increased reliability – graceful degradation or fault tolerance (Graceful degradation is the ability to continue providing service proportional to the level of surviving hardware) • Two types: q Asymmetric Multiprocessing – each processor is assigned a specie task. q Symmetric Multiprocessing – each processor performs all tasks Operating System Concepts
Multiprocessor Systems (Cont. ) • Symmetric multiprocessing (SMP) – Each processor runs an identical copy of the operating system, and these copies communicate with one another as needed. – Many processes can run at once without performance deterioration. – Most modern operating systems support SMP • Asymmetric multiprocessing – Master-slave relationship – Each processor is assigned a specific task; master processor schedules and allocates work to slave processors. – More common in extremely large systems Operating System Concepts
Symmetric Multiprocesser Architecture (Multi-Core Design)
Asymmetric Multiprocessing Architecture (Multi-Core Design)
Distributed Systems • Distribute the computation among several physical processors. • Loosely coupled system – each processor has its own local memory and a clock; processors communicate with one another through various communications lines, such as high-speed buses or telephone lines. • Advantages of distributed systems. – Resources Sharing – Computation speed up – load sharing – Reliability – Communications Operating System Concepts
Distributed Systems (cont) • Requires networking infrastructure. • Local area networks (LAN) or Wide area networks (WAN) • May be either client-server or peer-to-peer systems. • The processors in a distributed system may vary in size and function (e. g. Small microprocessors, workstations, minicomputers, and large generalpurpose computer systems). • Processors are referred to by a number of different names, such as sites, nodes, computers, . . . Operating System Concepts
General Structure of Client-Server Operating System Concepts
Clustered Systems • Clustering allows two or more systems to share storage. • Provides high reliability. • Asymmetric clustering: one server runs the application while other servers standby. • Symmetric clustering: all N hosts are running the application. Operating System Concepts
Real-Time Systems • Special purpose operating system. • Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems. • Well-defined fixed-time constraints. • Real-Time systems may be either hard or soft real-time. Operating System Concepts
Real-Time Systems • Hard real-time systems: - Guarantees that critical tasks complete on time. - Secondary storage of any sort is usually limited or missing - Data instead being stored in short-term memory, or in read-only memory (ROM). - Most advanced OS features are absent too (e. g. Virtual memory). - Used in industrial control and robotics. • Soft real-time systems: - critical real-time task gets priority over other tasks, and retains that priority until it completes. - Used in several areas (e. g. Multimedia, virtual reality)
Handheld Systems • Personal Digital Assistants (PDAs) • Cellular telephones • Issues: – Limited memory – Slow processors – Small display screens. Operating System Concepts