흥미 롭다

UNIX : 세계에서 가장 중요한 OS 구축

UNIX : 세계에서 가장 중요한 OS 구축

스마트 폰을 사용했거나 웹 사이트를 탐색하는 시간을 잃어버린 적이 있거나 차세대 콘솔에서 비디오 게임을 한 적이 있다면 Unix 운영 체제 또는 그 파생 제품 중 하나를 사용한 것입니다.

Linux는 원래 Unix 시스템의 영적 계승자이며 Mac OSX는 Unix를 기반으로합니다. Unix 기반 또는 파생 시스템은 거대한 서버 팜에서 사용되어 전 세계 거의 모든 인터넷 트래픽을 처리합니다. 사물 인터넷 및 기타 임베디드 시스템은 Unix 또는 그 후속 제품을 사용하며 Unix 기반 Linux는 국제 우주 정거장에서 필수 장비를 실행하는 데에도 사용되었습니다.

이 모든 것은 Kenneth Thompson, Dennis Ritchie 및 동료들이 사랑하는 프로젝트가 기업 비용 절감의 희생양이되는 것을 볼 수 없었기 때문에 가능합니다.

유닉스의 겸손한 시작

밝혀진 바와 같이, 세계에서 가장 널리 사용되는 운영 체제는 상업적 실패에서 시작되었습니다.

컴퓨팅의 초기 시절은 프로그래머에게 어려웠습니다. 오늘날 프로그래머는 소프트웨어를 작성, 테스트 및 실행하는 데 도움이되는 모든 종류의 도구를 보유하고 있지만, 초기 컴퓨터는 프로그래머가 프로그램을 직접 작성하고, 펀치 카드로 변환하고, 블록을 요청해야하는 펀치 카드 배치 단위 시스템이었습니다. 하나의 공유 된 메인 프레임 시스템에서 프로그램을 실행하는 데 시간을 투자 한 다음 완료되면 다음 프로그래머가 차례를 가질 수 있도록 자리를 비 웁니다.

매사추세츠 공과 대학의 교수 인 John McCarthy가 1959 년에 동료들에게 보내는 메모에서 더 나은 방법을 개념화하기 전까지는 아니 었습니다. Timesharing으로 알려진 그의 제안은 혁신적이었으며 모든 현대 컴퓨팅을 가능하게했습니다.

McCarthy 이전에는 프로그램이 중단없이 처음부터 끝까지 한 번에 한 명령 씩 프로세서로 읽혀졌습니다. 사용자가 데이터를 입력하거나 컴퓨터가 데이터를 프린터로 출력하는 동안 컴퓨터의 프로세서가 유휴 상태임을 의미하더라도 다음 프로그램으로 이동하기 전에 단일 사용자 프로그램 명령을 완전히 처리합니다.

McCarthy가 제안한 것은 일부 입력 또는 출력 기능이 필요한 지점에 도달하면 현재 실행중인 프로그램의 상태를 저장하기 위해 메모리를 할당하여 이러한 부실하고 하네스가없는 컴퓨터주기를 다시 캡처하는 것입니다. 그런 다음 입력 또는 출력주기가 너무 필요할 때까지 처리를 기다리는 다른 사용자 프로그램으로 전환하여 프로세스를 반복합니다.

이러한 방식으로 여러 사용자가 이러한 기존 메인 프레임 시스템을 거의 동시에 사용하는 것처럼 보이게 사용할 수 있습니다. 당시 McCarthy와 다른 사람들은 시분할의 잠재력이 단순한 입력 및 출력주기를 넘어 설 수 있음을 알았지 만이 아이디어가 완성 되려면 거의 10 년이 걸릴 것입니다.

Multics : 불행하고 오해를받은 Unix 운영 체제의 선조

1969 년까지 American Telephone & Telegraph Co. (AT & T)는 McCarthy의 시분할 원칙을 활용하는 시스템을 구축하기 위해 수백만 달러를 투자했습니다.

