Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lectutre-01 Introduction and Overview Somia Razzaq NFC IET

Similar presentations


Presentation on theme: "Lectutre-01 Introduction and Overview Somia Razzaq NFC IET"— Presentation transcript:

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

2 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.

3 Computer System Hardware Operating system Applications programs Users

4 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

5 Layered View of a Computer System

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

7 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

8 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

9 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 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 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

10 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 V 62W Terabits/s Teraflops 5.1 GHz 1.2 V 175W Terabits/s Teraflops 5.7 GHz V 265W Terabits/s 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

11 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

12 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

13 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

14 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

15 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

16 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.

17 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)

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

19 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

20 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

21 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

22 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

23 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

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

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

26 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,

27 Remember Interaction is important!


Download ppt "Lectutre-01 Introduction and Overview Somia Razzaq NFC IET"

Similar presentations


Ads by Google