CS444/CS544 Operating Systems Introduction 1/12/2007 Prof. Searleman

Slides:



Advertisements
Similar presentations
OS Components and Structure
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Chapter 1: Introduction
Lecture 1: History of Operating System
Operating Systems CS451 Brian Bershad
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
© 2004, D. J. Foreman 1 CS350 Operating Systems. © 2004, D. J. Foreman 2 Administrivia  Assignments ■ Homework on most chapters ■ Approximately 8 lab.
Operating Systems - Introduction S H Srinivasan
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Figure 1.1 Interaction between applications and the operating system.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
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.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Computer Organization Review and OS Introduction CS550 Operating Systems.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
1 5/25/2016 操作系统课件 教材: 《操作系统概念(第六版 影印版)》 【原书名】 Operating System Concepts(Sixth Edition) [ 原书信息 ] Operating System Concepts(Sixth Edition) [ 原书信息 ] 【原出版社】
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
WEEK 1 COURSE INTRODUCTION INTRODUCTION TO OPERATING SYSTEMS OPERATING SYSTEM STRUCTURES Operating Systems CS3013 / CS502.
ICOM Noack Operating Systems - Administrivia Prontuario - Please time-share and ask questions Info is in my homepage amadeus/~noack/ Make bookmark.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: Operating-System Structures.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
CS444/CS544 Operating Systems Introduction 1/12/2006 Prof. Searleman
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
1: What is an operating system? Last Modified: 11/21/2015 1:20 AM.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Lecture 2: OS Structures (Chapter 2.7)
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Copyright Prentice Hall, Inc. 1 Operating System Overview.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Introduction to Operating Systems Concepts
Computer System Structures
Welcome to SSE3044 Operating Systems!
Operating Systems Introduction
Lecture Note 0: Course Introduction
Operating Systems : Overview
Lecture Note 0: Course Introduction
System calls….. C-program->POSIX call
Chapter 2 Operating System Overview
EECE.4810/EECE.5730 Operating Systems
Sarah Diesburg Operating Systems CS 3430
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

CS444/CS544 Operating Systems Introduction 1/12/2007 Prof. Searleman

CS444/CS544 Spring 2007 Objectives of this course Administrivia Overview of Operating Systems Reading assignment: Chapters 1 & 2, plus 3.1 through 3.3 HW#1HW#1: due Friday, 1/18/07

Course Objectives To introduce students to the abstractions and facilities provided by modern operating systems. To familiarize students with the issues that arise when implementing operation system services

Administrivia course webpage: contact info: SC375, x2377, IM office hours: check webpage TA: Todd DeShane schedule: check frequently! Either 2 lectures & a lab per week; or sometimes 3 lectures

Textbooks Required: Operating System Concepts, 7th Edition, by Silberschatz, Galvin, and Gagne, John Wiley & Sons, 2005, ISBN Recommended: The C Programming Language, ANSI C, Second Edition, by Kernighan & Ritchie, Prentice Hall, 1988, ISBN

Grading Policy 30%Midterm Exams 30%Final Exam 10%Homework & Quizzes 30%Laboratory Projects

What is an operating system? A software layer that manages hardware resources provides an abstraction of the underlying hardware that is easier to program and use Applications Operating Systems Hardware “who gets what, when” “virtual machine”

Hardware Resources CPU, Functional Units, Registers Main memory access Storage devices (disk drives, CD-ROMs, tape drives) Network Interface Cards Human I/O devices (keyboards, monitors, mice) Other? Printers, cameras, sensors, … How much do you know about what it would be like to interact with these devices without an OS? The interface should be convenient, fair & efficient

Objectives convenience efficiency ability to evolve an OS should be designed so that new services can be developed, tested, and deployed without (or minimally) disrupting current services

Benefits of Operating Systems (1) Abstracting the Hardware Gory details of the raw hardware hidden so applications can be smaller and simpler Application writers can program to a simpler and more portable “virtual machine” Providing useful logical abstractions New types of logical resources (sockets, pipes)

Benefits of Operating Systems (2) Protecting applications from each other Enforce “fair” allocation of hardware resources among applications Policies that say what is “fair” and mechanisms to enforce it Supporting communication and coordination among applications Support abstractions through which different applications can share data and notify each other of events

What an operating system is not Compiler Standard libraries Command Shells These are closely related pieces of system software, but they are not the OS.

Is OS code like other code? Most OSs are implemented in C Developed without space-age development environments (kernel debuggers?) The buck stops here! OS must deal with gory hardware details Try to keep hardware dependent parts isolated What happens when get a device interrupt in the middle of executing an application? What happens when get a device interrupt while servicing another device interrupt? What happens if you take a page fault while executing operating system code Performance and reliability are crucial! Still a lot more like application code than you might think

Lots of variety of OSes Unix (Solaris, HP-UX, AIX, FreeBSD, NetBSD,OpenBSD…); Linux Windows XP, 2000, NT, ME, 98, 95 BeOS MacOS, OS X OS 360, CMS, MVS, VM, z/OS PalmOS WindowsCE Mach, Amoeba, Sprite, Vino, SPIN, QnX, …

What distinguishes operating systems? When people talk about which operating system to run, they often talk about: Look and feel of the desktop windowing system Devices that are supported What hardware platforms does it run on? Applications that are available for that OS Who developed the code? Who supports the code? How often does the system crash? Reliability? Do you pay for it? Are these really core OS issues?

Core OS Issues: OS Structure How is the OS structured? One monolithic kernel of spaghetti code One monolithic kernel that is internally composed of distinct layers One monolithic kernel that is internally composed of distinct objects Micro-kernel with trusted user level applications that provide major OS functionality like virtual memory, scheduling, file systems, etc. Software engineering questions: Maintainability? Performance? Reliability? Portability?

Core OS Issues Concurrency How many and what types of activities can occur simultaneously? Protection What is the granularity at which permission to access various resources are granted? How do you verify an entity’s right to access a resource? Fault Tolerance How do we deal with faults in applications? In devices? In our own OS code?

Core OS Issues Resource/services provided to applications Does the OS offer kernel support for events? Signals? Threads? Pipes? Shared memory? Naming How do applications refer to and request the resources they want for themselves? Resources they want to share with others? Sharing What objects can be shared among applications? What is the granularity of sharing? Resource Allocation and Tracking What is the unit (or units) of resource allocation? Can we track ( and bill for) resource usage?

Core OS Issues Service Time Guarantees What guarantees (if any) are made to applications about the servicing of their requests or about the servicing of device interrupts? Real-time OSs Scale/Load What are the limits of resource allocation? (Biggest file, Maximum number of processes, etc.) What happens as the demand for resources increases? (graceful degradation? )

Core OS Issues Extensibility /Tuning What interfaces are provided to change operating system behavior? How does (or does) the OS optimize its behavior based on the characteristics of the hardware or the application mix?

This Semester Architectural support for OS; Application demand on OS Major components of an OS Scheduling, Memory Management, Synchronization, File Systems, Networking,.. How is the OS structured internally and what interfaces does it provide for using its services and tuning its behavior? What are the major abstractions modern OSes provide to applications and how are they supported?

Reading Assignment: By 1/16/07, read: -Chapter 1 (Introduction) -Chapter 2 (OS Structures) By 1/18/07, read: - Chapter 3, sections 3.1, 3.2 & 3.3