TOP

운영체제(Operating System)

봄학기 2020

강의시간 및 장소: 13:30-14:45, 13:30-14:45 (전자정보103, 전자정보 103)

과목코드: CSE301-00, 전공필수, 3학점

Last Updated: 2020/03/02

 

1. 강의목표

 

운영체제의 기본원리와 개념을 이해하고 강의시간에 배운 내용 중 중요한 개념은 구현을 통하여 숙지한다.

 

2. 강의내용

 

본 강의는 운영체제의 기본 개념과 구성 및 서비스에 대해서 공부한 후, 프로세서 관리(프로세서와 쓰레드, CPU 스케쥴링, 프로세스 동기화, 교착상태), 저장장치 관리(메모리 관리, 가상메모리, 파일시스템), 입출력 시스템(I/O 시스템, 대용량 저장시스템), 분산시스템 및 보안에 대하여 다룬다. 또한, 이동 내장형 시스템, 유비쿼터스 컴퓨팅 시스템, 실시간 분산 시스템, 멀티미디어 시스템 등 같은 새로운 컴퓨팅을 지원하는 운영체제의 특징에 대해서도 학습한다.

 

3. 수강대상

 

본 강좌의 수강 대상은 학부 2, 3학년 학생을 대상으로 한다. 본 과목을 수강하려는 학생은 자료구조를 선수 과목으로 이수해야 하며, 시스템의 기초 지식을 보유하고(컴퓨터 구조), Term Project를 수행할 수 있도록 프로그래밍 구현 능력(C, C++, Java)을 보유하고 있어야 된다.

 

4. 교재 및 참고도서

 

설명: 설명: 설명: 설명: 설명: os_0-471-41743-2_small.jpg

[주교재]

Operating System Concepts, 8th Edition

A. Silberschatz,  P. Galvin, G. Gagne,

John Wiley & Sons, New York

2010

ISBN:978-0-470-23399-3

 

 

5. 담당 교수

 

성 명

소속 학과/부서

직위

이 승

경희대학교 전자정보학부 컴퓨터공학과

교수

 

TEL

Lab URL

E-mail

OFFICE

031) 201-2514

http://uclab.khu.ac.kr

sylee@oslab.khu.ac.kr

전자정보 신관313

 

6. 면담시간

 

(전화나 e-mail 사전 예약 요망)

 

7. 주별강의계획

 

강의주제

강의자료(PDF)

1

운영체제 개요(Introduction)

운영체제의 정의, 컴퓨팅시스템 구조, 운영체제 구조, 운영체제가 제공하는 서비스 종류 등에 대해서 다룬다.

DOWN

2

운영체제 구조

(Operating- System Structures)

컴퓨터 시스템의 입출력 구조, 저장장치 구조, 저장장치 계층 및 하드웨어 보호에 대해 설명하고 일반적인 시스템의 구조에 대해 다룬다. 또한 시스템 호출, 운영체제 구조, 가상머신 등에 대해서도 배운다.

DOWN

3

프로세스 컨셉 (Process Concept)

프로세스의 정의, 개념과 프로세스 간 통신 및 관리 기법 등에 대해 다룬다. 그리고 쓰레드에 대해서 다룬다.

DOWN

DOWN

4

프로세스 스케쥴링 (Process Scheduling)

중앙처리 장치에서 프로세스를 관리하는 여러가지 스케쥴링 기법에 대해 다룬다.

DOWN

5

프로세스 동기화 (Process Synchronization) I

여러 프로세스를 실행했을 때 프로세스간의 동기화 기법이 필요한 이유와 기본적인 개념 (상호배제, 임계영역, software 솔루션 및 HW 솔루션)에 대해 다룬다.

DOWN

6

프로세스 동기화 (Synchronization) II

프로세스간의 동기화 기법중 세마포어, 모니터 등에 대해 다룬다.

7

교착상태(Deadlocks)

교착상태가 일어나는 이유와 해결방법(Bankers 알고리즘) 등에 대해 다룬다.

DOWN

8

중간고사

 

9

기억장치 관리(Memory Management Strategies)

스와핑, 페이징, 세그먼테이션 등의 메모리 관리기법에 대해 다룬다.

DOWN

10

가상 메모리(Virtual Memory)

