특이점(운영 체제)

Singularity (operating system)
특이점 프로젝트
Singularity v1.png
부팅 후 특이점
개발자Microsoft Research(Microsoft Corporation)
기록 위치어셈블리 언어, C, C++, C#, Sing#
OS 제품군언어 기반 시스템
작업 상태중단됨
소스 모델소스 사용 가능(공유 소스 이니셔티브를 통해)
초기 릴리즈2008년 3월 4일; 14년(2008-03-04)[1]
최종 발매2.0 / 2008년 11월 14일; 13년(2008-11-14)
다음에서 사용 가능영어
플랫폼x86, x86-64[2]
커널형마이크로커널 언어 기반의
체납
사용자 인터페이스
명령줄 인터페이스
면허증마이크로소프트 리서치 라이선스
공식 웹사이트research.microsoft.com/en-us/projects/singularity

특이점마이크로소프트리서치가 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) opcodeBartok 컴파일러를 사용하여 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]

유사 프로젝트

참고 항목

  • 하드웨어 보호 대신 언어 기반 보호를 사용하는 언어 기반 시스템, 일반 커널 설계.
  • 스펙#, 에펠 같은 디자인을 계약서에 넣어 C#에서 파생된 프로그래밍 언어.
  • Sing#, 채널과 낮은 수준의 구문을 추가하여 Spec#에서 파생된 프로그래밍 언어, 특이성을 구축하는 데 사용된다.
  • 마이크로소프트가 개발한 마이크로커널 기반의 운영체제인 미도리는 정보기술(IT) 언론사 일부 회원들이 마이크로소프트 윈도의 유력한 후계자로 지목했다.특이점에 기반하고 관련됨.

참조

  1. ^ a b "Singularity RDK 1.1". CodePlex. Archived from the original on May 4, 2009. Retrieved January 16, 2022.
  2. ^ 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.
  3. ^ "Singularity". Microsoft. Retrieved January 16, 2022.
  4. ^ "Singularity RDK". CodePlex. Archived from the original on January 2, 2018. Retrieved January 16, 2022.
  5. ^ a b "An Overview of the Singularity Project" (PDF). Microsoft. Retrieved January 16, 2022.
  6. ^ a b Hunt, Galen; Larus, James. "Singularity: Rethinking the Software Stack" (PDF). Microsoft. Microsoft Research Redmond. Retrieved January 16, 2022.
  7. ^ Ricciuti, Mike (March 5, 2008). "Is Microsoft's 'Singularity' the OS of the future?". CNET. Retrieved January 16, 2022.

외부 링크