TOP
운영체제(Operating System)
봄학기 2018
강의시간 및 장소: 월 13:30-14:45, 수 13:30-14:45 (전자정보103호, 전자정보 103)
과목코드: CSE301-00,
전공필수, 3학점
|
Last Updated:
2018/01/29
운영체제의 기본원리와 개념을 이해하고 강의시간에 배운 내용 중 중요한 개념은 구현을 통하여 숙지한다.
|
본 강의는 운영체제의 기본 개념과 구성 및 서비스에 대해서 공부한 후, 프로세서 관리(프로세서와 쓰레드, 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
|
성 명
|
소속 학과/부서
|
직위
|
이 승 룡
|
경희대학교 전자정보학부 컴퓨터공학과
|
교수
|
주
|
강의주제
|
강의자료(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)
교착상태가 일어나는 이유와 해결방법(Banker‘s 알고리즘) 등에
대해 다룬다.
|
DOWN
|
8
|
중간고사
|
|
9
|
기억장치 관리(Memory Management Strategies)
스와핑, 페이징, 세그먼테이션 등의 메모리 관리기법에 대해 다룬다.
|
DOWN
|
10
|
가상 메모리(Virtual Memory)
가상 메모리 개념,
Demand Paging, 페이지 교체, Thrashing 등에 대해 다룬다.
|
DOWN
|
11
|
파일 시스템(File Systems)
파일시스템의 개념, 디렉토리, 파일공유 등과 파일시스템의 구현에 대해 다룬다.
|
DOWN
DOWN
|
12
|
보조기억장치(Secondary-Storage)
디스크 구조와 스케쥴링, 관리기법, 안전한 기억장치 구현 등에 대해 다룬다.
|
DOWN
|
13
|
입출력 시스템(I/O Systems)
하드웨어 I/O, 어플리케이션 I/O 인터페이스, 커널
I/O와 입출력 성능 등에 다룬다.
|
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)
|
|
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]
|
※ 위의 강의내용은 수업 진도에 따라 일부 보완되거나 수정될 수 있다.
|
평가개요
|
중간/기말고사의 학습평가 결과를 주 평가요소로 하며, Term Project와 프로그래밍 과제로 수업에서 배운 학습내용을 이해했는지에 대한 평가를 수행한다.
|
성적 반영
비율
|
중간/기말: 각각 30%, Term Project 및 프로그래밍 과제: 35%~45%
|
요소별 상세 계획
|
시험
|
중간/기말 시험은 각각 30%의 비율로 반영한다.
|
출석
|
수업시간 5분전에 출석을 부른다. 수업의 참여는
과목을 이해하는데 매우 중요하다.
|
Term Project
및
프로그래밍 과제
|
Term Project의 목적은 운영체제의 중요한 개념을 실제 구현해 봄으로써, 운영체제의 내부 작동에 대한 이해를 돕기 위함이다.
본 프로그래밍 과제의 목적은 수업시간에 배운 이론이나 개념을 실제로 구현(시뮬레이션 수준)해 봄으로써 운영체제의 작동 원리를 정확하게 이해시키려는데 있으며, 이 과정을 통하여 프로그래밍 구현 기술을 향상시키는 부수적인 목적도 가지고 있다.
|
성 명
|
소속 학과/부서
|
직위
|
서현석
|
경희대학교 컴퓨터공학과
|
조교
|
TEL
|
URL
|
E-mail
|
OFFICE
|
010-7477-5911
|
-
|
shs@oslab.khu.ac.kr
|
031-201-2950
|
|