ClickCease Linux용 Windows 하위 시스템이란 무엇인가요?

콘텐츠 표

인기 뉴스레터 구독하기

4,500명 이상의 Linux 및 오픈소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.

Linux용 Windows 하위 시스템이란 무엇인가요?

2023년 4월 18일 TuxCare 홍보팀

운영 체제(OS) 가상화는 놀라운 일을 해낼 수 있습니다. 가상화는 하드웨어 계층을 추상화함으로써 OS가 하드웨어에서 기본적으로 실행되는 것처럼 보이게 하지만 실제로는 다른 OS 내에서 호스팅됩니다.

가상화는 가능성의 세계를 열어줍니다. 예를 들어, 가상화를 사용하면 하나의 머신에서 완벽하게 작동하는 OS를 두 개 이상 실행하거나 Linux 시스템에서 Windows를 실행하거나 그 반대의 경우처럼 호스트 OS와 다른 OS를 실행할 수 있습니다.

Microsoft는 Windows 10 또는 Windows 11 PC에서 Linux Kernel, 파일 시스템 및 Linux GUI를 실행할 수 있는 가상화 도구인 WSL(Windows 하위 시스템 for Linux)을 통해 바로 이러한 작업을 수행했습니다.

 

Linux용 Windows 하위 시스템 작동 방식

 

WSL(Linux용 Windows 하위 시스템)은 기본 Linux 64비트 ELF64(실행 가능 및 연결 가능 형식) 바이너리가 Windows 10 또는 Windows 11 운영 체제(OS) 내에서 작동할 수 있도록 설계된 Microsoft 구성 요소 모음입니다.

Windows 사용자가 이중 부팅 설정이나 가상 머신을 실행할 필요 없이 Windows 시스템에 Linux 빌드를 원활하게 설치 및 실행할 수 있는 추상화 계층입니다.

Windows에서 Linux용 Windows 서브시스템 기능이 활성화되면 Linux bash 셸을 사용하여 예를 들어 Windows Kernel 계층에서 실행되는 Ubuntu 사용자 모드 이미지를 설치할 수 있으며, 이를 통해 ELF64 바이너리가 Windows에서 작동할 수 있습니다.

WSL은 Linux 인스턴스를 관리하는 사용자 모드 세션 관리자 서비스, Linux 시스템 호출을 처리하는 최소화된 Pico 프로세스, Linux Kernel을 에뮬레이트하는 Pico 드라이버를 포함합니다. 이러한 구조를 종합하면 Linux 시스템 호출이 Windows Kernel로 전달되고 관리될 수 있습니다.

설치 후 사용자는 Ubuntu 패키지 리포지토리에서 파일을 실행하고, grep과 같은 Linux 명령줄 유틸리티를 사용하고, Linux 파일 시스템을 탐색하고, CLI(명령줄 인터페이스) 유틸리티로 스크립트를 실행할 수 있습니다.

 

Linux용 Windows 하위 시스템은 누구를 대상으로 하나요?

 

Linux용 Windows 하위 시스템의 주요 사용자는 어느 정도는 Windows 환경에서 작업하는 Linux 개발자입니다. 예를 들어, 개발 및 실험을 위해 Linux 및 기타 오픈 소스 도구를 자주 사용하지만 완전한 Linux 시스템에 대한 액세스가 제한적인 웹 개발자가 이에 해당합니다. 사용 사례는 다음과 같습니다:

  • 개발: WSL을 사용하면 개발자가 Windows 내에서 친숙한 Linux 도구와 Ruby 및 Python과 같은 프로그래밍 언어를 사용할 수 있습니다. Docker 및 Kubernetes와 같은 Linux 기반 개발 환경을 실행할 수 있습니다.
  • 서버 관리: WSL을 사용하여 Linux 서버를 관리할 수 있습니다. 시스템 관리자이거나 Windows 컴퓨터에서 Linux 서버를 관리해야 하는 경우에 유용합니다. WSL을 사용하면 원격 데스크톱 연결을 사용하지 않고도 Linux 서버를 관리하고 Linux 도구 및 애플리케이션을 사용하여 서버를 관리할 수 있습니다.
  • 교육: Linux 교육은 별도의 Linux 운영 체제를 설치하지 않고도 Linux에 대해 배울 수 있기 때문에 WSL의 또 다른 훌륭한 사용 사례입니다. WSL을 사용하면 Linux 자습서 및 설명서를 따라 Linux 개발 환경을 설정할 수 있습니다.
  • 생산성: Linux 환경에 익숙한 일부 사용자의 경우 WSL 인스턴스를 사용하면 Windows 컴퓨터에서 익숙한 Linux 도구 및 애플리케이션을 사용할 수 있으므로 시간과 노력을 절약하여 워크플로우를 개선할 수 있습니다.

이러한 사용 사례의 원동력 중 하나는 Linux용 Windows 하위 시스템 설치가 매우 쉽다는 사실이지만, 주변 Windows OS와의 긴밀한 통합도 도움이 됩니다.

 

WSL 1 대 WSL 2

 

