커널 4.1 업데이트를 보다가 눈에 띄는 것이 있었습니다.

  signle-user system support

  어라? 이건 뭐지? 하는 생각이 들었죠.

  

  리눅스는 기본적으로 멀티 유저 시스템입니다.

  보통 RTOS 들이 멀티 유저를 지원하지 않는 것들이 많이 있죠.

  웬지 single-user 라고 하면 리눅스도 당연히 되는거 아니냐고 생각할수 있는데

  실상은 조금 다릅니다.


  리눅스가 signle-user 시스템으로 동작한다는 말은 모든 프로세스가 root 계정으로 실행되고

  모든 실행 권한 bit 가 set 되어 있는 상태로 수행되는 것을 말하게 됩니다.

  uid gid 등이 모두 0 으로 실행되는 것이죠


  "그걸 왜 해?" 하는 질문에는 좀 더 많은 생각을 해야 합니다.

  리눅스의 시작도 x86 베이스에서 돌아가는 쉘에서 시작해서 

  지금의 다양한 플랫폼을 지원하게 되었죠


  지금 수없이 많이 쓰이는 작은 머신에서 돌아가는 시스템은 대부분 init 에 의해 실행되는

  root 권한의 심플 어플리케이션입니다.

  리눅스의 다양한 호환성과 기능의 확장성에 따른 효용성을 취하고자 하는 선택인거죠

  하지만 정말 리눅스의 그 많은 기능들이 필요한가 라는 질문에는 선뜻 답하기 어렵습니다.


  이 single-user 시스템은 실은 2001 년에 나왔던 주제라고 합니다.

  열악한 임베디드 환경에서 작은 메모리상에서 리눅스를 구동하기 위한 환경의 지원을 

  리눅스는 고민하고 있습니다.


  여기에는 경제적인 이유를 떠나서 리눅스의 철학적인 면을 보여주고 있습니다

  실제 이 주제는 2014년도 kernel summit 에서 논의 되었었다고 하네요.


  좀더 상세한 이야기는 아래 링크를 이용해 주세요

  

  LWN - Linux as a single-user system