Operating Systems ECE344 Introduction Ding Yuan ECE Dept., University of Toronto slides courtesy: Ashvin Goel, Yuanyuan.

Slides:



Advertisements
Similar presentations
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
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
Operating Systems CS451 Brian Bershad
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004.
Operating Systems Vivek Pai Lecture 1 Sep 12, 2002.
CS 153 Design of Operating Systems Spring 2015 Lecture 1: Course Introduction Instructor: Zhiyun Qian Slides modified from Harsha Madhyvasta and Nael Abu-Ghazaleh.
EET 4250: Microcomputer Architecture Fall 2009 William Acosta URL:
CSCD 330 Network Programming Winter 2012 Lecture 1 - Course Details.
ECS15: Introduction to Computers Fall 2013 Patrice Koehl
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Welcome to CS 115! Introduction to Programming. Class URL Please write this down!
Spring 2008 Mark Fontenot CSE Honors Principles of Computer Science I Note Set 1 1.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
EECE 310 Software Engineering Lecture 0: Course Orientation.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
Welcome to CS 115! Introduction to Programming. Class URL
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
CS 444 Introduction to Operating Systems
CSCD 330 Network Programming Fall/Winter/Spring 2014 Lecture 1 - Course Details.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
COP3502: Introduction to Computer Science Yashas Shankar.
Course Information Sarah Diesburg Operating Systems COP 4610.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Operating Systems Lecture 1 Jinyang Li. Class goals Understand how an OS works by studying its: –Design principles –Implementation realities Gain some.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
IST 210: Organization of Data
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Operating Systems ECE344 Ding Yuan Final Review Lecture 13: Final Review.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
CSCD 330 Network Programming Winter 2015 Lecture 1 - Course Details.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Data Structures and Algorithms in Java AlaaEddin 2012.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
GCSE Computing: A451 Computer Systems & Programming Topic 3 Software System Software (1) The Operating System.
Course Book Course Objective - The student will be able to describe various operating system concepts as they are applied to memory, process, file system.
System Software (1) The Operating System
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Introduction to Operating Systems Concepts
COMPSCI 110 Operating Systems
CSE 120 Principles of Operating
Introduction to Operating Systems
COMPSCI 110 Operating Systems
Course Information Mark Stanovich Principles of Operating Systems
Lecture Note 0: Course Introduction
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1340! Computing for scientists.
Welcome to CS 1010! Algorithmic Problem Solving.
COP 5611: Operating Systems
CSCD 330 Network Programming Spring
Welcome to CS 1301! Principles of Programming I.
CSCD 330 Network Programming Spring
CSE 451: Operating Systems Winter 2003 Lecture 1 Course Introduction
CSCD 330 Network Programming Spring
Lecture Note 0: Course Introduction
CSE 335: Operating Systems L-3 T-2 L-1 Course Introduction
Instructor: Xiuwen Liu Department of Computer Science
EECE.4810/EECE.5730 Operating Systems
CSE 451: Operating Systems Autumn 2003 Lecture 1 Course Introduction
Sarah Diesburg Operating Systems CS 3430
Lecture Topics: 11/1 Hand back midterms
CS201 – Course Expectations
Presentation transcript:

Operating Systems ECE344 Introduction Ding Yuan ECE Dept., University of Toronto slides courtesy: Ashvin Goel, Yuanyuan Zhou, Geoff Voelker

Content of this lecture Course information (personnel, policy, prerequisite, agenda, etc.) Why learning OS? What is an OS? What does it do? Summary 2 Ding Yuan, ECE344 Operating System

Why learning OS? Fulfill requirement? Operating System knowledge is important Which course is this? Software companies love OS students Most big software companies have system positions Academic research in OS is very influential 3 Ding Yuan, ECE344 Operating System

Goals of this course Understand operating system concepts How OS works, and more importantly, why? What are the reasons motivated each design? Basis for future learning Get hands dirty You will implement a real OS Hands-on problem solving skills! Face a problem, solve it, instead of come up with a theory and find applications 4 Ding Yuan, ECE344 Operating System

Personnel Instructor: Ding Yuan ( ) Office hour: 8:30 – 9:30 AM, Wednesdays Office: Sandford Fleming 2002E Homepage: TAs: David Lion, Yongle Zhang, Xu Zhao, others TBA 5 Ding Yuan, ECE344 Operating System

Prerequisite Programming experiences (e.g., ECE244) You will be programming in C Computer organizations (e.g., ECE243) What is an Instruction (e.g., load, store )? What is CPU? Memory? Registers? What is Stack? Stack pointer? What is Program Counter (PC)? 6 Ding Yuan, ECE344 Operating System

Course Contents Overview of computer hardware Threads and processes Synchronization and concurrency Scheduling Memory Management, Virtual Memory Disk Management and File Systems Advanced topics 7 Ding Yuan, ECE344 Operating System

Lab Assignments We will be using the OS161 system from Harvard Uses a simple MIPS emulator (sys161) Initially, we provide a barebones OS You write a simple Unix-like OS by the end of the course! Runs on Linux machines in UG Workstation Labs Can also download and install on any Linux machine 8 Ding Yuan, ECE344 Operating System

What to Expect From Lab Assignments Building an OS is difficult Perhaps the hardest lab in your undergraduate study OS: one of the hardest programs to write & debug Principles may sound easy, implementation is extremely hard The labs give specifications, not implementations “God (or devil) is in the detail” Hack into a large, unfamiliar code base and implement additional features You will spend a lot of time on the lab assignments Allows for imagination Allows for errors and frustration Lab instructions ask that you design well, before you code Assume that you will do the design/coding outside lab hours 9 Ding Yuan, ECE344 Operating System

