Lectutre-01 Introduction and Overview Somia Razzaq NFC IET

Slides:



Advertisements
Similar presentations
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Advertisements

OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Chapter 5 Input/Output 5.1 Principles of I/O hardware
Chapter 1 Introduction Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Introduction Abstract Views of an Operating System.
Chapter 5 Computing Components. 2 Chapter Goals Read an ad for a computer and understand the jargon List the components and their function in a von Neumann.
Mehdi Naghavi Spring 1386 Operating Systems Mehdi Naghavi Spring 1386.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc
Interactive lesson about operating system
Processes Management.
Executional Architecture
SE-292 High Performance Computing
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Chapter 1: Introduction
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
MCT260-Operating Systems I Operating Systems I Introduction to Operating Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1: Operating Systems Overview
1.1 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Instructor:
Chapter 1: Introduction
1/21/2010CSCI 315 Operating Systems Design1 Computer System Structures Notice: The slides for this lecture have been largely based on those accompanying.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
What do operating systems do? manage processes manage memory and computer resources provide security features execute user programs make solving user.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts What is an Operating System? A program that acts as an intermediary.
Introduction by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 1: Introduction.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 1: Introduction.
CS212: OPERATING SYSTEM Lecture 1: Introduction 1.
CSC139 Operating Systems Lecture 1 What is an Operating System? Adapted from Prof. John Kubiatowicz's lecture notes for CS162
Computer System Architectures Computer System Software
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Four Components of a Computer System. Computer System Components Users (people, machines, other computers) Applications programs – define the ways in.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
1 Lecture 1: CS/ECE 3810 Introduction Today’s topics:  Why computer organization is important  Logistics  Modern trends.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 1: Introduction What Operating Systems Do Computer-System.
30 October Agenda for Today Introduction and purpose of the course Introduction and purpose of the course Organization of a computer system Organization.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Welcome to CPS 210 Graduate Level Operating Systems –readings, discussions, and programming projects Systems Quals course –midterm and final exams Gateway.
Silberschatz, Galvin and Gagne  Operating System Concepts Operating Systems 1. Overview 2. Process Management 3. Storage Management 4. I/O Systems.
CS1253- OPERATING SYSTEMS. SYLLABUS UNIT I PROCESSES AND THREADS 9 Introduction to operating systems – Review of computer organization – Operating.
1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Office: HEC 439 B.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Computer Organization Yasser F. O. Mohammad 1. 2 Lecture 1: Introduction Today’s topics:  Why computer organization is important  Logistics  Modern.
CCSB234/CSNB234 Operating System Concepts Semester 2, Dec 2006 – Mar 2007 Abdul Rahim Ahmad.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edit9on Chapter 1: Introduction.
SCSC 511 Operating Systems Chapter 1 Introduction Dr. Frank Li Fall 2016.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Objectives To provide a grand tour of the major operating.
CSC322 OPERATING SYSTEM Mr. Dilawar Lecturer, Department of Computer Science, Jahan University Kabul, Afghanistan.
COMPSCI 110 Operating Systems
Chapter 1: Introduction
Chapter 1: Introduction
CS775: Computer Architecture
CSCI 511 Operating Systems Chapter 1 Introduction
Introduction to Operating Systems
Introduction to Operating Systems
Subject Name: Operating System Concepts Subject Number:
Operating Systems Lecture 1.
CSC227: Operating Systems
Presentation transcript:

Lectutre-01 Introduction and Overview Somia Razzaq NFC IET CS 217 - Operating Systems Lectutre-01 Introduction and Overview Somia Razzaq NFC IET

Interaction is important! Goals for today What is an Operating System? And – what is it not? Why study Operating Systems? How the course will proceed? Course content Grading Regulations Interaction is important! Ask Questions! Note: Some slides and/or pictures in the following lectures are adapted from author slides by Silberschatz, Galvin, and Gagne and some from different instructor lectures taken from internet.

Computer System Hardware Operating system Applications programs Users

Purpose of a Computer System Computer systems consist of software and hardware that are combined to provide a tool to solve specific problems in an efficient manner Execute programs

Layered View of a Computer System

Computer System Hardware Keyboard Mouse Printer RAM/ROM HD Mem Bus System Bus Monitor CD Processor Floating Point Unit Integer Cache Control

What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware A program that allocates and de-allocates computer system resources in an efficient, fair, and secure manner—a resource manager

