본문 바로가기

Operating System

개발자가 기본적인 Linux 명령어를 다룰 줄 알아야 하는 이유에 대한 간단한 그림

Linux 와 흔히 사용되는 Window, MacOS와 IOS, Android 등과 같은 GUI 운영체제의 차이점을 아주 간단히 표현하면

"뷔페"와 "코스 레스토랑"으로 비유할 수 있습니다.

 

코스 레스토랑을 가면 편하게 앉아 정해진 코스대로 나오는 완성도있는 음식들을 받아 먹을 수 있지만,

정해진 셰프의 레시피가 있고 메뉴의 선택에 있어 제한적일 수 있는데요.

 

반면 뷔페는 일어나서 직접 돌아다니며 자신의 접시를 채워야하는 노력이 필요하지만,

원하는 음식을 선택하고 조합할 수가 있습니다. 

 

Linux 는 높은 자유도와 개발 환경 제어에 강점이 있는 것 입니다.

 

 

 

 

 

또  뷔페에 가면 디저트만 먹는 사람도 있고, 해산물만 먹는 사람도 있는 것처럼

각자 원하는대로 뷔페를 즐기는 수많은 방식이 있습니다.

 

이처럼 Linux 도 필요에 맞는 커스텀이 용이하고 그만큼 수많은 배포판이 존재합니다.

 

 

 

 

 

 

 

 

 

이는 Linux 가 "오픈 소스" 이기 때문이기도 한데요

 

Linux 는 누구든 소스코드를 읽고 패치를 작성할 수도 있고,

 

공개되어 있는 커널소스와 기타 오픈 소스들을 마음대로 가져다가 자신만의 배포판을 만들 수도 있습니다.

 

이는 곧 Linux 를 둘러싼 방대한 오픈소스 라이브러리와 활발한 생태계가 있다는 뜻이고.

 

그런 시스템을 사용한다는 것은 곧 협업과 커뮤니케이션에서도 이점이 있다는 뜻이겠죠.

 

 

 

 

 

 

그렇기 때문에 Linux 커널을 기반으로 만들어진 수많은 시스템이 존재하는데요,

 

대표적으로 Android 도 Linux 커널을 기반으로 구축한 모바일 운영체제랍니다.

 

Linux  시스템의 작동방식에 익숙해지는 것이 전반적인 운영체제를 이해하는데 큰 도움이 되는 이유가 바로 여기에 있습니다.

 

 

 

 

 

 

무엇보다 사용자 친화적인 GUI 운영체제들은 기본적으로 편의를 위한 구성요소들이 많이 필요하고,

그 만큼 많은 용량을 차지할 수 밖에 없습니다.

 

반면 CLI 를 사용하는 Linux 는 기본적으로 용량 자체가 가벼우며, 무료(오픈소스)이기 때문에

수많은 서버가 Linux 를 선택하고 있습니다

 

그 만큼 많은 수요가 있다는 뜻이고 결국 경력에 도움이 되는 것으로도 이어질 수 있겠습니다.

 

 

'Operating System' 카테고리의 다른 글

kurnel 이해를 위한 간단한 그림  (0) 2024.02.18