Multics (Multiplexed Information and Computing Service)는 알려진 바와 같이 업계 최고의 컴퓨터 과학자들의 제품이었습니다. Kenneth Thompson과 Dennis Ritchie가 이끄는 AT & T의 전설적인 Bell Telephone Laboratories에서 일하는이 연구원들은 시간 공유의 아이디어를 새로운 수준의 복잡성과 정교함으로 끌어 올렸습니다.

Bell Lab 연구원은 사용자가 프로그램을 실행하고, 프로그램을 작성하고, 문서를 편집하고, 전화 연결을 통해 이메일을 보내고받을 수있는 완전한 운영 환경으로 모든 종류의 새로운 기술과 시간 공유를 결합하고자했습니다.

컴퓨터 과학 역사상 가장 유명한 기능 크립 사례 중 하나가 된 Multics는 시스템 개발자가 생각할 수있는 모든 혁신을 통합하려고 시도했기 때문에 AT & T가 설정 한 원래 목표를 달성하지 못했습니다. 실제로 필요하지 않은 시스템.

원래 약속했던 시스템에 대한 진전이 부족한 것에 좌절 한 AT & T는 손실을 줄이고 Multics 프로젝트를 완전히 포기했습니다. 연구자들이 명백한 상업적 가치가없는 시스템에서 작업하는 것을 정당화 할 수 없었던 Bell Labs는 Thompson, Ritchie 및 나머지 Multics 팀에게 시스템에 대한 추가 작업을 중단하도록 지시했습니다.

이것은 Bell Labs 팀에게 치명적이었습니다. 팀 외부에서 실제로 만든 작업을 이해하는 사람은 거의 없었습니다. 작동하는 범용 다중 사용자 운영 체제는 세계 최초입니다.

유닉스 비밀 개발의 역사

Bell Labs 팀의 경우 최신 운영 체제에서 벗어나 펀치 카드 일괄 처리 시대로 돌아가는 것은 불가능했습니다.

Bell Labs의 또 다른 연구원 인 Thompson, Ritchie 및 Rudd Canaday는 컴퓨터를위한 완전히 새로운 유형의 파일 시스템의 개요를 종이에 적는 역사적인 첫 단계를 곧 시작했습니다. 그들은 파일을 분류하고 다른 컨테이너에 넣을 수있는 컨테이너에 배치하는 방법을 구상하여 탐색 가능한 파일 디렉토리를 만들었습니다. 오늘날 전 세계의 모든 최신 컴퓨터에서 사용하는 것과 동일한 시스템입니다.

톰슨은 그들이 만든 Multics 시스템을 공식화하기 시작했습니다. 그는 Multics를 위해 작성한 게임에서 영감을 받아 실험실에서 모두가 쓰레기로 간주하는 오래된 PDP-7 시스템을 발견했습니다. 오래된 시스템이고 GE-645 메인 프레임보다 덜 견고했던 Thompson은 더 작은 공간에 맞게 코드를 줄여서 실행되도록 게임을 다시 작성하기 시작했습니다.

Thompson은 곧 Multics 시스템 전체에 대해 동일한 작업을 수행 할 수 있다는 것을 깨달았으며 1969 년 여름 한 달 동안 Multics의 상당 부분을 PDP-7에서 실행하도록 다시 작성했습니다. 재미있는 동료들은 톰슨의 집에서 시스템을 사용하여 갇혀있는 노력이 다중화 정보 및 컴퓨팅 시스템을 다중화되지 않은 정보 및 컴퓨팅 시스템으로 바꾸 었다고 농담했습니다.

Multics는 유닉스가되었고 결국에는 유닉스가되었습니다.

그 당시 이미 엉터리였던 PDP-7은 새로운 Unix 운영 체제를 더 이상 불법으로 개발하는 데 충분하지 않았습니다. 그래서 1970 년에 Thompson과 그의 동료들은 Bell Labs 경영진을 속여 회사의 합법적 인 비즈니스 목적에 부합하는 새로운 PDP-11 시스템을 구입하도록 만들었지 만, 새로운 시스템에 대한 첫 번째 주요 개념 증명을 비밀리에 제공했습니다.

