Introduction Welcome to ECE353.

Slides:



Advertisements
Similar presentations
Introduction to HTML, XHTML, and CSS
Advertisements

So far Binary numbers Logic gates Digital circuits process data using gates – Half and full adder Data storage – Electronic memory – Magnetic memory –
OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Our Digital World Second Edition
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc
Suggested Course Outline Cloud Computing Bahga & Madisetti, © 2014Book website:
CMPT 275 Software Engineering
Services Course Windows Live SkyDrive Participant Guide.
Operating System.
Processes Management.
Executional Architecture
Operating System Architecture and Distributed Systems
Services Course Windows Live SkyDrive Participant Guide.
Operating Systems ECE344 Introduction Ding Yuan ECE Dept., University of Toronto slides courtesy: Ashvin Goel, Yuanyuan.
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
Operating Systems CS451 Brian Bershad
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
1 CMSC 628: Introduction to Mobile Computing Nilanjan Banerjee Introduction to Mobile Computing University of Maryland Baltimore County
CS 3305 Course Overview. Introduction r Instructor: Dr Hanan Lutfiyya r Office: MC 355 r hanan at csd dot uwo ca r Office Hours: m Drop-by m Appointment.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Distributed systems [Fall 2014] G Lec 1: Course Introduction.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Advanced Principles of Operating Systems (CE-403).
1 CSCI 3120: Operating Systems Summer 2003 Instructor: Kirstie Hawkey Office hours (outside Room 311): Mon: 2:30-3:30, Fri: 10:30-11:30.
1 Operating Systems: Principles and Practice Cpr E 308.
Introduction to Operating Systems J. H. Wang Sep. 15, 2010.
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Distributed systems [Fall 2015] G Lec 1: Course Introduction.
CSCD 330 Network Programming Winter 2015 Lecture 1 - Course Details.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois at.
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Introduction to Operating Systems J. H. Wang Sep. 13, 2013.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
Copyright ©: Nahrstedt, Angrave, Abdelzaher, Caccamo1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois.
CSI 3131 Summer 2016 Principles of Operating Systems Instructor: Dr. Nathalie Japkowicz Office: STE 5029 Office Hours: n In.
Introduction to Operating System
Introduction to Operating Systems
Welcome to SSE3044 Operating Systems!
CMSC 621: Advanced Operating Systems Advanced Operating Systems
Networking CS 3470, Section 1 Sarah Diesburg
E 96 Introduction to Engineering Design Peter Reiher UCLA
Theory and Practice of Web Technology
CS533 Concepts of Operating Systems Class 1
Lecture Note 0: Course Introduction
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture Note 0: Course Introduction
CSCD 330 Network Programming Spring
Andy Wang Operating Systems COP 4610 / CGS 5765
CGS 3763 Operating Systems Concepts Spring 2013
Andy Wang Operating Systems COP 4610 / CGS 5765
CSCD 330 Network Programming Spring
Andy Wang Operating Systems COP 4610 / CGS 5765
Systems Programming University of Ilam
First Semester 1439/1440 Welcome 
Andy Wang Operating Systems COP 4610 / CGS 5765
CSCD 330 Network Programming Spring
Lecture Note 0: Course Introduction
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE.4810/EECE.5730 Operating Systems
Sarah Diesburg Operating Systems CS 3430
CS533 Concepts of Operating Systems Class 1
Presentation transcript:

Introduction Welcome to ECE353

About the Instructor Instructor – Ashvin Goel Contact information Email: ashvin@eecg.toronto.edu Good way to contact me Webpage: http://www.eecg.toronto.edu/~ashvin Office: SF2001B Office Hour: Fri, 2-3pm, starting next week Research Interests Operating systems

What is an Operating System? Discuss what is an OS

What is an Operating System? Layer of software between hardware and applications Application is usually dedicated to a single task OS serves all applications, also called systems software OS manages h/w resources, providing Abstraction OS simplifies interface to hardware (e.g., access disk as files) What problems occur otherwise? Isolation and security OS isolates applications from each other, itself and hardware OS isolates users from each other What resources are being managed? What resources are being managed? Physical hardware on various types of devices, including desktops, servers, smartphones, embedded systems (QNX), routers, (Cisco network OS) We will see more examples later

