2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 sangon han | 2015.03

40
2015년, 리눅스를 뜨겁게 만 들고 있는 5가지 기술

Upload: ubuntu-korea-community

Post on 15-Jul-2015

137 views

Category:

Software


4 download

TRANSCRIPT

Page 1: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술

Page 2: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

#1. Wayland

Page 3: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

Wayland graphics

• Wayland is intended as a simpler replacement for X• 2008, Kristian Høgsberg(a.k.a KRH)의 “개인” 프로젝트로 시작

Page 4: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

“내가, 우리가, 건담이다!” - 세츠나 F 세이에이

Page 5: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

Why?

• X의 역사 25년, 이젠 지쳤음

• X를 이용하는 UX 개발자들 또한 지쳤음• 설계… 설계… 설계…

Page 6: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

“인정하고 싶지 않군. 자기자신의 젊음으로 인한 과오라는 것을”- 샤아 아즈나블

Page 7: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

그래서?

• 오픈 소스 친화적이고, 최소한만을 유지• Kernel-Mode Setting, EVDEV, PIXMAN 등 외부 라이브러리를 최대한 많

이 활용함

• 로컬 기반• 원격접속 따위는 허락치 않겠다 VNC 형태의 프로토콜

• 컴포지팅 API 만을 제공• Direct Rendering과 CSD(Client-Side Decoration) 만 제공

Page 8: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

뭔 말이냐?

• 기존의 X 서버• X 서버가 EVDEV를 통해 사용자 입력을 받는다

• EVDEV를 사용하니까 당연히 커널에서 곧바로 받음

• X 서버가 사용자 입력을 클라이언트에게 넘겨준다

• X 클라이언트는 화면을 갱신하고 서버를 호출한다.

• X 서버는 컴포지터에게 화면 갱신에 관련된 내용을알려준다

• 컴포지터는 X 클라이언트의 갱신된 화면을 최종 화면에 반영하고, X 서버를 호출함

• X 서버가 KMS를 호출하여 갱신되 최종 화면을 프레임버퍼에 반영한다.

Page 9: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03
Page 10: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

뭔 말이냐?

• Wayland• 이렇게 변경했다. 쉽다.

Page 11: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

이게 왜 중요한 이슈인가?

• GNOME, QT는 Wayland를 '넌 이미 지원하고 있다‘

• 반면, mir의 경우 ‘GNOME, QT’에서 ‘안 돼 안 바꿔줘, 바꿀 생각 없어, 빨리 돌아가'

Page 12: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

“그래도 지키고 싶은 세계가 있어!”- 키라 야마토

Page 13: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

볼 만한 오픈 프로젝트들…(이라고? 정말?)

• EFL• 삼성 타이젠에서 사용되는 GUI 환경 당근 Wayland 기반입니다. 그리고 삼성에

서 주도하고 있습니다.

• Gstreamer• 여러분도 알고 계신 그거입니다. Collabora에서 기여하고 있습니다.

Page 14: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

#2. File System

Page 15: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

Ext2, ext3, ext4는 생략한다.

Page 16: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

F2FS(Flash-Friendly File System)

• 삼성에서 개발한 ‘nand’ 기반 리눅스 파일 시스템이다.

• 주요 개선 사항은 “낸드 플래시 스토리지의 내부 구조 접근에 로그 구조접근법을 사용해 기존 디스크 회전 기반 파일 시스템을 적용하면서 발생한 단점인 오버해드를 줄이고, 디스크 레이아웃과 배열 선택과 클리닝알고리즘이 개선” 되었으며 커널 3.8에 추가되었다.• http://www.phoronix.com/scan.php?page=article&item=linux-3.19-

ssd-fs&num=1

• 참고자료• https://lwn.net/Articles/518718/

• 논문 : F2FS와 Ext4의 FTL별 성능 비교 및 BAST Padding 기법 제안

Page 17: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

F2FS는 왜 만들었을까요?

• 임베디드 시스템에서 사용되는 저장장치는 거의가 ‘flash’ 기반입니다.• ‘nor’ jffs2

• ‘sd/mmc’ 일반 파일 시스템

• Nand는 제한이 많다.• 페이지 쓰기, 블록 지우기, 내구성

• ‘yaffs’를 많이 쓰고 있지만 포팅의 ‘언덕’을 넘어가야 함

• ‘mtd(block)-ftl(translation)-fs’로 이뤄진 nand 기반의 파일 시스템을 100% 활용할 수 있다.

Page 18: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

“진실은 언제나 하나” – 에도가와 코난

Page 19: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

btrfs

• B-tree file syste이라 쓰고, Butter file syste이라 읽는다.

• 3.13 이후 릴리즈 된 커널에 기본으로 포함되어 있다.

