SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Similar documents
SSE3044: Operating Systems

CSE3008: Operating Systems. Computer Systems Laboratory Sungkyunkwan University

ICE3003: Computer Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

CS 470G Introduction to Operating Systems

Introduction to System Programming Course 2015 Spring Euiseong Seo

: Computer Architecture

CSC 256/456: Operating Systems. Introduction. John Criswell! University of Rochester

CS342 Operating Systems

Introduction to Computer Systems

SOA - Advanced Operating Systems

Operating Systems, Spring 2015 Course Syllabus

Spring 2017 :: CSE 506. Introduction. Nima Honarmand

Introduction to Computer Systems

CSC 280 Operating System Principles

Introduction to Computer Systems

Introduction to Computer Systems

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg

Syllabus CSCI 405 Operating Systems Fall 2018

ESET 349 Microcontroller Architecture, Fall 2018

CSC 111 Introduction to Computer Science (Section C)

CS 326: Operating Systems. Lecture 1

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger

ESET 369 Embedded Systems Software, Fall 2017

:11 PM. This course will have a significant project component. Lecture time will be used primarily for:

CMSC433 - Programming Language Technologies and Paradigms. Introduction

CSci Introduction to Operating Systems. Administrivia, Intro

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

ESET 369 Embedded Systems Software, Spring 2018

COMPSCI: Principles of Operating Systems. Lecture 1: Introduction. Anton Burtsev January, 2017

Welcome! COMS 4118 Opera3ng Systems I Spring 2018

Course and Unix Intro

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

COURSE OVERVIEW & OPERATING SYSTEMS CONCEPT Operating Systems Design Euiseong Seo

Syllabus of ENPM 691: Secure Programming in C

EECE 321: Computer Organization

Programming Languages CSCE

Computer Science Department

Practical Programming Methodology

Unix API Books. Linux Kernel Books. Assignments and Exams. Grading for CSC 256. Operating Systems 8/31/2018. CSC 256/456 Fall

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Fall 2012

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN

Frequently asked questions from the previous class survey

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

CSci 4211: Introduction to Computer Networks. Time: Monday and Wednesday 2:30 to 3:45 pm Location: Smith Hall 231 Fall 2018, 3 Credits

Operating System Concepts By Abraham Silberschatz, Peter B. Galvin READ ONLINE

CTP203 Operating Systems Syllabus

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Spring 2015

CIS Operating Systems Introduction. Professor Qiang Zeng

Introduction. 1990s. UNSW/NICTA startup OK Labs Timeline. Operating UNSW. John Lions (19 January December 1998)

Chapter 2. OS Overview

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Introduction to Pintos

Operating Systems. P. Healy. Spring CS1-08 Computer Science Bldg. tel: Administrive Details Introduction

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

Operating System Design

Welcome to CSE 4300! Spring 2018

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

ECE Object-Oriented Programming using C++ and Java

CSCI 201L Syllabus Principles of Software Development Spring 2018

Syllabus for HPE 120 Dance Aerobic Proficiency 0.0 Credit Hour Spring 2012

Introduction to Data Structures

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

Operating System Labs. Yuanbin Wu

Andrew S. Tanenbaum, Operating Systems, Design and Implementation, (Second Edition), Prentice Hall.

Syllabus for CSC 455 Database Systems 3 Credit Hours Spring 2012

Course Name: Computer Vision Course Code: IT444

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER APPLICATIONS COURSE PLAN

COMP 321: Introduction to Computer Systems

CSE506: Operating Systems CSE 506: Operating Systems

Operating System Labs. Yuanbin Wu

Syllabus for HPE 451 Directed Study 1-3 Credit Hours Spring 2014

Introduction to Computer Systems

EE3315 Internet Technology EE3315 Internet Technology Overview Slide 1

Processes & Threads. Recap of the Last Class. Layered Structure. Virtual Machines. CS 256/456 Dept. of Computer Science, University of Rochester

CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers

Teaching and Examination Scheme: PAPER HRS TH TU PR TH PR OR TW TOTAL

Introduction. 1990s. UNSW/NICTA startup OK Labs Timeline. 2000s. Operating UNSW. John Lions (19 January December 1998)

programming exercises.

CS370: System Architecture & Software [Fall 2014] Dept. Of Computer Science, Colorado State University

Computer Science Technology Department

Syllabus for HPE 021 Advanced Golf and Fitness 1 Credit Hour Fall 2014

CSCI 6312 Advanced Internet Programming

SIMULATION-BASED COMPARISON OF SCHEDULING TECHNIQUES IN MULTIPROGRAMMING OPERATING SYSTEMS ON SINGLE AND MULTI-CORE PROCESSORS *

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

CS370: Operating Systems [Spring 2016] Dept. Of Computer Science, Colorado State University

Welcome to CS 241 Systems Programming at Illinois

Introduction to Programming

San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

CS510 Operating System Foundations. Jonathan Walpole

Introduction to UNIX

Introduction to Computer Systems

