WSL에 대한 블로그 활동은 Microsoft Student Partner Evangelism 활동으로 하는 것임을 밝힙니다.
이 글을 읽으실 때, 영어 단어 빼면 조사만 남네~ 하실 수 있겠지만, 개념들을 억지로 번역하는 것이 오히려 더 이해하기 어렵다고 판단되어 필요한 영어 개념은 그대로 영어로 썼습니다. (ㅠㅠ)
Windows Subsystem for Linux(WSL)은 Microsoft사와 Canonical사가 합작(partnered together) 만든 것으로, Linux 프로그램을 실행시킬 수 있는 호환성 계층(Compatible Layer)입니다. 호환성 계층이란, host system의 것이 아닌 프로그램을 host system에서 실행할 수 있게 하는 것입니다. 예를 들면, Wine이라는 Compatible Layer는 Microsoft Windows 프로그램을 Unix 계열 시스템에서 실행할 수 있게 하는 것입니다.
WSL의 구조는 다음의 것들로 구성되어있습니다:
- User mode session manager - Linux instance의 Life cycle(Linux instance가 시작할 때부터 끝날때까지)를 관리함.
- Pico provider drivers (lxss.sys, lxcore.sys) - Linux system call들을 호스트인 Window에 맞게 번역(translate)함으로써 Linux kernel을 구동함(emulate).
- Pico processes - native unmodified Linux를 관리(host)함. (Windows kernel에서 Linux System call들을 바로 사용할 수 있게 한다.)
![]() |
그림. WSL 구성 (출처: msdn blog) |
추가적으로, WSL에서 File system을 이용하여 Windows의 파일과 drive를 상호 운용성(interoperability)를 얻습니다. msdn blog 에 들어가면 WSL의 파일시스템에 관한 정보를 얻을 수 있습니다.
한편으로, WSL에서는 기본적으로 Bash shell을 지원해준다. 또한, WSL은 Virtual Machine을 따로 필요하지 않고, Windows 위에서 대부분의 리눅스 명령어를 지원해줍니다.
Windows 10 bash shell에서 htop 명령어를 입력한 화면. |
WSL 기능
WSL은 다음과 같은 것을 가능하게 합니다:
- grep, sed, awk 등 command-line utilities들을 사용할 수 있다.
- 리눅스 호환 파일시스템(Linux-compatible filesystem)과 구조를 사용할 수 있다.
- 윈도우 저장소는 /mnt/... (예를 들어, c드라이브는 /mnt/c)에 마운트(mount)되어 있으며, 이를 접근할 수 있다.
- Bash shell 스크립트와 Linux command-line 프로그램을 실행할 수 있다.
- 툴: vim, emacs, tmux
- 언어: Javascript/node.js, Ruby, Python, C/C++, C#, F#, Rust, Go 등
- 서비스: sshd, MySQL, Apache, lighttpd
- apt를 이용하여 리눅스 툴을 설치할 수 있다. (예를 들어, 깃을 설치하기 위해 sudo apt-get install git를 입력.)
- 윈도우 프로그램을 Bash shell에서 실행시킬 수 있다.
- 리눅스 프로그램을 윈도우에서 실행시킬 수 있다.
다음에는 Windows Subsystem for Linux 설치 방법에 대해 포스팅하도록 하겠습니다.
참고자료
No comments:
Post a Comment