유닉스의 역사 : 벨 랩에서 아이폰으로

작가: Judy Howell
창조 날짜: 1 칠월 2021
업데이트 날짜: 23 6 월 2024
Anonim
유닉스와 유사 유닉스
동영상: 유닉스와 유사 유닉스

콘텐츠



테이크 아웃 :

유닉스가 40 년이 지난 후에도 여전히 사용되고 있다는 사실은 그 다양성의 징조입니다.

스마트 폰이나 태블릿이 최신이라고 생각할 수도 있지만 기본 기술은 1960 년대로 거슬러 올라간 역사가 있습니다. iOS 또는 Android 장치가있는 경우 Bell Labs에서 개발 한 Unix라는 운영 체제를 기반으로합니다. Windows를 실행하는 PC가 있더라도 낮 동안 많은 서버와 통신하며,이 중 많은 서버가 Unix에서 실행되고 있습니다. 오랜 역사에서 유닉스가 여전히 흔하다는 것이 놀랍습니다. 여기까지 어떻게 왔는지 살펴 보자.

초기 역사

결국 유닉스가 된 것은 1960 년대 중반 MULTICS라는 프로젝트로 시작되었습니다. MIT, GE 및 Bell Labs를 포함한 조직 컨소시엄은 "컴퓨팅 유틸리티"를 지원하는 시스템을 만들기 위해 함께 모였습니다. 오늘날 우리는이를 클라우드 컴퓨팅이라고 부를 수 있습니다. 불행히도, MULTICS는 그 당시보다 훨씬 앞서 있었을 것입니다. Bell Labs는 결국 1969 년에 프로젝트에서 철수하여 몇 명의 프로그래머 인 Dennis Ritchie와 Ken Thompson이 더 오래된 장비를 고수했습니다.

세계가 여전히 대부분 일괄 처리에 의존했을 때 Thompson과 Ritchie는 대화 형 컴퓨팅의 맛을 경험 한 후에는 되돌아 갈 수 없었습니다. 그래서 그들은 MULTICS 최고의 기능 중 일부를 저장하려는 자체 프로젝트를 시작하기로 결정했습니다.

리치 (Ritchie)는 1979 년에“우리가 보존하고 싶은 것은 프로그래밍을하기에 좋은 환경 일뿐만 아니라 친교가 형성 될 수있는 시스템이었다”고 지적했다.“우리는 원격 컴퓨팅에서 제공되는 공동 컴퓨팅의 본질을 경험에서 알았다 -시간 공유 시스템 인 액세스는 키 펀치 대신 터미널에 프로그램을 입력하는 것이 아니라 긴밀한 의사 소통을 장려하는 것입니다. "


이러한 고귀한 목표 외에도 Thompson은보다 개인적인 동기를 가지고있었습니다. 그는 "우주 여행"이라는 발명품을 원했습니다.

Thompson과 Ritchie는 Digital Equipment Corporation PDP-7에서 시스템을 구현하기로 결정했습니다. 그들은 기본 시스템을 스케치하고 그것을 어셈블리 언어로 썼습니다. 그들은 MULTICS에 대한 말장난으로 "UNICS"라고 이름을지었습니다. 그들은 곧 이름을 "Unix"로 바꿨습니다.

그들은 더 강력한 컴퓨터를 원했기 때문에 경영진에게 Bell Labs 특허 부서의 처리 응용 프로그램을 개발하기 위해 PDP-11을 구입하라고 말했습니다. 결과적으로 Unix의 첫 번째 최종 사용자 응용 프로그램은 본질적으로 워드 프로세싱이었습니다.

이 성공으로 Bell Labs 내에서 Unix가 성장했습니다. 한 가지 두드러진 특징은 한 프로그램에서 다른 프로그램으로 입력을 리디렉션하여 소프트웨어 개발에 대한 "빌딩 블록"접근 방식을 가능하게하는 기능이었습니다.

버그 없음, 스트레스 없음-인생을 파괴하지 않고 인생을 바꾸는 소프트웨어를 만드는 단계별 가이드


아무도 소프트웨어 품질에 신경 쓰지 않으면 프로그래밍 기술을 향상시킬 수 없습니다.

유닉스의 전환점은 톰슨과 리치가 디자인 한 C 언어로 다시 구현되었을 때였 다. C는 고급 언어였습니다. 이런 식으로 운영 체제를 작성하면 진화에 큰 영향을 미칩니다. 유닉스를 이식성있게 만들었 기 때문에 비교적 적은 노력으로 다른 컴퓨터에서 실행할 수있었습니다. (컴퓨터 프로그래밍 : 기계 언어에서 인공 지능에 이르기까지 프로그래밍 언어의 역사에 대해 알아보십시오.)

1974 년 Thompson과 Ritchie가 유명한 컴퓨터 과학 저널 인 Communications of ACM에 시스템에 관한 논문을 발표했을 때 많은 주목을 받았습니다.


버클리 소프트웨어 배포

AT & T는 Unix가 Bell Labs의 내부와 외부에서 인기를 얻었을 때 Bell Labs가 연구 기관이 되었기 때문에 동의 령으로 인해이를 활용할 수 없었습니다. 미국에서 전화 서비스 독점을 유지하는 대가로, 비 전화 사업 영역, 즉 컴퓨터 소프트웨어를 입력 할 수는 없었지만 요청한 모든 사람에게 라이센스를 부여해야했습니다.

Bell Labs는 실제로 소스 코드가 포함 된 Unix 사본을 대학에 제공했습니다. 그중 하나가 UC 버클리였습니다. 소스 코드를 포함함으로써 학생들은 특히 Bill Joy를 변경하고 개선 할 수있었습니다. 이러한 개선 사항은 BSD (Berkeley Software Distribution)로 알려졌습니다.