CONCORDIA UNIVERSITY DEPARTMENT OF CHEMISTRY AND BIOCHEMISTRY CHEM 293 SPECTROSCOPY AND STRUCTURE OF ORGANIC COMPOUNDS. SYLLABUS Winter 2018

INF 315E Introduction to Databases School of Information Fall 2015

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

CS 0449 Intro to Systems Software Fall Term: 2181

Transcription:

SWE3004: Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

Introduction Schedule 16:30 17:45 (Monday), 13:30 14:45 (Wednesday) Lecture room #330110, Semiconductor Bldg. Course homepage http://csl.skku.edu/swe3004s16/ Lecture slides, announcements, exam scores, projects, Don t waste your time in i-campus 2

About me Jin-Soo Kim ( 김진수 ) Professor @ SW & CE & SSE Dept. Computer Systems Laboratory Operating systems, storage systems, embedded systems, distributed systems, Email: jinsookim@skku.edu URL: http://csl.skku.edu/jinsoo Tel: 031-299-4593 Office: Corp. Collaboration Center #85566 (5th floor) Office hours: Monday & Wednesday The best way to contact me is by email 3

What is an OS? Computer systems internals Software Application System calls Operating Systems Architecture Hardware CPU Mem I/O Devices 4

To graduate? Why do we learn OS? To make a new hardware up and running To make a better OS or system Functionality Performance/Cost Reliability Energy efficiency To design OS-aware hardware To understand computer systems better Just for fun! 5

Where are we? 6

Prerequisites Courses System Programming or equivalents: SWE2001, CSE2003, or SSE2030 Unix System Programming Experiment or equivalents: SWE2007, CSE3044, or SSE2033 Computer Architecture: ICE3003 Required skills Fluent C programming Intel x86 architecture & assembly programming Basic knowledge of Unix/Linux systems Reading a large, complex program 7

Textbook Operating Systems: Three Easy Pieces Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau Arpaci-Dusseau Books March 2015 (Version 0.90) Available (with several options) at http://pages.cs.wisc.edu/~remzi/ostep Read Remzi s great article at http://from-a-to-remzi.blogspot.com/2014/01/the-case-for-free-online-books-fobs.html 8

Why Three Pieces? as Operating Systems are about half as hard as Physics. Chap. 1 A Dialogue on the Book 9

Old Textbook Operating System Concepts Avi Silberschatz, Peter B. Galvin, and Greg Gagne 9th Edition, 2014 John Wiley & Sons, Inc. http://www.os-book.com 10

Reference: General OS Modern Operating Systems Andrew S. Tanenbaum Second Edition, 2001 Prentice-Hall 11

Reference: Linux Linux Kernel Development Robert Love Third Edition, 2010 Pearson Education, Inc. 12

Reference: Windows Windows Internals (Part 1 & Part 2) Mark E. Russinovich, David A. Solomon, and Alex Ionescu Sixth Edition, 2012 Microsoft Press 13

Solaris Internals Richard McDougall and Jim Mauro Sun Microsystems, 2001 Reference: Solaris 14

Reference: Computer Systems Computer Systems: A Programmer s Perspective Randal E. Bryant and David R. O Hallaron Third Edition, 2015 Pearson Education, Inc. http://csapp.cs.cmu.edu 15

Course Plan Lectures General operating system concepts Case study: Linux, xv6 Hands-on projects Using xv6 instructional OS 16

Virtualization Processes CPU scheduling Virtual memory Concurrency Threads Synchronization Persistence Storage File systems Lectures: Topics 17

Projects: xv6 A teaching OS developed by MIT Port of the Sixth Edition Unix (v6) in ANSI C Runs on multi-core x86 systems Why moving on to xv6 (from Pintos)? Code inherited from a real, historical OS! Includes working user-level programs and libraries Easier to install on modern Linux systems Easier to extend Easier to understand modern OSes such as Linux 18

Project Plan We are preparing 4 ~ 5 projects These will be individual projects You can use up to 5 slip days Weekly lab session A separate class with a TA (mandatory) Project announcement Q & A Hints & helps Code review Oral tests, 19

Class attendance: 10% Exams: 35% Projects: 55% Grading Policy Subject to change 20

Class Attendance Policy If you miss any of exams, you will fail this course We will have assigned seating. Seat assignment will be renewed after midterm exam Do not be late! You should be present in the lecture room when I take class attendance You can miss the class up to four times without any penalty For excused absences as well There will be a (small) bonus for students who attend all the classes 21

Cheating Policy What is cheating? Copying another student s solution (or one from the Internet) and submitting it as your own Allowing another student to copy your solution What is NOT cheating? Helping others use systems or tools Helping others with high-level design issues Helping others debug their code Penalty for cheating Severe penalty on the grade (F) and report to dept. chair Ask helps to your TA if you experience any difficulty! 22

Summary This is the semester that we re moving on to a brand new textbook and more exciting projects It will be a (very) tough semester for you and me Please make sure if you re ready to take this course Happy hacking! 23