2023 words
10 minutes
250319WSL_The_Windows_Subsystem_for_Linux

link#


The Windows Subsystem for Linux is now open source | May 19, 2025 | By Pierre Boulay#

즉, 이제 WSL을 구동하는 코드가 Microsoft/WSL의 GitHub에서 사용할 수 있으며 커뮤니티에 오픈 소스로 제공됩니다! 소스에서 WSL을 다운로드하고 빌드한 후 새로운 수정 사항과 기능을 추가하고 WSL의 활발한 개발에 참여할 수 있습니다.

WSL component overview#

  • WSL은 일련의 배포 구성 요소로 구성되어 있습니다. 일부는 Windows에서 실행되고 일부는 WSL 2 가상 머신 내부에서 실행됩니다. 다음은 WSL의 아키텍처 개요입니다:
Image

WSL’s code can be broken up into these main areas:#


한글 번역본#

WSL의 코드는 다음과 같은 주요 영역으로 나눌 수 있습니다:#

  • WSL과 상호작용하기 위한 진입 지점인 명령줄 실행 파일

    • wsl.exe, wslconfig.exe and wslg.exe
  • WSL VM을 시작하고, 디스트로를 시작하며, 파일 액세스 공유를 마운트하는 WSL 서비스 등

    • wslservice.exe
  • Linux init 및 데몬 프로세스, WSL 기능을 제공하기 위해 Linux에서 실행되는 바이너리

    • 시작을 위한 init, 네트워킹을 위한 gns, 포트 포워딩을 위한 localhost 등.
  • WSL의 plan9 서버 구현을 통해 Windows에 Linux 파일 공유

    • 플랜9
  • 각 구성 요소에 대해 자세히 알아보려면 https://wsl.dev로 이동하세요.

  • 이는 이미 오픈 소스 WSL 구성 요소에 추가된 것입니다:

    • Microsoft/wslg: Wayland 및 X 서버 관련 시나리오에 대한 지원을 포함하도록 Windows 하위 시스템을 Linux용으로 활성화하기

    • Microsoft/WSL2-Linux-Kernel: Windows 서브시스템 for Linux 2 (WSL2)에서 사용되는 Linux 커널의 소스

  • 다음 구성 요소는 여전히 Windows 이미지의 일부이며 현재 오픈 소스가 아닙니다:

    • Lxcore.sys, WSL 1을 구동하는 커널 사이드 드라이버

    • P9rdr.sys 및 p9np.dll, “\wsl.localhost” 파일 시스템 리디렉션을 실행합니다(Windows에서 Linux로)

왜 지금 오픈 소스인가요? 약간의 역사…#

  • WSL은 2016년에 BUILD에서 처음 발표되었으며, Windows 10 Anniversary 업데이트와 함께 처음 출시되었습니다.

  • 당시 WSL은 lxcore.sys라는 피코 프로세스 제공업체를 기반으로 하고 있었으며, 이를 통해 Windows는 ELF 실행 파일을 네이티브로 실행하고 Windows 커널 내부에 Linux syscall을 구현할 수 있었습니다. 이는 결국 오늘날 우리가 “WSL 1”이라고 알고 있는 것이 되었으며, WSL은 여전히 이를 지원합니다.

  • 시간이 지나면서 네이티브 리눅스와 최적의 호환성을 제공하는 가장 좋은 방법은 리눅스 커널 자체에 의존하는 것이라는 것이 분명해졌습니다. WSL 2는 2019년에 처음 발표되었습니다.

  • WSL의 커뮤니티가 성장함에 따라 WSL은 GPU 지원, 그래픽 애플리케이션 지원(wslg를 통한), systemd 지원과 같은 더 많은 기능을 갖추게 되었습니다.

  • 결국 증가하는 커뮤니티 및 기능 요청을 따라잡기 위해 WSL은 더 빠르게 이동하고 Windows와 별도로 배송해야 한다는 것이 분명해졌습니다. 그래서 2021년에 WSL을 Windows 코드베이스에서 분리하여 자체 코드베이스로 옮겼습니다. 이 새로운 WSL은 2021년 7월에 버전 0.47.1로 Microsoft Store에 처음 배송되었습니다. 당시에는 Windows 11만 지원되었으며 패키지는 미리보기로 표시되어 최신 WSL을 경험하고 싶은 사용자에게만 권장되었습니다.

  • 우리는 이 새로운 “WSL 패키지”가 일반적으로 출시될 준비가 될 때까지 계속해서 개발했습니다. 그 일은 2022년 11월에 일어났으며, WSL 1.0.0은 Windows 10에 대한 지원을 추가하고 이 새로운 WSL의 첫 번째 “안정적인” 릴리스였습니다.

  • 그 이후로 우리는 모든 사용자를 Windows와 함께 제공되던 WSL 구성 요소에서 벗어나 이 새로운 WSL 패키지로 완전히 전환하기 위해 WSL을 계속 개선했습니다. Windows 11 24H2는 사용자를 “내장된” WSL 패키지에서 “새로운” WSL 패키지로 이동시킨 최초의 Windows 빌드였습니다. Windows 이미지에 wsl.exe를 유지하여 최신 패키지를 더 쉽게 다운로드할 수 있도록 했습니다.

  • WSL을 계속 개선하면서 결국 또 다른 이정표를 세웠습니다: WSL 2.0.0 (컴퓨터 과학에서 가장 어려운 세 가지 문제는 무엇인가요? 하나의 오류와 이름 짓기!).

    • (What are the three hardest problems in computer science? Off by one errors and naming things!).
  • WSL 2.0.0은 미러링 네트워킹, DNS 터널링, 세션 0 지원, 프록시 지원, 방화벽 지원 등과 같은 주요 개선 사항을 도입했습니다.

  • 그리고 이것이 바로 오늘날에도 우리가 쌓아가고 있는 이정표입니다! 이 글을 쓰는 시점에서 WSL 2.5.7은 4년 전 0.47.1 이후 9페이지에 걸쳐 출시된 Github 버전 중 가장 최신 버전입니다!

WSL의 배후 커뮤니티#

수년 동안 우리는 첫날부터 WSL을 지원하는 강력한 커뮤니티가 생겨 믿을 수 없을 정도로 운이 좋았습니다. 우리는 사람들이 자신의 지식을 공유하고 버그를 추적하고, 새로운 기능을 구현하고, WSL을 개선하는 최선의 방법을 찾기 위해 수많은 시간을 할애하는 축복을 받았습니다.

WSL은 커뮤니티가 없었다면 오늘날과 같은 존재가 될 수 없었을 것입니다. WSL의 소스 코드에 접근하지 못했더라도 사람들은 현재와 같은 WSL에 기여하는 데 큰 기여를 할 수 있었습니다.

그렇기 때문에 오늘날 오픈 소스 WSL에 대해 매우 기대하고 있습니다. 소스 코드에 액세스하지 않고도 커뮤니티가 WSL에 얼마나 기여했는지 확인했으며, 커뮤니티가 프로젝트에 직접 코드를 기여할 수 있게 되면서 WSL이 어떻게 발전할지 기대됩니다.

WSL 기여#

WSL이 어떻게 작동하는지 배우고 싶으신가요? 특정 기능이 어떻게 작동하는지 확인하거나 변경하고 싶으신가요? 자세한 내용은 Microsoft/WSL로 이동하세요!

250319WSL_The_Windows_Subsystem_for_Linux
https://younghakim7.github.io/blog/posts/250319wsl_the_windows_subsystem_for_linux/
Author
YoungHa
Published at
2025-03-19