UNIX 운영체제 해설
A Commentary on the UNIX Operating System![]() | |
작가. | 존 라이온스 |
---|---|
나라 |
|
언어 | 영어;중국어 및 일본어로도 사용 가능 |
주제 | 유닉스 운영 체제 |
장르. | 컴퓨터 과학 |
출판인 | 뉴사우스웨일스 대학교 |
발행일자 | 1976 |
OCLC | 36099640 |
005.43 | |
LC Class | QA 76.76.O63 L56 |
존 라이온스의 유닉스 운영 체제 해설 (나중에 유닉스 6th Edition에 라이온스 해설로 재발행됨)[1][2]는 매우 영향력 있는 [3] 1976년 출판물로, 6th Edition 유닉스 컴퓨터 운영 체제 "레지던트 핵"[4] (즉 커널) 소프트웨어의 소스 코드에 대한 분석적 해설을 포함하고 있다,라이온스가 포맷하고 색인화한 사본도 있고,AT&T Bell Labs의 저자로부터 얻은 소스 코드의.그것은 또한 일반적으로 라이온스 [citation needed]북이라고도 불립니다.
출판 플랫폼을 위한 휴대용 코드로서 UNIX의 초기 성공의 예시인 Lions의 작업은 University에서 포팅된 코드를 실행하는 시스템에서 UNIX 도구를 사용하여 타이핑되었습니다.[5] vi 페이지를 참조하십시오.
그것은 컴퓨터 [citation needed]과학에서 가장 많이 복사된 책이라고 일반적으로 여겨졌습니다.그것의 나이에도 불구하고, 라이온스의 책은 여전히 간단하고 고품질의 코드에 대한 훌륭한 해설로 여겨집니다.
라이온스의 작품은 1996년 피어투피어 [6]커뮤니케이션에 의해 가장 최근에 재인쇄되었으며, 다른 당사자들에 의해 다양한 매체로 회람, 재작성 또는 재구성되었습니다. 예를 들어 그렉 [5]리히의 웹 페이지를 참조하십시오.

