라는 것을 발견 UNIX 기반 응용 프로그램 용 하위 시스템 의 윈도우 및 해제 기능을 켭니다 그것을 전에 본 적이 윈도우 7에서 대화를하고 흥미로운 보인다. 정확히 무엇입니까? 무엇을 위해 그리고 무엇을 위해 사용할 수 있습니까?
라는 것을 발견 UNIX 기반 응용 프로그램 용 하위 시스템 의 윈도우 및 해제 기능을 켭니다 그것을 전에 본 적이 윈도우 7에서 대화를하고 흥미로운 보인다. 정확히 무엇입니까? 무엇을 위해 그리고 무엇을 위해 사용할 수 있습니까?
답변:
이전에는 SFU 또는 Services for UNIX라고했습니다 . Windows의 환경 하위 시스템으로 POSIX를 완벽하게 준수하고 일반적으로 UNIX 시스템과 함께 제공되는 많은 도구를 제공합니다.
AS를 환경 서브 시스템 은 실행이 수단 과 함께 직접 커널의 상단에, 윈도우 API를. 따라서 기본 Windows API 자체보다 더 에뮬레이션되지 않으므로 cygwin보다 성능이 훨씬 뛰어납니다. 1
주로 UNIX 응용 프로그램을 Windows에서 직접 빌드하고 실행하기위한 것이므로 선호하는 UNIX 프로그램에 Windows 포트가없는 경우 SUA에서 빌드 할 수 있습니다.
Unix 기반 응용 프로그램 용 Unix 및 하위 시스템 용 Windows 서비스는 Windows에서 사용하기 위해 Unix 응용 프로그램을보다 쉽게 재 컴파일하거나 이식 할 수있는 헤더 파일 및 라이브러리를 제공합니다. Unix 바이너리는 Windows 바이너리와 호환되지 않습니다. 독창적 인 Unix 계열 플랫폼으로 생각하는 것이 가장 좋습니다.
SFU의 현재 버전에는 다음이 포함됩니다.
- vi, ksh, csh, ls, cat, awk, grep, kill 등 350 가지가 넘는 유닉스 유틸리티
- GCC 3.3 컴파일러, 포함 및 라이브러리 (MS libc를 통해)
- Microsoft Visual Studio 명령 행 C / C ++ 컴파일러를위한 cc와 유사한 랩퍼
- GDB 디버거
- NFS 서버 및 클라이언트
- pcnfsd 데몬
- X11 도구 및 라이브러리
- NFS 마운트 지점을 만드는 도구는 Windows 공유로 나타나고 그 반대도 마찬가지입니다 (게이트웨이 서비스)
- AD (Active Directory)와 연결된 NIS 서버 기능
- 일부 Windows / Unix 인증 정보 동기화 도구
SFU에는 다음이 포함되어 있지 않지만 바이너리는 별도로 설치할 수 있습니다.
- bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python
SUA는 Linux 또는 BSD가 아니라 단순한 POSIX이기 때문에 플랫폼 관련 사항에 의존하는 많은 프로그램이 빌드 또는 실행되지 않을 수도 있습니다. sh 또는 Linux 특정 시스템 호출 대신 bash를 가정하는 쉘 스크립트가 떠 오릅니다. 오늘날 POSIX 호환 시스템에서 직접 실행할 수있는 프로그램은 거의 없습니다. 또한 포함 된 gcc 버전은 다소 오래된 버전이므로 최신 C99 + 기능을 지원하지 않을 수 있습니다.
1 여전히 프로세스 시작 시간이 느려지는 등 Windows 관련 제한 사항이 적용되므로 극단적 인 포크 작업은 여전히 매우 느리기 때문에 많은 ./configure
스크립트 나 일부 makefile이 실행될 때까지 오래 기다려야 합니다.