운영체제 (Operating System) 강좌 소개 Operating Systems are an ( □□□□□□□□□ ) part of any computer system !!! http://www.hangman.no/ hetiagaucdda hishecftedca 인천대학교 컴퓨터공학부 성 미 영 Sung MeeYoung mailto:mysung@incheon.ac.kr http://marvel.incheon.ac.kr/~mysung 운영체제
코드로 개념 있는 사람이 됩시다! 교과목 개요 (OS 수업 철학) 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 사용자가 보다 편리하게 컴퓨터를 이용할 수 있도록 도와주는 □□□□(소프트웨어)이다 본 교과목에서는 운영체제 기본 □□에 대하여 깊이 있게 이해하며, 실제 운영체제 프로그래밍을 통하여 새로운 소프트웨어 시스템을 개발할 수 있는 기초 □□을 갖춘다 (OS 수업 철학) 코드로 개념 있는 사람이 됩시다! 운영체제
螢雪之功 靑出於藍 君子三樂 수업 목표 수업 목표 OS 기본 개념 이해 프로세스 및 병행 프로세스 관리, 메모리 관리, 저장장치관리, 보호와 보안, 분산 시스템(프로세스 동기, 통신 메커니즘), 등의 운영체제 기본 개념을 학습한다 Unix/Linux 등 실제 OS의 분석을 통하여 운영체제 기본 개념을 깊이 있게 이해한다 OS 기초 능력 배양 운영체제 기본 개념을 C & Java 프로그램으로 구현해 본다 Unix/Linux 등 실제 OS의 시스템 프로그래밍과 커널 프로그래밍을 통하여 새로운 소프트웨어 시스템을 개발할 수 있는 기초 능력을 갖춘다 최종목표는 유능한 소프트웨어 인재를 양성하는 것 君子三樂 螢雪之功 靑出於藍 君子三樂 운영체제
수업 방법 수강을 환영합니다! 컴퓨터 분야에서 주도적으로 활동하실 분 수업 1시간 당 3시간 이상 학습하실 분 UNIX/LINUX프로그래밍 공부하신 분 수업 도우미 자원해 주세요! 수업 구성 이론 80% 실습 20% (Linux 중심) Fedora CentOS TIZEN https://www.tizen.org/ Lab ~7개 과제 ~7개 운영체제
豫習中心 ON/OFF 수업 방법 ON/OFF 혼합형 (Blended Learning) 온라인(예습)수업 매주 1시간 강좌 (온라인 출석체크) 오프라인(완성)수업 매주 2시간 강좌 (오프라인 출석체크) 오프라인 중간시험 오프라인 기말시험 수업 콘텐츠: 이러닝 http://cyber.incheon.ac.kr 학습하기 온라인(예습)수업 출석: 오프라인(완성)수업 직전까지 학습 완료의 경우 온라인(예습)수업 지각: 해당 오프라인 수업 후 1주간 학습하기 완료의 경우 오프라인(완성)수업 출석: 수업 중 점검 豫習中心 운영체제
(참고) Blended Learning 혼합형 학습(Blended Learning, 블렌디드 러닝)은 두 가지 이상의 학습방법을 결합하여 이루어지는 학습이다. 일반적으로는 온라인 학습과 오프라인 학습이 혼합된 학습을 가리키는 경우가 많다. 두 가지 이상의 학습방법이 지니는 장점을 결합하여 적절히 활용함으로써 학습효과를 극대화하기 위한 학습형태이다. 면대면 교실수업과 온라인(사이버)학습 등 오프라인과 온라인 활동을 결합한 학습이 가장 대표적이다. 초∙중등교육에서 기존의 면대면 교육과 e-러닝 등을 결합한 블랜디드 러닝이 주목 받는 이유는 면대면 교육이 가진 시간적, 공간적 제한점을 전자학습의 장점을 통해 보완할 수 있기 때문이다. 반대로 전자학습의 문제점으로 지적되는 인간적인 접촉의 상실이나 홀로 학습에 대한 두려움, 이로 인한 동기유발 저하 등을 면대면 교육으로 보완할 수 있다는 측면이 면대면 교육과 전자학습을 결합한 혼합 학습의 장점이 된다. 미국 굴지의 교육기업인 서티런(CertiLearn)사의 교수설계자이자 부사장인 주디스(Judith M. Smith) 박사는 `새로운 이름의 옛 친구(An old friend gets a new name)'라는 표현으로 혼합형 학습(블렌디드 러닝)을 소개했다. 학습효과를 높이기 위해 일선현장에서 다양한 교육방법을 혼합하는 것은 전혀 새로운 개념이 아니라는 게 그의 주장이다. 하지만 e러닝의 한계를 극복하고 교육효과를 향상시키기 위해 앞으로 주목해야 할 방법이라고 강조한 바 있다. 혼합형 학습은 이처럼 학습효과를 극대화하기 위해 칵테일처럼 온라인과 오프라인 교육, 그리고 다양한 학습방법을 혼합하는 데서 착안됐다. 이 개념이 언제 등장했는지는 정확하지 않으나 2000년 후반부터 미국의 일부 온라인 교육학자들이 사용하기 시작, 현재는 고유명사로 자리를 잡았다. Blended Learning에 대한 자료를 읽어 보시고 on-line 학습과 off-line 학습의 장점들을 잘 활용하시어 공부하시면 좋겠습니다. 운영체제
평가 방법 평가 기준 A 30% 25% B 40% 45% C 25% 20% D&F 5% 10% 평가 방법 중간 30% 기말 30% 과제 20% (HW ~7개 + 파트퀴즈 ~3개) 출석 20% 가산점 수업 포인트 (고민중) IT 전문직 국가공인자격증 (고민중) TOPCIT (Test of Practical Competency) http://www.topcit.or.kr/ 과제 평가 컴파일오류, 실행시 결과값이 나오지 않음, 이상한 내용 파일, 열리지 않는 파일 등은 X 처리 유예기간 1주일 기한외제출은 10% 감점 반드시 사이버에 제출 운영체제
(참고) 컴퓨터공학 관련 자격증 IT 전문직 국가공인자격증 취득 (예) 리눅스마스터(Linux Master) 국가공인자격증 http://exam.ihd.or.kr/ (예) 정보보안기사 국가기술자자격증 (OS 기본 출제) IT 전문 기업들이 원하는 인기 IT 전문직 http://www.ciokorea.com/common/print/news/10552 시스템과 네트워크 엔지니어 개발자 품질보증 전문가 및 비즈니스 분석가 데이터 웨어하우스와 BI 전문가 보안 전문가 인기 있는 IT 자격증 http://www.ciokorea.com/common/print/news/10552 시스코 자격증 : CCNA(Cisco Certified Network Associate), CCIE(Cisco Certified Internetwork Expert) 리눅스 자격증 : RHCE(Red Hat Certified Engineer) 등 마이크로소프트 자격증 : MCITP(Microsoft Certified IT Professional), MCSE(Microsoft Certified Systems Engineer), MCTS(Microsoft Certified Technology Specialist), MCPD(Microsoft Certified Professional Developer) 프로젝트 관리자 자격증 : PMP(Project Management Professional) 등 보안 자격증 : CISSP(Certified Information Systems Security Professional), CCSA (Check Point Certified Systems Administrator), CCSE(Check Point Certified Security Expert) VMware 자격증 : VCP(VMware Certified Professional) 등 운영체제
교재 교재 (한국어판) Operating System Concepts, 8th edition, 조유근, 고건, 김영찬 공역, Silberschatz, Galvin, Gagne 원저, 홍릉과학출판사, 2013. http://codex.cs.yale.edu/avi/os-book/ Operating System Concepts Essentials, Abraham Silberschatz (Yale University), Peter B. Galvin (Corporate Technologies, Inc.), Greg Gagne (Westminster College), John Wiley & Sons, Inc., ISBN 978-0-470-88920-6, November 2010, ©2011 http://codex.cs.yale.edu/avi/os-book/OS8/os8e/index.html (8th ed.) Operation System Concepts, 8th edition, Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, John Wiley & Sons, Inc., ISBN 0-470-12872-0, July, 2008, ©2009. http://codex.cs.yale.edu/avi/os-book/OS8/os8c/index.html (8th ed.) Operating System Concepts with Java, 8th Edition , Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, John Wiley & Sons, Inc., ISBN 978-0-470-50949-4, November 2009, ©2010. http://codex.cs.yale.edu/avi/os-book/OS8/os8j/index.html 교재 series (7th ed.) Operating System Concepts, 7th edition, Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Wiley, 2004. (6th ed.) Operating System Concepts, 6th edition, Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Wiley, 2002. (5th ed.) Operating System Concepts, 5th edition, Abraham Siberschatz, Peter Baer Galvin, Addison-Wesley, 1997. (4th ed.) Operating System Concepts, 4th edition, Abraham Siberschatz, Peter Baer Galvin, Addison-Wesley, 1993. (3rd ed.) Operating System Concepts, 3rd edition, Abraham Silberschatz, James L. Peterson, Peter B. Galvin, Addison-Wesley, 1991. (2nd ed.) Operating System Concepts, 2nd edition, James L. Peterson and Abraham Silberschatz, Addison-Wesley, 1985. (1st ed.) Operating System Concepts, 1st edition, James L. Peterson and Abraham Silberschatz, Addison-Wesley, 1983. 운영체제
참고서적 UNIX for Programmers and Users (프로그래머와 사용자를 위한 UNIX 완성), Glass and Ables 저, 조경산 역, 이한출판사, 2001. Graham Glass and King Ables, UNIX for Programmers and Users, 2nd Ed., Prentice Hall PTR, 1999. 리눅스 시스템 & 커널 기초: 커널 분석에서 코드 수정까지, 김성영, 오병우, 이이섭, 장춘서, 조현규 공저, 한빛미디어, 2007. Understanding the Linux Kernel, 3rd Edition, Daniel P. Bovet, Marco Cesati, O’reilly, 2005. 기타 유닉스/리눅스 참고서적 Unix Network Programming, 3rd Edition, W. Richard Stevens, Bill Fenner, Andrew M. Rudoff, Addison-Wesley, 2004. (한국어 판) Unix Network Programming, Stevens 저, 김치하, 이재용 역, 교보문고, 2005. Unix System Programming, 2nd Edition, K. Havilland, D. Gray, B. Salama, Addison-Wesley, 1998(99) (한국어판) Unix 시스템 9프로그래밍, 2nd Edition, Keith Haviland, Dina Gray, Ben Salama 저, 조유근 역, 홍릉과학출판사, 1999 The X Window System Programming and Application with Xt, 2nd Edition., Douglas A. Young, Prentice Hall PTR, 1994 (한국어판) The X Window System Programming and Application with Xt 제 2판, Young 저, 박승규 외 4인 역, 대영사, 1996 Unix System Administration Handbook, Third Edition, Evi Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein, Prentice Hall PTR, 2000. (한국어판), Unix System administration Handbook, 2nd Edition, Nemeth, Snyder, Seebass, Hein 저, 최재영, 김명호, 김영배 역, 홍릉과학출판사, 1998. Essential System Administration, Third Edition, AEleen Frisch, O'Reilly, 2002. 시스템 관리의 핵심, 2nd Edition, AEleen Frusch 저, 홍상욱 역, 한빛미디어, 2003. The Design of the Unix Operating System, Maurice J. Bach, Prentice Hall International, Inc., 1986 (번역서) Unix의 내부구조, 조유근 역편, Bach 원저, 홍릉과학출판사, 1997. Linux Kernel Programming, Third Edition, M. Beck, H. Bohme, M. Dziadzka, U. Kunitz, R. Magnus, C. Schroter, D. Verworner, Addison-Wesley 2002. Linux Kernel Development, 2nd Edition, Robert Love, Novell Press, 2005. (번역서) 임베디드 개발자를 위한 리눅스 커널 심층 분석, 이상근 역, Robert Love 원저, 홍릉과학출판사, 2004. Linux Administration Handbook, Mark F. Komarinski, Cary Collett, Prentice Hall, 1998. 운영체제
수업 내용 (8th edition) Part 1 개관 (Overview) Part 2 Chapter 1 서론 (Introduction) Chapter 2 시스템 구조 (System Structure) Part 2 프로세스 관리 (Process Management) Chapter 3 프로세스 (Process) Chapter 4 다중 스레드 (Multithreaded Programming) Chapter 5 CPU 스케줄링 (CPU Scheduling) Chapter 6 프로세스 동기화 (Process Synchronization) Chapter 7 교착 상태 (Deadlock) Part 3 메모리 관리 (Memory Management) Chapter 8 메모리 관리 전략 (Memory-Management Strategy) Chapter 9 가상 메모리 관리 (Virtual Memory Management) Part 4 저장장치 관리 (Storage Management) Chapter 10 파일 시스템 (File System) Chapter 11 파일 시스템 구현 (Implementing File-Systems) Chapter 12 2차 저장장치 구조 (Secondary-Storage Structure) Chapter 13 입/출력 시스템 (I/O System) Part 5 보호와 보안 (Protection and Security) Chapter 14 보호 (Protection) Chapter 15 보안 (Security) Part 6 분산 시스템 (Distributed Systems) Chapter 16 분산 운영체제 (Distributed Operating Systems) Chapter 17 분산 파일 시스템 (Distributed File Systems) Chapter 18 분산 동기화 (Distributed Synchronization) Part 7 전용시스템 (Special-Purpose System) Chapter 19 실시간 시스템 (Real-Time System) Chapter 20 멀티미디어 시스템 (Multimedia System) Part 8 사례 연구 (Case studies) Chapter 21 Linux 시스템 (Linux System) Chapter 22 윈도우즈 XP Chapter 23 영향력 있는 운영체제들 (Influential Operating Systems) 운영체제
주별 수업내용 주차 강의내용 강의형태 온라인콘텐츠파일 비고 1 운영체제 강좌 소개와 온라인 학습 안내 OFF 2 Chapter 1. 서론 ON/OFF 3 Chapter 2. 시스템 구조 파트퀴즈1 4 리눅스 커널 프로그래밍 5 Chapter 3. 프로세스 6 클라이언트-서버 통신 기법 4가지 7 Chapter 4. 다중 스레드 프로그래밍 파트퀴즈2 8 Chapter 5. CPU 스케줄링 9 중간시험 10 Chapter 6. 프로세스 동기화 11 Chapter 7. 교착상태 12 Chapter 8. 메모리 관리 전략 13 Chapter 9. 가상 메모리 14 Chapter 10.11.12. 저장 장치 관리 파트퀴즈3 15 네트워크 프로그래밍 16 기말시험 운영체제
Hard 한 걸 Hard 하게 하면 Hard 해진다. 해 ? ! 무얼 해? 몸값을 ? 여(려)야 해 ! 무얼 잘해? ? ? 운 걸 잘해야 해 ! 어떻게 해? ? ? 라고 해야 해 ! Hard 한 걸 Hard 하게 하면 Hard 해진다. Hard 한 것은 아름답다!
긍정적 사고와 예의(인성) 갖춘 (융합적) 창의 인재가 됩시다! 내 인생의 신조 努力 □□ 自信 (HW1) 자기소개 게시판 작성 내 사진 (필수) 내 인생의 신조 또는 내 OS 학습의 신조 긍정적 사고와 예의(인성) 갖춘 (융합적) 창의 인재가 됩시다!
류시화 잠언시집 - [지금 알고 있는 걸 그때도 알았더라면] 시집 중에서 수업 그때 예수께서 제자들을 산으로 데리고 올라가 곁에 둘러앉히시고 이렇게 가르치셨다. 마음이 가난한 사람은 행복하다. 하늘나라가 그들의 것이다. 온유한 사람은 행복하다. 슬퍼하는 사람은 행복하다. 자비를 베푸는 사람은 행복하다. 박해받는 사람은 행복하다. 고통받는 사람은 행복하다. 하늘나라에서의 보상이 크니 기뻐하고 즐거워하라. 그러자 시몬 베드로가 말했다. “그 말씀을 글로 적어 놓으리까?” 그리고 안드레아가 말했다. “그 말씀을 잘 새겨 둬야 할까요?” 그러자 야고보가 말했다. “그걸 갖고 우리끼리 시험을 쳐볼까요? 그러자 빌립보가 말했다. “우리가 그 뜻을 잘 모를 경우에는 어떻게 할까요?” 그리고 바돌로메가 말했다. “우리가 이 말씀을 다른 사람들에게 전해 줘야 할까요?” 그러자 요한이 말했다. “다른 제자들한테는 이런 걸 알려줄 필요가 있을까요?” 그러자 마태오가 말했다. “우리는 여기서 언제 떠날 건가요?” 그리고 유다가 말했다. “그 말씀이 실생활과는 어떤 관계가 있는 걸까요?” 그리고 그 자리에 참석했던 바리새인 하나는 예수에게 수업 계획서를 보여 줄 것을 요청하면서 그 가르침의 최종적인 목표가 무엇이냐고 물었다. 그러자 예수께서는 우셨다. (작자 미상 M. 스콧 펙 제공) 일찍 일어나는 새 당신이 새라면 아침에 일찍 일어나야 한다. 그래야 벌레를 잡아먹을 수 있을 테니까. 만일 당신이 새라면 아침에 일찍 일어나라. 하지만 만일 당신이 벌레라면 아주 늦게 일어나야 하겠지. (쉘 실버스타인)
류시화 잠언시집 - [지금 알고 있는 걸 그때도 알았더라면] 시집 중에서 내 인생의 신조 나는 지식보다 상상력이 더 중요함을 믿는다. 신화가 역사보다 더 많은 의미를 담고 있음을 나는 믿는다. 꿈이 현실보다 더 강력하며 희망이 항상 어려움을 극복해 준다고 믿는다. 그리고 슬픔의 유일한 치료제는 웃음이며 사랑이 죽음보다 더 강하다는 걸 나는 믿는다. 이것이 내 인생의 여섯가지 신조이다. (로버트 풀검) 무엇이 성공인가 자주 그리고 많이 웃는 것 현명한 이에게 존경을 받고 아이들에게서 사랑을 받는 것 정직한 비평가의 찬사를 듣고 친구의 배반을 참아 내는 것 아름다움을 식별할 줄 알며 다른 사람에게서 최선의 것을 발견하는 것 건강한 아이를 낳든 한 뙈기의 정원을 가꾸든 사회 환경을 개선하든 자기가 태어나기 전보다 세상을 조금이라도 살기 좋은 곳으로 만들어 놓고 떠나는 것 자신이 한때 이곳에 살았음으로 해서 단 한 사람의 인생이라도 행복해지는 것 이것이 진정한 성공이다. (랄프 왈도 에머슨)