1. 리눅스의 특징
- UNIX 계열의 OS
- 서버와 클라우트 컴퓨팅에서 많이 사용되는 OS
- 프로그래밍에도 유용한 OS (ANSI C의 C언어 표준을 사용)
2. 리눅스의 역사
a) 리눅스의 시작
▶ 리누스 토발즈 (리눅스 개발자)
- 대학에 있는 UNIX 컴퓨터를 집에서도 사용하고 싶다는 개발동기
- 다중 사용자, 다중 작업(시분할 시스템, 멀티 태스킹)을 지원하는 UNIX와 유사한 OS를 개발하기 시작
b) GNU 프로젝트
▶ GNU(Gnu is Not UNIX)
- UNIX 운영체제는 여러회사에서 각자 개발되었고 서로 소스를 공유하지 않았다.
▶ 리차트 스톨만
- 초기 개발공동체의 상호협력적인 문화로 돌아가자는 GNU 선언문을 발표
- 최초의 컴퓨터 애니악을 개발할 때에는, 여러 개발자들이 상호협력 하는 문화가 있었다.
- 인류가 만든 기술은 모두 인류 공동의 자산이라는 것
▶ 자유 소프트웨어 재단(FSF) 설립 및 GNU 공개 라이센스(GPL) 규약
- 오픈소스 프로젝트를 지원하기 위한 재단(FSF)
- 오픈소스를 자유롭게 수정 및 활용할 수 있다(GPL 규약)
- GPL 규약이 붙은 오픈소스를 활용해 만든 프로젝트도 GPL 라이센스를 붙여야 한다는 규약
- 궁극적으로 오픈소스를 장려하는 환경, 문화를 만듬
▶ GNU Hurd (https://www.gnu.org/software/hurd/)
- UNIX를 대체할 오픈소스의 운영체제를 개발하기 시작
- GNU Hurd라는 운영체제 커널을 개발
- 운영체제 기본구성에 필요한 라이브러리, 컴파일러, 에디터, 쉘 등을 개발
c) GNU와 리눅스의 만남
▶ GNU 프로젝트의 지연
- 위의 웹사이트 링크를 보면 알 수 있듯이, GNU Hurd의 개발이 제대로 진행되지 않았다.
- 리누스 토발즈의 리눅스 커널 오픈소스를 발견한다.
- GNU의 프로젝트 산출물과 리눅스 커널이 통합 개발되기 시작한다.
'컴퓨터공학기초 개념 > 시스템 프로그래밍' 카테고리의 다른 글
6. shell - 파일 권한 및 관리(1) (0) | 2021.09.07 |
---|---|
5. shell - 다중 사용자 (0) | 2021.09.06 |
4. 리눅스의 기본구성 (0) | 2021.09.06 |
3. AWS EC2 - IP생성 및 서버접속 (0) | 2021.09.03 |
2. AWS EC2 - 인스턴스(서버) 생성하기 (0) | 2021.09.03 |
댓글