INTRODUCTION IT344 Fall 2012 9/21/2015 1. Today’s agenda Administrivia course overview course staff general structure the text policies your to-do list.

Slides:



Advertisements
Similar presentations
Operating System Structures
Advertisements

CSE 451: Operating Systems Winter 2012 Introduction Mark Zbikowski Gary Kimura.
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.
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
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.
W4118 Operating Systems OS Overview Junfeng Yang.
Computer Science 162 Discussion Section Week 2. Agenda Recap “What is an OS?” and Why? Process vs. Thread “THE” System.
CMPTR1 CHAPTER 3 COMPUTER SOFTWARE Application Software – The programs/software/apps that we run to do things like word processing, web browsing, and games.
CSE 451: Operating Systems Winter 2009 Introduction Mark Zbikowski Gary Kimura.
1 CIS450/IMSE450/ECE478 Operating Systems Winter 2003 Professor Jinhua Guo.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
1 CSE451 Introduction to Operating Systems Spring 2007 Module 1 Course Introduction Gary Kimura & Mark Zbikowski March 26, 2007.
Operating Systems. Today Welcome & Overview Class Roll Richard Helps; TA still looking Class administration.
Lecture 1: Introduction CS170 Spring 2015 Chapter 1, the text book. T. Yang.
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.
Operating Systems: Principles and Practice
OPERATING SYSTEMS Prof. Sujata Rao Lesson 3. Agenda 1. What is an operating system? 2. How have operating systems evolved? 3. Functions of Operating System.
CS212: OPERATING SYSTEM Lecture 1: Introduction 1.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
part I, , Part I Introduction to Operating Systems First Semester, Year 2000 Wannarat Suntiamorntut Department of Computer Engineering,
CSE 451: Operating Systems Autumn 2010 Module 1 Course Introduction Ed Lazowska 570 Allen Center.
CS 162 Discussion Section Week 1 (9/9 – 9/13) 1. Who am I? Kevin Klues Office Hours:
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) [ 原书信息 ] 【原出版社】
 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.
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:
CSE 451: Operating Systems Spring 2012 Module 1 Course Introduction Ed Lazowska 570 Allen Center.
CS 1308 Computer Literacy and the Internet. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features.
◦ What is an Operating System? What is an Operating System? ◦ Operating System Objectives Operating System Objectives ◦ Services Provided by the Operating.
CS 153 Design of Operating Systems Spring 2015 Lecture 2: Intro and Architectural Support for Operating Systems.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Operating Systems and Systems Programming CS162 Teaching Staff.
CENG334 Introduction to Operating Systems 1 Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
CSE 451: Operating Systems Winter 2015 Module 1 Course Introduction Gary Kimura Mark Zbikowski © 2013.
Operating Systems Introduction & Overview. Books (Tentative) Text Book: –Operating System Concepts, 6 th Edition, Silberschatz Galvin Gagne Reference.
Operating System. Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Operating Systems.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Copyright Prentice Hall, Inc. 1 Operating System Overview.
Lecture 1: Network Operating Systems (NOS)
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
CSE 451: Operating Systems Winter 2010 Introduction
Overview Introduction to Operating Systems
Operating Systems and Systems Programming
CSE 451: Operating Systems Spring 2006 Module 1 Course Introduction
CSE 451: Operating Systems Spring 2013 Module 1 Course Introduction
CSE 451: Operating Systems Winter 2007 Module 1 Course Introduction
CSE 451: Operating Systems Autumn 2004 Course Introduction Hank Levy
Operating Systems CSE451 Winter 2000
CSE 451: Operating Systems Winter 2003 Lecture 1 Course Introduction
CSE 451: Operating Systems Autumn 2009 Module 1 Course Introduction
CSE 451: Operating Systems Winter 2006 Module 1 Course Introduction
Operating Systems CSE451 Spring 2000
Operating Systems CS451 Spring 1998
CSE 451: Operating Systems Winter 2004 Module 1 Course Introduction
Operating Systems CS451 Fall 1998
CSE 451: Operating Systems Spring 2005 Module 1 Course Introduction
CSE 335: Operating Systems L-3 T-2 L-1 Course Introduction
CSE 451: Operating Systems Autumn 2003 Lecture 1 Course Introduction
CSE 451: Operating Systems Winter 2007 Module 1 Course Introduction
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

INTRODUCTION IT344 Fall /21/2015 1

Today’s agenda Administrivia course overview course staff general structure the text policies your to-do list OS overview functional resource management, etc. historical batch systems, multiprogramming, timeshared OS’s, PCs, networked computers, p2p, embedded systems 9/21/20152

Course overview Everything you need to know is on the course web page: DISCLAIMER: It is work in progress and will change daily. So please check for updates often. 9/21/20153

But to tide you over for the next hour … course staff Chia-Chi Teng HW TA: Kim Burrup Lab TA: Reed Kleinman general structure read the text prior to class class will supplement rather than regurgitate the text homework exercises provide added impetus to keep up with the reading we really want to encourage discussion, both in class and in lab 9/21/20154

