본문 바로가기
Working/Operation System

[Linux] 리눅스의 개요

by JangTalk 2025. 2. 20.

 

[리눅스 관련용어]

 - 리차드 스톨만

 - GNU(GNU's Not Unix)

 - FSF(Free Software Foundation)

 - GPL과 Open Source Software

 - 미닉스(MINIX)

 - TUX

 - 커널(Kernel)

 

[리차드 스톨만]

 - 리누스 토발즈와 함께 리눅스의 양대산맥으로 꼽히는 사람

 - 오늘날의 리눅스를 있게 하는데 큰 공헌을 함

 - 자유소프트웨어연랍(FSF)을 조직화했음

 - GNU 프로젝트 조직화

 - GNU 정신의 효율적인 계승을 위해 카피레프트 운동을 주창함

 

[GNU(GNU's Not UNIX)]

 - GNU는 유닉스와 호환되면서 더 강력한 운영체제를 만들고자 하는 프로젝트를 의미

 - GNU 프로젝트는 FSF의 리차드 스톨만에 의해 시작됨

 - GNU라는 단어는 재귀적 약어법을 이용하여 만들음

  (재귀적 약어법? 사용하고자 하는 단어가 다시 들어가고자 하는 방식)

 - GNU 프로젝트는 소프트웨어의 상업화에 반대해 소프트웨어를 자유롭게 사용하도록 하자는 운동으로

   리눅스가 바로 그 대표적 성과물임

 

[FSF(Free Software Foundation)]

 - 1984년 리차드 스톨만에 의해 제창됨

 - 자유소프트웨어를 보호하고 발전시키기 위해 조직되어 현재의 GNU/Linux 운영체제가 있게 한 비영리 단체

 

[GPL(General Public License)와 오픈소스 소프트웨어(Open Source Software)]

 - GPL은 FSF에서 GNU정신에 입각하여 자유 소프트웨어를 보유하며, 실제적으로 카피레프트를 담보할 수 있는 법률 장치이자,

   사용권 허가 방법으로 GPL이 적용된 소프트웨어는 자유 소프트웨어임(예 : 리눅스, Bash, gcc, gimp, GNOME)

 - 오픈소스 소프트웨어

   : 오픈소스에 대한 의미를 충족시키는 소프트웨어

   : 정의는 http://www.opensource.org/docs/definition_plain.html 에서 찾아볼 수 있음

   : 이 소프트웨어의 라이선스는 내용에 따라 GPL에 합치하거나 그렇지 않을 수도 있음

 - 오픈소스 소프트웨어는 GNU의 자유 소프트웨어가 소프트웨어의 상업적 용도의 사용에 부적합하다는 논의하에 새롭게 등장

 - 자유 소프트웨어와 오픈소스 소프트웨어의 기본적인 목표는 같지만,

   GNU에서는 오픈소스 소프트웨어를 같은 진영으로 인정하면서도 오픈소스 소프트웨어의 개념에 있어서의 위업성을 지적함

 

[미닉스(MINIX)]

 - 교육용 유닉스

 - 리누스 토발즈는 미닉스를 이용하여 유닉스와 유사한 운영체제오서 리눅스를 개발하게 됨

 - 리누스는 리눅스를 개발하는 데 있어서 유닉스에서 여러가지 힌트를 얻었지만, 미닉스를 참고하지는 않았다고 함

 - 단시 리눅스 개발을 미닉스 상에서 한 것임

 

[TUX]

 - 펭귄으로 리눅스의 공식적인 로고

 - TUX는 토발즈와 뉴익스 단어의 스펠링에서 T와 U,X를 따서 정한 것임

 - 리눅스 로고에 대한 정보는 http://www.linux.org/info/logos.html 에서 볼 수 있음

 

[커널]

 - 운영체제를 이루는 가장 핵심적인 기능을 수행하는 것

 - DOS나 Microsoft Windows에서 IO.SYS나 MSDOS.SYS는 시스템 장치에 관계된 일들을 수행하는데

   커널도 비슷한 역할을 수행한다고 보면됨

 - 어떤 운영체제나 들어있는 운영체제의 핵심

 - 커널이 하는일 : 실행중인 프로그램을 관리, 시스템에 대한 전반적인 자원을 관리

 - 커널 표기법 

   2 . 4 . 17 -xfs

  │  │  │   └── 추가번호

  │  │  └──── 패치레벨   

  │  └────── 부번호(Minor)

  └──────── 주번호(major)

 

 - 주버전 : 리눅스 커널에 급격한 기능 변화가 있을 때 숫자가 증가함

             커널 발전역사 14냔에서 주버전이 2인것을 보면 알 수 있음

 - 부버전 : 주버전의 변화보다는 작은 기능상의 변화가 있을 때 숫자가 증가함

             짝수이면 안정버전을 의미, 홀수이면 개발버전을 의미

 - 이외에 추가버전은 기본적으로 공식적인 커널 버전에서는 볼 수 없는 것이지만 Snapshot(최신 개발 진행 파일 묶음),

   Prepatch(알파 버전과 동일), Pre버전, 테스트 버전, 비공식 버전(다른 개발자들이 추가적으로 개발하는 버전) 등에서 볼 수 있음

 - 현재는 개발 버전이라기 보다는 Snapshot과 Prepatch 형태로 개발 버전이 발표됨

 - Snapshot은 커널의 개발이 진행되는 상태에서 실시간으로 업데이트를 묶어서 웹사이트에 발표

 - Prepatch는 테스트를 위한 알파 버전 형태로 정식으로 발표

 - 안정 버전은 일정하게 개발이 진행된 후에 공식적으로 발표

 - 2.6.11버전부터 다시 약간의 변화가 생김

  : 빠른 안정 버전의 발표와 함께 보다 세분화된 버전의 표기가 사용됨

  : 예전의 세 부분으로 나뉘던 것에 한부분을 더 추가해서 2.6.11.x 와 같이 표기함