2025. 5. 6. 00:53ㆍ리눅스
GNU
GNU란 재귀적 약어로 GNU's Not Nuix 즉 "GNU는 유닉스가 아니다." 라는 뜻으로 유닉스와 호환이 되면서 더 강력한 운영체제를 만들고자 하는 프로젝트입니다. 리처드 스톨먼을 주축으로 자유로운 소프트웨어를 희망하던 공동체들이 가장 먼저 운영체제인 유닉스를 모태로 개발을 시작하면서 이 말이 탄생되었습니다. GNU는 유닉스와 호환이 되도록 만들어진 운영체제이기는 하지만 유닉스와는 다른 운영체제라는 의미를 내포시키기 위해서 만든 이름이라고 할 수 있다.
1983년에 시작된 프로젝트로 초기에는 이렇게 자유로운 유닉스를 만드는데 목적이 있었으나 리눅스가 등장하면서 GNU C 컴파일러인 gcc, 문서편집기인 emacs, X 윈도 데스크톱 환경인 GNOME, tar를 개조한 GNU tar 등과 같은 응용프로그램을 만들었습니다. GNU 프로젝트는 소프트웨어의 상업화에 반대해 소프트웨어를 자유롭게 사용하도록 하는데 목적이 있습니다.
FSF
1985년 리처드 스톨먼이 설립한 자유 소프트웨어 재단(FSF)은 자유 소프트웨어의 생산, 보급, 발전을 목표로 만든 비영리 조직입니다. 자유 소프트웨어라는 용어는 무료나 공짜라는 뜻은 아닙니다. 자유(Free)는 '구속되지 않는다.' 는 관점에서 자유입니다.
즉, 프로그럄의 변경이나 수정의 자유를 말합니다. 자유 소프트웨어는 사용자가 소프트웨어를 실행, 복제, 학습, 재작, 향상시킬 수 있는 자유가 보장되어야 하는데 다음과 같은 4가지 자유가 보장되어야합니다.
자유 소프트웨어
1. 목적에 상관없이 프로그램을 실행시킬 수 있는 자유.
2. 프로그램이 어떻게 동작하는지 학습하고, 필요에 따라서 프로그램을 개작할 수 있는 자유
(이러한 자유가 실제로 보장되기 위해서는 소스 코드를 이용할 수 있어야 합니다.)
3. 무료 또는 유료로 프로그램을 재배포할 수 있는 자유
4. 프로그램을 개선시킬 수 있는 자유와 개선된 이점을 공동체 전체가 누릴 수 있도록 발표할 수 있는 자유
GNU GPL(General Public License)
GNU 프로젝트가 시작되고 FSF가 처음 설립된 시기에 자유소프트웨어라는 표기 용어로 카피레프트(Copyleft)라는 단어를 만들어 사용하였다. 이 용어는 저작권을 뜻하는 Copyright의 반대를 뜻하는 말로 사용하였다. 저작권법을 근간으로 하지만 저작권법이 갖고 있는 주된 목적을 반대로 이용해서 소프트웨어를 개인의 소유로 사유화시키는 대신 자유로운 상태로 유지시키는 수단으로 삼는 것이다. 카피레프트는 프로그램을 실행하고 복제할 수 있는 권리와 함께 개작된 프로그램에 대한 배포상의 제한조건을 별도로 설정하지 않는 한, 개작과 배포에 대한 권리 또한 다른 사람에게 허용하는 것이다. 이러한 방법을 통해서 "자유 소프트웨어"라는 용어의 핵심인 "자유"를 모든 사람에게 보장할 수 있고 프로그램을 입수한 사람은 그 누구도 뺏을 수 없는 권리를 갖게 된다.
리처드 스톨먼은 관련 라이선스를 GNU GPL로 명명하게 된다. GNU GPL(General Public License) 은 GNU 소프트웨어에서 카피레프트를 실제로 구현한 라이선스를 뜻한다. GNU 정신에 입각하여 자유 소프트웨어를 보호하며 실제적으로 카피레프트를 담보할 수 있는 법률적 허가권이라고 할 수 있다. GNU GPL 라이선스는 다섯 가지의 의무를 저작권의 한 부분으로서 강제하는데, 관련 설명은 라이선스 영역에서 설명한다.
커널(Kernel)
커널은 운영체제의 핵심으로 사람으로 비유하면 뇌에 해당한다. 커널은 시스템이 부팅될 때 로드되는데, 주된 역할은 시스템의 하드웨어 제어이다. 메모리, CPU, 디스크, 단말기, 프린터 등의 시스템자원 활용도를 높이기 위한 스케줄링과 실행중인 프로그램 관리, 자료관리 등을 수행한다.
주번호는 커널에 매우 큰 변화가 생겼을 경우를 숫자가 증가하고, 부번호는 작은 기능상의 변화가 생기거나 추가된 경우를 나타내며 이것들을 한꺼번에 모아서 주번호를 올려서 발표되기도 한다. 패치레벨은 버그가 수정되고 새로운 기능의 계획이 추가되면 커널의 패치 레벨이 증가한다. 커널 2 버전까지는 부번호가 짝수인 커널은 안정버전을 뜻하고 홀수인 커널은 개발버전을 의미하였으나, 커널 3 버전부터는 구분이 없어지고 순차적으로 버전이 올라가면서 배포되고 있다. 2017년 3월 현재 커널은 4.10.1 버전이 배포되고 있다.
리눅스와 GNU/Linux
GNU에서는 하나의 완성된 시스템을 만들기 위해서 HURD라는 이름의 커널을 개발 중이었지만 하나의 제품으로 사용할 수 있을 만한 상태가 아니었다. 그러나 다행스럽게도 또 다른 커널이 사용 가능했는데, 1991년 리누스 토발즈(Linus Torvalds)가 유닉스 커널과 호환가능하게 만든 리눅스라는 이름의 커널이었다. 1992년 GNU시스템과 리눅스를 결합함으로써 하나의 완성된 자유 운영체제를 만들 수 있었다. 현재 사용되고 있는 GNU시스템은 리눅스 덕분에 가능했던 것이라고 할 수 있다. 그래서 이 시스템을 GNU/Linux라고 부르는데, 이는 리눅스를 시스템 커널로 채용한 GNU 시스템을 지칭한다.
'리눅스' 카테고리의 다른 글
리눅스 마스터 2급 - 리눅스의 철학 (0) | 2025.05.06 |
---|---|
리눅스 마스터 2급 - 리눅스의 역사 (1) | 2025.05.06 |
리눅스 마스터 2급 - 리눅스의 이해 (리눅스 디렉터리 종류와 특징) (0) | 2025.05.05 |
리눅스 마스터 2급 - 리눅스의 이해 (1) | 2025.05.05 |
운영체제란? (0) | 2024.06.24 |