|
TOP
|
운영체제(Operating System)
Spring 2011
강의시간 및 장소: 화 13:30-14:45(전자정보103호), 목 13:30-14:45 (전자정보103호)
과목코드: B2442500, 전공필수, 3학점
|
Last Updated: 2011/03/07
|
운영체제의 기본원리와 개념을 이해하고 강의시간에 배운 내용 중 중요한 개념은 구현을 통하여 숙지한다.
|
|
본 강의는 운영체제의 기본 개념과 구성 및 서비스에 대해서 공부한 후, 프로세서 관리(프로세서와 쓰레드, CPU 스케쥴링, 프로세스 동기화, 교착상태), 저장장치 관리(메모리 관리, 가상메모리, 파일시스템), 입출력 시스템(I/O 시스템, 대용량 저장시스템), 분산시스템 및 보안에 대하여 다룬다. 또한, 이동 내장형 시스템, 유비쿼터스 컴퓨팅 시스템, 실시간 분산 시스템, 멀티미디어 시스템 등 같은 새로운 컴퓨팅을 지원하는 운영체제의 특징에 대해서도 학습한다.
|
|
본 강좌의 수강 대상은 학부 2, 3학년 학생을 대상으로 한다. 본 과목을 수강하려는 학생은 자료구조를 선수 과목으로 이수해야 하며, 시스템의 기초 지식을 보유하고(컴퓨터 구조), Term Project를 수행할 수 있도록 프로그래밍 구현 능력(C, C++, Java)을 보유하고 있어야 된다.
|
|

|
[주교재]
▽ Operating System Concepts, 8th Edition
▽ A.
Silberschatz, P. Galvin, G. Gagne,
▽ John Wiley
& Sons, New York
▽ 2010
▽ ISBN:978-0-470-23399-3
|
|
성 명 |
소속 학과/부서
|
직위 |
|
이 승 룡 |
경희대학교 전자정보학부 컴퓨터공학과
|
교수 |
|
화 ,목 11:00 - 12:00, 14:50 - 15:30 (전화나 e-mail로 사전 예약 요망) |
| 주 |
강의주제
|
강의자료(PDF)
|
|
1 |
운영체제 개요(Introduction)
운영체제의 정의, 컴퓨팅시스템 구조, 운영체제 구조, 운영체제가 제공하는 서비스 종류 등에 대해서 다룬다.
|
DOWN
|
|
2 |
운영체제 구조
(Operating- System Structures)
컴퓨터 시스템의 입출력 구조, 저장장치 구조, 저장장치 계층 및 하드웨어 보호에 대해 설명하고 일반적인 시스템의 구조에 대해 다룬다. 또한 시스템 호출, 운영체제 구조, 가상머신 등에 대해서도 배운다.
|
DOWN
DOWN
|
|
3 |
프로세스 및 쓰레드 (Process and Threads)
프로세스의 정의, 개념과 프로세스 간 통신 및 관리 기법 등에 대해 다룬다. 그리고 쓰레드에 대해서 다룬다.
|
DOWN
DOWN
|
|
4
|
프로세스 스케쥴링 (Process Scheduling)
중앙처리 장치에서 프로세스를 관리하는 여러가지 스케쥴링 기법에 대해 다룬다.
|
DOWN
|
|
5
|
프로세스 동기화 (Process Synchronization) I
여러 프로세스를 실행했을 때 프로세스간의 동기화 기법이 필요한 이유와 기본적인 개념 (상호배제, 임계영역, software 솔루션 및 HW 솔루션)에 대해 다룬다.
|
DOWN
|
|
6
|
프로세스 동기화 (Process Synchronization) II
프로세스간의 동기화 기법중 세마포어, 모니터 등에 대해 다룬다.
|
|
7
|
교착상태(Deadlocks)
교착상태가 일어나는 이유와 해결방법(Banker‘s 알고리즘) 등에 대해 다룬다.
|
DOWN
|
|
8
|
중간고사
|
|
|
9
|
기억장치 관리(Memory Management)
스와핑, 페이징, 세그먼테이션 등의 메모리 관리기법에 대해 다룬다.
|
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 |
기말고사
|
|
• •
|
Lecture |
강의주제 |
강의자료
|
|
1
|
CONCURRENT PROCESSES
|

|
|
2
|
THE CRITICAL SECTION PROBLEM
|

|
|
3
|
SEMAPHORES
|

|
|
4
|
CONCURRENT PROGRAMMING
|

|
|
5
|
CPU SCHEDULING & REAL-TIME
SCHEDULING
|

|
|
6
|
Intoduction of Ubiquitous Computing |

|
|
7
|
5min Talk 발표자료 양식 |

|
|
8
|
UNIX Chapter 1(시스템의 개관) |

|
|
9
|
UNIX Chapter 2(커널의 개요) |

|
|
10
|
UNIX Chapter 3(버퍼 캐쉬) |

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

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

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

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

|
|
15
|
UNIX Chapter 7(프로세스 제어) |

|
|
16
|
Ubicomputing |

|
|
17
|
Multi Threading Model |

|
|
18
|
Understanding Linux Kernel Schedulers |

|
|
19
|
프로젝트 기초 (Project Basic) |
[DOWN]
|
|
20
|
프로젝트 #1 (Project #1) |
[DOWN]
|
|
21
|
프로젝트 #2 (Project #2) |
[DOWN]
|
|
22
|
과제 #1 (Homework #1) |
[DOWN]
|
|
23
|
과제 #2 (Homework #2) |
[DOWN]
|
|
24
|
과제 #3 (Homework #3) |
[DOWN]
|
|
25
|
과제 #4 (Homework #4) |
[DOWN]
|
|
※ 위의 강의내용은 수업 진도에 따라 일부 보완되거나 수정될 수 있다.
|
|
평가개요
|
중간/기말고사의 학습평가 결과를 주 평가요소로 하며, Term Project와 프로그래밍 과제로 수업에서 배운 학습내용을 이해했는지에 대한 평가를 수행한다.
|
|
성적
반영 비율
|
중간/기말: 각각 30%,
Term Project 및 프로그래밍 과제: 35%~45%
|
|
요소별 상세 계획 |
|
시험
|
중간/기말 시험은 각각 30%의 비율로 반영한다.
|
|
출석
|
수업시간 5분전에 출석을 부른다. 수업의 참여는 과목을 이해하는데 매우 중요하다.
|
Term Project
및
프로그래밍 과제
|
Term Project의 목적은 운영체제의 중요한 개념을 실제 구현해 봄으로써, 운영체제의 내부 작동에 대한 이해를 돕기 위함이다(2개).
본 프로그래밍 과제의 목적은 수업시간에 배운 이론이나 개념을 실제로 구현(시뮬레이션 수준)해 봄으로써 운영체제의 작동 원리를 정확하게 이해시키려는데 있으며, 이 과정을 통하여 프로그래밍 구현 기술을 향상시키는 부수적인 목적도 가지고 있다(6~7개).
|
|
성 명 |
소속 학과/부서
|
직위 |
|
허 태 호 |
경희대학교 일반대학원 컴퓨터공학과
|
조교 |
|