Máy ảo vs Cygwin


Câu trả lời:


20

Máy ảo và Cygwin trả lời hai câu hỏi khác nhau.

Máy ảo là khi bạn muốn chạy nhiều hệ điều hành cùng một lúc. Giống như có hai máy tính mà không phải trả hai bộ phần cứng.

Cygwin dự định cung cấp cho Windows một số công cụ Unix, để các chuyên viên máy tính Unix có thể sử dụng Windows hiệu quả hơn (mặc dù tôi cho rằng Cygwin không thực sự làm điều đó rất tốt) và cung cấp một số công cụ có tính năng lớn hơn Windows cung cấp trên chính nó. Tôi không nghĩ rằng đặc tính của Cygwin cung cấp một "môi trường giống như linux" là đặc biệt chính xác. (Cygwin thực sự có ý định cung cấp môi trường phát triển POSIX hoàn chỉnh hơn cho Windows và, khi đó, cung cấp một số tiện ích. Tuy nhiên, kết quả cuối cùng cho người dùng cuối là nó chỉ cung cấp các công cụ.)

Có thực sự là loại một lựa chọn thứ ba, Hợp tác xã Linux , mà tôi nghĩ rằng thực sự không cung cấp một môi trường Linux giống như trong Windows. Nó thực sự chạy kernel Linux như một tiến trình trong Windows. Có một số bản phân phối chạy theo nó; andLinux đến với tâm trí. Với các hệ thống này, bạn thực sự có một môi trường Linux có thể tương tác trực tiếp với môi trường Windows của bạn nhiều hơn một máy ảo.


2
Cygwin là một loạt các tiện ích thực sự chỉ là một tác dụng phụ. Đây là mục đích đầu tiên như là một môi trường giống như Linux cho phần mềm, không dành cho người dùng, vì vậy bạn có các API phù hợp được mô phỏng. Với coLinux, nhân Linux chạy như một trình điều khiển thiết bị bên trong nhân Windows chứ không phải là một quá trình.
Joey

3
Tôi chỉ cài đặt cygwin để có thể có một trình bao tốt để làm việc trên các tệp windows của mình. Tôi sẽ bị lạc mà không tìm thấy, grep, sed và đó là ilk.
Nifle

1
@Johannes: trang web coLinux cho biết "coLinux luôn chỉ sử dụng một quy trình của HĐH máy chủ cho tất cả các quy trình Linux của nó, quản lý riêng tư lịch trình, tài nguyên và lỗi của chúng". AFAICR, nó chạy như một dịch vụ, không phải là trình điều khiển.
wfaulk

4

Nó vẫn hữu ích để chạy các công cụ Unix như rsync, mà bạn muốn hoạt động trên các tệp trên hộp Windows thay vì bị kẹt trong một máy ảo. Sau đó, bạn cũng có thể sử dụng bộ lập lịch Windows để bắt đầu công việc với các công cụ.


1
Tuy nhiên, tôi muốn có các bản dựng gốc hơn là cài đặt cygwin.
Joey

2
mặc dù không phải mọi thứ đều có sẵn trong các bản dựng gốc.
quack quixote

2

Theo tôi thấy, Cygwin là một khái niệm khác. Không giống như máy ảo, nó cung cấp một DLL mô phỏng môi trường / lớp Linux, có thể chạy và xây dựng chương trình linux trên máy Windows. Ví dụ: nếu bạn muốn sử dụng một số thư viện chỉ được phân phối dưới dạng mã nguồn và được dành cho hệ thống Linux tích hợp, nếu bạn muốn sử dụng thư viện này trong Visual Studio thì sao? Bạn không thể sử dụng VS để xây dựng nó vì nó phụ thuộc vào Linux, vì vậy bạn cần Cygwin trong tình huống này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.