< 리눅스의 탄생 >
리눅스의 탄생은 1991년 핀란드의 대학생 리누스 토발즈가 개발한 커널에서 시작되었다.
당시 리눅스 토발즈는 마이크로소프트사의 윈도우 운영체제에 대한 불만을 가지고 있었고,
유닉스 계열 운영체제에 대한 높은 비용 문제도 인식하고 있었습니다.
그래서 자신이 만든 커널에 유닉스와 비슷한 명령어 인터페이스와 기능을 구현하여, 공개 소프트웨어로 배포하기 시작했습니다.
< 오픈 소스 >
오픈 소스 개발자들이 리눅스 커널을 개발하고, 리눅스 운영체제가 발전해 나가게 되었다.
현재 리눅스는 오픈 소스 운영체제 중 하나로, 안정적이고 보안성이 높아서 서버나 임베디드 시스템 등 다양한 분야에서 사용되고 있다.
또한, 다양한 배포판과 애플리케이션들이 개발되어 있어, 개인용 컴퓨터에서도 사용할 수 있다.
- 프로그램 소스코드를 무료로 공개하여 사용자는 원하는 대로 특정 기능을 추가함
- 1992년에 0.02 버전을 내놓으면서 인터넷에 소스코드를 공개, 이것이 리눅스의 시초
< 특징 >
•어느 플랫폼에도 포팅이 가능함
•현재는 개인 PC, 기업의 중대형 컴퓨터, 임베디드 기기, 모바일 기기에서도 리눅스가 동작
■ GNU란?
GNU는 GNU is not Unix로 "GNU는 유닉스가 아니다"라는 의미를 갖는다.
• 당시 유닉스는 유명한 독점 소프트웨어 운영체제로 GNU 프로젝트의 프로그램들이 유닉스 시스템과 호환될 수 있게 만들었기 때문에
구분하기 위해 원래의 이름이 포함된 재귀적 약어로 만든 것으로 판단한다.
• 리누스 토발즈가 리눅스 커널을 개발하기에 앞서 리차드 스틀만에 의해 시작
• 모두가 공유할 수 있는 소프트웨어를 만드는 것을 모티브
• 자유 소프트웨어 재단 FSF(Free Software Foundation)을 설립하여 GNU프로젝트에서 제작한 S/W 지원
- GPL 라이선스를 따르도록 규정
- 자유 소프트웨어의 수정과 공유의 자유 보장
- S/W 사용, 수정, 복사, 재배포 권리에 대한 사용허가세
----- GPL(General Public License) -----------------------------
• GNU 일반 공중 사용 허가서(GNU General Public License, GNU GPL 또는 GPL)는 자유 소프트웨어 재단에서 만든
자유 소프트웨어 라이선스로, 소프트웨어의 실행, 연구, 공유, 수정의 자유를 최종 사용자에게 보장한다.
•대표적으로 리눅스 커널이 이용하는 사용 허가이다. GPL은 가장 널리 알려진 강한 카피레프트 사용 허가이며,
이 허가를 가진 프로그램을 사용하여 새로운 프로그램을 만들게 되면 파생된 프로그램 역시 같은 카피레프트를 가져야 한다.
■ 리눅스의 특징
리눅스의 특징을 요약하면 오픈소스로 유연성, 안전성, 보안성 측면에서 강력하고 데스크톱 사용자부터 서버 관리자, 임베디드 개발자까지 다양한 사용자가 활용할 수 있는 운영체제이다.
(1) 오픈소스 소프트웨어
리눅스는 GPL(General Public License) 라이선스로 배포되며, 누구나 소스 코드를 확인하고 수정할 수 있습니다. 따라서 사용자와 개발자들이 자유롭게 시스템을 개선하거나 자신만의 용도에 맞게 변경할 수 있다.
(2) 다중 사용자 및 작업 : 멀티유저(다중사용자), 멀티태스킹(다중작업) 운영체제이다.
리눅스는 유닉스의 영향을 받아 다중 사용자(Multi-user)와 다중 작업(Mulitasking) 환경을 기본으로 지원합니다. 즉, 여러 프로그램이 동시에 실행될 수 있으며, 여러 사용자가 동시에 시스템에 접근해 작업할 수 있다.
(3) 고성능 / 안정성 / 보안성
리눅스는 서버 운영체제로 안전성과 성능이 우수합니다. 시스템이 장시간 구동되어도 성능 저하가 적고, 대규모 시스템에서도 원활하게 동작합니다. 또한 파일 및 시스템 권한 관리가 철저하고, 제한된 사용자만 시스템 변경을 수행할 수 있어 보안성이 강하다.
(4) 다양한 배포판
리눅스는 다양한 배포판 형태로 제공됩니다. 배포판은 리눅스 커널에 필요한 프로그램을 선택적으로 묶어 하나의 운영체제로 제공하는 것을 의미한다.
유명한 배포판으로는 우분투(Ubuntu), 데비안(Debian), 페도라(Fedora), 레드햇(Red Hat) 등이 있으며 이 외에도 수천가지 배포판이 특정 용도와 환경에 맞게 최적화되어 사용된다.
(5) 방대한 커뮤니티
리눅스는 방대한 커뮤니티에 의해 개발되고 지원된다.
전 세계의 개발자와 사용자가 프로그램의 오류를 보고하고 개선 사항을 제안하며, 다양한 문서가 제공되어 사용자들이 도움을 받을 수 있다.
또한 개발자는 리눅스 시스템에 기여하는 것에 자부심을 갖기 때문에 개발자의 실력 향상과 동기 부여에 기여하고 있다.
■ 리눅스의 활용 사례
리눅스는 서버 및 클라우드 인프라, 슈퍼컴퓨터, 임베디드 시스템, 모바일 기기 등 다양한 분야에서 핵심적인 역할을 하고 있습니다.
오픈 소스라는 강점과 함께 높은 안정성과 유연성 덕분에 여러 산업과 연구 분야에서 필수적인 운영체제로 자리잡고 있다.
예를 들어, 전 세계의 많은 웹 서버와 데이터베이스 서버가 리눅스 기반으로 운영됩니다. 또한 AWS(Amazon Web Service), 구글 클라우드, MS의 애저(Azure) 같은 클라우드 서비스 제공 업체들은 리눅스를 기반으로 인프라를 구축하고 있다.
리눅스는 슈퍼 컴퓨터에서 가장 많이 사용되는 운영체제로 전 세계 슈퍼 컴퓨터의 대부분이 리눅스 기반 시스템으로 구동한다.
IT 전문가, 개발자 등 일부 사용자는 리눅스를 데스크톱 운영체제로 프로그램 개발 및 업무용으로 사용하고 있다.
모바일 운영체제로 대표적인 안드로이드는 리눅스 커널 기반의 운영체제로 스마트폰과 태플릿을 비롯한 다양한 디바이스에서 동작한다.
마지막으로 리눅스는 스마트 TV, 자동차 내비게이션, 디지털 카메라와 같은 사물인터넷 장치 등에 작용되어 특정 작업을 수행하는데 사용된다.
이 외에도 게임, 교육, 연구, 보안 및 테스트 등에도 리눅스가 사용되고 있다.