- Windows NT의 서브시스템 구조는 다른 운영체제용 프로그램을 실행하기 위한 API 호출 변환 계층으로 구성되어 왔음
-
WSL1은 이러한 전통을 잇는 형태로, 리눅스 호출을 윈도우 커널 호출로 변환하는 가벼운 번역 계층으로 동작
-
WSL2는 성능 문제를 해결하기 위해 Hyper-V 기반의 완전한 리눅스 VM으로 전환되었으며, 실제 리눅스 커널을 실행
- WSL2는 동적 메모리 관리, Windows 드라이브 마운트, WSLg를 통한 GUI 통합 등으로 일반 VM보다 높은 통합성을 제공
- 파일 관리의 불편함과 디스크 이미지 의존성 등 한계가 있지만, WSL1과 WSL2의 장단점을 선택적으로 활용할 수 있는 유연성이 중요
Windows NT의 서브시스템 개념
- Windows NT의 서브시스템(subsystem) 은 다른 운영체제용 프로그램을 실행하기 위한 API 세트와 호출 변환 계층을 의미
- 과거 NT에는 OS/2 서브시스템(OS2SS.EXE) , POSIX 서브시스템(PSXSS.EXE) 등이 존재
-
CSRSS.EXE는 Win32 API 변환 계층으로, 일부 기능은 커널 모드(WIN32K.SYS)로 이동
- POSIX 서브시스템은 정부 인증을 위한 최소 구현 수준이었으며, 이후 Interix 기반 Windows Services for Unix로 대체됨
WSL1: 번역 기반 리눅스 계층
-
WSL1(Windows Subsystem for Linux) 은 리눅스 시스템 호출을 윈도우 호출로 변환하는 얇은 번역 계층
- 실행 시 bash 프로세스만 몇 MB 메모리를 사용하며, Task Manager에서 일반 프로세스로 표시
- 루트 파일시스템은 NTFS 상의 개별 파일 구조로 존재해 저장 공간 오버헤드가 거의 없음
-
제한사항
-
I/O 성능 저하: 리눅스와 Win32 파일시스템 API 차이로 인한 변환 비용
-
GUI 실행 시 외부 X 서버 필요 (예: X410)
-
Raw 소켓 미지원으로 traceroute, nmap, tcpdump 등 실행 불가
WSL2: Hyper-V 기반 리눅스 VM
- 사용자 요구에 따라 Microsoft는 Hyper-V 위에서 동작하는 완전한 리눅스 VM을 도입
- 루트 파일시스템은 단일 VHDX 파일로 관리
- 명령어 wsl --set-version "Ubuntu" 2 로 WSL1↔WSL2 간 변환 가능
-
성능 특성
- 초기 부팅은 느리지만, 네이티브 리눅스 커널을 실행
- 메모리 사용은 동적이며, 최대 물리 메모리의 절반까지 확장 가능
-
stress 테스트 결과, 메모리 사용량은 부하에 따라 증가 후 자동 축소
- 필요 시 wsl --shutdown 명령으로 VM 종료 가능
WSL2의 통합 기능과 한계
- WSL2는 전통적 VM과 달리 Windows와의 통합성을 강화
-
Windows 드라이브 자동 마운트, 리눅스 드라이브를 \\wsl$\ 경로로 접근, WSLg를 통한 GUI 앱 실행
- GUI 앱은 Remote Desktop 프로토콜을 통해 스트리밍되며, DPI나 텍스트 스케일링은 별도 설정 필요
-
파일 관리 문제
- 리눅스 작업 데이터는 ext4.vhdx 이미지 내부에 저장되어 이식성 및 복구 위험 존재
-
wsl --unregister Distro 실행 시 모든 데이터 즉시 삭제
- Windows 드라이브(/mnt/c) 사용 시 NTFS + VM 오버헤드로 성능 저하
-
파일시스템 프로토콜
- WSL1은 drvfs, WSL2는 Plan9의 9p 프로토콜 사용
- 변환 과정에서 drvfs가 남는 버그 발생 사례 언급
-
대안
- 별도의 VHDX 이미지 생성 후 wsl --mount --vhd로 마운트하여 작업 데이터 분리 권장
-
.wslconfig에서 자동 설정 불가, 스크립트로 처리 필요
결론
- Windows NT의 모듈형 설계와 안정적 커널 ABI는 오래된 드라이버 호환성을 유지
-
WSL1은 가벼운 메모리 사용이 장점이며, WSL2는 실제 리눅스 커널로 더 높은 호환성과 성능 제공
- WSL2는 VM의 단점을 최소화하고 호스트 OS와의 통합을 강화한 구조
- 전통적 정의로는 VM에 가깝지만, 가벼운 통합형 환경으로서 “서브시스템”이라 부를 만한 가치가 있음