강의계획서

과목명 운영체제
Operating Systems
운영대학 충남대학교 교과구분
(교과목코드)
전공선택
(241004)
담당 교수 성명 최훈
운영학과 모빌리티 ICT 융합학부 소속 충남대학교
학점시수
(학점/이론/실습)
3/2/2 개설년도
/학기
2023년 여름계절학기 연락처
이메일 hc@cnu.ac.kr
교과목표 및 개요 운영체제(Operating Systems)는 컴퓨터 하드웨어를 관리하면서 프로그램 실행을 제어하는 시스템 소프트웨어로서 컴퓨터의 두뇌에 해당함. 전자 장치를 개발/운용하거나 고성능의 응용프로그램을 개발하기 위해서는 컴퓨터의 동작 원리인 운영체제를 이해해야 함. 본 과목에서는 운영체제의 기본 원리와 기능들을 학습함. 또한 Linux 라는 실제 운영체제를 통해서 운영체제 기능들이 어떻게 동작하는지 실습하여, 수강생들이 졸업 후 모빌리티 산업현장에서 필요한 실무지식을 학습하는 것을 목표로 함
주 핵심역량과
교과목간
연계성
운영체제의 주요 구성 기능들인 프로세스 관리, 메모리 관리, 파일 관리, 입출력 관리를 학습하는 동안 시스템적 사고 역량과 창의적 혁신역량을 키울 수 있음. 또한 이론 강의와 함께 제공된 실습 강의를 학습하는 과정에서 리눅스 운영체제 커맨드, 프로그램 에디팅, 프로그램 실행 등 컴퓨터 활용 역량도 높이도록 함
핵심역량(%) 모듈화(Modularity) 통합(Integration) 확장(EXtension)
ICT기술활용
역량
시스템 사고
역량
프로젝트 실행
역량
융합적 해결
역량
창의적 혁신
역량
테크니컬
커뮤니케이션
역량
진로학습
역량
지역사회공헌
역량
심미적 감성
역량
15 70 0 0 15 0 0 0 0
역량기반
학습목표
핵심역량 학습목표
ICT 기술활용 역량 모빌리티 소프트웨어 전공자들이 업무에 활용할 ICT 기술의 일부를 본 과목의 실습을 통해 익히도록 함
시스템 사고 역량 운영체제의 주요 구성 기능들인 프로세스 관리, 메모리 관리, 파일 관리, 입출력 관리는 서로의 인터페이스를 만족하는 한 내부 구현 메커니즘은 다른 기술로 교체될 수 있음. 운영체제 과목을 통해 이 구성 기능들이 서로 어떻게 연관되고 전체 컴퓨터 시스템 운용에 어떤 영향을 미치는지 학습함
창의적 혁신 역량 컴퓨터를 제어하는 기존 기술들을 이해한 후, 이들의 장단점을 분석하고 단점을 개선하는 새로운 기술을 창출하도록 훈련함
수업방법(%)
강의 토의/토론 실험/실습 현장학습 발표 기타
80 0 20 0 0 0
교수법
(선택)
문제중심학습 프로젝트기반학습 플립러닝
성적평가(%)
출석 중간고사 기말고사 과제 토론 기타
10 40 40 0 0 10
기타 안내사항 - 학생은 이론 및 실습 콘텐츠를 자습한 후 DSC공유대학 이캠퍼스를 통해 질문/토론 함.
- 교재인 강의노트는 참고도서를 기반으로 중요사항만 요약한 것이므로 보충 설명이 필요한 경우 학습하기 위해 참고도서 준비를 권고함
주차 수업내용 교재범위 및 과제물 비고
1 강의수업 안내, 운영체제 개요 실습수업 안내-- 실습환경 구축 (VM 설치) 참고도서 제2장
2 운영체제 구조, 운영체제 동작 방식 -- 실습환경 구축, Linux Kernel 설정 및 빌드 참고도서 제2장
3 프로세스 상태, 프로세스 제어용 자료구조(PCB) -- Linux 명령어 참고도서 제3장
4 프로세스 제어 -- Linux 명령어 참고도서 제3장
5 쓰레드(thread) 정의 및 프로세스와의 차이 -- Editor, Debugger 실습, 응용 디버깅 참고도서 제4장
6 프로세스 동기화(race condition 정의 및 발생원인) -- 응용 디버깅 참고도서 제5장
7 프로세스 동기화(race condition 방지방법), Deadlock -- Linux 유틸리티(grep, shell programming 등) 참고도서 제5장, 6장
8 중간고사
9 파일 및 파일시스템(file system) 관리 -- Thread 제어 실습 참고도서 제11장
10 입출력 제어(polling 기반 I/O, Interrupt 기반 I/O) -- Producer/Consumer problem을 통한 semaphore 실습 참고도서 제12장
11 메모리 관리(개념, 주소 변환) -- Producer/Consumer problem을 통한 프로세스 동기화 실습 참고도서 제7장
12 메모리 관리(페이징, 디맨드 페이징) -- Device Driver 구조, 모듈 프로그래밍 참고도서 제7장,8장
13 가상 메모리 관리(다계층 페이지테이블, 페이지 교체) -- Device Driver 구현 1 참고도서 제8장
14 쓰레싱, 프로세스 스케줄링 -- Device Driver 구현 2 참고도서 제9장
15 기말고사