수업계획서#
수업 설명#
이 수업에서는 컴퓨터 시스템의 작동에 필수적인 운영체제의 설계, 기능, 관리에 대해 포괄적으로 다룹니다. 프로세스 관리, 메모리 관리, 파일 시스템 등 운영체제의 이론적・실질적 측면과 리눅스 운영체제에 대한 깊은 이해를 얻게 됩니다. 강의, 실습, 프로젝트를 통해 운영체제의 작동 방식, 하드웨어 및 소프트웨어와의 상호 작용, 운영체제 리소스의 효율적인 관리 방법을 배울 것입니다.
학습 목표#
이 수업을 성공적으로 마치면 학생들은 다음을 할 수 있습니다:
운영체제의 기본 구성 요소와 상호 작용에 대한 이해.
프로세스 관리, 메모리 관리, 교착 상태 (deadlock) 관리 정책의 선택 및 적용.
파일, 장치, 디스크 저장소 관리의 기초 이해.
기본 명령어, 프로세스 관리, 시스템 호출 등 리눅스 운영체제를 활용한 실질적인 경험.
전제 조건#
컴퓨터 시스템의 기초
프로그래밍 입문
수업 개요#
1주차: 운영체제 소개#
개요:
운영체제 개념, 구성 요소, 작업에 대한 개요.
운영체제에서의 보호와 보안.
컴퓨팅 환경과 운영체제의 추상적 관점.
주요 학습 성과:
운영체제의 역할 및 목적 이해.
운영체제의 구성 요소와 작동 파악.
컴퓨팅 환경에서 보호 및 보안의 필요성 인식.
2주차: 운영체제 아키텍처#
개요:
컴퓨터 시스템 아키텍처: 단일 프로세서 및 멀티 프로세서 시스템.
운영체제 유형: 배치, 다중 프로그램, 시분할, 실시간, 분산.
주요 학습 성과:
다양한 컴퓨터 시스템 아키텍처 이해.
다양한 유형의 운영체제와 그 응용 분야 구분.
3주차: 프로세스 관리#
개요:
프로세스 개념, 프로세스 연산, 협력 프로세스, 프로세스 간 통신, 스레드.
Linux OS 소개 및 기본 명령어.
주요 학습 성과:
운영체제에서 프로세스의 개념 및 관리 이해
Linux OS 명령어 활용한 초기 실습 경험.
4주차: 프로세스 동기화#
개요:
임계 영역 문제, 동기화 하드웨어, 세마포어, 고전적인 동기화 문제.
기본 Linux 프로세스 관리 명령어 및 시스템 호출.
주요 학습 성과:
프로세스 동기화 및 임계 영역 문제에 대한 해결책 이해.
프로세스 관리를 위한 Linux 명령어 적용.
5주차: CPU 스케줄링#
개요:
스케줄링 기준, 스케줄링 알고리즘, 다단계 큐 스케줄링, 다단계 피드백 큐 스케줄링.
주요 학습 성과:
CPU 스케줄링의 원리 이해.
다양한 CPU 스케줄링 알고리즘 평가.
6주차: 교착 상태 (Deadlock)#
개요:
교착 상태의 특징, 예방, 회피, 감지 및 복구.
은행가 알고리즘 (Banker’s algorithm) 소개.
주요 학습 성과:
교착 상태와 이를 처리하는 방법 이해.
교착 상태 회피를 위한 은행가 알고리즘 적용.
7주차: 메모리 관리#
개요:
연속 메모리 할당, 단편화, 페이징, 세그먼테이션.
가상 메모리 개념 소개.
주요 학습 성과:
메모리 관리 전략의 이해.
페이징 및 세그먼테이션의 개념 이해.
8주차: 가상 메모리#
개요:
요구 페이징, 페이지 교체 알고리즘, 프레임 할당, 스래싱(thrashing).
주요 학습 성과:
가상 메모리의 작동 방식 이해.
페이지 교체 알고리즘 평가.
9주차: 파일 시스템 인터페이스#
개요:
파일 시스템 인터페이스의 개념, 접근 방법, 디렉터리 및 디스크 구조.
주요 학습 성과:
파일 시스템 인터페이스와 접근 방법 이해.
디렉터리 및 디스크 구조 인식.
10주차: 파일 시스템 구현#
개요:
파일 시스템 구조, 구현, 디렉토리 구현, 할당 방법, 여유 공간 관리.
주요 학습 성과:
파일 시스템의 구현 이해.
할당 방법 및 여유 공간 관리 기술 이해.
11주차: 보조 저장소 관리#
개요:
대용량 저장소 구조, 디스크 구조, 디스크 스케줄링 알고리즘, 디스크 관리, RAID 구조.
주요 학습 성과:
보조 저장소 관리의 원리 이해.
다양한 디스크 스케줄링 알고리즘 평가.
12주차: 장치 및 I/O 시스템#
개요:
장치의 종류, 채널 및 제어 장치, 다중 경로, 블록 멀티플렉싱.
주요 학습 성과:
장치 및 I/O 시스템의 관리 이해.
채널, 제어 장치, 블록 멀티플렉싱의 개념 이해.
13주차: 심화 Linux 시스템 관리#
개요:
Linux의 메모리 관리 명령어 및 시스템 호출.
Linux의 파일 관리 명령어 및 시스템 호출.
주요 학습 성과:
Linux 시스템 관리에 대한 고급 기술 습득.
메모리 및 파일 관리를 위한 Linux 명령어 적용.
14주차: 사례 연구 및 실제 적용#
개요:
실제 운영체제 사례 연구 분석.
실제 시나리오에서 운영체제 개념의 적용에 대한 논의.
주요 학습 성과:
실제 운영체제 구성 및 관리 전략 분석.
이론적 개념을 실제 운영체제 문제에 적용.
15주차: 복습 및 최종 프로젝트#
개요:
강의에서 다룬 핵심 개념 복습.
운영체제 관리 및 적용에 중점을 둔 기말 프로젝트 완료 및 발표.
주요 학습 성과:
수업을 통해 습득한 지식 강화.
포괄적인 기말 프로젝트를 통해 운영체제 관리에 대한 실질적인 기술 입증.
성적 평가#
수업 참여: 20%
과제: 40%
기말 프로젝트: 40%
교재 및 참고 자료#
이 수업에 필수 교재는 없지만, 추가 자료를 원할 경우 다음 책을 권장합니다: