23
SWE3004: Operating Systems Jin-Soo Kim ([email protected]) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu

SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

SWE3004:

Operating Systems

Jin-Soo Kim ([email protected])

Computer Systems Laboratory

Sungkyunkwan University

http://csl.skku.edu

Page 2: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

2SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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

Page 3: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

3SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

About me

▪ Jin-Soo Kim (김진수)

• Professor @ SW & CE & SSE Dept.

• Computer Systems Laboratory

• Operating systems, storage systems, embedded systems,

distributed systems, …

• Email: [email protected]

• 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

Page 4: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

4SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

What is an OS?

▪ Computer systems internals

CPU MemI/O Devices

Operating Systems

Hardware

Software

Architecture

Application

System calls

Page 5: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

5SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Why do we learn OS?

▪ To graduate?

▪ 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!

Page 6: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

6SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Where are we?

Page 7: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

7SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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

Page 8: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

8SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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

Page 9: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

9SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Why Three Pieces?

“… as Operating Systems are

about half as hard as Physics. ”

Chap. 1

A Dialogue on the Book

Page 10: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

10SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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

Page 11: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

11SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Reference: General OS

▪ Modern Operating Systems

• Andrew S. Tanenbaum

• Second Edition, 2001

• Prentice-Hall

Page 12: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

12SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Reference: Linux

▪ Linux Kernel Development

• Robert Love

• Third Edition, 2010

• Pearson Education, Inc.

Page 13: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

13SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Reference: Windows

▪ Windows Internals (Part 1 & Part 2)

• Mark E. Russinovich,

David A. Solomon, and

Alex Ionescu

• Sixth Edition, 2012

• Microsoft Press

Page 14: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

14SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Reference: Solaris

▪ Solaris Internals

• Richard McDougall and

Jim Mauro

• Sun Microsystems, 2001

Page 15: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

15SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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

Page 16: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

16SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Course Plan

▪ Lectures

• General operating system concepts

• Case study: Linux, xv6

▪ Hands-on projects

• Using xv6 instructional OS

Page 17: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

17SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Lectures: Topics

▪ Virtualization

• Processes

• CPU scheduling

• Virtual memory

▪ Concurrency

• Threads

• Synchronization

▪ Persistence

• Storage

• File systems

Page 18: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

18SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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

Page 19: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

19SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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, …

Page 20: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

20SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

Grading Policy

▪ Class attendance: 10%

▪ Exams: 35%

▪ Projects: 55%

▪ Subject to change

Page 21: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

21SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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

Page 22: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

22SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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!

Page 23: SWE3004: Operating Systems - AndroBenchcsl.skku.edu/uploads/SWE3004S16/0-swe3004.pdfWindows Internals (Part 1 & Part 2) •Mark E. Russinovich, David A. Solomon, and Alex Ionescu •Sixth

23SWE3004: Operating Systems | Spring 2016 | Jin-Soo Kim ([email protected])

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!