ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ubuntu 데스크탑과 서버 커널의 차이점은?
    2013. 1. 8. 0 comments


    서버와 데스크탑의 차이점이란?

    일반적으로 서버와 데스크탑은 사용 용도가 다르다. 데스탑은 문서작성, 게임, 웹, 그래픽등 다양한 환경과 같이 범용적인 PC 환경을 사용할 수 있음을 의미하지만 서버용은 서비스에 최적화됨을 의미합니다. 백그라운드 프로세스들을 주로 사용하여 서비스와 데이터처리, 네트워크 처리에 최적화되어야 한다. 하드웨어 자원이 일을 많이 하도록 GUI를 사용하지 않는 것도 그 이유이다.




    Ubuntu에서의 커널 차이점

    데스크탑에서는 genric이란 키워드를 사용하는 커널을 사용한다. 서버용을 확인하기 위해서 12.10 버전 Ubuntu 서버를 설치해보았다.


    morenice@ubuntu-morenice:~/linux-3.5.0$ uname -a

    Linux ubuntu-morenice 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


    결과는 데스크탑과 서버용 모두 같은 커널을 사용한다.
    • 3.5.0-17-generic


    특별히 차이점은 없다. 웹에서  Ubuntu community에서 관련 자료를 찾았다.. Ubuntu 서버에 대한 질문 리스트에 이미 나와 있었다.

    • https://help.ubuntu.com/community/ServerFaq


    What's the difference between desktop and server?

    • The first difference is in the CD contents. The "Server" CD avoids including what Ubuntu considers desktop packages (packages like X, Gnome or KDE), but does include server related packages (Apache2, Bind9 and so on). Using a Desktop CD with a minimal installation and installing, for example, apache2 from the network, one can obtain the exact same result that can be obtained by inserting the Server CD and installing apache2 from the CD-ROM.
    • The Ubuntu Server Edition installation process is slightly different from the Desktop Edition. Since by default Ubuntu Server doesn't have a GUI, the process is menu driven, very similar to the Alternate CD installation process.
    • Before 12.04, Ubuntu server installs a server-optimized kernel by default. Since 12.04, there is no difference in kernel between Ubuntu Desktop and Ubuntu Server since linux-image-server is merged into linux-image-generic.

    • For Ubuntu LTS releases before 12.04, the Ubuntu Desktop Edition only receives 3 years of support. This was increased to 5 years in Ubuntu LTS 12.04 In contrast, all Ubuntu LTS Server Edition releases are supported for 5 years.


    3번 부분에 보면 12.04 이전까지는 커널이 서버용으로 최적화한 커널을 사용했지만, 그 이후 버전은 generic 한 범용 커널이 사용된다고 한다. linux-image-server가 linux-image-generic으로 merge가 되었다. merge된 변경사항을 보면 CFS를 적용하면서 genric커널을 사용하게 됨을 알 수 있다.


    -# CONFIG_DEFAULT_CFQ is not set
    -CONFIG_DEFAULT_DEADLINE=y
    -CONFIG_DEFAULT_IOSCHED="deadline"
    +CONFIG_DEFAULT_CFQ=y
    +# CONFIG_DEFAULT_DEADLINE is not set
    +CONFIG_DEFAULT_IOSCHED="cfq"

    • https://lists.ubuntu.com/archives/kernel-team/2011-October/017471.html



    CFS


    process들을 어떻게 CPU에서 실행시킬 것인가, 즉 process 스케쥴링의 알고리즘 중 하나로써, CFS(Complete Fair Scheduler)때문에 데스크탑과 서버의 커널에서 동일한 스케쥴링 알고리즘을 사용하게 된 것이다. 큰 특징으로 CFS는 Fair Scheduling에서 개선됬으며  O(1)의 성능을 갖고 있다.  기존의 실행큐(run queues)를 사용하지 않고 rb(red-black) tree를 통하여 프로세스에게 타임슬라이스를 할당한다. 


    See also

    • http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
    • http://enginius.tistory.com/96
    • http://enginius.tistory.com/97



    반응형

    댓글 0

Designed by Tistory.