JuYeon Report
WSL(Windows Subsystem for Linux)
WSL이란?
Windows Subsystem for Linux
윈도우 운영체제에서 리눅스 환경을 에뮬레이션 하여 사용할 수 있도록 만든 기술로
쉽게 말해, 마이크로소프트가 윈도우 운영체제에서 리눅스를 사용할 수 있도록 만든 기능
입니다.
WSL의 탄생 배경
WSL 개발 이전에는 윈도우에서 리눅스를 사용하려면 Virtual Machine과 같은 도구(Virtual Box, VMware 등)을 이용하여 가상 환경을 구성하거나 듀얼 부팅 설정을 해야 했습니다.
이 과정에서 CPU, Memory의 문제나 복잡한 네트워크 설정의 문제 등으로 성능과 용량적 측면에서 불편한 점이 많았기에 이러한 문제를 해결하기 위해 WSL이 등장하게 되었습니다.
WSL의 기능
VM과 같은 느린 환경이 아니라 윈도우에서 리눅스 환경처럼 Powershell을 Bash 처럼 사용하고, Linux 명령어(sed, awk, vim, apt 등)를 사용할 수 있으며 Linux 커널조차 이용할
WSL의 장점
WSL 버전
WSL에는 버전 1과 버전 2가 있는데 이들 버전 간의 가장 큰 차이점은 가상화 방식이라는 점입니다.
- WSL 1
WSL 1은 처음 도입된 WSL 버전으로, Linux 커널을 가상화하지 않고 Windows 시스템 위에서 동작하는 호환 레이어
를 통해 Linux 바이너리를 실행합니다. 이 방식으로 인해 WSL 1은 파일 시스템 성능이 떨어지는 등 일부 제한 사항이 있지만, Windows와 Linux 간의 상호 운용성을 제공하며 빠른 시작 속도
를 보입니다.
- WSL 2
WSL 2는 Windows 시스템 위에서 Linux 커널을 가상화
하는 방식으로 동작합니다. 이를 위해 Hyper-V
가상화 기술을 사용하여 Linux 커널을 가상화하고, Linux 파일 시스템을 Windows 파일 시스템에 연결합니다. 이 방식으로 인해 WSL 2는 높은 성능과 파일 시스템 성능 향상, 더 나은 도구 지원 등을 제공합니다. 하지만 가상화에 필요한 자원을 더 많이 사용하기 때문에 시작 속도가 느리며, Hyper-V가 활성화되어 있어야 합니다.
즉! WSL 1은 호환성과 빠른 시작 속도를 중시하는 반면, WSL 2는 높은 성능과 파일 시스템 향상을 중시합니다. 따라서 사용자의 요구에 따라 적절한 버전을 선택하여 사용할 수 있습니다.