Home 리눅스(LINUX) 운영체제들에 대해 알아보자
Post
Cancel

리눅스(LINUX) 운영체제들에 대해 알아보자

운영체제(Operating System, OS)

운영체제(OS)는 사용자의 하드웨어 및 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어다.
시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어 실행을 위한 하드웨어 추상화 플랫폼, 공통 시스템 서비스를 제공한다. 
최근 가상화 기술의 발전에 힘입어 실제 하드웨어가 아닌 하이퍼바이저(가상머신)위에서 실행되기도 한다. 또한 입출력과 메모리 할당과 같은 하드웨어 기능의 경우 응용 프로그램과 컴퓨터 하드웨어 사이 중재 역할을 하며 실행되는 응용 프로그램들이 메모리와 CPU, 입출력 장치등의 자원들을 사용할 수 있도록 만들어 준다. 더불어 이들을 추상화하여 파일 시스템 등의 서비스를 제공한다. 또한 멀티태스킹을 지원하는 경우 여러 개의 응용 프로그램을 실행하고 있는 동안, 운영 체제는 이러한 모든 프로세스들을 스케줄링하여 마치 그들이 동시에 수행되는 것처럼 보이는 효과를 낸다. 

리눅스(LINUX)

image

1991년 9월 17일 핀란드의 소프트웨어 개발자 리누스 토르발스가 처음 출시한 운영체제 커널인 리눅스 커널에 기반을 둔 오픈 소스 유닉스 계열 운영체제이다.  멀티유저, 멀티태스킹을 지원하는 유닉스와 유사한 운영체제이나 리눅스는 유닉스와 독립적으로 개발되었는데, 정확히는 유닉스 계열 운영체제가 아니라 유닉스의 복제품인 유닉스 클론 운영체제이다.
리눅스는 일반적으로 리눅스 배포판 안에 패키지 처리된다. 배포판에는 리눅스 커널과 지원 시스템 소프트웨어, 그리고 라이브러리를 포함하고 있으며 이들 가운데 다수가 GNU 프로젝트에 의해 제공된다. 

GNU 프로젝트는 리처드 스톨먼의 주도하에 시작된 공개 소프트웨어 프로젝트이다.
1983년 9월 27일 유즈넷 그룹을 통해 일반에 알려졌으며 첫 선언문과 GNU 선언문등을 비롯한 여러 글을 통해 “초기 전산 공동체에 지배적이었던 협동 정신을 되돌리자”라고 주장했다. GNU 프로젝트는 누구나 자유롭게 _실행, 복사, 수정, 배포_할 수 있고 누구도 그런 권리를 제한하면 안된다는 사용 허가권 아래 소프트웨어를 배포한다. 

리눅스는 처음에 인텔x86 아키텍처에 기반한 개인용 컴퓨터용으로 개발되었으나 그 뒤로 기타 운영체제 외에 더 많은 플랫폼으로 이식되었다. 스마트폰에 안드로이드(리눅스 기반)가 우세해지면서 리눅스 또는 모든 범용 운영 체제 가운데 가장 많은 설치 기반을 보유하고 있기도 하다.  리눅스의 개발 역사는 길지 않지만 리눅스는 성능과 안정성에서 몇 배의 개발 역사를 갖고있는 유닉스 운영체제를 능가하는 수준이다. 이는 유닉스가 한 회사나 조직 내의 몇 사람에 의해 폐쇄적으로 개발, 유지되는 반면 리눅스는 인터넷으로 연결된 전 세계의 수많은 개발자들에 의해 수정 및 기능 추가 등의 개발이 진행되기 때문이다.

리눅스 개발에 수많은 개발자들이 참여하는 이유는 리눅스의 프로그램의 소스를 공개해 오픈소스로 사용 가능하게 하여 누구든지 자유롭게 변경하여 재배포할 수 있는 프리웨어이기 때문이다. 따라서 누구든 리눅스를 자신의 사용 용도에 맞게 마음대로 바꿀 수 있으며 재배포한 운영체제 소스에 대해서는 자신의 권리를 주장하지 못하고 다른 사용자들에 의해 또 다시 추가, 사용, 배포된다. 이러한 이유로 리눅스는 하루가 다르게 새로운 기능이 추가되고 발전하고 있다.

리눅스의 장점

  • 다중 사용자(multi-user) 및 다중처리시스템(multi-tasking)
  • 완전히 공개된 오픈소스 프로그램
  • 뛰어난 네트워크 환경 : 이더넷을 포함한 SLIP, PPP, ATM 등의 다양한 네트워크 환경, TCP/IP, IPX, AppleTalk등 대부분의 네트워크 프로그램 지원
  • 다양한 파일 시스템 지원
  • 뛰어난 이식성 : 리눅스는 약간의 어셈블리어와 대부분의 C언어로 작성되어 있다. 
  • 유연성과 확장성
  • 강령하고 뛰어난 안전성과 보안성
  • 우수한 가격대 성능비
  • 다양한 배포판 존재
  • 다양한 응용 프로그램 제공(shell, X Window 시스템, 편집기, 서버 및 클라이언트 프로그램, 다양한 언어의 개발도구 등) image