Goals of Operating System Operating system goals: Execute user programs and make solving user problems easier Make the computer system convenient to use Use the computer hardware in an efficient manner

Technology Trends: Moore’s Law Gordon Moore (co-founder of Intel) predicted in 1965 that the transistor density of semiconductor chips would double roughly every 18 months. 2X transistors/Chip Every 1.5 years Called “Moore’s Law” Moore’s Law Microprocessors have become smaller, denser, and more powerful. How many transistors you think a processor would have? 10s? 1000s? Millions? Alright.. About ten million transistors.. In January 1995, the Digital Alpha 21164 microprocessor had 9.3 million transistors. Six years later, a state of the art microprocessor contained more than 40 million transistors. Isn’t it complex! Until 2002 the curve kept going higher exponentially like this. At 2002-03 Intel and other manufacturers started to panic as they had made transistor so small that they pondered what we gonna do now to keep the curve moving

ManyCore Chips: The future is here Intel 80-core multicore chip (Feb 2007) 80 simple cores Two floating point engines /core Mesh-like "network-on-a-chip“ 100 million transistors 65nm feature size Frequency Voltage Power Bandwidth Performance 3.16 GHz 0.95 V 62W 1.62 Terabits/s 1.01 Teraflops 5.1 GHz 1.2 V 175W 2.61 Terabits/s 1.63 Teraflops 5.7 GHz 1.35 V 265W 2.92 Terabits/s 1.81 Teraflops “ManyCore” refers to many processors/chip 64? 128? Hard to say exact boundary How to program these? Use 2 CPUs for video/audio Use 1 for word processor, 1 for browser 76 for virus checking??? Parallelism must be exploited at all levels

Computer System Organization Computer-system operation One or more CPUs, device controllers connect through common bus providing access to shared memory Concurrent execution of CPUs and devices competing for memory cycles

Functionality comes with great complexity! Pentium IV Chipset Proc Caches Busses Memory I/O Devices: Controllers adapters Disks Displays Keyboards Networks Pentium 4 is already getting old as Intel is coming up with some new chipsets This complexity gives us some very interesting stuff It gives us networking, gamming, graphics, efficiency.. Loads more

Sample of Computer Architecture Topics Input/Output and Storage Disks, WORM, Tape RAID Emerging Technologies Interleaving Bus protocols DRAM Coherence, Bandwidth, Latency Memory Hierarchy L2 Cache Network Communication Other Processors Addressing, Protection, Exception Handling L1 Cache VLSI Instruction Set Architecture Pipelining, Hazard Resolution, Superscalar, Reordering, Prediction, Speculation, Vector, Dynamic Compilation Pipelining and Instruction Level Parallelism

Example: Some Mars Rover (“Pathfinder”) Requirements Pathfinder hardware limitations/complexity: 20Mhz processor, 128MB of DRAM, VxWorks OS cameras, scientific instruments, batteries, solar panels, and locomotion equipment Many independent processes work together Can’t hit reset button very easily! Must reboot itself if necessary Must always be able to receive commands from Earth Individual Programs must not interfere Better not crash antenna positioning software! Further, all software may crash occasionally Automatic restart with diagnostics sent to Earth Periodic checkpoint of results saved? Certain functions time critical: Need to stop before hitting something Must track orbit of Earth for communication Why processor is so limited? What if you had to move the rover paying attention to every little component? Taking care of the motors, measuring soil/distances, coordinating with the controller at Earth…! Distance 186 light secs to 21 light minutes one-way Nearly two earth years If you have to move the rover with consideration to every little complexity.. Including taking care of all the motors, measuring the soil/distance and talking to the co-pilot.. How difficult would that be? Why processor is so limited? Power consumption! Blue screen of death? Help! Game over! What happens if rover gets the blue screen of death? What we want is if it crashes, we want to figure out a way if the main system is down we should be able to reboot it atleast.. Rover should always be able to get signals from earth.. Restart, send diagnostics to earth – bug fixing! Certain functions are higher priority than others.. You better stop before you hit someone.. Prioritization is important It’s a fun example to think what would be your core requirements not only in terms of hardware but software too. We can do that using an OS

