Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

38,647 views

Published on

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

Published in: Software

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

  1. 1. 2015년, 리눅스를 뜨겁게 만 들고 있는 5가지 기술 2015년 03월 31일 수정 * EFL, Systemd 관련(우분투코리아커뮤니티의 ‘김승백님‘, ‘차영호님'감사합니다.)
  2. 2. #1. Wayland
  3. 3. Wayland graphics • Wayland is intended as a simpler replacement for X • 2008, Kristian Høgsberg(a.k.a KRH)의 “개인” 프로젝트로 시작
  4. 4. Why? • X의 역사 25년, 이젠 지쳤음 • X를 이용하는 UX 개발자들 또한 지쳤음 • 설계… 설계… 설계…
  5. 5. 그래서? • 오픈 소스 친화적이고, 최소한만을 유지 • Kernel-Mode Setting • EVDEV • PIXMAN 등 외부 라이브러리를 최대한 많이 활용함 • 로컬 기반 • 원격접속 따위는 허락치 않겠다  VNC 형태의 프로토콜 • 컴포지팅 API 만을 제공 • Direct Rendering과 CSD(Client-Side Decoration) 만 제공
  6. 6. 뭔 말이냐? • 기존의 X 서버 • X 서버가 EVDEV를 통해 사용자 입력을 받는다 • EVDEV를 사용하니까 당연히 커널에서 곧바로 받음 • X 서버가 사용자 입력을 클라이언트에게 넘겨준다 • X 클라이언트는 화면을 갱신하고 서버를 호출한다. • X 서버는 컴포지터에게 화면 갱신에 관련된 내용을 알려준다 • 컴포지터는 X 클라이언트의 갱신된 화면을 최종 화 면에 반영하고, X 서버를 호출함 • X 서버가 KMS를 호출하여 갱신되 최종 화면을 프 레임버퍼에 반영한다.
  7. 7. 뭔 말이냐? • Wayland • 이렇게 변경했다. 쉽다.
  8. 8. 이게 왜 중요한 이슈인가? • GNOME, QT는 Wayland를 '넌 이미 지원하고 있다‘ • 반면, mir의 경우 ‘GNOME, QT’에서 ‘안 돼 안 바꿔줘, 바꿀 생각 없어, 빨리 돌아가'
  9. 9. 볼 만한 오픈 프로젝트들…(이라고? 정말?) • EFL • Enlightenment 의 핵심 라이브러이이고, 삼성 타이젠에서 사용되는 GUI 환경 입니다. 당근(!) Wayland 기반입니다. 그리고 삼성에서 많은 투자를 하고 있습 니다.(우분투한국커뮤니티의 김승백님께서 도와주셨습니다.) • Gstreamer • 여러분도 알고 계신 그거입니다. Collabora에서 기여하고 있습니다.
  10. 10. #2. File System
  11. 11. Ext2, ext3, ext4는 생략한다.
  12. 12. 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 기법 제안
  13. 13. F2FS는 왜 만들었을까요? • 임베디드 시스템에서 사용되는 저장장치는 대부분이 ‘flash’ 기반입니다. • ‘NOR’ jffs2 • ‘SD/MMC’  일반 파일 시스템 • 반면, NAND는 제한이 많다. • 페이지 쓰기, 블록 지우기, 내구성 • ‘yaffs’를 많이 쓰고 있지만 포팅의 ‘언덕’을 넘어가야 함 • F2FS의 경우 ‘mtd(block)-ftl(translation)-fs’로 이뤄진 NAND기반 의 파일 시스템을 100% 활용할 수 있다.
  14. 14. btrfs • B-tree file syste이라 쓰고, Butter file syste이라 읽는다. • 3.13 이후 릴리즈 된 커널에 기본으로 포함되어 있다. • 장점 • 동적 아이노드 할당 • 기록 가능 스냅샷, 스냅샷에 대한 스냅샷 • 미러링 및 스트리핑 • Zlib을 통한 자체 압축 • 파일 검사(on/off line) • SSD 최적화 모드
  15. 15. 서버, SSD, 대용량, 성공적
  16. 16. #3. Systemd
  17. 17. OpenRC에서 Systmed로 가자!! • Why? • Bash 종속 • Bash 보안 문제가 곧 시스템 보안 위협으로 적용 • 이렇게 된거! 다시 만들겠어! • Pluse Audio 개발자들이 모여서 판을 새롭게 만들기 시작 • Fedora에 적용, PID 1 탈환! • Debian에서도 Systemd를 사용할 예정 • Upstart는 이제 기억조차 하지 않겠다!
  18. 18. 그렇다고 문제가 없겠느냐? • 철학적 고뇌 : “한 가지만 잘하자” • Systemd는 전통적으로 Unix계열 운영체제의 PID 1이었던 1) init(System V Init)을 교체, 2) 초기화 스크립트 관리자, 3) 로그시스템 관리자, 4) 하드웨어에 대한 부분, 5) cgroup 관리, 6) 시스템 전반적인 부분에 관여 • 즉, Systemd가 너무 많은 일을 하고 있다는 의견 • 반면, systemd가 너무 많은 일을 하고 있다는의견에 대해서, • systemd에는 현재 100여개의 실행파일이 포함되어 있으며, 실제로는 한가지 작업은 하나의 바이너리가 하고 있다. (우분투한국커뮤니티의 차영호님께서 도와주셨습니다.)
  19. 19. 장점/단점은 뭔가? • 장점 (우분투한국커뮤니티의 차영호님께서 도와주셨습니다.) • 속도… • 초기화를 병렬처리로 진행하기 때문에 엄청 빠르다. 믿을 수 없을 만큼 • https://www.youtube.com/watch?v=4NXMmHYNYfA • 자원관리, • 데몬의 정책 설정 및 스케쥴러 설정 • 외부에서 요청할 때만 서비스를 시작하는 activation 기능 • 로그 검색 및 관리 • 단점 • 호환성 • 당신의 경험
  20. 20. #4. Docker
  21. 21. What is Docker? • 리눅스 컨테이너 기술을 이용하여 뭔가를 패키징, 배포를 지원하는 오픈 소스 프로젝트로 PyCon 2013에서 소개되었음 • 파이썬 배우자, 두 번 배우자, 계속 배우자 • 구글도 쓰고, 나도 쓰고, 여러분도 쓰고, 너도 쓸 것이다. 왜냐하면 • 유행이니까… • 묶어서 ‘실행’ 할 수 있다. • 단순히 묶어서 어쩌고 저쩌고 하지 않는다.
  22. 22. 파이썬 배워자, 두 번 배워자!, 계속 배우자! http://www.pycon.kr, 파이콘 2015 상암동 누리꿈스퀘어, 2015년 6월 27~28일 이 페이지는 도커와 상관없이 파이썬을 홍보하기 위한 페이지 입니다.
  23. 23. 특징 • 쉽다(고 말하고 싶지 않지만 쉽다.) • “도커는 문제가 없다. 언제나 문제는 당신이다.” • VM에 비해서 이미지 크기가 작다 • 내 마음은 512GB, SSD는 소중하니까... 많이 소중해!! • 가볍다 • 시놀로지 NAS에도 들어간다. • 공유기에도 들어간다. • 내 핸드폰에도 들어갈 기세다. • https://www.stgraber.org/2013/12/23/lxc-1-0-some-more-advanced- container-usage/
  24. 24. 도커(Docker)
  25. 25. 확실한건! “VM과는 다르다. VM과는!!”
  26. 26. 리눅스 컨테이너 • 컨테이너 • 컨테이너 안에 가상 공간을 만들어서 실행 파일을 호스트에서 직접 실행 • 리눅스 커널의 cgroups와 namespaces를 사용 • Cgroups는 “컨트롤 그룹“Namespaces
  27. 27. #5. Small, Mobile, Faster
  28. 28. 모바일로 이동 • 데스크탑 시장 v.s. 모바일 시장 • 화려한 그래픽 v.s. 콘솔의 역습 • 리눅스 배포판 v.s. 리눅스 커널 • 우린 어디를 보고 달려가고 있는가? • 상업용으로 사용되는 대부분의 기술은 서버와 모바일에 집중 • 가정용으로 분류되는 기술 중 가장 중요한 것은 하드웨어 지원과 GUI 환경 • 하나된 리눅스 그러나 분리된 세계
  29. 29. 모바일? 아니다. 여전히 “리눅스 커널”이 중요 하다.

×