TOP

운영체제(Operating System)

Fall 2004

월: 15:00 - 16:15, 수: 15:00 - 16:15, 자연과학대학 302호(신)

과목코드: B2442501, 전공필수, 3학점

Last Updated: 2004/12/09

1. 강의목표

운영체제(Operating Systems)의 원리와 기본개념에 대한 이해를 목표로 한다.

 

2. 강의내용

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

 

3. 수강대상

본 강좌의 수강 대상은 학부 2, 3학년 학생을 대상으로 한다. 본 과목을 수강하려는 학생은 컴퓨터 시스템의 기초 지식을 보유하고(전산과학 개론, 이산수학, 어셈블리언어), 프로그래밍 프로젝트를 수행할 수 있도록 C/C++/Java 과목을 필히 이수해야하며, 자료구조을 수강한 학생들을 대상으로 한다.

 

4. 교재

os_0-471-41743-2_small.jpg

▽ Operating System Concepts, 6th Edition

▽ A. Silberschatz,  P. Galvin, G. Gagne,  John Wiley & Sons, New York

▽ 2002

▽ ISBN:0-471-41743-2

 

os2_0132017997_small.jpg

[참고서]

▽ The Design of the UNIX Operating System

▽ Maurice J. Bach, Prentice-Hall, Englewood Cliffs

▽ 1987

▽ ISBN: 0-13-201799-7

 

 

5. 담당 교수

성 명

소속 학과/부서

직위

이 승 룡

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

교수

TEL

Lab URL

E-mail

OFFICE

031) 201-2514

http://oslab.khu.ac.kr

sylee@oslab.khu.ac.kr

자연과학대학 330호실

 

6. 면담시간

월 14:00 - 14:50, 화 13:00 - 13:50,수 14:00 - 14:50 (전화나 e-mail로 사전 예약 요망)

 

7. 주별강의계획

강의주제

강의자료(PDF)

1

운영체제 개요(Introduction)

운영체제의 개념 및 역할, 그리고 운영체제가 어떻게 구성되었는 지와 운영체제가 하는 일, 일반적인 특징 등에 대해 다룬다.

DOWN

2

컴퓨터 시스템 및 운영체제 구조

(Computer-System and Operating- System Structures)

컴퓨터 시스템의 입출력 구조, 저장장치 구조, 저장장치 계층 및 하드웨어 보호에 대해 설명하고 일반적인 시스템의 구조에 대해 다룬다.

DOWN

DOWN

3

프로세스 및 쓰레드 (Process and Threads)

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

DOWN

DOWN

4

CPU 스케쥴링 (CPU 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

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

강의주제

강의자료(PDF)

3

CONCURRENT PROCESSES

DOWN

4

THE CRITICAL SECTION PROBLEM

DOWN

5

 SEMAPHORES

DOWN

6

 CONCURRENT PROGRAMMING

DOWN

7

 CPU SCHEDULING & REAL-TIME SCHEDULING

DOWN

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

                                 •

6-2. 추가 특강자료

#

강의 주제

강의자료(PPT)

1

분산시스템(Distributed System)의 소개

다운로드

2

Middleware for Context-aware Ubiquitous Computing

다운로드

 

8. 평가계획

평가개요

중간/기말고사의 학습평가 결과를 주 평가요소로 하며, 평균 매 2주마다 1회의 과제물과 출석을 통해 평가하고, 프로그래밍 프로젝트로 수업에서 배운 이론을 구현해 보는 것으로 학습내용을 이해했는 지에 대한 평가를 수행한다.

성적 반영 비율

중간/기말: 각각 30%, 과제: 5%, 출석: 5%, 프로그래밍 프로젝트: 30%

요소별 상세 계획

시험

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

출석

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

과제

과제는 평균 2주마다 부여되며, 제출은 다음주 월요일 수업시간 전 까지 이메일(os@oslab.khu.ac.kr)이나 과제 게시판에 업로드 하도록 한다.

프로그래밍

프로젝트

총 5-6회의 프로그래밍 프로젝트 중 잘 된 것 4개를 선택하여 수행 결과를 평가한다.

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

 

topicon.gif