Windows Subsystem for Linux

Windows Subsystem for Linux(WSL)는 Microsoft Windows에서 Linux용 명령줄 프로그램과 개발 도구·응용 프로그램을 실행하도록 제공하는 기능이다. WSL 1은 Linux 커널 없이 시스템 호출을 Windows NT 기능으로 변환하는 방식으로 2016...

약칭WSL
분류Windows에서 Linux 사용자 공간 실행을 제공하는 호환·가상화 환경
개발사Microsoft·오픈 소스 공동체
최초 출시Windows 10 1607의 WSL 1(2016년)
주요 세대WSL 1, WSL 2
WSL 1 방식Linux 시스템 호출 호환 계층·변환
WSL 2 방식경량 가상 머신·실제 Linux 커널
지원 호스트Windows 10·11 및 일부 Server
배포판Ubuntu, Debian, Fedora 등 배포판별 제공
도구wsl.exe, WSL Settings, Windows Terminal
파일 교환DrvFS, 9P 파일 공유 등 버전별
그래픽스WSLg로 Linux GUI 앱 지원(지원 구성)
컨테이너Docker·개발 환경과 연동
공식 문서Microsoft Learn: WSL
공개 소스microsoft/WSL

Windows Subsystem for Linux(WSL)는 Microsoft Windows에서 Linux용 명령줄 프로그램과 개발 도구·응용 프로그램을 실행하도록 제공하는 기능이다. WSL 1은 Linux 커널 없이 시스템 호출을 Windows NT 기능으로 변환하는 방식으로 2016년 Windows 10에 도입됐다. 이후 WSL 2는 경량 가상 머신에서 실제 Linux 커널을 실행해 시스템 호출의 호환성과 컨테이너·파일 시스템 기능을 확대했다. 두 버전은 사용자에게 비슷한 명령줄 경험을 제공하지만 커널·파일 접근과 가상화 구조가 다르다.[1]

개발자는 wsl 명령으로 설치·배포판 선택·실행과 상태 관리를 수행한다. Ubuntu·Debian 등 Linux 배포판은 각자의 패키지 관리자와 사용자 공간을 제공하며 Windows의 파일·네트워크 및 개발 도구와 함께 이용할 수 있다. WSL이 Linux 배포판 자체를 만든다는 의미가 아니며 Microsoft의 실행 플랫폼과 각 배포판이 제공하는 패키지·라이선스는 구별해야 한다.

WSL 1은 Linux 프로그램이 요청하는 시스템 호출을 Windows의 하위 시스템에서 해석·변환하므로 특수한 커널 기능의 지원에 제한이 있다. WSL 2는 Microsoft가 관리하는 Linux 커널과 Hyper-V 가상화 기술을 사용하므로 Linux의 파일 시스템·커널 인터페이스와 컨테이너를 더 넓게 지원한다. 대신 Windows 쪽 파일을 접근하는 경로나 네트워크·메모리의 사용 특성이 WSL 1과 다르다.[2]

Windows와 Linux 사이에는 경로·파일 권한·행 끝 문자와 네트워크 인터페이스 차이가 존재한다. WSL 2의 Linux 파일은 일반적으로 배포판의 가상 디스크에 저장되고 Windows 경로는 /mnt/c 같은 마운트 경로로 제공된다. WSLg는 지원되는 시스템에서 Linux 그래픽 앱을 Windows 데스크톱에 통합해 표시할 수 있다. 이러한 통합은 Linux 앱이 Win32 네이티브 바이너리로 바뀌었다는 의미가 아니다.

WSL은 Windows 개발자가 Linux용 빌드·패키지·스크립트·컨테이너를 활용하는 데 큰 영향을 줬지만 일반 PC의 Windows 커널이 Linux로 교체되는 기술은 아니다. WSL 관리 도구와 일부 구현은 공개 소스로 개발되지만 Windows 호스트 운영체제와 설치된 각 Linux 배포판·패키지의 라이선스는 각각 다르게 적용된다.[3]

역사

설계 목적과 기술 계보

주요 구성 요소

시스템 아키텍처

설정·관리·개발 도구

관련 운영체제와 플랫폼

보안·접근 제어

성능·호환성과 제한

최신 지원과 운영

관련 문서

  1. Microsoft Learn: What is WSL ↩
  2. Microsoft Learn: Compare WSL 1 and WSL 2 ↩
  3. WSL 공식 소스 저장소 ↩