Inferno(운영 체제)
Inferno (operating system)![]() 인페르노 제4판 | |
개발자 | 벨 랩스, 비타 누오바 홀딩스 |
---|---|
기입처 | C,[1] 림보 |
동작 상태 | 현재의 |
소스 모델 | 오픈 소스 |
초기 릴리즈 | 전( |
최신 릴리즈 | 제4판 / 2015년 3월 | , 전(
저장소 | |
이용가능기간: | 영어 |
플랫폼 | ARM, PA-RISC, MIPS, PowerPC, SPARC, x86 |
커널 타입 | 가상 머신(Dis) |
면허증. | 2021년[2][3]: MIT 2005년[a][4][5]: 듀얼 2003: 듀얼[b][6][7][8][9] 2000[c][10]: 인페르노 오리지널: 독자 사양 |
선행 | 플랜 9 |
공식 웹사이트 | www |
Inferno는 Bell Labs에서 시작되어 현재는 Vita Nuova Holdings가 MIT [2][3]라이선스에 따라 자유 소프트웨어로 개발 및 관리하고 있는 분산 운영 체제입니다.Inferno는 Bell Labs의 Plan 9에서 얻은 경험과 Bell Labs의 운영체제, 언어, 온 더 플라이 컴파일러, 그래픽스, 보안, 네트워킹 및 휴대성에 대한 추가 연구를 기반으로 했습니다.운영 체제의 이름, 많은 관련 프로그램 및 현재 회사의 이름은 Dante Alighieri의 Divine Comedy에서 영감을 받았습니다.이탈리아어로 '지옥'은 '지옥'을 의미하며, 단테의 '신극'에는 9개의 원이 있다.
설계 원리
Inferno는 Bell Labs의 컴퓨터 사이언스 리서치 부문 멤버들에 의해 1995년에 개발되었으며, 이전 운영체제인 Bell Labs의 Plan 9에서 파생된 아이디어를 보다 광범위한 디바이스와 네트워크에 제공하기 위해 개발되었습니다.Inferno는 다음 3가지 기본 원칙을 기반으로 하는 분산 운영 체제입니다.
- 리소스는 파일로: 모든 리소스는 계층형 파일 시스템 내에서 파일로 표시됩니다.
- 네임스페이스: 프로그램의 네트워크 뷰는 계층형 파일 시스템으로 보이지만 물리적으로 분리된(로컬 또는 리모트) 리소스를 나타낼 수 있는 단일 일관성 있는 네임스페이스입니다.
- 표준 통신 프로토콜: Styx라고 하는 표준 프로토콜을 사용하여 로컬 및 원격 리소스 모두에 액세스합니다.
가상 머신(VM)을 사용하는 다양한 네트워크 환경에 대응하기 위해 설계자는 가상 머신(VM)이 시스템의 필수 컴포넌트라고 판단했습니다.이것은 Java가 되었지만 독립적으로 도달한 Oak 프로젝트의 결론과 같습니다.Dis 가상 시스템은 Java 가상 시스템의 스택 시스템과 달리 실행되는 아키텍처와 거의 일치하도록 설계된 레지스터 시스템입니다.이 접근방식의 장점은 새로운 아키텍처용 저스트 인 타임 컴파일러를 작성하는 것이 비교적 간단하다는 것입니다.
가상 시스템은 메모리 매핑 하드웨어 없이 메모리가 1MiB 미만인 디바이스에서 효율적으로 메모리 관리를 제공하도록 설계되었습니다.가비지 콜렉터는 참조 카운트와 주기적인 [11]데이터를 수집하는 실시간 컬러 콜렉터입니다.
Inferno 커널에는 가상 머신, 온 더 플라이 컴파일러, 스케줄러, 디바이스, 프로토콜 스택 및 각 프로세스의 파일 이름 공간에 대한 이름 공간 평가자와 파일 시스템 계층의 루트가 포함됩니다.커널에는 시스템 호출, 그래픽, 보안 및 산술 모듈과 같은 가상 운영 체제의 인터페이스를 제공하는 일부 내장 모듈도 포함되어 있습니다.
Inferno를 소개하는 Bell Labs Technical Journal 문서에는 [12]OS가 제공하는 휴대성과 범용성에 관한 몇 가지 차원이 기재되어 있습니다.
- 프로세서 간 이동성: 현재 ARM, SGI MIPS, HP PA-RISC, IBM PowerPC, Sun SPARC 및 Intel x86 아키텍처에서 실행되며 다른 사용자가 쉽게 휴대할 수 있습니다.
- 환경 간 이동성: 소규모 터미널에서는 독립형 운영체제로 실행되며 Bell Plan 9, MS Windows NT, Windows 95 및 Unix(SGI Irix, Sun Solaris, FreeBSD, Apple Mac OS X, Linux, IBM AIX, HP-64, TruU 디지털)에서는 사용자 애플리케이션으로도 실행됩니다.이러한 모든 환경에서 Inferno 프로그램은 동일한 인터페이스를 인식합니다.
- 분산 설계: 사용자의 단말기와 서버에 동일한 환경이 구축되어 있으며, 각 환경은 다른 사용자의 리소스(접속된 I/O 디바이스 또는 네트워크 등)를 Import할 수 있습니다.런타임 시스템의 통신 설비에 의해 프로그램은 클라이언트와 서버 간에 쉽게(또 동적으로) 분할될 수 있습니다.
- 하드웨어 요건 최소화: 메모리 용량이 1MiB 미만인 머신에서 유용한 애플리케이션을 스탠드아론 방식으로 실행할 수 있으며 메모리 매핑 하드웨어가 필요하지 않습니다.
- 휴대용 프로그램:Inferno 프로그램은 타입 세이프 언어 Limbo로 작성되고 Dis 바이트 코드로 컴파일되어 모든 Inferno 플랫폼에서 수정 없이 실행할 수 있습니다.
- 동적 적응성: 프로그램은 하드웨어 또는 사용 가능한 다른 리소스에 따라 특정 기능을 수행하기 위해 다른 프로그램 모듈을 로드할 수 있습니다.예를 들어 비디오 플레이어는 몇 가지 다른 디코더 모듈 중 하나를 사용할 수 있습니다.
이러한 설계 선택은 콘텐츠와 서비스 프로바이더가 콘텐츠를 제공하는 다양한 하드웨어, 소프트웨어 및 네트워크의 세부 사항에 대한 우려로부터 해방되는 표준 인터페이스를 제공하기 위한 것입니다.
특징들
![]() | 이 섹션은 확장해야 합니다.추가해서 도와주실 수 있습니다. (2019년 4월) |
Inferno 프로그램은 하드웨어, 네트워크 및 환경을 폭넓게 혼합하여 이식할 수 있습니다.가상 머신(Dis)을 정의하고, 모든 실제 머신에 구현할 수 있으며, 휴대용 바이트 코드로 컴파일되는 타입 세이프 언어인 Limbo를 제공하며, 더 중요한 것은 Inferno가 하드웨어에서 네이티브로 실행되거나 다른 사용자 프로그램으로 실행되는지 여부에 관계없이 동일한 인터페이스를 제공하는 가상 운영 체제를 포함하고 있다는 점입니다.operating system.
Styx라는 통신 프로토콜은 로컬 리소스와 원격 리소스 모두에 균일하게 적용되며, 프로그램이 표준 파일 작업, 열기, 읽기, 쓰기 및 닫기를 호출하여 사용합니다.인페르노 4판 현재, Styx는 플랜 9의 새로운 버전인 9P 프로토콜인 9P2000과 동일합니다.
대부분의 Inferno 명령어는 같은 [13]이름의 Unix 명령어와 매우 유사합니다.
역사

Inferno는 Bell Labs의 Plan 9의 후예이며, 특히 디바이스와 Styx/9P2000 프로토콜과 관련하여 커널에서 많은 설계 개념과 소스 코드를 공유합니다.Inferno는 Bell Labs의 Unix 유산 및 Unix 철학을 Plan 9와 공유하고 있습니다.Inferno의 명령줄 툴의 대부분은 림보에서 번역된 Plan 9 툴이었습니다.
1990년대 중반, 플랜 9 개발은 인페르노를 [14]위해 보류되었다.이 새로운 시스템의 존재는 1996년 초 Dennis Ritchie에 의해 유출되었고, 그 해 말 Java의 경쟁자로 공개되었다.동시에 Bell Labs의 모회사인 AT&T는 Sun Microsystems로부터 Java [15]테크놀로지를 라이센스 받았습니다.
1997년 3월부터 4월까지 IEEE 인터넷 컴퓨팅은 Inferno 네트워킹 소프트웨어에 대한 광고를 게재했습니다.그것은 인터넷, 통신, 랜을 포함한 "모든 네트워크"를 통해 다양한 기기들이 통신할 수 있다고 주장했다.이 광고에는 비디오 게임이 컴퓨터와 대화할 수 있고, 플레이스테이션이 사진에 찍힌 것처럼 휴대전화는 이메일에 접속할 수 있으며, 음성사서함도 TV를 통해 이용할 수 있다고 적혀 있었다.
Lucent는 적어도 2개의 내부 제품(Lucent VPN Firewall Brick 및 Lucent Pathstar 전화 스위치)에서 Inferno를 사용했습니다.당초 인페르노의 소스코드 라이선스를 팔려고 했으나 구매자를 거의 찾지 못했다.루센트는 마케팅을 거의 하지 않았고 인터넷과 인페르노의 관계에 대한 중요성을 놓쳤다.같은 시기에 Sun Microsystems는 웹 브라우저에서 작동하며 당시 인기 있었던 객체 지향 언어에 대한 수요를 충족시키는 유사한 기술을 사용하여 유사한 시장을 겨냥한 자체 Java 프로그래밍 언어를 대대적으로 마케팅하고 있었다.Lucent는 모든 Inferno 디바이스가 Java를 실행하도록 만들어질 것이라고 주장하며 Sun에서 Java를 라이선스했다.이를 위해 Diss 바이트 코드 변환기로의 Java 바이트 코드가 작성되었습니다.그러나 인페르노는 여전히 고객을 찾지 못했다.
인페르노 사업부는 3년 만에 문을 닫고 비타 누오바 홀딩스에 매각됐다.Vita Nuova는 개발을 계속하여 전체 시스템에 상용 라이선스를 제공하고 커널과 VM을 제외한 모든 시스템에 대해 다운로드와 라이선스(GPL 호환 없음)를 무료로 제공했습니다.그들은 소프트웨어를 새로운 하드웨어로 이식하고 분산된 애플리케이션에 초점을 맞췄습니다.결국 Vita Nuova는 보다 일반적인 자유 소프트웨어 라이센스로 제4판을 출시했고 2021년에는 주로 MIT [6][2][3]라이센스로 모든 에디션을 보존했습니다.
날짜. | 풀어주다 | 댓글 |
---|---|---|
1996 | 인페르노 베타 | Bell Labs에서 출시 |
1997년 5월 | Inferno 릴리즈 1.0 | 1997년 Bell Labs Technical Journal 기사 |
1999년 7월 | 인페르노 제2판 | Lucent's Inferno Business Unit에서 출시 |
2001년 6월 | 인페르노 제3판 | 발매: 비타 누오바 |
2004 | 인페르노 제4판 | 오픈 소스 릴리즈, 다수의 인터페이스 변경(이전 에디션과 호환되지 않음), 9P2000 지원 포함. |
포트
Inferno는 네이티브 하드웨어에서 직접 실행되며 다른 플랫폼에서 실행되는 가상 운영 체제를 제공하는 애플리케이션으로도 실행됩니다.프로그램은 수정이나 재컴파일 없이 모든 Inferno 플랫폼에서 개발 및 실행할 수 있습니다.
네이티브 포트에는 x86, MIPS, ARM, PowerPC, SPARC 등의 아키텍처가 있습니다.
호스트 또는 가상 OS 포트에는 다음이 포함됩니다.Microsoft Windows, Linux, FreeBSD, Plan 9, Mac OS X, Solaris, IRIX, UnixWare.
Inferno는 Internet Explorer [16]플러그인으로 호스트할 수도 있습니다.Vita Nuova는 다른 브라우저용 플러그인은 개발 중이지만 [17]출시되지는 않았다고 말했다.
인페르노는 또한 Openmoko,[18] 닌텐도 DS,[19][20] SheevaPlug,[21] [22]Android에도 이식되었다.
분배
Inferno 4th Edition은 2005년 초에 무료 소프트웨어로 출시되었습니다.구체적으로는, 2개의 [6]구조하에서 2개의 라이센스를 취득했습니다.사용자는 일련의 무료 소프트웨어 라이선스로 취득하거나 독점 라이선스로 취득할 수 있습니다.자유 소프트웨어 라이센스 스킴의 경우, 시스템의 다른 부분이 GNU General Public License, GNU Lesser General Public License, Lucent Public License, MIT License 등 다양한 라이선스로 커버되고 있습니다.단, Bigelow 및 Holmes의 서브 라이선스는 제외됩니다.
2021년 3월, 모든 판은 주로 MIT 라이선스에 따라 [2][3]유물이 되었다.
「 」를 참조해 주세요.
메모들
레퍼런스
- ^ Dorward, Sean; Pike, Rob; Presotto, David Leo; Ritchie, Dennis M.; Trickey, Howard; Winterbottom, Phil (1997). "The Inferno Operating System". Inferno Documentation. Vita Nuova. Retrieved 2014-05-02.
- ^ a b c d "Inferno Licence Terms". Archived from the original on 2021-04-27. Retrieved 2021-06-17.
MIT
- ^ a b c d "inferno-os — Bitbucket". Retrieved 2021-06-17.
- ^ "Inferno Licence Terms". Archived from the original on 2005-08-11. Retrieved 2021-06-17.
The Free Software Scheme" and "Commercial Developer Licence
- ^ "Vita Nuova Commercial Developer License - 9 November 2005". Archived from the original on 2006-05-02. Retrieved 2021-06-17.
- ^ a b c "Inferno Licence Terms". Archived from the original on 2003-10-26. Retrieved 2021-06-17.
Vita Nuova Liberal Source Licence" and "Vita Nuova Commercial Developer Licence
- ^ "Vita Nuova Liberal Source License - 29 May 2003". Archived from the original on 2005-04-05. Retrieved 2021-06-17.
- ^ "Vita Nuova Liberal Source License - 14 May 2003". Archived from the original on 2004-02-23. Retrieved 2021-06-17.
- ^ "Vita Nuova Commercial Developer License - 22 April 2003". Archived from the original on 2004-06-25. Retrieved 2021-06-17.
- ^ "Vita Nuova Inferno Subscription Licence". Archived from the original on 2000-12-08. Retrieved 2021-06-17.
- ^ Huelsbergen, Lorenz; Winterbottom, Phil. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF).
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ "The Inferno Operating System" (papers). Vita Nuova Holdings.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ "Inferno - 1".
- ^ Pontin, Jason (19 February 1996). "AT&T reveals plans for Java competitor". InfoWorld. p. 3.
- ^ Hayes, Frank (19 February 1996). "Bell Lab's Inferno aims to rival Java". Computerworld. p. 6.
- ^ "Supporting code to allow Inferno to act as a plugin in various browsers".
- ^ 플러그인, 비타 누오바
- ^ "inferno-openmoko - inferno for openmoko neo freerunner - Google Project Hosting". Retrieved 2012-06-04.
- ^ "inferno-ds - Inferno Kernel for the Nintendo DS - Google Project Hosting". Retrieved 2012-06-04.
- ^ "inferno-ds: Native Inferno Kernel for the Nintendo DS". bitbucket.org. Archived from the original on 2017-08-23. Retrieved 2018-03-17.
- ^ "inferno-kirkwood - Inferno for the Marvell Kirkwood/Sheevaplug - Google Project Hosting". Retrieved 2012-06-04.
- ^ floren (2011-09-29). "floren: inferno: wiki". Bitbucket.org. Retrieved 2012-06-04.
추가 정보
- Stanley-Marbell, Phillip (2003). Inferno Programming with Limbo. Chichester: John Wiley & Sons. ISBN 0-470-84352-7. 는 Inferno 운영체제의 제3판을 설명하고 있지만, Inferno 시스템 자체보다는 Limbo 언어와 Inferno 시스템과의 인터페이스에 초점을 맞추고 있습니다.예를 들어, 인페르노의 다용도 명령어 셸에 대한 정보가 거의 제공되지 않는데, 프로그래밍 언어 교과서이기 때문에 이해할 수 있다.
- 에서는 운영체제 설계의 예로서 Inferno를 사용하고 있습니다Stuart, Brian (2008). Principles of Operating Systems: Design and Applications. Course Technology. ISBN 978-1-4188-3769-3..
- Atkins, Martin; Forsyth, Charles; Pike, Rob; Trickey, Howard. "The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System".
{{cite journal}}
: Cite 저널 요구(도움말)는 운영체제 중심의 관점을 제공하기 위한 것이었지만, 완성되지 않았습니다.
외부 링크
- 최신 지옥 출시 문서입니다.
- 소스 코드를 포함한 Inferno 제4판 다운로드.
- 메일링 리스트 및 기타 자원.
- 제90회:Inferno, Plan 9 및 관련 기술에 대한 뉴스 및 기사.
- Inferno 프로그래머 노트 - Inferno 개발자가 만든 저널입니다.
- Inferno 체험: 활성 Inferno 시스템에 무료로 브라우저로 접속할 수 있습니다.
- Inferno OS에서 Lasberry Pi Labs: Inferno OS에서 Lasberry Pi로 이식