the text Dhananjay M. Dhamdhere, “Operating Systems, A Concept-Based Approach”, first edition Keep up with the reading schedule How to read technical textbook? other resources many online: check for updates often some required some optional some prohibited (!) policies collaboration vs. cheating homework exercises late policy 9/21/20155

Projects: two this semester, more information to come 1. Mobile device application 2. Service oriented architecture (SOA) your to-do list … please read the entire course web thoroughly, today make sure you’re on the IT344 LearningSuite list, and check your daily keep up with the reading homework 1 (reading + problems) is posted on the web now reading due Thursday before class problems due at EOB Monday (except next week) lab 1 is posted on the web now Do you have a USB drive or partition on your laptop that you can use to install Linux? 9/21/20156

HW & Labs HW Turn in BOTH paper and electronic copy. Paper copy to locker CTB 3059 E-copy to LearningSuite Labs Pass-off required for every lab Submit write-up electronically to LearningSuite Points for pass-off and write-up 9/21/2015 7

Lab1 Build Linux Kernel Download source code Compile/link -> binary Warm up with C and debugger Why C? 9/21/20158

Project #1 Objective: get familiar with the embedded OS environment by developing a simple application on a mobile device SDK Platform of choice Google Android SDK Apple iPhone SDK Microsoft Windows Phone or Mobile SDK … Develop a simple application of your choice Be creative SDKs have sample applications Grading guideline C: Text-box + button UI B: More complex UI with advanced controls such as slider, combo-box, gyro, GPS … A: Multi-page application plus (B) Start now, presentation during lab hours around week #6 More … 9/21/20159

Project #1 -> #2 New requirement for project #1 Must connect to some remote service Lots of BYU services to use: directory, class schedule, … Free services: webservicex.net, twitter, facebook, … Project #2 Service oriented architecture (SOA) Build a web service with REST API Client integration 3-tier system Client, Web Service, Data Source 9/21/201510

Exams 1 midterm + final Usually take home, open book 9/21/

What is an Operating System? The text: “Exploits the hardware resources of one or more processors” “Provides a set of services to system users” “Manages secondary memory and I/O devices” “an amazing aspect of operating systems is how varied they are in accomplishing these tasks … mainframe operating systems … personal computer operating systems … operating systems for handheld computers …” “in 1998, the United States Department of Justice filed suit against Microsoft, in essence claiming that Microsoft included too much functionality in its operating system … for example, a web browser was an integral part of the operating system” 9/21/201512

What is an Operating System? An operating system (OS) is: a software layer to abstract away and manage details of hardware resources a set of utilities to simplify application development “all the code you didn’t write” in order to implement your application 9/21/ Applications OS Hardware

What is Windows? 9/21/ DOS Application © John DeTreville, Microsoft Corp.

What is Windows? 9/21/ DOSWindows Installer COM Printing TCP/IPBrowser …File system …… Application © John DeTreville, Microsoft Corp.

What is.NET? 9/21/ Internet Application © John DeTreville, Microsoft Corp.

What is.NET? 9/21/ magic Internet.NET Device independence XML Identity & security AsynchronyExtensibility …… Application eBayFedExBank © John DeTreville, Microsoft Corp.

The OS and hardware An OS mediates programs’ access to hardware resources (sharing and protection) computation (CPU) volatile storage (memory) and persistent storage (disk, etc.) network communications (TCP/IP stacks, Ethernet cards, etc.) input/output devices (keyboard, display, sound card, etc.) The OS abstracts hardware into logical resources and well-defined interfaces to those resources (ease of use) processes (CPU, memory) files (disk) sockets (network) 9/21/201518

Why bother with an OS? Application benefits programming simplicity see high-level abstractions (files) instead of low-level hardware details (device registers) abstractions are reusable across many programs portability (across machine configurations or architectures) device independence: 3com NIC or Intel NIC? User benefits safety program “sees” own virtual machine, thinks it owns computer OS protects programs from each other OS fairly multiplexes resources across programs efficiency (cost and speed) share one (or many) computer(s) across many users concurrent execution of multiple programs 9/21/201519

The major OS issues structure: how is the OS organized? sharing: how are resources shared across users? naming: how are resources named (by users or programs)? security: how is the integrity of the OS and its resources ensured? protection: how is one user/program protected from another? performance: how do we make it all go fast? reliability: what happens if something goes wrong (either with hardware or with a program)? extensibility: can we add new features? communication: how do programs exchange information, including across a network? 9/21/201520

More OS issues… concurrency: how are parallel activities (computation and I/O) created and controlled? scale: what happens as demands or resources increase? persistence: how do you make data last longer than program executions? distribution: how do multiple computers interact with each other? accounting: how do we keep track of resource usage, and perhaps charge for it? There are tradeoffs, not right and wrong! 9/21/201521

9/21/ Progression of concepts and form factors © Silberschatz, Galvin and Gagne

Multiple trends at work “Ontogeny recapitulates phylogeny” Ernst Haeckel ( ) (“always quotable, even when wrong”) “Those who cannot remember the past are condemned to repeat it” George Santayana ( ) 9/21/201523

