Overview Introduction Operating System Components Machine Hardware Types

  • Slides: 13
Download presentation
Overview • Introduction • Operating System Components • Machine Hardware • Types of Operating

Overview • Introduction • Operating System Components • Machine Hardware • Types of Operating Systems • Brief History of Operating Systems Development • Conclusion Understanding Operating Systems Software Components Developed Hardware Components Developed Operating Systems Developed 1

Brief History of Operating Systems Development Second Generation Job scheduling, JCL, faster I/O, spooling,

Brief History of Operating Systems Development Second Generation Job scheduling, JCL, faster I/O, spooling, batch, files Recent Developments Distributed computing, personal computers, highspeed communication, multi-media 1940 1955 1965 1980 1990 First Generation Third Generation Vacuum tube, single user, early operating systems Shared processing, multiprogramming, virtual memory, DBMS Understanding Operating Systems 2

Operating Systems in Practice MS-DOS Operating System Windows 2000 UNIX/Linux Operating System Open. VMS

Operating Systems in Practice MS-DOS Operating System Windows 2000 UNIX/Linux Operating System Open. VMS Alpha Operating System IBM OS/390 Operating System Understanding Operating Systems 3

What is an OS? Ø Users Application programs Operating System Computer Hardware Understanding Operating

What is an OS? Ø Users Application programs Operating System Computer Hardware Understanding Operating Systems 4

What is an OS? Ø Clients or users (e. g. , people or machines)

What is an OS? Ø Clients or users (e. g. , people or machines) trying to use the resources to solve problems Ø Application programs (e. g. , text editors, compilers, video games, databases, business software) which define how the resources can be used to solve computing problems Ø An operating system (OS) (a computer program) which acts as an intermediary between the users and the hardware. The purpose of the OS is to provide an environment for a user to execute programs conveniently and efficiently Ø A computer hardware (consisting of CPU, Memory, I/O devices) which provides the basic computing resources. Understanding Operating Systems 5

Components of an Operating System Operating system – part of the computing system that

Components of an Operating System Operating system – part of the computing system that manages all of the hardware and all of the software – Controls every file, device, section of main memory & every nanosecond of processing time Operating system consists of Understanding Operating Systems • • Memory manager Processor manager Device manager File manager 6

What is an OS: A Pictorial View Understanding Operating Systems 7

What is an OS: A Pictorial View Understanding Operating Systems 7

Subsystems Must Work With Each Other 8

Subsystems Must Work With Each Other 8

Tasks Performed by Each Subsystem 1. Monitor its resources continuously 2. Enforce the policies

Tasks Performed by Each Subsystem 1. Monitor its resources continuously 2. Enforce the policies that determine who gets what, when and how much 3. Allocate the resource when appropriate 4. Deallocate the resource (reclaim it) when appropriate Understanding Operating Systems 9

Machine Hardware • Memory chips • Input/output devices (monitor, keyboard, printer) • Storage devices

Machine Hardware • Memory chips • Input/output devices (monitor, keyboard, printer) • Storage devices (disks, magnetic tape, card readers, drums) • Central Processing Unit (Arithmetic Logic Unit, registers, internal control, bus control) Understanding Operating Systems 10

Types of Operating Systems • • • Batch (simple and multi-programmed) Interactive (time-sharing) Real-time

Types of Operating Systems • • • Batch (simple and multi-programmed) Interactive (time-sharing) Real-time systems Hybrid systems (combination of batch and interactive) Parallel (tightly coupled) Distributed (loosely coupled) • Batch OS computer OS of the late 1950 s did not allow human interaction with a job while the job was being processed • processing in these older OS where only one job could be processed at a time is called batch processing with time, demand arose for interactive processing where a computer could respond to users while in a processing state since there is no interaction in batch systems, programs must be debug statically • Understanding Operating Systems 11

Types of OS Ø Single-User, Single Task: Designed to manage the computer so that

Types of OS Ø Single-User, Single Task: Designed to manage the computer so that one user can effectively do one thing at a time. An example of a single-user, single task operating system is DOS, which allowed only one user to run a single program at one time. Ø Single-User, Multi-Tasking: This is the type of operating system that most people use on their desktop and laptop computers today. Windows 98 and the Mac OS are examples of operating systems that allow a single user to have several programs in operation at the same time. For example, a Windows user can be writing an email message while downloading a file from the Internet, while printing a term paper from a word processor. Ø Multi-User: Allows many different users to take advantage of the computers resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that the programs they are using have sufficient and separate resources so that a problem with one user doesn't affect the entire community of users. Linux (free version of UNIX) is Understanding Operating Systems an example of a multi-users operating system 12

Multi-User OS & Scheduling Ø A multi-user OS consists of two main software components

Multi-User OS & Scheduling Ø A multi-user OS consists of two main software components called the scheduler and the dispatcher Ø The scheduler arranges the order in which commands are executed on the computer. The dispatcher gives control of the CPU to a job already scheduled by the scheduler Ø Scheduling is the process of selecting a program from the ready queue that will take control of the CPU Ø In other words, a scheduling algorithm determines access to the CPU Ø Clearly, there are many possible job scheduling arrangements e. g. , Allowing every job to execute to completion before the next job starts. Is there a potential problem with this scheme? Ø A preemptive algorithm allows a job to be stopped after executing for some time or because a higher priority job has arrived. A Nonpreemptive algorithm does not allow such stoppage. Ø Example Algorithms: FIFO, priority (e. g. , shortest-job-first (SJF)) Understanding Operating Systems 13