1: What is an operating system? Last Modified: 11/21/2015 1:20 AM.

Slides:



Advertisements
Similar presentations
OS Components and Structure
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
Computer Systems/Operating Systems - Class 8
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Chapter 1: Introduction
04/14/2008CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Operating Systems CS451 Brian Bershad
1/21/2008CSCI 315 Operating Systems Design1 Operating System Structures Notice: The slides for this lecture have been largely based on those accompanying.
Operating System Structure. Announcements Make sure you are registered for CS 415 First CS 415 project is up –Initial design documents due next Friday,
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.
CS444/CS544 Operating Systems Introduction 1/12/2007 Prof. Searleman
Chapter 1: Introduction
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Xuan Guo Chapter 1 What is UNIX? Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003 Original Notes.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Operating System Organization
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.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Case study 2 Android – Mobile OS.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
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,
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.
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.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
I/O Systems I/O Hardware Application I/O Interface
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.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
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.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
CS444/CS544 Operating Systems Introduction 1/12/2006 Prof. Searleman
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Processes Introduction to Operating Systems: Module 3.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
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)
Silberschatz, Galvin and Gagne  Operating System Concepts Six Step Process to Perform DMA Transfer.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems Overview I/O Hardware Application.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Overview of today’s lecture Major components of an operating system Structure and internal architecture of an operating system Monolithic Vs Micro-kernels.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Introduction to Operating Systems Concepts
Computer System Structures
COMPSCI 110 Operating Systems
COMPSCI 110 Operating Systems
Operating System Structure
Operating Systems Lecture 1.
OS Components and Structure
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.
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

1: What is an operating system? Last Modified: 11/21/2015 1:20 AM

-2 What is an operating system? r A software layer that m manages hardware resources m provides an abstraction of the underlying hardware that is easier to program and use Applications Operating Systems Hardware

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

-4 Benefits of Operating Systems (1) r Abstracting the Hardware m Gory details of the raw hardware hidden so applications can be smaller and simpler m Fast access (as little “tax” as possible) m Application writers can program to a simpler and more portable “virtual machine” r Providing useful logical abstractions m New types of logical resources (sockets, pipes, file systems)

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

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

-7 Is OS code like other code? r Most OSs implemented in C r Developed without space-age development environments (kernel debuggers?) r The buck stops here! m OS must deal with gory hardware details Try to keep hardware dependent parts isolated m 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? m What happens if you take a page fault while executing operating system code r Performance and reliability are crucial! r Still a lot more like application code than you might think

-8 Lots of variety of OSes r Unix (Solaris, HP-UX, AIX, FreeBSD, NetBSD,OpenBSD..) r Linux r Windows XP, 2000, NT, ME, 98, 95 r BeOS r MacOS r AndroidOS, PalmOS r WindowsCE r Mach, Amoeba, Sprite, Vino, SPIN, QnX,…

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

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

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

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

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

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

-15 Programmers/users demand performance r Users want to realize the full “advertised” capability of a hardware resource m If they have a disk capable of 20 MB/sec transfer rate, then they would like to be able to read files at that rate m If they have a network interface card capable of 100 Mbit/sec transmission rate, then they would like to be able to send data at that rate r Operating System usually provide the desired functionality at a cost of some overhead (tax like the government) m Avoid seek and rotational delay when reading/writing to the disk m Avoid control messages sent over the network m Use a minimum of memory/disk space r Programmers/users want that tax to be at a minimum

-16 Performance Optimization r Operating systems try to optimize their algorithms to minimize the “tax” on applications r What algorithms minimize the tax? That is a hard question – depends on what your workload is r Example: What data do you keep in memory? m LRU is generally good but is exactly the wrong thing for large sequential accesses r Optimize for the “common” case? Adapt? Let applications give hints?

-17 OS Goals r So operating systems should: m Abstract the raw hardware m Protect apps from each other m Not allow applications to monopolize more that their fair share of system resources m Provide desired functionality m Expose the raw capability of the hardware, minimizing the “tax” m Optimize for the expected (any?) workload m Be simple enough that the code executes quickly and can be debugged easily r Does this sound like a big job to anyone?

-18 Topics r OS History, Architectural Support r Processes, Threads r Scheduling r Synchronization, Deadlock r Memory Management r File Systems, IO Devices r Networks, Distributed Systems r Security

-19 Outtakes

-20 Logistics r Course Web Page r Mailing List r Staff r Textbook

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