가상 머신 및 Cygwin


답변:


20

가상 머신과 Cygwin은 서로 다른 두 가지 질문에 대답합니다.

가상 시스템은 여러 운영 체제를 동시에 실행하려는 경우를위한 것입니다. 두 개의 하드웨어를 구매하지 않고도 두 대의 컴퓨터를 사용하는 것과 같습니다.

Cygwin은 Windows에 여러 가지 Unix 도구를 제공하여 Unix 괴짜가 Windows를보다 효과적으로 사용할 수 있도록하고 (Cygwin이 실제로 그렇게 잘 수행하지 못한다고 주장하지만) Windows보다 더 큰 기능을 가진 일부 도구를 제공합니다 자체적으로 제공합니다. "리눅스와 같은 환경"을 제공하는 Cygwin의 특성화가 특히 정확하지 않다고 생각합니다. (Cygwin은 실제로 Windows를위한보다 완벽한 POSIX 개발 환경을 제공하기 위해 만들어졌으며, 그렇게함으로써 많은 유틸리티를 제공합니다. 그러나 최종 사용자의 최종 결과는 단지 도구 만 제공한다는 것입니다.)

실제로는 세 번째 옵션이 있습니다. 협동 리눅스 실제로 생각 하지 윈도우에서 리눅스와 같은 환경을 제공합니다. 실제로 Windows 내에서 프로세스로 Linux 커널을 실행합니다. 그 아래에는 일부 배포판이 있습니다. 그리고 리눅스 가 떠오른다. 이러한 시스템을 사용하면 실제로 가상 시스템보다 Windows 환경과 더 직접적으로 상호 작용할 수있는 Linux 환경이 있습니다.


2
Cygwin이 유틸리티의 무리 인 것은 실제로 부작용 일뿐입니다. 사용자를위한 것이 아니라 소프트웨어를위한 Linux와 같은 환경을위한 것이므로 에뮬레이션으로 싸인 적절한 API가 있습니다. coLinux를 사용하면 Linux 커널은 프로세스가 아니라 Windows 커널 내에서 장치 드라이버로 실행됩니다.
Joey

3
cygwin 만 설치하여 Windows 파일에서 작동하는 적절한 쉘을 가질 수 있습니다. 나는 찾기, grep, sed없이 길을 잃을 것입니다.
Nifle

1
@Johannes : coLinux 웹 페이지에 따르면 "coLinux는 항상 모든 Linux 프로세스에 대해 호스트 OS의 한 프로세스 만 사용하여 스케줄링, 자원 및 결함을 개인적으로 관리합니다"라고 말합니다. AFAICR, 드라이버가 아닌 서비스로 실행됩니다.
wfaulk

4

rsync와 같은 Unix 도구를 실행하는 데 여전히 유용합니다. rsync는 가상 시스템에 갇히지 않고 Windows 상자의 파일에서 작동하려고합니다. 그런 다음 도구로 작업을 시작하기 위해 Windows 스케줄러를 사용할 수도 있습니다.


1
그래도 cygwin을 설치하는 것보다 기본 빌드를 사용하고 싶습니다.
Joey

2
그러나 모든 것이 기본 빌드에서 사용 가능한 것은 아닙니다.
quck quixote

2

내가 아는 한 Cygwin은 다른 개념입니다. 가상 머신과 달리 Linux 환경 / 계층을 에뮬레이트하는 DLL을 제공하며, Windows 머신에서 Linux 프로그램을 실행하고 빌드 할 수 있습니다. 예를 들어 소스 코드로만 배포되고 Linux 시스템에 내장 된 일부 라이브러리를 사용하려면 Visual Studio에서이 라이브러리를 사용하려면 어떻게해야합니까? Linux 종속성에 의존하기 때문에 VS를 사용하여 빌드 할 수 없으므로이 상황에서 Cygwin이 필요합니다.

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