Has it all been discovered? New challenges constantly arise embedded computing (e.g., iPod, smartphones) sensor networks (very low power, memory, etc.) peer-to-peer systems ad hoc networking multi-core scalable server farm design and management (e.g., Google, Amazon) software for utilizing huge clusters (e.g., MapReduce, Bigtable) overlay networks (e.g., PlanetLab) worm fingerprinting finding bugs in system code (e.g., model checking) Old problems constantly re-define themselves the evolution of PCs recapitulated the evolution of minicomputers, which had recapitulated the evolution of mainframes but the ubiquity of PCs re-defined the issues in protection and security 9/21/201524

Protection and security as an example OS from my program your program from my program my program from my program access by intruding individuals access by intruding programs denial of service distributed denial of service spoofing spam worms Viruses botnet stuff you download and run knowingly (bugs, trojan horses) stuff you download and run obliviously (cookies, spyware) 9/21/201525

OS history In the very beginning… OS was just a library of code that you linked into your program; programs were loaded in their entirety into memory, and executed interfaces were literally switches and blinking lights And then came batch systems OS was stored in a portion of primary memory OS loaded the next job into memory from the card reader job gets executed output is printed, including a dump of memory repeat… card readers and line printers were very slow so CPU was idle much of the time (wastes $$) 9/21/201526

Spooling Disks were much faster than card readers and printers Spool (Simultaneous Peripheral Operations On-Line) while one job is executing, spool next job from card reader onto disk slow card reader I/O is overlapped with CPU can even spool multiple programs onto disk OS must choose which to run next job scheduling but, CPU still idle when a program interacts with a peripheral during execution buffering, double-buffering 9/21/201527

Multiprogramming To increase system utilization, multiprogramming OSs were invented keeps multiple runnable jobs loaded in memory at once overlaps I/O of a job with computing of another while one job waits for I/O completion, OS runs instructions from another job to benefit, need asynchronous I/O devices need some way to know when devices are done interrupts polling goal: optimize system throughput perhaps at the cost of response time… 9/21/201528

Timesharing To support interactive use, create a timesharing OS: multiple terminals into one machine each user has illusion of entire machine to him/herself optimize response time, perhaps at the cost of throughput Timeslicing divide CPU equally among the users if job is truly interactive (e.g., editor), then can jump between programs and users faster than users can generate load permits users to interactively view, edit, debug running programs (why does this matter?) 9/21/201529

MIT CTSS system (operational 1961) was among the first timesharing systems only one user memory-resident at a time (32KB memory!) MIT Multics system (operational 1968) was the first large timeshared system nearly all OS concepts can be traced back to Multics! “second system syndrome” Fredrick Brooks “Mythical man-month” /21/201530

CTSS as an illustration of architectural and OS functionality requirements 9/21/ OS User program

Parallel systems Some applications can be written as multiple parallel threads or processes can speed up the execution by running multiple threads/processes simultaneously on multiple CPUs [Burroughs D825, 1962] need OS and language primitives for dividing program into multiple parallel activities need OS primitives for fast communication among activities degree of speedup dictated by communication/computation ratio many flavors of parallel computers today Multi-core SMPs (symmetric multi-processors) MPPs (massively parallel processors) NOWs (networks of workstations) computational grid 9/21/201532

Personal computing Primary goal was to enable new kinds of applications Bit mapped display [Xerox Alto,1973] new classes of applications new input device (the mouse) Move computing near the display why? Window systems the display as a managed resource Local area networks [Ethernet] why? Effect on OS? 9/21/201533

Distributed OS Distributed systems to facilitate use of geographically distributed resources workstations on a LAN servers across the Internet Supports communications between programs interprocess communication message passing, shared memory networking stacks Sharing of distributed resources (hardware, software) load balancing, authentication and access control, … Speedup isn’t the issue access to diversity of resources is goal 9/21/201534

Client/server computing Mail server/service File server/service Print server/service Compute server/service Game server/service Music server/service Web server/service etc. 9/21/201535

Peer-to-peer (p2p) systems Napster Gnutella (LimeWire) example technical challenge: self-organizing overlay network technical advantage of Gnutella? er … legal advantage of Gnutella? 9/21/ Data source: Digital Music News Research Group

Embedded/mobile/pervasive computing Pervasive computing cheap processors embedded everywhere how many are on your body now? in your car? cell phones, PDAs, network computers, … Typically very constrained hardware resources slow processors very small amount of memory (e.g., 8 MB) no disk typically only one dedicated application limited power But this is changing rapidly! 9/21/201537

Ad hoc networking 9/21/201538

IT 344 In this class we will learn: what are the major components of most OS’s? how are the components structured? what are the most important (common?) interfaces? what policies are typically used in an OS? what algorithms are used to implement policies? Philosophy you may not ever build an OS but as a computer engineer you need to understand the foundations most importantly, operating systems exemplify the sorts of engineering design tradeoffs that you’ll need to make throughout your careers – compromises among and within cost, performance, functionality, complexity, schedule … 9/21/201539