728x90
반응형

리눅스의 시작과 발전

  • 핀란드 헬싱키대학교의 학생인 리누스 베네딕트 토발즈 가 처음 개발
  • 미닉스(MINIX)라는 교육용 운영체제를 참조해 개발
  • 리눅스 개발 소식을 comp.os.minix 뉴스 그룹에 포스팅 : 1991년 8월 26일 리눅스 탄생일
  • 1991년 8월 처음 알려진 이후 핵심 부분인 리눅스 커널이 공개(0.01버전)
  • GNU 프로젝트 : 리눅스 커널에 응용 프로그램 제공 = CNU/리눅스
  • 2020년 1월 26일 기준, 안정 버전은 5.4.15고 5.5버전을 개발중

 

리눅스 재단

  • 2007년 설립된 비영리 단체
  • 리누스 토발즈 지원
  • MS, 오라클, AT&T, 퀄컴, 시스코, 후지쯔, 화웨이, 인텔, 삼성전자, IBM 등
  • 리눅스 커컬은 두세 달 간격으로 업데이트 버전이 배포
  • 리눅스 커널 아카이브(www.kerenl.org)에서 누구나 소스와 패치를 내려 받을 수 있다.

 

리눅스와 GNU  프로젝트

  • 리처드 스톨만에 의해 리눅스보다 더 이른 시점에 시작
  • 1985년 "GNU 선언문"을 발표, 비영리 기관인 '자유 소프트웨어재단' 을 설립

 

GNU

  • 유닉스와 호환되는 자유 소프트웨어를 개발하는 프로젝트
  • 'GNU is Not Unix'의 약자
  • 모든 소프트웨어를 자유롭게 사용하도록 하는데 목적
  • 다음 4가지 자유를 보장
  • 1. 프로그램을 어떠한 목적으로도 실행할 수 있는 자유
  • 2. 프로그램이 어떻게 동작하는지 학습하고, 자신의 필요에 맞게 제작할 수 있는 자유
  • 3. 이웃을 도울 수 있도록 복제물을 재배포할 수 있는 자유
  • 4. 프로그램을 개선할 수 있는 자유와 개선된 이점을 공동체 전체가 누릴 수 있도록 발표할 자유
  • GNU 프로젝트는 자체적으로 운영체제(커널)을 개발 중이었으나 완성하지 못함
  • 리누스 토발즈가 개발한 리눅스 커널과 GNU의 각종 응용 프로그램이 결합, 완성된 혀앹의 운영체제 탄생

GPL

  • 1989년 제정된 GNU 프로젝트로 배포한 프로그램의 자유 소프트웨어 라이선스
  • 다음 다섯가지 의무를 저작권의 한 부분으로 강제하고 있다.
  • 1. 컴퓨터 프로그램을 어떠한 목적으로든 사용할 수 있다. 다만 법으로 제한하는 행위는 할 수 없다.
  • 2. 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드와 함께 판매하거나 소스 코드를 무료로 배포해야 한다.
  • 3. 컴퓨터 프로그램의 소스 코드를 용도에 따라 변경할 수 있다.
  • 4. 변경된 컴퓨터 프로그램 역시 프로그램의 소스 코드를 반드시 공개 배포해야 한다.
  • 5. 변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이선스를 취해야 한다. 즉 GPL 라이선스를 적용해야 한다.

 

GPL 버전

 

GPLv1

  • 1989년 1월에 발표, 이에 근거해 프로그램을 배포할 떄는 이해하기 쉬운 소스 코드를 같이 배포해야 한다는 조건
  • GPLv1 프로그램을 수정한 프로그램은 원래 프로그램과 마찬가지로 GPLv1을 따라야 한다.

GPLv2

  • 1991년 6월에 발표, GPL 라이선스 프로그램을 배포하는 것을 막는 조건

GPLv3

  • 2007년 6월에 발표, 소프트웨어 특허에 대한 대처, 다른 라이선스와의 호환성, 디지털 저작권 관리에 관한 내용이 포함

 

리눅스의 배포판

  • 일반 사용자들이 리눅스를 쉽게 사용하도록 하는 것이 목적
  • 누구나 내려받아 설치하고, 수정해 다시 자유롭게 배포 가능
  • 리눅스 커널 + 응용프로그램으로 구성
  • 크게 레드햇 계열, 데비안 계열, 슬랙웨어 계열로 구분
  • 기본 사용에는 큰 차이가 없지만, 각 계열에 따라서 관리 명령 등 일부 기능이 다르다.

 

[그림1] 리눅스 계통도  출처 : https://www.reddit.com/r/linuxmasterrace/comments/7diwwi/linux_distro_timeline/

 

[그림2]  출처 : https://slidesplayer.org/slide/14221937/

 

리눅스의 특징과 구조

 

특징

  • 리눅스는 공개 소프트웨어이며 무료로 사용할 수 있다.
  • 유닉스와 완벽한 호환성을 유지한다.
  • 서버용 운영체제로 많이 사용한다.
  • 편리한 GUI 환경을 제공한다.

구조

커널

  • 리눅스의 핵심
  • 프로세스/메모리/파일시스템/장치 관리
  • 컴퓨터읨 모든 자원 초기화 및 제어 기능

  • 사용자 인터페이스
  • 명령해석
  • 프로그래밍기능
  • 배시 셀을 기본으로 사용한다.

응용 프로그램

  • 각종 프로그래밍 개발 도구
  • 문서 편집 도구
  • 네트워크 관련 도구 등
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기