Microsoft는 두 가지 버전의 Linux용 Windows 하위 시스템을 제공합니다: WSL 1과 최신 WSL 2입니다. 두 버전 모두 Windows와 Linux 간의 통합을 용이하게 하고, 가볍고, 부팅 시간이 빠릅니다. 또한 WSL 1과 WSL 2는 모두 VMware 및 Oracle VM VirtualBox와 같은 타사 하이퍼바이저와 호환됩니다.

WSL 1과 WSL 2의 주요 차이점은 후자는 관리형 가상 머신(VM) 내에서 작동한다는 점입니다. VM이 관리되므로 IT 전문가는 일반적으로 가상 머신과 관련된 구성 또는 관리 작업에 신경 쓸 필요가 없습니다.

또 다른 중요한 차이점은 WSL 2는 완전한 Linux Kernel을 사용한다는 점입니다. 이 Kernel은 Microsoft에서 개발했기 때문에 Windows 업데이트를 통해 정기적으로 업데이트됩니다.

Microsoft는 일반적으로 WSL 1에 비해 우수한 성능과 100% 시스템 호출 호환성 때문에 WSL 2를 사용할 것을 권장합니다. 하지만 프로젝트를 Windows 파일 시스템에 저장해야 하거나 프로젝트에 Windows 및 Linux 도구를 모두 사용하여 교차 컴파일해야 하는 경우 WSL 1을 사용할 수 있습니다.

 

가상 머신에서 Linux 대신 WSL을 사용하는 이유는 무엇인가요?

 

Linux 인스턴스는 VM 내부의 Windows 내에서 작동할 수 있지만 WSL은 두 가지 이점을 제공합니다. 첫째, 전체 VM에 비해 프로세서, 메모리, 스토리지 등 컴퓨팅 리소스에 대한 오버헤드가 적습니다. 둘째, WSL을 사용하면 Windows와 Linux 환경을 동시에 실행할 수 있으므로 개발자는 필요한 경우 동일한 파일에서 Windows 애플리케이션과 Linux 유틸리티를 활용할 수 있습니다.

WSL 2를 통해 Linux GUI 애플리케이션이 Windows에서 기본적이고 직관적으로 작동할 수 있게 되었습니다. 사용자는 Windows 시작 메뉴에서 바로 Linux 애플리케이션을 실행하고, Windows 작업 표시줄에 고정하고, Alt-Tab을 사용하여 애플리케이션 간에 원활하게 전환할 수 있습니다. 또한 이제 Windows와 Linux 애플리케이션 간에 잘라내기 및 붙여넣기 기능을 수행할 수 있습니다.

 

WSL의 장점과 한계

 

WSL 사용의 주요 장점 중 하나는 별도의 가상화 애플리케이션을 실행할 필요 없이 Windows PC에서 Linux 애플리케이션을 실행할 수 있다는 간편함입니다. 하지만 또 다른 이점이 있는데, 바로 Ubuntu, 오픈수세, 칼리, 아치 Linux, 데비안과 같은 여러 Linux 배포판을 나란히 지원할 수 있다는 점입니다.

또한 Microsoft는 WSL을 완벽하게 지원하며 Windows 10(버전 2004 이상) 및 Windows 11에서 원활하게 실행되도록 보장합니다. 즉, WSL을 사용할 때 문제가 발생하면 Microsoft의 문서와 지원을 통해 문제를 해결할 수 있습니다.

그러나 WSL은 완전한 Linux 환경이 아니기 때문에 몇 가지 제한 사항이 있습니다. Windows에서 Linux 바이너리를 실행할 수 있게 해주는 호환성 계층입니다. 즉, WSL에서 모든 Linux 기능을 사용할 수 있는 것은 아닙니다. 예를 들어, WSL은 ext4와 같은 일부 Linux 파일 시스템을 지원하지 않습니다. 또한 WSL은 모든 Linux 배포를 지원하지 않습니다.

또한 WSL을 사용하는 것은 기본 Linux 설치만큼 빠르지 않습니다. 이는 WSL이 Linux 시스템 호출을 Windows 시스템 호출로 변환해야 하는 가상화 계층이기 때문입니다. 이 번역 프로세스는 오버헤드를 추가하여 성능을 저하시킬 수 있습니다. 

 

Windows의 주요 기능?

 

전반적으로 WSL을 사용하면 큰 이점을 얻을 수 있는 개발 환경이 많으며, 다른 사용 사례도 많습니다. 하지만 몇 가지 제한 사항도 있습니다. Linux용 Windows 하위 시스템이 적합한가요? 고유한 사용 요구 사항에 따라 다릅니다. WSL을 사용해 보려면 다음과 같이 하세요. Microsoft의 간단한 지침을 따르세요..

 

요약
Linux용 Windows 하위 시스템이란 무엇인가요?
기사 이름
Linux용 Windows 하위 시스템이란 무엇인가요?
설명
Linux Kernel을 실행할 수 있는 가상화 도구인 WSL(Windows 하위 시스템 for Linux)을 통해 Microsoft가 수행한 작업을 읽어보세요.
작성자
게시자 이름
TuxCare
게시자 로고

KernelCare Enterprise의 자동화된 무중단 라이브 패치로 취약성 패치 접근 방식을 현대화할 준비가 되셨나요? Linux 보안 전문가와 채팅을 예약하세요!

전문가와 상담하기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기