특이점(운영 체제)
Singularity (operating system)이 글은 검증을 위해 인용구가 추가로 필요하다. – · · 책 · · (2011년 8월) (이 를 |
개발자 | Microsoft Research(Microsoft Corporation) |
---|---|
기록 위치 | 어셈블리 언어, C, C++, C#, Sing# |
OS 제품군 | 언어 기반 시스템 |
작업 상태 | 중단됨 |
소스 모델 | 소스 사용 가능(공유 소스 이니셔티브를 통해) |
초기 릴리즈 | 2008년 3월 4일;[1] | 전
최종 발매 | 2.0 / 2008년 11월 14일; | 전
다음에서 사용 가능 | 영어 |
플랫폼 | x86, x86-64[2] |
커널형 | 마이크로커널 언어 기반의 |
체납 사용자 인터페이스 | 명령줄 인터페이스 |
면허증 | 마이크로소프트 리서치 라이선스 |
공식 웹사이트 | research |
특이점은 마이크로소프트리서치가 2003년 7월 [3]9일부터 2015년 2월 7일까지 개발한 실험 운영체제다.[4]커널, 디바이스 드라이버, 애플리케이션 소프트웨어 등이 모두 관리 코드로 작성되는 높은 신뢰도 OS로 설계됐다.내부 보안은 하드웨어 메모리 보호 대신 유형 안전을 사용한다.
작전
가장 낮은 수준의 x86 인터럽트 디스패치 코드는 조립 언어와 C로 작성된다.이 코드가 제 기능을 다하면 커널을 호출하는데, 커널은 런타임 시스템과 가비지 수집기가 싱#(Spec#의 확장 버전, 그 자체가 C#의 확장 버전)로 작성되어 보호되지 않은 모드로 실행된다.[5]: 14 [6]: 4 하드웨어 추상화 계층은 C++로 작성되며 보호 모드에서 실행된다.디버깅을 처리하는 C 코드도 있다.컴퓨터의 기본 입출력 시스템(BIOS)은 16비트 리얼 모드 부트스트랩 단계에서 호출되며, 한번 32비트 모드로 전환하면 유니크리티는 다시는 BIOS를 호출하지 않고 싱#로 작성된 장치 드라이버를 호출한다.설치하는 동안 CIL(Common Intermediate Language) opcode는 Bartok 컴파일러를 사용하여 x86 opcode로 컴파일된다.[6]: 11
보안 설계
특이점은 마이크로커널 운영체제다.대부분의 역사적인 마이크로커널과는 달리, 그것의 구성요소는 소프트웨어 격리 프로세스(SIP)를 포함하는 동일한 주소 공간(프로세스)에서 실행된다.각 SIP는 자체 데이터와 코드 레이아웃을 가지고 있으며, 다른 SIP와는 독립적이다.이러한 SIP는 정상적인 프로세스처럼 작동하지만 작업 스위치의 비용은 피한다.[5]: 4,11,35
이 시스템의 보호는 정적 프로그램 분석에 의해 검증되는 불변성이라고 불리는 규칙 집합에 의해 제공된다.예를 들어, 메모리 내장 상태에서 두 SIP 사이에는 상호 참조(또는 메모리 포인터)가 없어야 한다. 즉, SIP 간의 통신은 운영체제가 관리하는 고차 통신 채널을 통해 이루어진다.응용 프로그램 설치 중에 불변성을 점검한다.(단수성에서는 운영 체제에서 설치를 관리한다.)
대부분의 불변자는 쓰레기 수집기가 있는 싱#와 같은 안전한 메모리 관리 언어의 사용에 의존하며, 임의의 포인터를 허용하지 않으며, 주어진 컴퓨터 보안 정책을 충족시키기 위해 코드가 검증될 수 있도록 허용한다.
프로젝트 현황
첫 번째 특이점 연구 개발 키트(RDK 1.1)는 2008년 3월 4일 처음 출시되었으며,[1] 학술적 비상업적 사용이 가능한 공유 소스 라이센스로 출시되었으며 CodePlex에서 이용할 수 있다.[7]RDK 2.0은 이후 2008년 11월 14일에 출시되었다.[2]
유사 프로젝트
- 1995년 Bell Labs의 Plan 9에 기초하여 처음 만들어진 Inperno; 프로그램은 가상 머신에서 실행되고 CIL로 C# 대신 Limbo로 작성된다.
- JavaOS, 특이점과 동일한 개념을 기반으로 하는 레거시 OS
- JNode, 특이점과 개념은 비슷하지만, CIL이 있는 C# 대신 Java를 사용하는 OS.
- JX는 특이점과 마찬가지로 컴퓨터 하드웨어 메모리 보호 대신 타입 안전성을 사용하는 자바 OS다.
- 관리되는 OS인 팬텀 OS
- C#; 오픈 소스 소프트웨어를 사용하여 운영 체제를 작성하기 위한 이전 노력의 SharpOS
- MOSA, a .C#을 사용한 NET Framework 컴파일러 및 운영 체제
- C#; 오픈 소스 소프트웨어를 사용한 OS 개발을 위한 빌딩 블록 툴킷인 Cosmos
- TempleOS, JIT 컴파일러가 장착된 링-0 운영 체제; 오픈 소스 소프트웨어
참고 항목
- 하드웨어 보호 대신 언어 기반 보호를 사용하는 언어 기반 시스템, 일반 커널 설계.
- 스펙#, 에펠 같은 디자인을 계약서에 넣어 C#에서 파생된 프로그래밍 언어.
- Sing#, 채널과 낮은 수준의 구문을 추가하여 Spec#에서 파생된 프로그래밍 언어, 특이성을 구축하는 데 사용된다.
- 마이크로소프트가 개발한 마이크로커널 기반의 운영체제인 미도리는 정보기술(IT) 언론사 일부 회원들이 마이크로소프트 윈도의 유력한 후계자로 지목했다.특이점에 기반하고 관련됨.
참조
- ^ a b "Singularity RDK 1.1". CodePlex. Archived from the original on May 4, 2009. Retrieved January 16, 2022.
- ^ a b "Singularity RDK 2.0 Initial Release (17067)". CodePlex. November 14, 2008. Archived from the original on December 6, 2008. Retrieved January 16, 2022.
- ^ "Singularity". Microsoft. Retrieved January 16, 2022.
- ^ "Singularity RDK". CodePlex. Archived from the original on January 2, 2018. Retrieved January 16, 2022.
- ^ a b "An Overview of the Singularity Project" (PDF). Microsoft. Retrieved January 16, 2022.
- ^ a b Hunt, Galen; Larus, James. "Singularity: Rethinking the Software Stack" (PDF). Microsoft. Microsoft Research Redmond. Retrieved January 16, 2022.
- ^ Ricciuti, Mike (March 5, 2008). "Is Microsoft's 'Singularity' the OS of the future?". CNET. Retrieved January 16, 2022.
외부 링크
- 공식 웹사이트
- 특이점 설계 동기와 특이점 프로젝트의[permanent dead link] 개요
- CodePlex의 특이점 소스 코드
- 특이점: 채널 9 팀의 Jim Larus and Galen Hunt 인터뷰 C#에 실린 연구 OS (비디오 & 스레드)
- 특이점 III: SIP의 복수 채널 9팀이 특이점 프로젝트 팀(비디오 & 스레드)의 연구원 3명에게 한 인터뷰.
- 특이점 IV: UI의 반환, 실제 실행 중인 특이점의 데모(비디오 & 스레드)
- 특이점 재방문, 채널 9팀의 특이점 프로젝트 팀 연구원 4명에게 인터뷰(비디오 & 스레드)