• 장점• 동적 아이노드 할당

• 기록 가능 스냅샷, 스냅샷에 대한 스냅샷

• 미러링 및 스트리핑

• Zlib을 통한 자체 압축

• 파일 검사(on/off line)

• SSD 최적화 모드

Page 20: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

서버, SSD, 대용량, 성공적

Page 21: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

#3. Systemd

Page 22: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

OpenRC에서 Systmed로 가자!!

• Why?• Bash 종속

• Bash 보안 문제가 곧 시스템 보안 위협으로 적용

• 이렇게 된거! 다시 만들겠어!• Pluse audio 개발자들이 모여서 판을 새롭게 만들기 시작

• Fedora에 적용, PID 1 탈환!• Upstart는 이제 기억조차 하지 않겠다!

Page 23: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

“다시 모두함께 웃고 싶은데, 네가 죽으면 의미가 없잖아!” - 사와다 츠나요시

Page 24: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

그렇다고 문제가 없겠느냐?

• 철학적 고뇌 : “내껀 내꺼고 니껀 니꺼지!”• 1) Systemd는 전통적으로 Unix계열 운영체제의 PID 1이었던 init(System V

Init)을 교체, 2) 초기화 스크립트 관리자, 3) 로그시스템 관리자 4) 하드웨어에대한 부분, 5) cgroup 관리 및 6) 시스템 전반적인 부분에 관여

• SysV에서 공통적으로 사용되었던 프로세스 데몬을 만들기 위한 setsid() 콜도필요없고 PID파일을 따로 관리할 필요도 없음

• Systemd가 너무 많은 일을 하고 있다. 이것은 유닉스 철학에 상반된다. “한 가지만 잘하자”(a.k.a 한 놈만 팬다)

Page 25: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

장점/단점은 뭔가?

• 장점• 속도…

• 초기화를 병렬처리로 진행하기 때문에 엄청 빠르다.

• 믿을 수 없을 만큼

• 단점• 속도를 뺀 나머지 모든 것

• 호환성

• 당신의 경험

Page 26: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03
Page 27: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

#4. Docker

Page 28: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

What is Docker?

• 리눅스 컨테이너 기술을 이용하여 뭔가를 패키징, 배포를 지원하는 오픈소스 프로젝트로 PyCon 2013에서 소개되었음• 파이썬 배우자, 두 번 배우자, 계속 배우자

• 구글도 쓰고, 나도 쓰고, 여러분도 쓰고, 너도 쓸 것이다. 왜냐하면• 유행이니까…

• 묶어서 ‘실행’ 할 수 있다. • 단순히 묶어서 어쩌고 저쩌고 하지 않는다.

Page 29: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

파이썬 배워자, 두 번 배워자!, 계속 배우자!

파이콘 2015 상암동 누리꿈스퀘어, 2015년 6월 27~28일

Page 30: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

특징

• 쉽다(고 말하고 싶지 않지만 쉽다.)• “도커는 문제가 없다. 언제나 문제는 당신이다.”

• VM에 비해서 이미지 크기가 작다• 내 마음은 512GB, SSD는 소중하니까... 많이 소중해!!

• 가볍다• 시놀로지 NAS에도 들어간다.

• 공유기에도 들어간다.

• 내 핸드폰에도 들어갈 기세다.• https://www.stgraber.org/2013/12/23/lxc-1-0-some-more-advanced-

container-usage/

Page 31: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

지금까지는 기적 같은게 아니야. 기적은 이제부터다!- 카자미 하야토

Page 32: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

도커(Docker)

Page 33: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

확실한건!“VM과는 다르다. VM과는!!”

Page 34: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

리눅스 컨테이너

• 컨테이너• 컨테이너 안에 가상 공간을 만들어서 실행 파일을 호스트에서 직접 실행

• 리눅스 커널의 cgroups와 namespaces를 사용• Cgroups는 “컨트롤 그룹“Namespaces

Page 35: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

#5. Small, Mobile, Faster

Page 36: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

모바일로 이동

• 데스크탑 시장 v.s. 모바일 시장• 화려한 그래픽 v.s. 콘솔의 역습

• 리눅스 배포판 v.s. 리눅스 커널

• 우린 어디를 보고 달려가고 있는가?• 상업용으로 사용되는 대부분의 기술은 서버와 모바일에 집중

• 가정용으로 분류되는 기술 중 가장 중요한 것은 하드웨어 지원과 GUI 환경

• 하나된 리눅스 그러나 분리된 세계

Page 37: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03
Page 38: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

모바일? 아니다. 여전히 “리눅스 커널”이 중요하다.

Page 39: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03

The END

Page 40: 2015년, 리눅스를 뜨겁게 만들고 있는 5가지 기술 | 한상곤 Sangon Han | 2015.03