프로젝트

일반

사용자정보

WSL (Widnows Subsystem for Linux) » 이력 » 개정판 2

개정판 1 (이태훈, 2022/08/02 06:58) → 개정판 2/3 (이태훈, 2022/08/02 07:12)

h1. WSL (Widnows Subsystem for Linux) 

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

 h2. 1) 1. WSL로 할 수 있는 것 

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

 ----- 

 h2. 2) 2. WSL1 vs WSL2 

 h3. 1. 2-1) 공통 기능 

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

 h3. 2. 2-2) WSL 1 장점 

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

 h3. 3. 2-3) WSL 2 새로운 기능 

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

 ----- 

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

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