피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
Linux를 위한 Windows 9x 서브시스템
GPF 핸들러와 Ring 0 통합을 통한 Win9x 기반 Linux 6.19 커널 구동
AI 요약
Context
하드웨어 가상화 기술 없이 구형 x86 아키텍처(486 등)에서 최신 OS 기능을 활용하려는 시도. 기존 WSL과 달리 가상화 계층을 제거하여 Windows 9x 커널 내에서 Linux를 협력적으로 실행하는 구조 설계.
Technical Solution
- User-Mode Linux 기반 구조를 Windows 9x 커널 API 호출 방식으로 개조하여 Ring 0 슈퍼바이저 모드에서 직접 실행
- Windows 9x의 짧은 Interrupt Descriptor Table(IDT) 제약을 극복하기 위해 int 0x80 대신 General Protection Fault(GPF) 핸들러를 통한 System Call 디스패치 구현
- VxD 드라이버를 통한 커널 초기 매핑 및 고정 베이스 주소(0xd0000000) 할당으로 메모리 관리 효율화
- 16 KiB 스택 할당 및 전용 이벤트 루프 구축을 통한 Linux 진입, IRQ 디스패치 및 유저스페이스 복귀 처리
- MS-DOS 프롬프트를 TTY로 활용하기 위해 V86 API 기반의 콘솔 할당 및 int 0x29 인터럽트를 통한 문자 출력 브릿지 설계
실천 포인트
1. 레거시 시스템의 인터럽트 테이블 제약 확인
2. 가상화 오버헤드 제거를 위한 커널 모드(Ring 0) 직접 통합 가능성 검토
3. 이기종 OS 간 API 브릿지 설계를 위한 전용 드라이버(VxD 등) 구현 전략 수립