SSE3044: Operating Systems

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

CSE3008: Operating Systems. Computer Systems Laboratory Sungkyunkwan University

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

SOA - Advanced Operating Systems

CS 470G Introduction to Operating Systems

Spring 2017 :: CSE 506. Introduction. Nima Honarmand

Introduction to System Programming Course 2015 Spring Euiseong Seo

Operating Systems, Spring 2015 Course Syllabus

Course and Unix Intro

CS342 Operating Systems

EEE3050 Theory on Computer Architectures (Spring 2017) Prof. Jinkyu Jeong HW2 TA 이규선 (GYUSUN LEE) / 안민우 (MINWOO AHN) Computer Systems Laboratory

ESET 349 Microcontroller Architecture, Fall 2018

ESET 369 Embedded Systems Software, Spring 2018

COURSE OVERVIEW & OPERATING SYSTEMS CONCEPT Operating Systems Design Euiseong Seo

ESET 369 Embedded Systems Software, Fall 2017

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

CSC 111 Introduction to Computer Science (Section C)

Welcome! COMS 4118 Opera3ng Systems I Spring 2018

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

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

CS 0449 Intro to Systems Software Fall Term: 2181

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

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

Introduction to Computer Systems

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

CS 326: Operating Systems. Lecture 1

Project #1: NAND Simulator

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

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

CSci Introduction to Operating Systems. Administrivia, Intro

Introduction to Computer Systems

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

AE Computer Programming for Aerospace Engineers

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

: Computer Architecture

Syllabus CSCI 405 Operating Systems Fall 2018

INF 315E Introduction to Databases School of Information Fall 2015

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

Practical Programming Methodology

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Programming Languages CSCE

EECE 321: Computer Organization

CSCI 201L Syllabus Principles of Software Development Spring 2018

A: 90% - 100% B: 80% - <90% C: 70% - <80% D: 60% - <70% F: < 60% Important Dates:

CMSC433 - Programming Language Technologies and Paradigms. Introduction

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

programming exercises.

New Undergraduate Course Proposal Form

CTP203 Operating Systems Syllabus

Welcome to CSE 4300! Spring 2018

Introduction to Computer Systems

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

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

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

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

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

TEACHING & ASSESSMENT (T & A) PLAN College of Economics Management and Information Systems Department of Information Systems

Programming 1. Outline (111) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

Web Programming Fall 2011

CSC 280 Operating System Principles

Operating System Design

Introduction to Programming

COMP-202A: Introduction to Computing 1

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

EE3315 Internet Technology EE3315 Internet Technology Overview Slide 1

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

Introduction to Basis and Practice in Programming

CSC 634: Networks Programming

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web

Introduction to Data Structures

Introduction to UNIX

CFRS : Kernel Forensics and Analysis

Introduction to Computer Systems

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

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

CSCI 4250/6250 Fall 2013 Computer and Network Security. Instructor: Prof. Roberto Perdisci

Introduction to the OpenSSD Jasmine Platform

Web Programming Spring 2010

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

University of Asia Pacific (UAP) Department of Computer Science and Engineering (CSE)

CS 241 Data Organization using C

CIS Computer Concepts & Programming

Syllabus of ENPM 691: Secure Programming in C

EECE.2160: ECE Application Programming Spring 2017

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

CS240: Programming in C

CSCE 206: Structured Programming in C

CS 471 Networking and Distributed Operating Systems

ECE 3574: Applied Software Design

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

Course Name: Computer Vision Course Code: IT444

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

32549/31242 Advanced Internet Programming

Introduction to Operating Systems

Cleveland State University

EEC-484/584 Computer Networks

Compilers for Modern Architectures Course Syllabus, Spring 2015

Comp 104: Operating Systems Concepts

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

Operating Systems. Minati De. Lecture 1: Introduction. Department of Mathematics, Indian Institute of Technology Delhi, India.

Transcription:

SSE3044: Operating Systems Spring 2018 Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu)

Introduction Schedule 13:30 14:45 (Tuesday) 15:00 16:15 (Thursday) Lecture room: #400118, Semiconductor Bldg. Course homepage http://csl.skku.edu/sse3044s18/ Lecture slides, announcements, exam scores, projects, etc. Don t waste your time in i-campus SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 2

About Me Jinkyu Jeong Assistant professor @ SSE and SW Dept. Computer Systems laboratory Research area Operating systems, storage systems, mobile systems, machine virtualization, Email: jinkyu@skku.edu URL: http://csl.skku.edu/people/jinkyu Tel: 031-290-7692 Office: Semiconductor bldg. #400510 (5 th floor) Office hours: Monday & Wednesday Email contact is preferred SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 3

