Fandom

Lihe 위키

GNU/리눅스/리눅스란

< GNU | 리눅스

7,011pages on
this wiki
Add New Page
Talk0 Share

GNU/리눅스는 무엇일까 Edit

독자 여러분께서는 GNU/리눅스에 대한 어떤 설명을 원하시나요?

만약 독자께서 이쪽에 대해 아무것도 모르는 초보자라면 GNU/리눅스는 그냥 Microsoft WindowsOS X같은 OS라고 설명할 수 있습니다. 그러나 독자 여러분이 컴퓨터에 대해 조금 더 배운 분이라면 리눅스는 OS의 핵심 부분인 커널만을 의미한다고 설명할 수 있습니다.

커널에 대해 Edit

이제 리눅스라는 말이 커널을 의미한다는 사실을 말했으니 다음 질문으로 넘어가봅시다. 커널이라는 건 무엇일까요?

커널은 컴퓨터의 각종 자원[1]을 관리하고, 컴퓨터 하드웨어와 우리가 상호 작용을 할 수 있도록 해주어서 이 기계 덩어리인 컴퓨터를 실질적으로 활용할 수 있게 하는 역할을 합니다.

이런 설명을 들었는데도 생소하다면 아주 간단하게 생각해봅시다. 독자께서는 지금 인터넷을 이용하여 이 문서를 보고 있을 것입니다. 이렇게 Lihe 위키의 문서를 보려면 웹 브라우저라는 프로그램이 실행되고 있어야 합니다. 웹 브라우저가 위키아 서버에서 Lihe 위키의 데이터베이스 중 이 문서를 읽어서 화면에 표시해주는 것이기 때문입니다.

이렇게 실행되고 있는 웹 브라우저를 포함하여 모든 실행되는 프로그램들을 프로세스라고 부릅니다. 프로세스를 돌리려면 컴퓨터의 저장 장치인 RAM이 필요하며 RAM의 크기에 따라 프로세스를 한번에 몇 개나 돌릴 수 있는지가 결정됩니다. 그리고 프로세스 중에서 웹 브라우저의 경우에는 인터넷의 연결이 필요한데 이는 LAN 카드라는 장치를 통해 여러분의 컴퓨터와 연결되고 있습니다. 그리고 화면이 있어야 독자께서 문서를 읽으실 수 있을 겁니다. 화면이나 LAN 카드 등의 장치를 관리해주고 각각의 프로세스가 이를 적절하게 사용할 수 있도록 해주는 것이 바로 커널입니다.

마우스키보드 역시 커널이 제어하게 되며, 마우스 클릭이나 키보드 입력 시에는 장치를 관리하는 부분에서 커널로 인터럽트라는 신호를 보냅니다. 인터럽트를 커널이 인식하게 되면 입력하는 내용들을 처리할 수 있도록 해줍니다. 컴퓨터의 뇌라고도 불리는 연산 장치인 CPU의 연산 역시 커널에 의해서 관리됩니다.

이렇게 모든 것을 처리해주고 가장 낮은 수준에서 컴퓨터와 상호 작용을 하기 때문에 커널을 OS의 핵심이라고 할 수 있는 것이지요.

GNU/리눅스의 역사 Edit

GNU/리눅스의 역사를 알기 위해서는 유닉스 (UNIX) 와 GNU 프로젝트를 먼저 알아야 합니다. 1969년에 벨 연구소에서 개발된 유닉스는 여러 업체에서 쓰이면서 표준적인 OS로 자리를 잡아가게 되었습니다. 지금도 많은 OS들이 유닉스에 기반하여 만들어지고 있으며, 각종 유명한 OS들도 유닉스나 유닉스의 파생형 OS의 커널에 기반하고 있습니다.

GNU 프로젝트는 소프트웨어의 상업화와 소스 코드 비공개 등이 업계의 주류가 되자 초창기의 전산 공동체 문화로 회귀하기 위해 리처드 매슈 스톨만에 의해 시작되었습니다. GNU 프로젝트는 유닉스와 완벽하게 호환되는 OS와 각종 소프트웨어들을 개발하고 궁극적으로는 모든 소프트웨어들이 누구나 소스 코드를 볼 수 있고 마음대로 개조할 수 있도록 하는 것이 목표입니다. 이를 위해 카피레프트 정신을 담은 새로운 라이선스인 GNU GPL이 생기기도 했으며, 많은 자유 소프트웨어들이 이 라이선스를 채택하고 있습니다.

GNU 프로젝트가 계속 진행되면서 문서 편집기나 기본적인 컴파일러 등은 만들어졌지만 커널 자체의 개발은 매우 부진한 상태가 유지되고 있었습니다. 그러던 중인 1991년핀란드 헬싱키 대학에 다니고 있던 학생 리누스 베네딕트 토르발스가 유닉스 기반의 새로운 커널을 재미삼아 만들게 되었습니다. 이는 처음에 교육용 유닉스인 미닉스 (MINIX) 위에서 돌아가는 에뮬레이터 수준이었으나 이후 커널의 형태를 갖추게 됩니다. 토르발스는 1991년 8월 25일에 유즈넷에 자신이 유닉스 호환 커널을 만들고 있음을 밝혔습니다. 이후 9월에 토르발스는 자신의 커널을 '리눅스'라는 이름으로 다른 사람들에게 공개했습니다.

GNU 프로젝트 측에서는 토르발스가 개발한 커널인 리눅스를 알게 되자 이를 전면적으로 지원하면서 이를 GNU의 핵심 커널로 쓰려고 노력하게 되었습니다. 현재는 리눅스 진영이 GNU 정신을 어기고 변질되었다고 보기 때문에 GNU 프로젝트 측에서는 자신들이 처음에 개발하던 GNU 허드를 계속 추진하고 있습니다.

특징 Edit

기존의 유닉스 기반 OS들은 대형 시스템을 위해 설계된 반면, 리눅스는 대형 컴퓨터뿐만 아니라 PC에서도 사용이 가능하다는 특징이 있습니다.

또한 GNU GPL을 따르기에 누구나 자유롭게 소스 코드를 보고 수정하고 이용할 수 있기에 다양한 배포판들이 존재합니다. 소스 코드를 누구나 볼 수 있다는 특성 상 소스 코드를 공개하지 않는 다른 OS보다 취약점 수정이 빠르게 이루어지는 경향이 있습니다.[2]

GNU/리눅스 새 커널이 결정되는 과정[3] Edit

GNU/리눅스의 커널 소스가 약 3000개 정도 올라오면 그 중에서 상급 개발자에게 올라가는 것은 6개 정도입니다. 그 다음에 상급 개발자들이 소스를 검사하여 최종적으로 리누스 베네딕트 토르발스에게 소스 코드를 보내줍니다.

리눅스는 이 소스들을 관리하기 위해 git이라는 버전 관리 프로그램을 사용합니다. git은 리눅스 커널만을 위해 개발되었으나 현재는 많은 오픈 소스 프로젝트들이 사용하고 있습니다.

Sn Edit

  1. 여기에서 말하는 자원이라는 것은 컴퓨터의 하드웨어의 각종 장치와 파일 시스템, 프로세스 등입니다.
  2. 실제로 PNG에 버그가 있었을 때 GNU/리눅스에서는 하루만에 수정되었지만 Microsoft Windows의 경우에는 1주일이 지나서야 수정이 이루어진 사례가 있습니다.
  3. 이 문단은 최초 편집자가 Korea Linux Forum 2012에서 들은 내용에 기반합니다.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki