프로젝트

일반

사용자정보

Actions

WSL (Widnows Subsystem for Linux)

  • Windows에서 Linux게열의 실행 파일인 ELF파일을 사용할 수 있도록 호환성을 추가하는 시스템입니다.

1) WSL로 할 수 있는 것

  • 리눅스 커맨드라인을 윈도우 환경에서 사용 가능
  • bash shell에서윈도우 파일에 접근하고 실행 가능
  • bash script를 윈도우 드라이브에서 실행 가능
  • 윈도우에서 vscode로 작업하면서 리눅스에서 돌아가고 있는 백엔드 앱을 디버깅 할 수 있음
  • AF unit socket을 사용해 윈도우 프로세스와 리눅스 프로세스 사이의 연계가 가능
  • 윈도우 프로세스와 리눅스 프로세스에서 모두 실행되는 복합적인 앱을 만들거나 사용 가능

2) WSL1 vs WSL2

1. 공통 기능

  • Windows와 Linux 통합
  • 빠른 부팅 시간
  • 기존 Virtual Machines보다 작은 리소스 공간
  • 현재 버전의 VMware 및 VirtualBox에서 실행 가능

2. WSL 1 장점

  • OS 파일 시스템 간 성능이 좋음
    • 이 기능은 특별한 이유가 없으면 운영 체제 간에 작업하지 않는 것을 권장(Linux 작업 : WSL 파일 시스템 저장, Windows 작업 : Windows 파일 시스템 저장)

3. WSL 2 새로운 기능

  • WSL 2 아키텍처
    • 기존 VM 환경은 부팅 속도가 느리고, 많은 리소스를 사용하고 관리하는데 시간이 들었으나 WSL 2는 이러한 단점이 없음
  • 전체 Linux 커널
    • WSL 2의 Linux 커널은 kernel.org에서 제공되는 원본을 기반으로 하여 구축하였으므로, 크기와 성능이 최적화 되어있음
  • 파일 I/O 성능 향상
    • git clone, npm install, apt update, apt upgrade 등과 같은 파일 집약적 작업은 모드 WSL 2를 통해 훨씬 더 빠르게 수행 가능
  • 전체 시스템 호출 호환성
    • WSL 1은 WSL 팀에서 개발한 번역 레이어를 사용했지만 WSL 2에서는 전체 시스템 호출 호환성을 지원하는 자체 Linux 커널이 포함되어 있음

3) WSL 2가 아닌 WSL 1로 사용해야 하는 예외 사항

  • Linux 프로젝트 파일을 Windows 파일 시스템에 저장 해야 하는 경우
  • Windows 및 Linux 도구를 모두 동일한 파일에 사용하여 크로스 컴파일 해야 하는 프로젝트인 경우
  • 프로젝트가 직렬 포트 또는 USB 디바이스에 액세스해야 하는 경우
  • 메모리 요구 사항이 제한 된 경우

이태훈이(가) 3년 이상 전에 변경 · 3 revisions