Aren’t Operating Systems Dead? The OS I use has already been written, I doubt it will be my job to write another one Why should I study operating systems as an undergraduate? Haven’t OS developers figured everything already? What more is there to do?

Why Study Operating Systems? Studying OS design IS studying design of large software systems … its fun too? OS hacking will make you a better programmer/thinker OS is really large (Windows is 50 million lines+) OS manages concurrency Concurrency leads to interesting programming challenges Interesting challenges can lead to deep thoughts, wisdom? OS manages raw hardware Programming raw hardware is challenging: timing dependent behavior, undocumented behavior, h/w bugs OS must be efficient Applications can use resources maximally OS fails  machine fails Basis of system security, helps focus on reliability, availability

Why Won’t Operating Systems Go Away? Consider the design of MP3 player Involves many OS issues: OS implements file system for storing music files, reads music from disc and buffers it in memory, controls volume, display, wireless network access, communication with PC Operating system ideas applicable to all large application software … why? Virtualization software (e.g., vmware, kvm), manages virtual machine “hardware” Batch processing software (e.g., Hadoop) manages cluster Cloud software (e.g., Amazon S3, Google drive) manages geographically distributed hardware Browser manages? Why OS ideas applicable: because all large application software manage resources

OS in the News nytimes.com/2014/08/26/technology/26iht-chinatech26.html China Developing an Operating System to Take on Microsoft, Google and Apple http://fortune.com/tag/mobile-operating-system/ Rivals to Google’s  Android and Apple’s iOS operating systems have emerged in Asia, suggesting that a fierce global war over dominance in mobile computing is imminent The first contender for shaking up the world’s $341.4-billion mobile handset market is the China Operating System (COS), developed jointly by the Chinese Academy of Sciences and … The second up-and-comer is Tizen, developed by South Korean electronics giant Samsung with … Samsung not only wants Tizen to become as big a brand name as Google’s Android and Apple’s iOS, it also wants to see its software used in cars, smart appliances, and televisions.

Goals of the Course Learn about operating systems Understand the principles behind the design of an OS Understand the requirements, and challenges Space of possible solutions Build simple software that helps clarify OS concepts Real systems are more difficult to build than to explain The devil is often in the details Other benefits Gain significant implementation and debugging experience Learn to use software management tools

Course Contents Introduction to OS concepts Threads and processes Synchronization and concurrency Memory management, virtual memory Disk management and file systems Time permitting Atomicity and consistency Virtualization Intro to cloud computing

Lab Assignments There will be 5-6 labs in the course Labs will focus on learning OS concepts Lab 1: Review of C, simple data structures Lab 2: Cooperative Threads Lab 3: Preemptive Threads (builds on Lab 2) Lab 4: Concurrent Web Server Lab 5: Caching Web Server (builds on Lab 4) Lab 6: Undecided

What to Expect From Lab Assignments Expect to spend a lot of time on the lab assignments The labs give specifications, not implementations Allows for imagination Allows for errors and frustration It will be good to think of your design, before you code Assume that you will do the design/coding outside lab hours You will work individually for the lab assignments Can’t complain about partners inactivity! 13

Suggested Textbooks Modern Operating Systems, 3nd Edition A. Tannenbaum Operating System Concepts, 8th Edition A. Silberschatz, P. Galvin, G. Gagne Principles of Computer System Design J. Saltzer, M. Frans Kaashoek

Class Web Site Class web site available from instructor’s home page http://www.eecg.toronto.edu/~ashvin/courses/ece344/current Provides course outline, instructor’s lecture notes, lab info Piazza web site Announcements Forum UoT Portal Past exams Grades

Grading Labs - 25% Mid-term - 25% Final - 50% Policies Location: SF2202, SF3202 Date: Wed, Oct 29 Time: 18:30-19:45 Final - 50% Policies No extensions to deadlines Questions should be addressed on Piazza web site Read course webpage

About the Instructor Instructor – Ashvin Goel Contact information Email: ashvin@eecg.toronto.edu Good way to contact me Webpage: http://www.eecg.toronto.edu/~ashvin Office: SF2001B Office Hour: Fri, 2-3pm