리눅스의 단점

  • 대부분 비상업적 제품으로 전 세계의 모든 개발자들에게 기술 지원의 부족
  • 다른 OS에 비해 이식성, 확장성 등이 뛰어나나 여전히 특정 하드웨어에 대한 지원이 부족
  • 중요한 명령어나 환경 설정 파일 수정 등에 대한 사용자의 숙련된 기술 요구

리눅스의 기술적 특징

  • 계층적 파일 구조(트리 구조)
  • 장치의 파일화
    장치란 하드디스크, 키보드, 프린트, 화면 출력 장치 등 시스템에 설치된 여러 하드웨어적 자원을 의미하며 이러한 장치들은 모두 파일화하여 사용한다. 특정 하드웨어에 명령을 내리기 위해서는 해당 장치 파일에 명령을 내리는 형식이다.
  • 가상 메모리 사용를 사용하여 하드디스크의 일부를 메모리처럼 사용하며 리눅스에서는 이 영역을 스왑(SWAP) 이라고 부른다.

    SWAP & 가상메모리 더 알아보기 > https://juran-devblog.tistory.com/234

  • 동적 라이브러리 지원
    프로그램에서 특정 기능을 실행하기 위한 명령어인 루틴들을 모아둔 것을 라이브러리라 하며, 프로그램  개발 시 라이브러리 중 필요한 루틴들을 받아서 링크 시킨다. 같은 루틴들을 공유하는 것을 공유 라이브러리라 한다. 동적 공유 라이브러리는 실행파일 내부에 넣어두지 않고 프로그램을 실행할 때 가져다 사용하므로 메모리의 효율성을 높힌다.
  • 하나의 모니터를 장착한 시스템에 여러 개의 가상 화면을 제공하는 가상 콘솔 기능 제공
  • 파이프(pipe)
    프로세스간 통신을 위해 도입한 것으로 어떤 프로세스와의 표준 출력이 다른 프로세스의 표준 입력으로 쓰이게 하는 것을 말한다.
  • 리다이렉션(redirection)
    어떤 프로세스의 입출력을 표준 입출력이 아닌 다른 입출력으로 변경할 때 사용한다. 출력 결과를 파일로 저장하거나 파일의 내용을 프로세스의 입력으로 사용하는 기법이다.

다양한 리눅스 OS

image image

우분투 리눅스(Ubuntu Linux)
영국 기업 캐노니컬이 개발, 배포한 운영체제. 데비안 리눅스를 기반으로 개발되었으며 데비안에 비해 사용 편의성에 초점을 맞췄다. 우분투라는 이름은 창업자 마크 셔틀워스의 고향 남아프리카 공화국의 건국이념인 우분투 정신에서 유래했다.
일반적으로 매 6개월마다 새로운 버전이 공개되며 장기지원판(LTS, Long Term Support)는 2년에 한 번씩 출시되는데 4월과 10월에 한 번씩 메이저 업데이트가 이뤄지고 있다. .xx.04와 xx.10이 나눠지는데 이는 발표된 달에 붙는 숫자이고 xx는 배포된 년도를 나타낸다. 또한 LTS 버전은 5년의 지원 기간을 가지며 짝수해 상반기에 데스크탑용과 서버용으로 나눠서 배포된다. LTS 버전 외 다른 최신 버전은 지원이 9개월로 매우 짧기 때문에 LTS 버전을 사용하는 것을 추천한다.
주요 장점으로는 설치가 쉽다. Unity 환경을 지원하여 리눅스 개발 환경이 익숙하지 않는 초심자들에게 전용 GUI를 지원한다. 데스크톱, 서버 버전 모두 무료로 다운로드하여 이용할 수 있으며 상업적인 서비스 활용에도 문제 없다. 방화벽은 ufw를 사용하여 방화벽의 설정을 간편하게 만들었고 추가 보안 설정이 없어도 기본적인 보안 레벨을 유지할 수 있다. 대부분 리눅스 배포판들이 서버용으로 사용되는 반면 우분투는 개인 사용자와 데스크톱 환경에 최적화되어 사용자 편의를 중점으로 개발되었다.
단점으로는 LTS버전을 사용하지 않는 한 6개월마다 업그레이드가 필요하다. GUI의 경우 사용자마다 호불호가 갈린다.
가장 많이 알려진 OS이며 초보자에게 입문용으로 주로 추천되는 OS

