전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf ·...

18
19 1 Embedded Software Lab. Embedded Software Lab. Dongkun Shin 전공핵심실습1:운영체제론

Transcript of 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf ·...

Page 1: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

1

Embedded Software Lab.

Embedded Software Lab.

Dongkun Shin

전공핵심실습1:운영체제론

Page 2: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

2

Embedded Software Lab.

• 교과목명 : 전공핵심실습1-운영체제론

• 학수번호 : CSE3047

• 강 의 실 : 22111

• 수업시간 : 화요일 18:00 ~ 19:50

• 연구실 및 연락처 – 신동군 교수님

• 산학협력관 85470

[email protected]

– 홍경환, 박은수 • 산학협력관 85465 (031-299-4662)

[email protected], [email protected]

• 선 메일, 후 방문

• 강의 관련 정보 – http://nyx.skku.ac.kr

Course Information

Page 3: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

3

Embedded Software Lab.

• 강의 소개 – 운영체제론 수업의 이론학습 내용을 기반으로 실제 Linux 운영체제에

서 실습을 통해 운영체제에 대한 구체적인 이해를 하도록 함.

– 실습은 Linux kernel 기반 Tizen Platform으로 수행 (Tizen 장비 대여 예정)

• 평가 – 실습과제 : 30% (3~4 과제 예정)

– 프로젝트 : 40% (기말 프로젝트)

– 출석 및 태도 : 30%

Course Information (cont.)

Page 4: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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

Page 5: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

5

Embedded Software Lab.

Embedd Software Lab.

Dongkun Shin

Linux

Page 6: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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?

Page 7: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

7

Embedded Software Lab.

Layered View of a Computer System

User People Machine Other computers

Page 8: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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

Page 9: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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

Page 10: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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.)

Page 11: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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?

Page 12: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

12

Embedded Software Lab.

Open-source

Page 13: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

13

Embedded Software Lab.

Open-source

Page 14: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

14

Embedded Software Lab.

Open-source

Page 15: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

19

15

Embedded Software Lab.

Linux Versions

2.6.11.12

Version Number

Release

patched versions

Page 16: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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

Page 17: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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

Page 18: 전공핵심실습1:운영체제론 - SKKUnyx.skku.ac.kr/wp-content/uploads/2016/03/Lecture1.pdf · 2016-03-08 · 19 2 Embedded Software Lab. • 교과목명 : 전공핵심실습1-운영체제론

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