But it is rewarding! Solid understanding of how an OS works Appreciations on the implementation efforts that make things work Technical capability Again: OS is one of the hardest programs to write and debug Quickly hack into unfamiliar code base You will work in groups of 2 for the lab assignments Make sure you know what your partner is implementing Learn to coordinate and be efficient Form your group by January 12 th, 11:59PM Send me with the subject “ECE344 group information” Ding Yuan, ECE344 Operating System 10

Suggested Textbooks Modern Operating Systems, 4 th Edition (Main textbook) Andrew S. Tanenbaum and Herbert Bos Operating Systems: Principles and Practice (Further reading) Thomas Anderson, Michael Dahlin 11 Ding Yuan, ECE344 Operating System

Communications Class web site Somewhere in the Internet, your job to find it Provides slides, agenda, grading policy, etc. All information regarding the labs Piazza (See course homepage) used for discussion Q/A & discussion with peers, TAs, prof Bonus marks: each instructor endorsed answer will get 1 bonus marks, maximum: 2 marks Encourage you to help others UoT Portal used for Grades only 12 Ding Yuan, ECE344 Operating System

Grading Exams Mid-term - 25% Final - 45% Assignments Labs - 30% Policies No extensions to deadlines 20% penalty per day submitted late 13 Ding Yuan, ECE344 Operating System

Exam Midterm Covers first half of class Final Covers second half of class + selected material from first part Project-related knowledge may be included in the exams So do your project and do NOT copy! 14 Ding Yuan, ECE344 Operating System

Cheating policy Academic integrity Your work in this class must be your own – we have zero tolerance policy towards cheating of any kind and any student who cheats will get a failing grade in the course Both the cheater and the student who aided the cheater will be held responsible for the cheating We have tools to detect software plagiarism 15 Ding Yuan, ECE344 Operating System

How NotTo pass ECE344 Do not come to lecture It’s nice out, the slides are online, and material in the book anyway TRUTH: Lecture material is the basis for exams It is much more efficient to learn through discussion Copy other people’s project It is cheating! How can you answer the questions in midterm or final exams? 16 Ding Yuan, ECE344 Operating System

How NotTo pass ECE344 (2) Do not ask questions in lecture, office hours, or piazza It’s scary, I don’t want to embarrass myself TRUTH: asking questions is the best way to clarify lecture material at the time it is being presented “There is no such things as stupid question…” Wait until the last couple of days to start a project The project cannot be done in the last few days Repeat: the project cannot be done in the last few days! 17 Ding Yuan, ECE344 Operating System

Before we start Any questions? Do you think this will be a hard class? 18 Ding Yuan, ECE344 Operating System

What is an OS? Anyone? Give a few names of an OS? Desktops? Smart phones? 19 Ding Yuan, ECE344 Operating System

What is an OS? “Code” that: Sits between programs & hardware Sits between different programs Sits between different users But what does it do? Managing the hardware resource Provide a clean set of interface to programs A good OS is a piece of software that normally you shouldn’t notice of its existence But you feel the pain if it goes wrong Real life analogy? Government 20 Ding Yuan, ECE344 Operating System

OS is… Software layer between hardware and applications The OS is “all the code that you didn’t have to write” to implement your application 21 Ding Yuan, ECE344 Operating System

An example comparing life with/without OS Life with an OS file = open (“test.txt”, O_WRONLY); write (file, “test”, 4); close (file); Life without an OS Blocks, platter, track, and sector Where is this file on disk? Which platter, track, and sectors? Code needs to change on a different system 22 Ding Yuan, ECE344 Operating System

OS and hardware The OS abstracts/controls/mediates access to hardware resources (what resources?) Computation (CPUs) Volatile storage (memory) and persistent storage (disk, etc.) Communication (network, modem, etc.) Input/output devices (keyboard, display, printer, etc.) 23 Ding Yuan, ECE344 Operating System

Benefits to Applications Simpler no tweaking device registers Device independent all disks look the same Portable same program runs on Windows95/98/ME/NT/2000/XP/Vista/Windows 7/Windows 8 Worry less about interference from other applications 24 Ding Yuan, ECE344 Operating System

What does an OS do? Resources Allocation Protection Reclamation Virtualization 25 Ding Yuan, ECE344 Operating System

What does an OS do? Resources Allocation Protection Reclamation Virtualization Finite resources Competing demands Examples: CPU Memory Disk Network 26 Ding Yuan, ECE344 Operating System

What does an OS do? Resources Allocation Protection Reclamation Virtualization You can’t hurt me, I can’t hurt you. Some degrees of safety and security 27 Ding Yuan, ECE344 Operating System

What does an OS do? Resources Allocation Protection Reclamation Virtualization The OS gives, The OS takes away Some times involun- tarily 28 Ding Yuan, ECE344 Operating System

What does an OS do? Resources Allocation Protection Reclamation Virtualization Illusion of infinite, private resources Memory vs. disk Time-shared CPU 29 Ding Yuan, ECE344 Operating System

Why you want to learn OS? Foundation to other software Databases, Browsers, Computational software, … … OS is one of the hardest software piece to write & debug Directly talks to hardware (very ugly interfaces) Abstract into clean interfaces They are BIG Lines of code: Windows Vista (2006): 50M (XP + 10M) Linux 3.6: 15.9 M Android 4.0: > 1M 30 Ding Yuan, ECE344 Operating System

Why you want to learn OS? Many OS concepts (e.g., protection, resource management) is needed in other places E.g., browser OS is used everywhere Your car is running on Linux/Windows 31 Ding Yuan, ECE344 Operating System

Before the next class Browse the course web Start thinking about partners for project groups Read chapter 1 See me up front if you have any questions Let the fun (or grind) begin! 32 Ding Yuan, ECE344 Operating System