데비안(Debian)
GNU의 공식적인 후원을 받는 유일한 배포판으로 패키지 설치 및 업그레이드가 단순하다. 데비안이라는 이름은 데비안 프로젝트의 창시자인 이안 머독과 그의 부인인 데브라의 이름에서 유래했다. 데비안은 안정성과 보안에 중점을 두어 다른 리눅스 배포판들의 기반으로 사용되고 있다.
배포되고 있는 리눅스 중 가장 서버 안정성이 높고 설치 및 업그레이드가 쉬우나 설정이 조금 어렵다.
레드햇보다 오픈소스에 가까우며 오래되었으나 초보자에게 적합하진 않음, 주로 개인용으로 사용되고 사용자 친화적인 배포판이 많음

리눅스 민트(Linux Mint)
우분투와 달리 독점 소프트웨어인 자바와 플래시 웹 플러그인 등을 기본적으로 포함하여 설치하고 바로 사용하기에 편리하다. 우분투와 같은 소프트웨어 저장소를 쓰고 독자 소프트웨어 저장소도 있다. 우분투에 적용되는 팁 대부분이 리눅스 민트에도 적용된다.
우분투에서 제공하지 않은 소프트웨어를 포함하고 GUI가 우분투에 비해 뛰어나다는 장점이 있다.
하지만 우분투에 비해 세계 다국어 지원이 미흡하고(한글 글꼴을 기본 지원하지 않음) 데비안 불안정 버전을 기반으로 하고 있다는 단점이 있다. 

페도라(Fedora)
리눅스 커널에 기반한 운영체제와 레드햇의 후원, 개발 공동체의 지원 아래 개발된 일반 목적의 RPM(Redhat Packaging Management) 기반 리눅스 배포판이자 개인이나 기업 등 다양한 환경에서 사용될 수 있도록 만들어진 리눅스.
다른 리눅스 배포판에 비해 6개월 간격으로 새로운 버전이 배포되어 상대적으로 짧은 교환 주기를 갖지만 각 버전마다 13개월씩만 지원하여 그 기간이 다소 짧다.
리눅스를 전문적으로 다루는 개발자가 선호하는 리눅스 배포판이다. 레드햇에서 개발되는 기술이 가장 먼저 탑재되어 최신의 기술을 체험할 수 있고 개발을 위한 도구들이 기본적으로 제공된다는 장점이 있다.
하지만 선택적 업데이트에 따라 에러가 많이 발생하기도 한다.
레드햇 리눅스9 이후 자사가 개발하는 기업용 RHEL과 레드햇에서 후원하는 페도라 프로젝트에서 관리하는 일반 사용자용 페도라로 구분된다.

레드햇 리눅스(Red Hat Linux, rhel)
레드햇 기업에서 유료 배포하는 리눅스로 RHEL이라고도 불린다. 페도라와 마찬가지로 RPM을 패키지 매니저로 사용하여 패키지 관리(설치, 삭제, 업데이트)가 용이하다. 
레드햇 리눅스의 주요 장점으로는 서버의 안정성이 높고 설치가 쉽다는 점이다. 폭넓은 하드웨어를 지원하고 대규모 데이터베이스 환경에서도 안정적으로 동작한다. 유료 버전 사용 시 지속적인 관리와 최신 기술 지원, 보안 업데이트 등을 지원한다.
단점으로는 설치 후 관리면에서 어려움이 있고 최신 기술 사용 시 유료라는 점이 있다.
구입비용이 곧 기술지원비용이기 때문에 기업용 서버OS로 인기가 높음

센트OS(CentOS)
센트OS 프로젝트에서 레드햇 제휴로 개발한 컴퓨터 운영체제이다. 업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 플랫폼을 제공할 목적으로 만들어진 리눅스계 운영체제 중 하나이다. 유료 리눅스인 레드햇 엔터프라이즈를 GPL 라이선스 룰을 이용하여 무료 배포한 것이 센트OS이다.

GPL은 소스를 받은 자가 그 소스를 재배포하는 것을 막지 않기 때문에 레드햇 구매자가 레드햇의 소스를 요청하고 배포할 수 있다.
이 점을 이용한 상표권이 배제된 리눅스가 현재 센트 OS이다.

세계에서 점유율 1위이고 무료로 사용 가능하며 가볍고 안정적인 운영이 가능하다.  하지만 무료인 만큼 문제 발생 시 지원을 받을 수 없고 시스템 설정이 어렵다. 지원 가능 프로그램이 우분투에 비해 적다.
레드햇의 무료 버전으로 한국에서 많은 사용률을 띄고 있으나 기술지원이 없다는 단점



위키백과 | 운영체제 https://ko.wikipedia.org/wiki/%EC%9A%B4%EC%98%81_%EC%B2%B4%EC%A0%9C
리눅스란 무엇인가? 역시/특징/종류/구조 총정리 https://onecoin-life.com/45
리눅스OS 배포판 종류와 역사, 특징, 목적, 추천 등 https://jhnyang.tistory.com/135

This post is licensed under CC BY 4.0 by the author.

JS와 SQL 그리고 JAVA.. 데이터 가공과 비즈니스 로직은 어디에

Mac M1 Github 블로그 다시 시작하기