새로운 "Windows 10의 배쉬"는 실제로 어떻게 작동합니까?


25

나는 Ubuntu와 bash가 Windows 10에 올 것이라고 온라인으로 읽었습니다. 또한 Windows 맨 위에서 실행되는 에뮬레이터 또는 가상 컴퓨터가 아니라 다른 것입니다. 그렇다면이 모든 것이 정확히 어떻게 이루어 집니까? 그리고 우분투의 배쉬만큼 안정적이고 사용자 친화적입니까?



실제로 실제로 일어나는 일에 대한 훌륭한 그림을 제공하지는 않습니다.
Maaverik

@maaverik 우리는 그 이후 WSL 내부를 설명하는 일련의 블로그 게시물과 함께 비디오를 제작했습니다. :) 링크에 대한 내 대답은 아래를 참조
리치 터너에게

답변:


21

WINE이 에뮬레이터가 아닌 것과 같은 방식으로 에뮬레이터가 아닙니다. 즉, Windows 커널에 Linux 커널 인터페이스를 추가했습니다. 앱이 Linux 커널을 사용하려고하면 Windows 기본 시스템 호출로 변환되고 커널의 모든 응답이 기본 Linux 응답으로 변환됩니다. 따라서 응용 프로그램은 Linux 커널에서 실행 중이라고 생각하므로 수정할 필요가 없습니다.

그러나 이것은 순전히 Windows 기술이므로 자세한 내용을 원하면 Windows 지원 그룹이나 다른 곳에서 구해야합니다. Windows는 계속해서 독점적 인 OS이므로 제한된 양의 세부 정보가 필요합니다.

그리고 우분투의 배쉬만큼 안정적이고 사용자 친화적입니까?

우분투 관점에서 볼 때, 우리는 기본 Linux 커널에서 실행하고 있으며 기본 X 서버에서 최신 데스크톱을 실행하는 것과 비슷합니다. 가짜 커널에서 지원하는 기능 만 사용하는 경우 안정적이고 사용자 친화적입니다. 지원되지 않는 기능을 사용하면 불안정합니다.

완전한 우분투 경험과 가까운 곳은 아닙니다.


2
"에뮬레이터가 아님"은 아마도 따옴표에 속합니다. 같은 와인은 그것 입니다 그냥 하드웨어 수준에서하지만 API 수준에서, 에뮬레이터. 두 가지 모두 수행중인 작업 (예 : 시스템 호출 수)에 따라 성능이 저하됩니다.
thomasrutter

2
@thomasrutter 동의하지 않습니다. '에뮬레이터'에 대한 정의가 너무 느슨합니다. 이와 같은 해석 하에서 프록시 에뮬레이터도 호출해야하지만 그렇지 않습니다. 에뮬레이터는 정의상 사물을 에뮬레이트합니다. WSL (및 프록시)은 사물을 에뮬레이트하지 않고 사물을 변환 및 전달하며 응답을 반환합니다.
Segfault

21

Linux 용 Windows 서브 시스템 (WSL) 작동 방식 및 기본 Linux ELF-64 바이너리 실행 방법에 대해 궁금한 분들을 위해 WSL 아키텍처, 프로세스, syscall 및 파일 시스템 지원을 설명 하는 일련의 블로그 게시물과 함께 제공되는 비디오를 게시 했습니다. .

Scott Hanselman 은 설치 프로세스와 Windows의 Ubuntu에서 Bash를 구성하는 방법을 다루는 훌륭한 연습 비디오 를 수행했습니다.

HTH


3
첫 번째 링크는 더 이상 작동하지 않습니다. 여기로 이동했다고 생각합니다. blogs.msdn.microsoft.com/commandline/…
dpritch

잘 잡아라-고마워 링크가 단축 링크를 가리 키도록 수정했습니다.
Rich Turner

2

bash 부분은 WSL에서 매우 잘 작동합니다.

커널 부분이 없습니다. 예를 들어 /sys/class/backlight/intel_backlight/brightness화면 밝기를 설정하기 위해 액세스 할 수 없습니다 . COBOL 스타일의 매우 긴 필드 이름이 마음에 들지 않으면 쉽게 호출 할 수있는 Powershell 명령이 있습니다. MS Powershell은 bash 내에서 직접 호출 할 수 있습니다. 따라서 강력한 Windows 기능이 bash에 내장되어 있다고 말할 수 있습니다. 같은 토큰으로 MS Powershell은 내가 믿는 bash를 호출 할 수 있습니다. 진정한 파워 쉘과 같은 기능에 대한 액세스를 얻을 그렇다면 grep, awk, head, tail, 등

Ubuntu Desktop 용 GUI ( gedit, nautilus등)는 설치 VcXsrv또는 이와 유사한 후에 만 작동합니다 .

Linux와 Windows WSL간에 파일을 공유하는 것은 설정이 복잡합니다. 공유 WSL + Linux NTFS 폴더간에 파일을 이동할 때 무지 또는 소프트웨어 결함으로 인해 일부 파일 권한 "이상성"이있었습니다.

WSL의 속도는 우분투보다 속도가 훨씬 느립니다. 당신이 실행할 때 실제로 문자로 화면 페인트 문자를 볼 수 있습니다 cal또는 toilet: 창 사이의 차이점은 무엇 비난하고 Cygwin에서입니까?

WSL은 좋은 제품이라고 생각하며 Windows-World로 이중 부팅 할 때이 기능을 사용하는 것이 좋습니다. MS의 자금 부족으로 결코 훌륭한 제품이 될 수 없으며 어쨌든 훌륭한 Linux Free-Ware Distro를 원하지 않습니다. 충분한 RAM이 있다면 아마도 VM에 대해 더 행복 할 것입니다. 8GB 자체와 RAM 가격이 2019 년 중반까지 상승하면 WSL을 계속 사용하고 32GB RAM 업그레이드를 포기할 것입니다.

나는 몇 개의 MS 포럼을 방문했으며 Rich Turner와 그의 WSL 팀원이 내가 본 최고의 전문가 중 일부라고 말해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.