DEC VAX 미니 컴퓨터 라인의 가상 메모리와 vi 편집기를 이용하는 최초의 Unix 버전을 포함하여 BSD 프로젝트에서 많은 혁신이 이루어졌습니다.

가장 중요한 추가 사항은 TCP / IP의 구현으로 Unix, 특히 BSD Unix를 초기 인터넷에서 선택한 운영 체제로 만들었습니다. 인터넷 기록에서 TCP / IP 개발에 대해 자세히 알아보십시오.

BSD 기반 버전은 떠오르는 워크 스테이션 시장, 특히 빌 조이가 버클리를 떠난 썬 마이크로 시스템즈 컴퓨터에서도 인기를 얻었습니다.

GNU와 리눅스

썬은 리눅스를 상용화 한 유일한 회사는 아니었다. 80 년대 초 AT & T가 해체 된 후 마침내 컴퓨터 사업에도 진출 할 수있었습니다. AT & T는 더 큰 다중 사용자 설치를위한 System V를 도입했습니다.

그러나 적어도 한 사람은 업계가 모든 사람들이 소스 코드를 공유하는 학문적 환경에서 사람들이 코드를 저장 한 상업 세계로 이동하는 방식에 만족하지 못했습니다.

MIT의 인공 지능 연구소의 프로그래머 인 Richard Stallman은 1983 년에 GNU (GNUs Not Unix) 프로젝트를 발표했습니다.

"골든 룰은 프로그램을 좋아한다면 그것을 좋아하는 다른 사람들과 공유해야한다고 생각한다"고 스톨만은 GNU 선언문에서 썼다. "소프트웨어 판매자는 사용자를 나누고 정복하여 각 사용자가 다른 사용자와 공유하지 않기로 동의합니다. 나는 이런 방식으로 다른 사용자와 연대를 끊기를 거부합니다. 양심적으로 비밀 유지 계약 또는 소프트웨어 라이센스 계약에 서명 할 수 없습니다."

GNU 프로젝트는 독점적 인 유닉스 소프트웨어를 스톨만 (Stallman)이 말한 것처럼 "맥주가 아닌 음성으로 무료"인 자유 소프트웨어로 대체하는 것을 목표로했다. 다시 말해, 소스 코드와 라이센싱을 통해 사람들이 실제로 배포하도록 장려했습니다.

Stallman은이 구성표가 말한 것처럼 미친 듯이 라이센스 그룹 (특히 일반 공중 사용 허가서 (GPL))으로 배포 된 편집자, 컴파일러 및 기타 도구와 같은 고품질 소프트웨어를 개발하여 프로젝트에 참여할 프로그래머 그룹을 끌어 들였습니다. ) 소스 코드에 대한 액세스를 보장했습니다. GNU의 영향으로 BSD 프로그래머들도 시스템에서 AT & T 코드를 제거하고 완전히 재배포 할 수 있도록 설득했습니다.

마지막으로 누락 된 부분은 커널 또는 시스템의 핵심이었습니다. GNU 커널 HURD는 예상보다 구현하기가 더 어려웠습니다. 다행스럽게도 핀란드의 한 대학원생 취미 프로젝트는 GNU의 은혜를 구하는 것으로 밝혀졌습니다. Linus Torvald는 1991 년에 Linux 커널을 출시했으며,이를 원치 않았지만 운영 체제에서 혁명을 일으켰습니다. 곧 리눅스와 GNU 도구의 "배포"가 시작되어 필요한 기술을 가진 사람이라면 누구나 대학과 연구소에서 사용하는 수천 달러의 유닉스와 유사한 운영 체제를 가질 수있게되었습니다. 무엇보다도, 그들은 일반 PC에서 무료로 할 수 있습니다. (Linux Distros : 어떤 것이 가장 좋은가?

이것은 90 년대 웹 스타트 업과 ISP의 증가로 인해 저항 할 수 없었습니다. 그들은 서버 소프트웨어를 무료로 구할 수 있었고 돈도 많이 들지 않는 방법을 알고있는 밝은 젊은 컴퓨터 과학 졸업생을 고용 할 수있었습니다. Linux / Apache / MySQL / PHP 서버 스택은 여전히 ​​오늘날 웹 서비스 제공 업체가 선택한 플랫폼 중 하나입니다.

모바일로 이동

유닉스의 나이는 40 세 이상이지만 그 다양성으로 인해 처음 사용했던 원래의 미니 컴퓨터를 능가 할 수 있습니다. 가장 눈에 띄는 것 중 하나는 Apple iOS이며, 일부는 FreeBSD를 기반으로하며, 자체는 원래 BSD 코드를 기반으로합니다. 다른 주요 모바일 OS 인 Android는 수정 된 Linux 커널을 기반으로합니다. 이들 중 어느 것도 오리지널 유닉스 코드를 포함하지는 않지만, 대부분의 사람들이 유닉스와 관련된 명령 행과는 다른 매끄러운 시각적 인터페이스에서도 많은 기본 아이디어를 보존합니다.

현재 주요 모바일 플랫폼이 유닉스를 기반으로한다는 것은 그 다양성을 보여줍니다. 구식이지만 2011 년에 최초의 제작자 데니스 리치 (Dennis Ritchie)가 세상을 떠 났음에도 불구하고 속도가 둔화되지는 않을 것으로 보입니다. 따라서 다음에 스마트 폰이나 태블릿을 새로운 것으로 생각하고 싶다면 다시 생각하십시오. 이를 뒷받침하는 기술은 매우 먼 길을 왔습니다.