전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf ·...
Transcript of 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf ·...
19
1
Embedded Software Lab.
Embedded Software Lab.
Dongkun Shin
전공핵심실습1:운영체제론
19
2
Embedded Software Lab.
• 교과목명 : 전공핵심실습1-운영체제론
• 학수번호 : CSE3047
• 강 의 실 : 22111
• 수업시간 : 화요일 18:00 ~ 19:50
• 연구실 및 연락처 – 신동군 교수님
• 산학협력관 85470
– 홍경환, 박은수 • 산학협력관 85465 (031-299-4662)
• [email protected], [email protected]
• 선 메일, 후 방문
• 강의 관련 정보 – http://nyx.skku.ac.kr
Course Information
19
3
Embedded Software Lab.
• 강의 소개 – 운영체제론 수업의 이론학습 내용을 기반으로 실제 Linux 운영체제에
서 실습을 통해 운영체제에 대한 구체적인 이해를 하도록 함.
– 실습은 Linux kernel 기반 Tizen Platform으로 수행 (Tizen 장비 대여 예정)
• 평가 – 실습과제 : 30% (3~4 과제 예정)
– 프로젝트 : 40% (기말 프로젝트)
– 출석 및 태도 : 30%
Course Information (cont.)
19
4
Embedded Software Lab.
• Operating System Concepts. 8th Edition, Abraham Silberschatz. 2008.
• Understanding the Linux Kernel. 3rd Edition, Daniel P. Bovet and Marcho Cesati. 2005.
• Linux Device Drivers. 3rd Edition, Jonathan Corbet. 2005.
• https://review.tizen.org : Tizen Code Review System (No IE supported)
• https://wiki.tizen.org/wiki/Tizen_Lecture_Materials/Sungkyunkwan_University_2015 : Tizen v2.3 -Lecture Notes (for SKKU Graduated Students)
• http://kernel.org : The Linux Kernel Archives.
• http://nyx.skku.ac.kr/ : Embedded Software Lab web page.
Textbook and References
19
5
Embedded Software Lab.
Embedd Software Lab.
Dongkun Shin
Linux
19
6
Embedded Software Lab.
• A Unix-like operating system of a computer – The operating system based on the linux kernel
• What is an OS? – A resource manager of a computer
– A layer of software interposed between application programs and the hardware
• What is Unix? – A family of multitasking, multiuser OSs that derive from the original AT&T
Unix, developed in the 1970s at the Bell Labs.
– (Perhaps) The most important OS in computer history
What is Linux?
19
7
Embedded Software Lab.
Layered View of a Computer System
User People Machine Other computers
19
8
Embedded Software Lab.
• Open-source development began in 1991.
• First released by Linus Tovalds
• Linux kernel – The core of Linux system
– Thousands of contributors
– Supervised by Linus and other maintainers
• Distribution – A collection of software based around Linux kernel
– Red Hat, Fedora, Debian, Ubuntu, Android, Tizen, …
• License – GNU General Public License
• Copyleft
Linux
19
9
Embedded Software Lab.
• Open-source development began in 1991.
• First released by Linus Tovalds
• Linux kernel – The core of Linux system
– Thousands of contributors
– Supervised by Linus and other maintainers
• Distribution – A collection of software based around Linux kernel
– Red Hat, Fedora, Debian, Ubuntu, Android, Tizen, …
• License – GNU General Public License
• Copyleft
Linux
19
10
Embedded Software Lab.
• Cost-free
• Fully customizable in all its components
• Powerful
• Kernel can be very small and compact
• Developers are excellent programmers
• Well supported
Linux (cont.)
19
11
Embedded Software Lab.
• The most popular OS in practice – Data server, PC, Embedded system – Android, Tizen, Cloud server, etc…
• *Open-source
– Distributed from https://www.kernel.org/ or https://github.com/torvalds – We can freely modify it!
• Competitive System Programmer
– There’re only few capable system programmers in the world. – It is YOU.
• High-quality Source Code – Get programming experience from the Kernel source code developed by
world-class programmers.
Why we use Linux?
19
12
Embedded Software Lab.
Open-source
19
13
Embedded Software Lab.
Open-source
19
14
Embedded Software Lab.
Open-source
19
15
Embedded Software Lab.
Linux Versions
2.6.11.12
Version Number
Release
patched versions
19
16
Embedded Software Lab.
• Coding Style – Refer to kernel source
• documentation/codingStyle
• Object-oriented code written by C
• Knowledge from the source code – Most algorithms are not documented that the greatest document is the
source code as it is. (Textbook is a just reference)
Kernel Development
19
17
Embedded Software Lab.
• Text Editor – vi, vim, nano, eclipse, gedit, geany, …
• Source Navigator – Source Insight
– ctags, cscope
• Source Code Management System – git, svn
Useful Application for Development
19
18
Embedded Software Lab.
• Standard-based, cross category platform – Provide common & multiple categories of compliances
• Open Source Platform – Tizen project resides within the Linux Foundation
• Provides a robust and flexible environment for HTML5 based application
Tizen