Neptune OS: seL4 마이크로커널의 WinNT 사용자 지정

의 프로젝트와 다른 Neptune OS 프로젝트의 첫 번째 실험 버전의 출판 데비안 기반 Linux 배포판 같은 이름으로.

오늘 이야기할 이 시스템은 seL4 마이크로커널용 플러그인을 개발하는 것이 특징입니다. 제공하는 것을 목표로 Windows NT 커널 구성 요소의 구현과 함께 Windows 응용 프로그램 실행을 지원합니다. 

Neptune OS 정보

프로젝트 나"NT Executive"를 구현합니다., Windows NT 커널(NTOSKRNL.EXE)의 계층 중 하나로서 드라이버가 작동하도록 NT 기본 시스템 호출 API 및 인터페이스를 제공합니다.

Neptune OS에서 구성 요소 NT Executive 및 모든 드라이버는 커널 수준에서 실행되지 않으며, 하지만 seL4 마이크로커널 기반 환경에서 사용자가 처리할 때. NT Executive 구성 요소와 드라이버의 상호 작용은 seL4 IPC 표준을 통해 수행됩니다. 제공된 시스템 호출을 통해 NTDLL.DLL 라이브러리가 응용 프로그램에서 사용되는 Win32 API 구현과 함께 작동할 수 있습니다.

 NT Executive는 다음과 같은 기능을 포함하는 Windows 커널 드라이버 인터페이스(Windows 드라이버 모델로 알려짐)도 담당합니다. IoConnectInterruptIoCallDriver

Windows에서는 커널 모드로 로드되고NTOSKRNL.EXE영상. Neptune OS에서 우리는 사용자 모드에서 모든 Windows 커널 드라이버를 실행하고 표준 seL4 IPC 프리미티브를 통해 NT Executive 프로세스와 통신합니다.

최종 목표 Neptune OS 프로젝트에서 충분한 NT 의미를 구현하는 것입니다. ReactOS 사용자 환경은 Neptune OS 및 대부분의 ReactOS 커널 드라이버에서 이식될 수 있습니다.

이론적으로 개발자는 바이너리 호환성을 달성할 수 있어야 한다고 언급 네이티브 NT API의 제공된 구현이 충분히 충실하다면 네이티브 Windows 실행 파일과 함께 사용할 수 있습니다.

또한 Windows 커널 드라이버와 높은 수준의 소스 코드 호환성을 달성할 수 있어야 합니다. 커널 드라이버의 바이너리 호환성을 달성하는 데 있어 주요 장애물은 많은 Windows 커널 드라이버가 표준 Windows 드라이버 통신 프로토콜을 따르지 않고(즉, 다른 드라이버를 호출해야 할 때 IRP를 전달함) 대신 포인터를 전달하고 다른 컨트롤러를 직접 호출한다는 것입니다. . Neptune OS에서는 드라이버-미니드라이버 쌍이 아닌 한 항상 "커널"을 실행합니다.

넵튠 OS 0.1.0001 소개

지금까지 kbdclass.sys 키보드 클래스 드라이버와 포트 드라이버를 포함하는 키보드 드라이버의 기본 스택을 로드하기에 충분한 NT 프리미티브를 구현할 수 있었기 때문에 현재 프로젝트의 상태는 예비 버전입니다. 2 i8042prt.sys 및 ReactOS 프로젝트에서 가져온 기본 명령 프롬프트 ntcmd.exe.

실제로 작동하는 셸 명령은 거의 없지만 키보드 스택은 안정적입니다. 디버그 로그가 너무 많이 생성되기 때문에 디버그 빌드가 약간 느릴 수 있습니다.

그러나 이것들은 코드에서 비활성화될 수 있다고 언급되어 있습니다(private/ntos/inc를 가리켜야 함). 또한 PC 스피커에서 성가신 소리를 내는 "beep.sys" 드라이버가 포함되어 있다고 언급되어 있습니다. (특히 pulseaudio를 사용하는 경우).

모든 컨트롤러는 사용자 공간에서 실행됩니다! 전체 시스템은 하나의 플로피 디스크에 적합하며 버전 v0.1.0001에서 다운로드할 수 있습니다. 다음 섹션에서 설명하는 절차에 따라 직접 구축할 수도 있습니다.

마지막으로 프로젝트에 대해 조금 더 알고 싶은 분들을 위해 자세한 내용을 참조할 수 있습니다. 다음 링크에서.

부팅 이미지의 크기는 1,4MB이며 코드는 GPLv3 라이선스에 따라 릴리스됩니다.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.