How do we tame complexity? Every piece of computer hardware is different Different CPU Pentium, PowerPC, ColdFire, ARM, MIPS Different amounts of memory, disk, … Different types of devices Mice, Keyboards, Sensors, Cameras, Fingerprint readers Different networking environment Cable, DSL, Wireless, Firewalls,… Questions: Does the programmer need to write a single program that performs many independent activities? Does every program have to be altered for every piece of hardware? Does a faulty program crash everything? Does every program have access to all hardware? Dell commercial.. Making your machine separately for you Your comp is different from other ones.. Different CPUs, keyboards, memories, finger print readers

OS Tool: Virtual Machine Abstraction Application Operating System Hardware Physical Machine Interface Virtual Machine Interface Software Engineering Problem: Turn hardware/software quirks  what programmers want/need Optimize for convenience, utilization, security, reliability, etc… For Any OS area (e.g. file systems, virtual memory, networking, scheduling): What’s the hardware interface? (physical reality) What’s the application interface? (nicer abstraction) Hardware is complicated.. I would put an OS .. It will provide an interface which is simple and similar for everybody e.g., a USB drive is far more different than the hard drive in your computer.. No motor.. Disk spinning but you use both in quite a similar manner Making sense? We are trying to make things easier for the programmers.. You may want to be programmers of advanced complex apps in near future Older programmers had to be pretty much specialized in a lot many details. Now all the programmers need not be of the same engineering mind set.. Ppl with different creativity capabilities can do different things in their own specialized areas without worrying about the underlying architectural details of hardware, computer organization, memory and IO details.

What does an Operating System do? Silerschatz and Galvin: “An OS is Similar to a government” Begs the question: does a government do anything useful by itself? Coordinator and Traffic Cop: Manages all resources Settles conflicting requests for resources Prevents errors and improper use of the computer Facilitator: Provides facilities that everyone needs Standard Libraries, Windowing systems Make application programming easier, faster, less error-prone Some features reflect both tasks: E.g. File system is needed by everyone (Facilitator) But File system must be Protected (Traffic Cop)

So what is this course all about? What we’ll be covering? and How we shall proceed?

Tentative Course Outline Week # Module Topics 1 Introduction Introduction to the course Operating System Concepts System Structures 2 Process Concepts Process Scheduling Process Operations Inter process Communication Communication in Client Server Systems 3 Multithreaded Programming Overview Multithreading Models Thread Libraries 4 Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling

Course Outline Week # Module Topics 5 Synchronization Overview Critical Section Problem Semaphores Monitors 6 Deadlocks System Model Deadlock Characterization Methods for handling Deadlocks Deadlock Prevention 7 Memory Management Background Swapping Contiguous Memory Allocation Paging

Course Outline Week # Module Topics 8 Mid Term Exam 9 Virtual Memory Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing 10 File System File Concept Access Methods Directory and Disk Structure File System Mounting 11-12 Secondary Storage Structure Overview of Mass Storage Structure Disk Structure Disk Scheduling RAID Structure Overview

Course Outline Week # Module Topics 12-13 I/O Systems Overview Hardware Application I/O Interface Kernel I/O Subsystem Transforming Requests to Hardware Operations Streams 13-14 Protection Goals Principles Domain Access Matrix Access Control 15 Security The issue Threats Cryptography Authentication Defense 16 Distributed Operating Systems An overview of Distributed Operating System Concepts

Tentative Lab Exercise Plan Module Week Lab 1 Process Creation in Java RMI Example (Optional) Week 2 Lab 2 Threads in Java Week 3 Lab 3 Threads in Java (priority scheduling example) Week4 Lab 4 Synchronization in Java Week 5 Lab 5 Deadlock Example with handling of deadlocks in Java Week 6 Lab 6 Memory Management Exercise Week 8 We’ll also be playing with Linux Operating System later on in the second half of the course

Textbook Operating System Concepts – 7/8th Edition Silberschatz, Galvin, and Gagne (Textbook) Modern Operating Systems,3rd Edition, Tanenbaum A.S., 2008 (Reference)

Grading Scheme Quizzes 5% (unannounced/announced) Assignment 5% Attendance/ Class participation 5% Midterm Exam: 30% Final Exam: 50% Term Assignment 5%

Academic Dishonesty Policy Copying all or part of another person's work, or using reference material not specifically allowed, are forms of cheating and will not be tolerated. A student involved in an incident of cheating will be subject to strict disciplinary action as per the institute’s policies. The instructor may take actions such as: require repetition of the subject work, assign a'zero' grade to the subject work,

Remember Interaction is important!