[Day45] Linux -WSL이란?

Validator·2023년 8월 17일
0

WSL

일반 사용자들은 WSL이 뭔가 싶기도 할 거다. WSL은 Windows Sub-system for Linux의 약자이다. 한글로는 ‘윈도우의 하위 시스템으로 리눅스 사용’ 정도로 표기할 수 있겠다.

WSL을 사용하면 기존의 VM(Virtual Machine)을 실행하며 발생하는 CPU와 Memory의 문제나 복잡한 네트워크 설정 없이도 Windows10 혹은 Windows Server 환경에서 Linux를 사용할 수 있다. WSL은 Windows에서 GNU/Linux 계열의 실행 파일 표준인 ELF(Executable and Linkable Format) binary 파일들을 실행할 수 있게 해 준다. 즉, Windows 운영 체제에서 Linux 실행파일들을 함께 사용할 수 있도록 호환성을 추가하는 아키텍처라 할 수 있다.

WSL의 탄생

WSL은 본래, 개발자가 안드로이드 코드를 재사용하여 휴대폰용 윈도우 애플리케이션을 빌드하거나 윈도우에서 기본 안드로이드 애플리케이션을 실행할 수 있게 했던 유니버설 윈도우 플랫폼 브리지 도구 키트인 '프로젝트 아스토리아'에서 비롯되었다.

이는 안드로이드 애플리케이션을 최소한으로 변경하여 에뮬레이션된 환경에서 실행하면서, 마이크로소프트 플랫폼 API에 접근할 수 있도록 하기 위한 기술이었다. 그러나 2016년 2월 25일, 마이크로소프트는 ‘프로젝트 아스토리아’가 중단될 것이라고 발표했다. 이러한 에뮬레이터가 네이티브 안드로이드나 네이티브 오브젝티브 C 기술과 중복될 것이라는 반론이 있었기 때문이다.

추후 ‘프로젝트 아스토리아’와 ‘프로젝트 드로우브리지’로 알려진 다른 연구 프로젝트의 성과와 기술을 통해 WSL 버전 1이라는 호환성 서비스가 만들어진다. 그리고 2016년에 WSL 1이라고도 하는 WSL의 초기 버전이 출시됐다.

(참고로 프로젝트 아스토리아는 취소되었으나, WSL을 개발하는 과정을 거쳐, 2022년에 출시되는 새 버전의 윈도우 11에서는 Windows Subsystem for Android가 다시 정식 출시될 예정이라고 한다.)

WSL2

WSL1에서는 windows의 NT Kernel 위에 WSL을 올리고 리눅스용 어플리케이션을 돌렸다면, WSL2에서는 Hypervisor 위에 윈도우 NT 커널과 리눅스 커널을 각각 올리는 방식이다.

WSL2는 Linux커널을 직접 사용하기 때문에 파일 시스템 성능이 올라가고 리눅스 시스템 호출 호환성이 대폭 증가했다.

0개의 댓글