Lecture-I 1 CSC 322 Operating Systems Concepts Teacher Ahmed Mumtaz Mustehsan Ahmed Mumtaz Mustehsan, CIIT, Islamabad.

Slides:



Advertisements
Similar presentations
Introduction to Operating Systems
Advertisements

OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc
Introduction CSCI 444/544 Operating Systems Fall 2008.
CS 345 Computer System Overview
Winter 2005 CMPE 151: Network Administration Lecture 2.
Lecture 1: History of Operating System
Tuesday, June 06, 2006 I hear and I forget, I see and I remember, I do and I understand. -Chinese Proverb.
Introduction to Computer Systems and Operating Systems
Wednesday, June 07, 2006 “Unix is user friendly … it’s just picky about it’s friends”. - Anonymous.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Operating Systems.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Chapter 1 Introduction 1.1 What is an operating system
Operating systems CHAPTER 7.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Operating Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S. TANENBAUM ALBERT S. WOODHULL Yan hao (Wilson) Wu University of the Western.
CSC 322 Operating Systems Concepts Lecture - 25: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
Chapter 1 Introduction 1.1 What is an operating system
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
MODERN OPERATING SYSTEMS Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved
LIS508 background of GNU/Linux
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview Part 2: History (continued)
History  Generation 0  Charles Babbage ( )  analytical engine  purely mechanical  Ada Lovelace – first programmer.
OPERATING SYSTEMS UNIT – I R.SOUJANYA IT Dept. UNIT I Computer System and Operating System Overview Chapter 1: IntroductionIntroduction Overview of Computer.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
CY2003 Computer Operating Systems Lecture 01 Introduction Abir Hussain (JPB6.33,
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
1 Operating Systems: Principles and Practice Cpr E 308.
Chapter 1 Introduction to Operating System Part 1
Basic UNIX Concepts. Why We Need an Operating System (OS) OS interacts with hardware and manages programs. A safe environment for programs to run is required.
MODERN OPERATING SYSTEMS Chapter 1 Introduction
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Operating Systems.
Chapter 1 Introduction  What is an operating system  History of operating systems  The operating system zoo  Computer hardware review  Operating system.
操作系统原理 OPERATING SYSTEM Chapter 1 Introduction 概 述.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
OPS224 Operating Systems - Unix Instructor: MURRAY SAUL.
L ECTURE -6 Topics: Introduction to Operating system. Functions of an Operating system. Classification of Operating systems.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
OS HISTORY Module 1.3 Richard Newman University of Florida.
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved OPERATING SYSTEMS DESIGN.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
CHAPTER 1 INTRODUCTION TO OPERATING SYSTEMS
Applied Operating System Concepts
Evolution of Operating Systems
Introduction to Operating System (OS)
History Generation 0 Charles Babbage ( ) Analytical Engine
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Operating System Concepts
Operating System Introduction
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Operating System Concepts
Lecture Topics: 11/1 Hand back midterms
Operating System Introduction
Presentation transcript:

Lecture-I 1 CSC 322 Operating Systems Concepts Teacher Ahmed Mumtaz Mustehsan Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Master Of Computer Sciences ( ) from Quaid-e-Azam university Islamabad. Master Of Computer Sciences ( ) from Quaid-e-Azam university Islamabad. Specialization : Specialization : Satellite Image Processing and GIS, Paris, France 1987:1988 More than 30 years of experience in the field of IT industry and Education, Research and development. More than 30 years of experience in the field of IT industry and Education, Research and development. Served on different reputable posts at middle and top management at National and International organizations. Served on different reputable posts at middle and top management at National and International organizations. Hands on experience in ; System programming, Computer Interfacing, Cryptography using, Assembly, FORTRAN, and C languages. Hands on experience in ; System programming, Computer Interfacing, Cryptography using, Assembly, FORTRAN, and C languages. Contributed in the Development of Projects of National interest. Contributed in the Development of Projects of National interest. Personal Profile Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 3 In this course students will be taught the fundamentals of operating systems. Different models of operating systems will be introduced. References and examples will be quoted and explained from UNIX, WINDOWS and MULTICS Operating environments. More focused on the most modern concept of Operating Systems as a creator of abstraction e.g. abstraction of CPU into multiple processes, abstraction of memory into virtual address space or abstraction of disk into files will be explained. The students will be familiarized with different OS structure models and their components. CSC322- Operating Systems Concepts Course Objective and Outline: Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 4 The functionalities and responsibilities of different modules of operating systems such as Process Management, Memory Management, I/O Management and File management will be explained and discussed in detail. The security and protection mechanism available in Operating systems will be introduced. Few case studies will be undertaken to explain and study the features of UNIX, Windows and Embedded operating systems A detailed outline of Lectures is provided at course portal CSC322- Operating System Concepts Course Objectives and outline: Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 5 Recommended books: Modern Operating System Third edition by, Andrew S. Tanenbaum Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 6 Recommended Books: Operating Systems Design and Implementation, Andrew S. Tanenbaum, Albert S. Woodhull An Introduction to Operating systems, by H. M. Deitel (Including Case studies in UNIX, OS/2, MS-DOS, VM, Open Systems Other Reference: Lecture slides material Official website of our text book Modern Operating Systems by Tanenbaum, 3 e, (c) 2008 Prentice-Hall, Inc. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 7 Delivery: 32 lectures including hands on demonstrations 4 Quizzes 4 Assignment Midterm Examination Terminal Examination Practice: Exercises, Quizzes, Assignments Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 8 CSC 322 Operating Systems Concepts Lecture -1 Ahmed Mumtaz Mustehsan Ahmed Mumtaz Mustehsan, CIIT, Islamabad Special Thanks To: Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. (Chapter-1)

Lecture-I 9 What Is An Operating System? Computer System ! Lots of hardware !! One or more processors Main memory Disks Printers Various input/output devices Managing all these components requires a layer of software – the operating system !! A Challenging Job of OS Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 10 Operating System Organization: In the form of layers of software Abstraction: It provides user programs with a better, simpler, cleaner, model of the computer and to handle managing all the resources by itself. Interface: shell when it is text based GUI (Graphical User Interface)—which is pronounced ‘‘gooey’’ Examples: Windows, Linux, FreeBSD, VMS, System V, Solaris Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 11 How it works! Hardware ; at the bottom The hardware consists of chips, boards, disks, a keyboard, a monitor, and similar physical objects. Software; It splits up in 2 modes kernel mode (also called supervisor mode). In this mode a complete access to all the hardware allowed and can execute any instruction the machine is capable of executing. User mode, only a subset of the machine instructions are available. The instructions that affect control of the machine (I/O) are forbidden to user-mode programs. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 12 Where is the software? Where the operating system fits in. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 13 How it works! Difference between OS and User Software If a user does not like a particular piece of program like may get a different one or write his own However, a user does not free to write his own clock interrupt handler,. Boundary between kernel and user mode is not clear Everything running in kernel mode is part of the OS, but some programs running outside it are also part of it, or at least closely associated with it. e.g. Password reset and file systems in some OS Size of Operating System Of the order of 5 to 10 millions lines of code! Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 14 Functions of operating system OS performs two functions: 1.Abstraction; Providing application programmers (and application programs) a clean abstract set of resources instead of complex hardware 2.Resource Management; Managing the hardware resources Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 15 The Operating System as an Extended Machine ( An Abstraction ? ); Abstraction is the key to manage complexity. An abstraction turns a nearly impossible task into two manageable tasks. 1.Defining and implementing the abstractions. 2.Using these abstractions to solve the problem at hand. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 16 The Operating System as an Extended Machine An Abstraction ? Operating system hides the hardware and present programs (and their programmers) with nice, clean, elegant, consistent, abstractions to work. Operating systems turn the ugly interface into the beautiful interface Example; Windows GUI and Command line both running on the Windows operating system and use the abstractions Linux Gnome or KDE sees a very different interface than a Linux user working on (text-oriented) X Window System, but the abstractions are the same in both cases. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 17 Functions of OS 1.The Operating System as an Extended Machine 2.The Operating System as a Resource Manager Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 18 Functions of OS ; as an Extended Machine The architecture of a computer system (instruction set, memory organization, I/O, and bus structure) of most computers is difficult to program at the machine language level, especially for I/O Example I/O Of Floppy Read Write Command Requires 13 parameters, packed into 9 bytes. When the operation is completed, the controller chip returns 23 status and error fields packed into 7 bytes. Status of Motor (On or Off) should also be considered What is Abstraction? User performs File I/O not disk I/O Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 19 The Operating System as a Resource Manager The Abstraction is Top-down approach The resource Management is Bottom-up approach. Resources Consist of processors, memories, timers, disks, mice, network interfaces, printers, and a wide variety of other devices. All modern OS to provide controlled allocation of the these resources to multiple programs run at the same time. Problem: Shared Printer; Mess-up output by all programs Solution: Buffering Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 20 The Operating System as a Resource Manager With multiple simultaneous users, the need for managing and protecting the memory, I/O devices, and other resources is even greater. users need to share not only hardware, but information (files, databases, etc.) as well. Primary task of OS is to keep track of programs/users re using resource, grant resource to users, account for the usage, and to mediate conflicting requests from different programs and users. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 21 The Operating System as a Resource Manager Resource management includes : Multiplexes (shares) resources in two different ways: 1.Time Multiplexing; When a resource is time multiplexed, different programs or users take turns using it. Who goes next and for how long is the task of the operating system. Examples: one CPU and multiple programs. One printers among many users 2.Space Multiplexing; Instead of exclusive allocation of resource, each one gets part of the resource. Examples: Main memory among several programs more programs in memory. Hard disk space for multiple users. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 22 The Operating System as a Resource Manager Objectives of the operating system 1.Fairness; All users should get fair share of CPU, Memory, and I/O devices without waiting unnecessarily. 2.Security; Users not interfering with each other data and their private data/ information. 3.Optimal Utilization of resources The resources of a computer system should be utilized Optimally. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 23 History of Operating Systems History: The first true digital computer was designed by the English mathematician Charles Babbage (1792–1871). Purely Mechanical, called “Analytical Engine” Never got it working as the required Precision was not supported by the technology Did not have an operating system but Charles Babbage identified the need of supporting Software. Hired Ada Lovelace, the daughter of British poet Lord Byron to develop software for AE. The programming language Ada® is named after her. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 24 History of Operating Systems Generations: (1945–55) Vacuum Tubes (1955–65) Transistors and Batch Systems (1965–1980) ICs and Multiprogramming (1980–Present) Personal Computers, Tablets, Phones Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 25 The First Generation (1945–55) Vacuum Tubes Prof. John Atanasoff built first functioning digital computer at Iowa State University. It used 300 vacuum tubes. Same time, Konrad Zuse in Berlin built the Z3 computer with relays. In 1944, the Colossus was built by a group at Bletchley Park, England. Mark I was built by Howard Aiken at Harvard. The ENIAC was built by William Mauchley and his graduate student J. Presper Eckert at the University of Pennsylvania. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 26 The First Generation (1945–55) Vacuum Tubes Features: A single team designed, built, programmed, operated, and maintained each machine. All programming was done in machine language, or by wiring up electrical circuits (Plug boards) OS and Programming languages were unknown Programmer to sign up for some time, insert their plug board into the computer, and spend hours hoping that none of the 20,000 vacuum tubes would burn out. Early 1950s; punched cards were introduced. It was possible to write programs on cards and read them in instead of plug boards. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 27 Transistors and Batch Systems (1955–65) 2 nd Generation; Computers became reliable and could be manufactured and sold. There was a clear separation between designers, builders, operators, programmers, and maintenance personnel. These machines, now called mainframes, operated by professional operators. Only big corporations or universities could afford the multimillion $ price. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 28 Transistors and Batch Systems (1955–65) 2 nd Generation; To run a job (i.e., a program): Write the program on paper, punch it on cards, submit card deck to input room., when the computer finished the job an operator would tear off the output, put it over to the output room, for the programmer. If the FORTRAN compiler was needed, the operator would have to get it from a file cabinet and read it in. Much computer time was wasted that was to be optimized Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 29 Transistors and Batch Systems (1955–65) 2 nd Generation; How an early Batch System worked: (a) Programmers bring cards to (b)1401 reads batch of jobs onto tape. (c) Operator carries input tape to (d) 7094 does computing. (e) Operator carries output tape to (f) 1401 prints output. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 30 Transistors and Batch Systems (1955–65) 2 nd Generation; Structure of a typical File Management system (FMS) job. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 31 Transistors and Batch Systems (1955–65) 2 nd Generation; Structure of a typical File Management system (FMS) job. A $JOB card; Specifying the maximum run time, the account number to be charged, and the user name. $FORTRAN card: Tells the operating system to load the FORTRAN compiler from the system tape. A $LOAD card: Directing the operating system to load the object program just compiled. $RUN card: Telling the operating system to run the program with the data following it. The $END card: Marked the end of the job. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 32 ICs and Multiprogramming (1965–1980) 3 rd Generation Early 1960s, There were 2 incompatible products: 7094: Word oriented, large-scale scientific computers. 1401: tape sorting, printing by banks and insurance Co. IBM introduced IBM360 series of software compatible machines had the compatibility with both 1401 and 7094 The360 was the first major computer line to use (small scale) Integrated Circuits( ICs), providing a major Price/performance advantage over the second generation machines. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 33 ICs and Multiprogramming (1965–1980) 3 rd Generation All machines had same architecture and instruction set, hence programs written for one machine could run on all the others. 360 was designed to handle both scientific and commercial computing. In subsequent years, IBM introduced compatible successors to the 360 lines, such as the 370, 4300, 3080, and 3090 The descendants of these machines are still in use for managing huge databases (e.g., for airline reservation systems) or as servers for World Wide Web sites that must process thousands of requests per second. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 34 ICs and Multiprogramming (1965–1980) 3 rd Generation The greatest strength of the “one family” idea was simultaneously its greatest weakness. OS Compatibility the attempt failed miserable. There was no way that IBM (or anybody else) could write a piece of software to meet all those conflicting requirements. The result was an enormous and extraordinarily complex operating system, probably two to three orders of magnitude larger than FMS. Each new release fixed some bugs and introduced new ones. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 35 Third Generation: Major Achievements Multiprogramming This generation introduced a popular key techniques Called multiprogramming, which was absent in Second generation operating systems. Partition memory into several pieces Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 36 Third Generation: Multiprogramming A different job in each partition, while one job is waiting for I/O completion, CPU is allocated to another job. If enough jobs are held in the main memory at one time, the CPU utilization could be 100 percent. The system required special hardware to protect each job from the others. Spooling : The ability of the system to read the jobs from cards to the disk, called (Simultaneous Peripheral Operation On Line) Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 37 Third generation: Timesharing Timesharing; Timesharing; A variant of multiprogramming called timesharing, in which each user has an online terminal. (Interactive users). Timesharing system, CTSS (Compatible Time Sharing System), was developed at M.I.T. on a specially modified 7094 but did not become popular until the necessary protection hardware made available during the third generation. After the success of the CTSS system, major computer manufacturer decided to develop a computer as a utility, a machine that should support hundreds of simultaneous timesharing users. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 38 Third generation: MULTICS Another system, introduced in that era was MULTICS (MULTiplexed Information and Computing Service), one huge machine for everyone in the Boston. It was a mixed success. There were many reasons that MULTICS did not take over the world. (It was enormously ambitious, written in PL/I, size was too big, High price ) MULTICS introduced many ideas into the computer literature, despite its lack of commercial success, MULTICS had a huge influence on subsequent operating systems. The concept of a computer utility had fizzled out but came back in the form of massive centralized Internet servers. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 39 Third generation: UNIX and LINUX Ken Thompson, found a small PDP-7 minicomputer wrote a stripped-down, single-user version of MULTICS. That work later developed into the UNIX operating system, which became popular in the academic world, with government agencies, and with many companies. The source code was widely available, various organizations developed their own (incompatible) versions, which led to chaos. Two major versions developed, System V, from AT&T, and BSD, (Berkeley Software Distribution) from the University of California at Berkeley. Ahmed Mumtaz Mustehsan, CIIT, Islamabad

Lecture-I 40 Third generation: UNIX and LINUX To make a compatible UNIX system, IEEE developed a standard for UNIX, called POSIX, that most versions of UNIX now support. POSIX defines a minimal system call interface conformant to UNIX systems must follow that. In fact, some other operating systems now also support the POSIX interface. A student, Linus Torvalds, to write Linux. This system was developed on MINIX and originally supported various MINIX features (e.g., the MINIX file system). LINUX is now owned by world called GNU (Gnu is Not UNIX) but highly compatible with UNIX. Ahmed Mumtaz Mustehsan, CIIT, Islamabad