1. 유닉스와 리눅스
UNIX와 Linux는 모두 컴퓨터 운영체제입니다. 리눅스(Linux)이란 다중 사용자, 다중 작업을 지원하는 유닉스 계열의 운영체제입니다. 리눅스는 핀란드의 리누스 토르발스가 개발한 운영체제로, 유닉스 소스코드를 사용하지 않은 최초의 독립적 커널을 이용하여 만들어졌습니다. 리눅스는 자유 소프트웨어로, 누구나 자유롭게 배포할 수 있기 때문에 전 세계의 수많은 프로그래머에 의해 지속적으로 발전되어 왔습니다.
2. 역사적 배경
AT&T 벨 연구소에서 Multics 운영체제를 개발한 뒤, 톰슨(Ken Thompson)과 리치(Dennis Ritchie)가 Multics 운영체제보다 우수하면서 향상된 소프트웨어 개발 환경을 제공하는 운영체제의 개발을 시작했습니다. 이후 Unics라는 이름으로 개발된 유닉스 운영체제는 이식성을 높이기 위해 C 언어를 사용하여 다시 작성되었고, 이후에는 대학들에게 무상으로 제공되면서 여러 버전의 유닉스 운영체제가 만들어지게 되었습니다.
3. 리눅스 등장
요약:
UNIX는 1969년 톰슨(Ken Thompson)과 리치(Dennis Ritchie)가 만든 컴퓨터 운영체제입니다. 당시 컴퓨터는 그다지 강력하지 않았고 많은 사람들이 하나의 컴퓨터를 공유해야 했지만, UNIX는 많은 사람들이 동시에 같은 컴퓨터를 사용할 수 있도록 하여 대학 및 연구 기관에 매우 유용했습니다.
나중에 많은 회사에서 고유한 UNIX 버전을 만들었지만 서로 조금씩 달랐습니다. 이로 인해 사람들이 서로 다른 버전의 UNIX를 함께 사용하기가 어려움에 시달렸습니다.
1991년에 리누스 토발즈(Linus Torvalds)라는 핀란드 학생이 Linux라는 새로운 운영 체제를 만들었습니다. 누구나 무료로 사용하고 변경할 수 있도록 만들었습니다. 세간에 주목받는 일이었고, Linux를 더 좋게 만들기 위해 많은 사람들이 협력했습니다.
Linux는 UNIX를 기반으로 했지만 사용하기가 더 쉬웠고 다양한 종류의 컴퓨터에서 작동할 수 있는 높은 이식성을 가졌습니다. 오늘날 UNIX와 Linux는 여전히 전 세계 많은 사람들이 사용하고 있으며 시간이 지남에 따라 계속해서 변화하고 개선되고 있습니다.
자세히 읽어보기:
1980년대 후반 버클리 대학(UC Berkely)의 BSD 개발자들은 수정과 보완을 넘어, 그들이 10년 전에 받았던 UNIX 소스코드의 대부분을 다시 작성하였습니다. 그리고 이것을 Net/1으로, 이어서 Net/2란 이름의 완전한 운영체제로 배포하였습니다. 개발자들은 AT&T 저작권으로부터 벗어났다고 생각하였으나 AT&T로부터 UNIX 코드의 복제와 영업비밀(trade secrets)의 도용이라는 명목으로 소송을 당하였습니다. 이 사건은 초창기 오픈소스 커뮤니티를 위축시켜 사람들은 다른 대안을 찾기 시작하였습니다.
한편 1984년 MIT의 연구원 리처드 스톨먼(Richard Stallman)은 'GNU(그누) 프로젝트'를 시작하였습니다. 이것은 비영리민간단체인 자유소프트웨어재단(FSF: Free Software Foundation)의 프로젝트로, 소프트웨어의 상업화에 반대하고 소스코드의 공유와 자유로운 사용과 배포를 주장하였습니다.
1991년 헬싱키 대학에서 스물한 살의 학생 리누스 토르발스는 자신만의 커널에 관해 연구를 수행합니다. 리누스 토르발스는 교육용 유닉스로 불리는 앤디 타넨바움(Andy Tanenbaum) 교수의 미닉스(Minix)를 배우고 사용하였는데 자신이 사용하던 386 PC에서 동작하는 UNIX와 유사하면서 더 나은 운영체제를 만들려고 했습니다. 당시 GNU 커널인 Hurd는 완전하지 못했으며 BSD 운영체제는 너무 느리고 대용량 시스템에서는 성능이 좋지 않았습니다. 이에 리누스 토르발스는 UNIX와 유사한 운영체제를 만들기 위해 자신만의 커널을 만들기 시작합니다. 이것이 리눅스(Linux)입니다. 이후 많은 사람들의 의견과 노력이 뉴스그룹이나 이메일을 통해 리눅스 개발에 공헌하게 됩니다. 결국 리눅스 커널은 GNU 운영체제의 커널로 도입되어 완전한 운영체제가 완성되었습니다. 리눅스의 이름은 개발자인 '리누스(Linus)'의 이름과 모델로 삼은 ‘유닉스 (UNIX)'의 이름을 합친 것입니다. 리눅스는 셸 명령이나 시스템 호출 등에 대한 유닉스의 표준을 준수하여 호환성을 제공합니다. 최초의 리눅스 버전 0.01은 일 반에게는 공개하지 않았고 같은 해 10월 5일에 첫 번째 공식 버전 0.02를 유즈넷 뉴스그룹에 'Free minix-like kernel sources for 386-AT' 라는 이름으로 발표하였습니다. 버전 0.02에서는 어셈블리 코드의 많은 부분이 C 언어로 다시 작성되었기 때문에 뛰어난 이식성을 기반으로 초기 386 프로세서에서 다른 기종의 하드웨어로 포팅이 가능해졌습니다. bash와 gcc, compress, gnu-make 등 이 성공적으로 실행되었는데, 이 리눅스 소스를 본 많은 사람이 개발에 참여하면서 리눅스의 기능은 더욱 많아지고 안정화되어 버전 0.03에서 빠르게 버전 0.1로 올라갔고, 수많은 버전업과 패치를 거쳐 1993년 0.99까지 오르다가 1994년 버전 1.0이 발표되었습니다 ...중략
4. 공통점
a. 운영 체제의 기본 개념
유닉스와 리눅스는 모두 운영 체제로, 컴퓨터의 자원을 관리하고 응용 프로그램을 실행하는데 필요한 기능을 제공합니다. 이러한 기능은 프로세서, 메모리, 저장 장치, 네트워크 인터페이스 등과 같은 하드웨어 자원을 효율적으로 관리하고, 사용자가 쉽게 제어할 수 있도록 합니다.
b. POSIX 호환성
유닉스와 리눅스는 POSIX(Portable Operating System Interface)라는 국제 표준 인터페이스를 준수합니다. 이를 통해 유닉스와 리눅스는 서로 호환성을 가지며, 같은 응용 프로그램이 다른 운영 체제에서도 동작할 수 있습니다.
c. 명령어와 셸
유닉스와 리눅스는 명령어 기반의 인터페이스를 가지며, 이를 통해 사용자는 터미널에서 명령어를 입력하여 운영체제를 제어할 수 있습니다. 또한 셸(shell)이라는 프로그램을 통해 사용자와 운영 체제 간의 상호작용을 가능하게 합니다.
5. 차이점
a. 라이선스
유닉스는 상용 라이선스를 사용하는 운영 체제이며, 사용에 대한 비용이 발생합니다.
리눅스는 오픈 소스 라이선스를 사용하며, 무료로 사용할 수 있습니다.
b. 개발자와 사용자 커뮤니티
유닉스는 여러 회사에서 다양한 버전을 개발하고 있으며, 각 버전에 따라 커뮤니티가 분리되어 있습니다.
리눅스는 오픈 소스이기 때문에 전 세계적인 개발자와 사용자 커뮤니티가 형성되어 있습니다.
c. 하드웨어 지원
유닉스는 비교적 제한된 하드웨어 환경에서 사용됩니다.
리눅스는 다양한 하드웨어에서 사용할 수 있도록 설계되어 있습니다.
d. 파일 시스템
유닉스와 리눅스는 파일 시스템의 구조가 다릅니다.
유닉스는 일반적으로 UFS(Unix File System)를 사용하며,
리눅스는 ext4 등의 다양한 파일 시스템을 지원합니다.
e. GUI
유닉스는 일반적으로 CLI(Command Line Interface)를 사용하며, GUI(Graphical User Interface)를 제공하는 경우도 있지만, 제한적입니다.
리눅스는 다양한 GUI 환경을 지원하며, KDE, GNOME 등의 데스크톱 환경을 제공합니다.
'Computer Science > UNIX & LINUX' 카테고리의 다른 글
파일 시스템 & 디스크 관리 (0) | 2023.03.30 |
---|---|
프로세스 관리 (0) | 2023.03.30 |
파일 접근 권한 관리 (0) | 2023.03.30 |
Linux Shell - 리눅스 쉘이란 (0) | 2023.03.30 |
[리눅스] 리눅스 표준 디렉터리 (0) | 2023.03.25 |
댓글