리눅스(유닉스) 운영체제

리눅스

서버에 많이 사용되는 운영체제

프로그래밍 할때에도 많이 사용 된다.
컴파일 시간이 줄어든다.

클라우드 컴퓨팅 (AWS) 에도 많이 사용됨

운영체제, 소프트웨어의 대부 UNIX 계열 운영체제이다.
완전 프로그래머 스타일이다.

plain 하게 프로그래밍 가능하다.
ANSI C - C 언어 표준 (표준으로 코딩이 가능하다.)


리눅스의 역사와 배경

리눅스 시작

리누스 토발즈가 개발.
대학에 있는 UNIX 컴퓨터를 집에서 쓰고 싶었다.
다중 사용자, 다중 작업(시분할 시스템, 멀티 태스킹) 을 지원할 수 있도록 만들었다.

GNU 프로젝트

GNU = Gnu is Not Unix

유닉스 운영체제를 여러 회사에서 개발했는데, 소스를 공유하지 않았다.
리차드 스톨만이 초기 컴퓨터 개발 공동체의 상호협력적인 문화로 돌아가자고 1985년 GNU 선언문을 발표했다.
기술을 공유 되어야 한다고 주장.

GNU 프로젝트를 지원하기 위해 자유 소프트웨어 재단 설립 GNU 공개 라이선스(GPL) 규약을 제공.
이 소스를 사용할수 있지만 해당 기술을 사용했다면 기술은 공유 되어야 한다는 규약.

GPL 라이선스

GPL 프로그램은 어떤 형태로든 사용할 수 있지만, 다시 배포하기 위해서 동일한 GPL 라이선스 사용해야 함.

GNU Hurd

운영체제 커널 개발 시도 - GNU Hurd

운영체제의 필요한 쉘 응용 프로그램, API, 라이브러리 System Call 개발, 컴파일러 개발

GNU 프로젝트와 리눅스

GNU Hurd 개발 지연

리누스 토발즈가 리눅스 커널 소스 오픈 소식 들음. GNU Hurd 를 개발 안해도 되겠네?

GNU 프로젝트 산출물과 리눅스 커널이 통합 개발 되기 시작.

GNU/ Linux 라고 부르기를 희망함. 리차드 스톨만이 (GNU 창시자.)