이 프로젝트는 엄청난 성공을 거두었으며, 팀이 비밀리에 Unix 운영 체제를 개발하는 데 사용할 수있는 추가 장비를 요청하는 데 필요한 영향력을 제공했습니다.

Unix OS의 커뮤니티 개발

결국 AT & T는 Thompson과 Bell 연구원이 무엇을하고 있는지 알게되었습니다. 유닉스 OS의 진정한 유틸리티를 인식하고 그들은 묶여 있었다.

미국 정부와의 법적 계약은 AT & T가 명시 적으로 전화 및 전신 시스템이 아닌 제품이나 서비스를 판매하거나 지원하는 것을 금지했습니다. 유닉스는 분명히 그렇지 않았습니다. 제품으로 판매 할 수없고 공식적인 용량으로 소프트웨어 지원을 제공 할 수 없었기 때문에 합법적으로 얻을 수있는 것은 소액의 비용으로 이해 당사자에게 Unix OS를 라이선스하는 것뿐이었습니다.

Thompson과 회사는이 오프닝을 가져 와서 함께 달렸습니다. 무역 행사에 참석하면 유닉스를 빨리 좋아하는 개발자에게 유닉스를 홍보 할 것입니다.

시스템의 이식성은 다양한 하드웨어에서 실행될 수 있음을 의미했고, 언어 불가지론은 다양한 언어가 환경에서 실행될 수 있음을 의미했으며, 시간 공유 기능과 결합 된 베어 본 단순성 덕분에 전체 연구팀이 함께 작업 할 수있었습니다. 최소한의 투자로 시스템.

공식적인 지원이 없을 수 있다는 AT & T와의 거래에 "잡았다"는 가정은 결국 유닉스 OS에 엄청난 유기적 혜택으로 밝혀졌다. 운영 체제에 버그가 있으면 사용자가 코드를 떼어 내서 직접 수정해야하고, 무엇이 잘못되었는지 파악할 수 없으면 다른 Unix 사용자에게 도움을 요청해야했습니다.

곧 전국의 유닉스 애호가들은 버그를 수정하고, 기능을 개선하고, 최신 컴퓨팅이 성숙해가는 순간에 지식을 공유하기 위해 소스 코드 업데이트의 스토리지 테이프를 물리적으로 서로에게 메일로 발송했습니다.

운영 체제는 정말 훌륭했을뿐만 아니라 완벽한 타이밍도 가지고있었습니다. Unix 시스템에서 프로그래밍을 배운 프로그래머는 Unix 자체에 운영 체제를 완전히 구축하지 않더라도 Unix를 시스템에 대한 영감으로 사용하여 다른 시스템을위한 독점 시스템을 개발할 것입니다.

AT & T가 Unix OS에 대한 주장을 강요하려고 시도하면서 결국 법적 싸움이 벌어졌지만 파일 공유를 차단하려는 모든 좋은 시도와 마찬가지로 AT & T의 노력은 프로토 오픈 소스 Unix 시스템의 비밀스럽고 반항적 인 확산을 가속화했습니다. AT & T의 유닉스 버전의 재현은 오랫동안 야생에 나왔다. 이를 통해 AT & T 변호사의 손이 닿지 않는 범위에서 Unix 기반 시스템을 지속적으로 개발할 수 있었으며 컴퓨터 전문가와 아마추어 모두가 사용할 수있는 운영 체제로서의 지위를 확고히 굳혔습니다.

오늘날 Unix와 그 파생물은 현재 사용중인 운영 체제의 대부분을 구성하고 있으며 오픈 소스 소프트웨어의 인기가 높아짐에 따라 그 인기는 계속 확산되고 있습니다. Kenneth Thompson, Dennis Ritchie, 그리고 그들의 사랑하는 Multics가 죽는 것을 보지 않음으로써 그들의 Unix 운영 체제가 계속해서 세상을 운영 할 수 있도록 보장 해준 그들의 반항적 인 Bell Labs 동료들에게 감사합니다.


비디오보기: 리눅스란? 커널Kernel이다. (칠월 2021).