여러분은 리눅스를 쓰는 이유를 뭐라고 생각하시나요? 아마도 현재 업무에서 리눅스를 시스템으로 사용하기 때문에 이 글을 찾게 되셨을 것입니다. 우리가 매일 사용하는 윈도우도 리눅스처럼 OS입니다. 하지만 윈도우가 아니라 리눅스를 사용하는 이유가 궁금하셨을 것입니다. 결론부터 이야기하면 리눅스는 서버로 활용하기에 윈도우보다 더 적합하기 때문입니다. 이제 사용자들이 리눅스를 택하는 이유를 한번 살펴보도록 하겠습니다.
리눅스란
리눅스는 1991년 '리누스 토발즈'에 의해 오픈소스로 개발되었습니다. 유닉스(UNIX)는 오픈소스가 아니었기 때문에 유닉스 호환 OS인 리눅스를 개발한 것이었습니다. 개발 당시에는 사실 커널만을 의매했습니다. 현재의 GNU 프로젝트를 통해 다양한 라이브러리를 포함한 리눅스 배포판으로 발전하게 됐습니다.
그러면 원초적인 질문을 해 보겠습니다. OS(Operating System)는 무엇일까요?
운영체제(OS)는 컴퓨터 하드웨어를 관리하는 프로그램을 말합니다. 컴퓨터는 0과 1로만 모든 것을 이해합니다. 사람들은 0과 1로 코딩을 했고 조금 더 나은 프로그래밍을 발전시켜왔습니다. 어셈블리어(assembly language, 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어)부터 지금의 고급 프로그래밍 언어(python, go, JavaScript 등)까지 발전하게 됩니다. 운영체제는 우리의 언어를 쉘에서 번역하여 커널로 넘기고 하드웨어 기능을 실행하는 역할을 합니다. 예를 들어, 운영체제 프로세스는 사용자(명령) -> 쉘(해석) -> 커널(명령 수행 후 결과 전송) -> 쉘(해석) -> 사용자(결과 확인)로 이어집니다.
Linus Torvalds가 만든 운영 체제가 바로 리눅스 입니다. UNIX를 모델로 한 오픈 소스 운영체제라고 할 수 있습니다. 오픈소스이기 때문에, 초기 모델을 변형하여 만든 수많은 배포 버전이 있습니다. 그중 유명한 건 Ubuntu, CentOS 등이 있으며 포스팅에서는 Ubuntu를 기준으로 설명드리도록 하겠습니다.
리눅스 운영 체제는 컴퓨터 사용자들 사이에서 점차 더 인기를 얻고 있습니다. 왜냐하면 리눅스는 다른 운영 체제와는 다른 몇가지 이점을 가지고 있기 때문입니다. 리눅스를 사용하는 이유 중에서 가장 주목할 만한 특징 세 가지를 살펴보겠습니다.
1. 오픈소스, 높은 이식성
리눅스는 오픈소스의 가장 성공한 사례입니다. Open Source는 소스 코드가 공개되어 있어 누구나 검토하고 수정할 수 있습니다. 이것은 사용자에게 컴퓨팅 환경을 완벽하게 제어할 수 있다는 의미입니다. 또한 리눅스 커뮤니티는 수많은 무료 소프트웨어 및 응용 프로그램을 지원하며, 개발자 및 사용자 모두가 이러한 소프트웨어를 개선하는 데 참여하고 있습니다. 리눅스는 어셈블리어가 아닌 C로 작성돼 있기 때문에 이식성과 확장성이 좋습니다.
2. 보안 및 서버 안정성
대부분의 리눅스 배포판은 오랜 기간 동안 안정적으로 동작하며, 시스템의 안전을 보장합니다. 더 나아가, 리눅스는 악성 소프트웨어에 대한 더 강력한 방어 기능을 제공합니다. 또한 대화형 시스템의 특징을 가지고 있습니다. CLI 인터페이스를 통해 사용자가 명령어를 입력하고 결과를 화면에 출력합니다. 또 네트워크를 통해 여러 사용자가 같은 컴퓨터에 동시에 작업할 수 있는 다중 사용자 시스템입니다. 마지막으로 하나의 컴퓨터에서 여러 작업을 동시에 수행할 수 있는 멀티태스킹 시스템입니다. 이러한 것들이 모두 리눅스가 서버로서 안정성을 가지는 이유입니다.
3. 계층적 트리 파일 시스템 및 부가 기능
리눅스는 계층적 트리 파일 시스템으로 디렉토리 구조로 되어 있는 게 특징입니다. 또 다양한 부가 기능 도구들을 가지고 있습니다. 예를 들어, 개발 및 디버깅 도구, 문서 편집 도구, 출력 도구 등이 있습니다. 무엇보다 리눅스는 UNIX를 보완하여 만들어졌기 때문에 UNIX의 기본적인 특징을 물려받았다는 장점을 가지고 있습니다.
리눅스는 오픈소스, 높은 이식성, 보안 및 서버 안정성, 그리고 계층적 트리 파일 시스템 및 부가 기능을 제공하는 강력한 운영 체제입니다. 그 결과로 많은 개발자, 서버 관리자, 데이터 사이언티스트, 아키텍트 및 일반 사용자들이 리눅스를 선택하고 있습니다. 무료로 이용 가능하며 다양한 배포판을 통해 제공되므로 누구나 시작할 수 있습니다. vmware나 VitualBox와 같은 가상화 솔루션을 통해 윈도우에서도 경험할 수 있으니 직접 설치하여 스터디하는 것을 추천합니다.
'리눅스,네트워크' 카테고리의 다른 글
리눅스(Linux) 환경변수 설정(profile, bashrc) (1) | 2023.12.06 |
---|---|
리눅스 쉘 스크립트(Shell Script) 쉬운 설명 (0) | 2023.11.07 |
리눅스 리다이렉션(IO Redirection) 개념 (0) | 2023.10.27 |
리눅스(Linux) Top 명령어 (1) | 2023.10.13 |
리눅스(Linux)의 특징 및 디렉토리 구조 - 디스크 용량, 디렉토리 용량 확인 (0) | 2023.10.07 |