시놉시스
UNIX 운영 체제 소스 코드 레벨 6은 시스템 초기화 및 프로세스 관리, 인터럽트 및 시스템 호출, 기본 I/O, 파일 시스템, 파이프 및 문자 장치 등의 기능을 더 잘 분리하기 위해 Lion이 가볍게 편집한 커널 소스 코드입니다.모든 절차와 기호는 알파벳 순으로 교차 참조로 나열됩니다.
제시된 코드는 RK-05 디스크 드라이브, LP-11 라인 프린터 인터페이스, PCL-11 종이 테이프 라이터 및 KL-11 터미널 인터페이스가 있는 PDP-11/40 또는 SIMH와 같은 적합한 PDP-11 에뮬레이터에서 실행됩니다.
UNIX 운영 체제에 대한 설명은 UNIX 및 기타 유용한 설명서(UNIX 설명서 페이지, DEC 하드웨어 설명서 등), PDP-11 아키텍처에 대한 섹션 및 C 프로그램을 읽는 방법에 대한 장으로 시작합니다.소스 설명은 코드와 동일한 섹션으로 나뉩니다.이 책은 학생들에게 제안된 연습문제로 끝납니다.
라이온스가 설명했듯이, 이 논평은 출처의 논평을 보완합니다.별도의 해설 없이 코드를 이해하는 것이 가능하며, 독자는 그렇게 하는 것이 좋고 필요에 따라 메모만 읽도록 권고합니다.해설은 또한 코드가 어떻게 개선될 수 있는지에 대해 언급합니다.
역사
소스 코드와 주석은 1976년 5월에 처음 조립된 후 1977년에 책 형태로 인쇄되었으며, 뉴사우스웨일스 대학교의 라이온스 컴퓨터 과학 과정(책의 도입부에 언급된 6.602B 및 6.657G)의 강의[4] 노트 세트입니다.
UNSW는 실제로 1975년에 UNIX 소스 코드를 얻었는데, 이는 1974년에 Ken Robinson이 Bell의 Dennis [7]Ritchie에게 질문한 것에 대한 응답이었습니다.Bell Labs는 AT&T의 자회사로, 국가 통신 인프라 공급업체로서의 독점적 특성으로 인해 제한을 받고 있으며, 다른 분야에서는 사업을 수행할 수 없으며, 소프트웨어 판매로 인한 이익을 자유롭게 얻을 수 없었습니다,[인용 필요] 그러나 UNIX는 다른 AT&T 자회사의 라이센스 하에 제공되고 있었습니다,적어도 1977년까지는 웨스턴 일렉트릭.[clarification needed]
UNIX 사용자 그룹인 USENIX의 뉴스레터인 UNIX 뉴스는 1977년 [4]3월에 UNIX 사용자에게 이 책을 제공할 수 있다고 발표했습니다.뉴스레터 자체의 강력한 용어로 된 유통 제한 통지는 비면허자가 아닌, 언급된 조직과 보유한 합의가 있는 면허자에게만 기존 면허의 틀 내에서 적용될 수 있었다는 점에 유의해야 합니다.민사 계약의 문제—뉴스레터에는 국가 보안 최고 기밀 분류와 같이 일반적인 유통 억제를 허용할 수 있는 유형의 정부 권한에 대한 증거가 표시되지 않습니다.)
이 책의 인기에 보조를 맞추기가 어려웠기 때문에 1978년에는 AT&T Bell [8]Labs에서만 이 책을 구할 수 있었습니다.
수년간 Lions 책은 Bell [citation needed]Labs 외부에서 사용할 수 있는 유일한 UNIX 커널 문서였습니다.비록 6판의 라이선스가 교실에서 소스 코드의 사용을 허용했지만, 7판의 라이선스는 특히 그러한 사용을 배제했다,포함(단, 이에 국한되지 않음!) 소스 코드 소유자에 의해 출판 기관에 관대한 교육 라이선스 조건[필요]과 수학적 저작물에 대한 논의를 보호하는 다양한 저작권 면제를 제공했지만, 그러한 권리를 잠식하려는 정치적 압력의 그림자 속에서도,'자체 복제'를 위한 기술적 수단, 심지어 자체 복제까지 가능해지면서 작업 비용이 저렴해졌습니다,더 효율적이고 [citation needed]더 생산적입니다.UNIX 자체는 [citation needed]사내 기술 매뉴얼의 출판을 용이하게 하기 위해 Bell에서 자금을 조달한 성공적인 혁신 중 하나였습니다.
AT&T가 1979년 6월 USENIX에서 UNIX 버전 7을 발표했을 때, 학술/연구 라이선스는 더 이상 교실 사용을 자동으로 허용하지 않았습니다.
하지만, 전 세계 수천 명의 컴퓨터 과학 학생들이 복사기를 배포합니다.그들은 수업시간에 그것을 배우지 않았기 때문에, 때때로 그들은 책을 토론하기 위해 시간이 지난 후에 만나곤 했습니다.UNIX 및 오픈 소스의 많은 선구자들은 귀중한 다중 세대 [9]복사본을 가지고 있었습니다.
라이센스 변경의 다른 후속 효과로는 Andrew S가 있습니다. 미닉스를 만드는 타넨바움입니다.Tanenbaum이 운영 체제(1987)에서 언급했듯이:
AT&T는 Version 7을 출시하면서 UNIX가 가치 있는 상용 제품이라는 것을 깨닫기 시작했고, 따라서 영업 비밀로서의 지위를 위태롭게 하지 않기 위해 소스 코드가 과정에서 연구되는 것을 금지하는 라이센스를 가지고 Version 7을 발행했습니다.많은 대학들은 UNIX에 대한 연구를 포기하고 이론만 가르치는 것으로 만족했습니다.
다양한 UNIX 사람들, 특히 Peter H. Salus, Dennis Ritchie, Berny Goodheart는 UNIX의 다양한 소유자들(AT&T, Novell, Santa Cruz Operation)에게 이 책이 공식적으로 출판될 수 있도록 수년간 로비를 했습니다.1996년, 산타크루즈 작전은 마침내 20년 된 6판 소스 코드의 출시를 허가했고, 전체 코드와 1977년 버전의 해설이 피어투피어 커뮤니케이션스에 의해 출판되었습니다. ISBN978-1-57398-013-5).[6]이번 재발행에는 마이클 틸슨(SCO), 피터 살러스, 데니스 리치, 켄 톰슨, 피터 콜린슨, 그레그 로즈, 마이크 오델, 버니 굿하트, 피터 라인제스의 해설이 포함되어 있습니다.
"당신은 이것을 이해하지 못할 것입니다."
프로세스 교환 메커니즘을 설명하는 주석의 끝에 소스 코드(Lions' Commentary, 페이지 22)의 2238행에 악명 높은 프로그램 주석 "당신은 이것을 이해할 것으로 예상되지 않습니다"가 발생합니다.slp.[10]c 파일의 325행을 참조합니다.소스 코드는 [11]다음과 같습니다.
/* 새 프로세스가 일시 중지된 경우 스왑 아웃, 스택 수준을 마지막 호출로 설정 savu(u_ssav).이는 반환이 retu에 대한 호출 직후에 실행됩니다. 실제로 마지막 루틴에서 돌아온 것입니다. 바다표범 * 당신은 이것을 이해하지 못할 것입니다. */ 한다면(rp->p_sship&SSWAP) { rp->p_sship =& ~SSWAP; 레투르(u.u_ssav); }
이 코드를 이해하기 어려웠던 주요 이유는 PDP-11용 C 컴파일러가 프로시저 호출에서 레지스터를 저장하는 방식에 의존했기 때문입니다.이 코드는 다른 컴퓨터로 포팅할 때 실패하여 버전 7 [12]UNIX에서 다시 설계해야 했습니다.Dennis Ritchie는 나중에 이 [11]말의 의미를 설명했습니다.
"당신은 이것을 이해하기를 기대하지 않는다"는 것은 뻔뻔한 도전이라기보다는 "이것은 시험에 나오지 않을 것이다"라는 정신으로 의도된 말이었습니다.
참고 항목
레퍼런스
- ^ Lions, John (1976–1977). A commentary on the Unix operating system. University of New South Wales: Department of Computer Science. OCLC 494684468.
- ^ Unix operating system source code level six. University of New South Wales: Department of Computer Science. 1976–1977. OCLC 494684460.
- ^ Unix LWN.net 의 기원에 대한 Jonathan Corbet Brian Kernighan.2022년 1월 17일
- ^ a b c "NEW BOOK". UNIX News. USENIX. Mar 1977.
- ^ a b Lehey, Greg (2015-09-14). "Commentary on the Sixth Edition UNIX Operating System". Greg Lehey, Warren Toomey.
- ^ a b c Lions, John (1996). Lions' Commentary on UNIX 6th Edition with Source Code. Peer-to-Peer Communications. ISBN 978-1-57398-013-5.
- ^ Faculty of Engineering, UNSW, (Dean) (2020-09-18). "Remembering Ken Robinson". University of New South Wales: Engineering. Archived from the original on 2020-10-20.
- ^ 데몬, GNU, 펭귄 - 2장과 3장 (피터 H. 살루스)
- ^ "Lions Book". Jargon File. December 29, 2003. Retrieved 2020-01-11.
- ^ Ken Thompson. "unix-history-repo/usr/sys/ken/slp.c". GitHub. Retrieved 2018-10-12.
- ^ a b Dennis Ritchie (2002-06-22). "Odd Comments and Strange Doings in Unix". Retrieved 2021-05-14.
- ^ Johnson, S. C.; Ritchie, D. M. (1978). "UNIX Time-Sharing System: Portability of C Programs and the UNIX System" (PDF). Bell System Technical Journal. 57 (6): 2021–2048. doi:10.1002/j.1538-7305.1978.tb02141.x. S2CID 17510065. Archived (PDF) from the original on 2022-10-09.