가상 메모리 개념, Demand Paging, 페이지 교체, Thrashing 등에 대해 다룬다.

DOWN

11

파일 시스템(File Systems)

파일시스템의 개념, 디렉토리, 파일공유 등과 파일시스템의 구현에 대해 다룬다.

DOWN

DOWN

12

입출력 시스템(I/O Systems)

하드웨어 I/O, 어플리케이션 I/O 인터페이스, 커널 I/O와 입출력 성능 등에 다룬다.

DOWN

13

보조기억장치(Secondary-Storage)

디스크 구조와 스케쥴링, 관리기법, 안전한 기억장치 구현 등에 대해 다룬다.

DOWN

14

분산 시스템(Distributed System)

UNIX 시스템, 네트워크 운영체제, 분산 운영체제, 유비쿼터스 컴퓨팅 운영체제들의 차이점을 다룬다. 그리고 분산 미들웨어에 대해도 다룬다.

DOWN

15

보호 및 보안 (Protection/Security)

운영체제에서 보안의 개념, 보안 방법 등에 대해 다룬다.

DOWN

16

기말고사

 

                                 

6-1. 추가 강의노트

 

Lecture

강의주제

강의자료

1

CONCURRENT PROCESSES

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

2

THE CRITICAL SECTION PROBLEM

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

3

 SEMAPHORES

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

4

 CONCURRENT PROGRAMMING

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

5

 CPU SCHEDULING & REAL-TIME SCHEDULING

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

6

Intoduction of Ubiquitous Computing

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

7

5min Talk 발표자료 양식

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

8

UNIX Chapter 1(시스템의 개관)

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

9

UNIX Chapter 2(커널의 개요)

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

10

UNIX Chapter 3(버퍼 캐쉬)

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

11

UNIX Chapter 4(파일의 내부표현)

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

12

UNIX Chapter 5(파일시스템을 위한 호출)

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

13

UNIX Chapter 6.1 ~ 6.4(프로세스의 구조)

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

14

UNIX Chapter 6.5 ~ 6.6(프로세스의 구조)

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

15

UNIX Chapter 7(프로세스 제어)

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

16

Ubicomputing

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

17

Multi Threading Model

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

18

Understanding Linux Kernel Schedulers

설명: 설명: 설명: 설명: 설명: C:\Users\BangGae\Desktop\images\icon_pdf.gif

19

프로젝트 기초 (Project Basic)

[DOWN]

20

프로젝트 #1 (Project #1)

21

프로젝트 #2 (Project #2)

22

프로젝트 #3 (Project #3)

23

과제 #1 (Homework #1)

24

과제 #2 (Homework #2)

25

과제 #3 (Homework #3)

26

과제 #4 (Homework #4)

27

OS 수업 계획

[DOWN]

28

OS 실습 계획

[DOWN]

 

위의 강의내용은 수업 진도에 따라 일부 보완되거나 수정될 있다.

 

8. 평가계획

 

평가개요

중간/기말고사의 학습평가 결과를 평가요소로 하며, Term Project 프로그래밍 과제로 수업에서 배운 학습내용을 이해했는지에 대한 평가를 수행한다.

성적 반영 비율

중간/기말: 각각 30%, 출석 : 5%, Term Project 및 과제: 35%

요소별 상세 계획

시험

중간/기말 시험은 각각 30%의 비율로 반영한다.

출석

수업시간 5분전에 출석을 부른다. 수업의 참여는 과목을 이해하는데 매우 중요하다.

Term Project

프로그래밍 과제

Term Project 목적은 운영체제의 중요한 개념을 실제 구현해 봄으로써, 운영체제의 내부 작동에 대한 이해를 돕기 위함이다.

프로그래밍 과제의 목적은 수업시간에 배운 이론이나 개념을 실제로 구현(시뮬레이션 수준) 봄으로써 운영체제의 작동 원리를 정확하게 이해시키려는데 있으며, 과정을 통하여 프로그래밍 구현 기술을 향상시키는 부수적인 목적도 가지고 있다.

 

9. 조교 정보

 

성 명

소속 학과/부서

직위

방재훈

경희대학교 컴퓨터공학과

연구박사

 

TEL

URL

E-mail

OFFICE

-

jhb@oslab.khu.ac.kr

031-201-2950

 

설명: 설명: 설명: 설명: 설명: topicon.gif