(Awesome) TAs Gyusun Lee ( ) Email: lgs0409@naver.com Office: #400509 in Semiconductor Bldg. Minwoo Ahn ( ) Email: minwoo.ahn@csl.skku.edu Office: #400509 in Semiconductor Bldg. SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 4

What is OS? Computer systems internals SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 5

Why Do We Learn OS? To graduate? To make a better OS or system Functionality Performance/cost Reliability Energy efficiency To make a new hardware up and running To design OS-aware hardware To understand computer systems better Just for fun SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 6

System Software Track (2018~) 1 학년 2 학년 3 학년 4 학년 1 학기 2 학기 1 학기 2 학기 1 학기 2 학기 1 학기 2 학기 전자기학 1 논리회로 성균프레시맨세미나 창의적공학설계 컴퓨터시스템 개론 논리회로설계실험 반도체물리 기초전기회로1 (= 전기회로1) 기초전기회로2 시스템 SW 실습 2 컴퓨터구조개론 마이크로전자회로 1 시스템운영체제 마이크로프로세서 마이크로프로세서실험 디지털시스템설계 컴파일러설계 컴퓨터네트웍개론 임베디드 시스템설계 반도체캡스톤설계 멀티코어시스템 정보보호개요 임베디드시스템실습 운영체제프로젝트 데이터베이스프로젝트 SoC 설계 공학수학 1 공학수학 2 신호와시스템 기계학습개론 공학컴퓨터프로그래밍 프로그래밍기초와실습 문제해결방법 자료구조및알고리즘 컴퓨터그래픽스 이산수학 시스템 SW 실습 1 선형대수학 데이터베이스 인공지능개론 소프트웨어공학개론 시스템시뮬레이션개론 반도체현장실습 1 시스템 SW 실습 3 SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 7

Prerequisites Required courses Introduction to Computer Systems SSE2030, CSE2003, or SWE2001 System (Unix) Programming SSE2033, SWE2007, ICE2015, or CSE3044 Computer Architecture ICE3003, SWE3005, or EEE3050 Required skills Fluent C programming skills Intel x86 architecture & assembly programming Basic knowledge of Unix/Linux systems Reading a large, complex program SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 8

Textbook Operating Systems: Three Easy Pieces Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau Arpaci-Dusseau Books September 2015 (ver. 0.91) Free Online Book at http://ostep.org Read Remzi's great article at http://from-a-to-remzi.blogspot.kr/2014/01/the-case-for-free-online-books-fobs.html SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 9

Why Three Pieces? " as Operating Systems are about half as hard as Physics." A Dialogue on the Book Chap. 1 SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 10

Old Textbook Operating System Concepts 9th Edition Written by A. Silberschatz, P. B. Galvin and G. Gagne Published by Wiley & Sons Inc. 2014 http://www.os-book.com SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 11

References (1) Operating Systems: Internals and Design Principles (8 th ed.) William Stallings Prentice Hall, 2014 Modern Operating Systems (4 th ed) Andrew S. Tanenbaum, Prentice Hall, 2014 SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 12

References (2) For Linux: Understanding the Linux Kernel (3 rd ed.) D. Bovet and M. Cesati, O Reilly & Associates, 2015 For Windows: Windows Internals (6 th ed.) Mark E. Russinovich, David A. Solomon, and Alex Ionescu, Microsoft Press, 2012 For Solaris: Solaris Internals Richard McDougall and Jim Mauro Sun Microsystems, 2001 SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 13

Course Plan Lectures General operating system concepts Case study: Linux, xv6 Hands-on projects Using xv6 instructional OS SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 14

Lecture Topics Virtualization Processes CPU scheduling Virtual memory Concurrency Threads Synchronization Persistence Storage File systems SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 15

xv6 Project 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 SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 16

Project Plan (1) Initially, the source tree of xv6 has skeleton codes Do nothing but testing the functionality You are supposed to fill in the empty code to provide following features We are preparing 4~5 projects SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 17

Project Plan (2) Weekly Lab session A separate class with the TA (mandatory) Project announcement Q&A Hints & helps Oral tests Code review SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 18

Class Policies (1) Grading system Class attendance: 10% Exams: 35% Midterm: 15% Final: 20% Projects: 55% Subject to change Class attendance policy If you miss any one of the exams, you will fail this course No lateness is allowed Up to four absences will be tolerated SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 19

Class Policies (3) 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 and report to dept. chair Ask helps to your TA if you experience any difficulty SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 21

Summary You are now taking the most challenging course in the system software track This semester will be very tough! Keys to success Read textbook exhaustively Think, think, think Begin your project assignments as early as possible SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 22

Questions? SSE3044: Operating Systems, Spring 2018, Jinkyu Jeong (jinkyu@skku.edu) 23