sse3044: operating systemscsl.skku.edu/uploads/sse3044f11/0-sse3044.pdf · 기초전기회로1...

Post on 21-Feb-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SSE3044:

Operating Systems

Jin-Soo Kim (jinsookim@skku.edu)

Computer Systems Laboratory

Sungkyunkwan University

http://csl.skku.edu

2 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Introduction

Schedule

• 13:30 – 14:45 (Mon) 16:30 – 17:45 (Wed)

• Lecture room #400112 (Semiconductor Bldg.)

Course homepage

• http://csl.skku.edu/SSE3044F11/

3 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

About Me

Jin-Soo Kim

• Associate Professor @ SSE & SW & CE Dept.

• Computer Systems Laboratory

• Office: Semiconductor Bldg. #400630 (6th floor)

• Email: jinsookim@skku.edu

• URL: http://csl.skku.edu/jinsoo

• Tel: 031-299-4593

• Office hours: Monday & Wednesday

• The best way to contact me is by email.

4 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

System Software Track

문제해결방법 자료구조및 알고리즘

컴퓨터그래픽스* 인공지능*

논리회로 컴퓨터시스템

개론 컴퓨터구조

프로그래밍 언어와컴파일러

멀티코어시스템

논리회로설계실험 마이크로프로세서 컴퓨터

네트워크 이동컴퓨팅

공학수학1 마이크로프로세서

실험 시스템

운영체제 임베디드시스템

설계 임베디드시스템

실습

전자기학1 디지털시스템 SoC설계

기초전기회로1 기초전기회로2 소프트웨어공학* 시스템시뮬레이션

기초전기회로실험 정보보호개요* 데이터베이스*

객체지향시스템 설계*

이산수학§

5 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

What is OS?

Computer systems internals

CPU Mem I/O Devices

Operating Systems

Hardware

Software

Architecture

Application

6 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

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!

7 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Prerequisites

Prerequisites

• C programming skills

• Basic knowledge of UNIX/Linux systems

• SSE2030 (Introduction to Computer Systems) or CSE2003 (System Programming)

• ICE3003 (Computer Architecture): Recommended

8 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Textbook

Operating System Concepts

• Avi Silberschatz, Peter B. Galvin, and Greg Gagne,

8th Edition,

John Wiley & Sons, Inc.

2008.

9 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

References (1)

For General Operating System Concepts:

• Modern Operating Systems

(Second Edition)

Andrew S. Tanenbaum,

Prentice-Hall, 2001.

10 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

References (2)

For Linux:

• Understanding the Linux Kernel

(Third Edition)

D. Bovet and M. Cesati,

O’Reilly & Associates, 2005.

11 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

References (3)

For Windows:

• Windows Internals

(Fifth Edition)

Mark E. Russinovich and David A. Solomon,

Microsoft Press, 2009.

12 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

References (4)

For Solaris:

• Solaris Internals

Richard McDougall and Jim Mauro,

Sun Microsystems, 2001.

13 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

References (5)

For Introduction to Computer Systems:

• Computer Systems: A

Programmer’s Perspective

Randal E. Bryant and David R. O’Hallaron, Second Edition,

Prentice-Hall, Inc. 2010.

14 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Course Plan

Lectures

• General operating system concepts

• Case studies – Linux

– Microsoft Windows

– Solaris

Hands-on projects

• Using Pintos instructional OS

15 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Lectures: Topics

Operating system structure overview

Processes and threads

CPU scheduling

Synchronization

Deadlocks

Memory management

Virtual memory

I/O systems

Storage

File systems

16 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Projects: Pintos

What is Pintos?

• An instructional operating system

• Developed by Ben Pfaff @ Stanford U.

• A real, bootable OS for 80x86 architecture – Run on a regular IBM-compatible PC

or an x86 simulator

• The original structure and form was inspired by the Nachos instructional OS from UC Berkeley (Java-based)

• A few of the sources files are derived from code used in the MIT’s advanced operating systems course

• Written in C language (with minimal assembly code)

17 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Project Schedule

Project 0

• Warming-up project (2 weeks, ~10/1)

Project 1

• Threads (2 weeks, ~10/15)

Project 2

• User programs (3 weeks, ~11/12)

Project 3

• Virtual memory (4 weeks, ~12/10)

This schedule is subject to change

18 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Project Policies

Team project (except Project 0)

• Two students in a team

Slip days

• Each team has 5 “slip” days

• 20% off per day after slip days exhausted

Project grading

• Automatic grader in Pintos

• Demos & oral tests

Lab session

19 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Class Policies (1)

Grading Policy (subject to change)

• Exams: 35%

• Projects: 55%

• Class attendance: 10%

20 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Class Policies (2)

Class Attendance Policy • If you miss one or both of exams, you will fail this

course.

• 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 unexcused absences and for excused absences as well

• There will be a bonus for students who attend all the classes.

21 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

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!

22 SSE3044: Operating Systems | Fall 2011 | Jin-Soo Kim (jinsookim@skku.edu)

Questions?

top related