Trang chủ » làm thế nào để » Sự khác biệt giữa các thư mục của System System32 và và SysWOW64 trong Windows là gì?

    Sự khác biệt giữa các thư mục của System System32 và và SysWOW64 trong Windows là gì?

    Trên các phiên bản Windows 64 bit, bạn có hai thư mục Tệp Chương trình riêng biệt. Nhưng nó không kết thúc ở đó. Bạn cũng có hai thư mục hệ thống riêng biệt nơi thư viện DLL và tệp thực thi được lưu trữ: System32 và SysWOW64. Mặc dù có tên, System32 có đầy đủ các tệp 64 bit và SysWOW64 chứa đầy các tệp 32 bit. Vì vậy, những gì cho?

    Hệ thống 32 là gì?

    Thư mục System32 chứa các tệp hệ thống Windows, cả tệp thư viện .DLL được sử dụng bởi các chương trình và tiện ích chương trình .EXE là một phần của Windows. Mặc dù hầu hết các tệp bạn tìm thấy ở đây là một phần của hệ điều hành Windows, các chương trình phần mềm của bên thứ ba đôi khi cũng cài đặt các tệp DLL của riêng họ vào thư mục này..

    Các ứng dụng chạy trên hệ thống của bạn có thể được cài đặt trong thư mục Tệp chương trình hoặc ở nơi khác, nhưng chúng thường tải các thư viện toàn hệ thống từ thư mục System32.

    Tách thư viện 32 bit và 64 bit

    Trên phiên bản Windows 64 bit, bạn có thư mục C: \ Program Files chứa các chương trình 64 bit và các tệp của chúng và thư mục C: \ Program Files (x86) chứa các chương trình 32 bit và các tệp của chúng. Việc phân tách các tệp này rất hữu ích vì các chương trình 64 bit cần tệp DLL 64 bit và chương trình 32 bit cần tệp DLL 32 bit.

    Nếu chương trình 32 bit tải tệp DLL mà nó cần, tìm phiên bản 64 bit và cố tải nó, nó sẽ bị sập. Bằng cách tách phần mềm 64 bit và 32 bit thành hai thư mục Tệp chương trình khác nhau, Windows đảm bảo rằng chúng sẽ không bị lẫn lộn và gây ra sự cố.

    Tuy nhiên, không phải tất cả các tệp DLL được lưu trữ trong Tệp chương trình. Nhiều thư viện toàn hệ thống có trong Windows được lưu trữ trong C: \ System32 và một số chương trình cũng kết xuất các tệp thư viện của riêng họ tại đây. Vì vậy, giống như Windows có các thư mục Tệp chương trình 32 bit và 64 bit riêng biệt, nó cũng có các phiên bản 32 bit và 64 bit riêng biệt của thư mục System32.

    System32 và SysWOW64

    Trên máy tính 32 bit, tất cả các chương trình 32 bit lưu trữ tệp của họ trong C: \ Chương trình tệp và vị trí thư viện trên toàn hệ thống là C: \ System32.

    Trên máy tính 64 bit, các chương trình 64 bit lưu trữ các tệp của chúng trong C: \ Program Files và thư mục C: \ Windows \ System32 trên toàn hệ thống chứa các thư viện 64 bit. Các chương trình 32 bit lưu trữ các tệp của chúng trong C: \ Program Files (x86) và thư mục toàn hệ thống là C: \ Windows \ SysWOW64.

    Điều này chắc chắn là phản trực giác. Mặc dù có tên 32, nhưng thư mục System32 chứa các thư viện 64 bit. Và, mặc dù có 64 trong tên, thư mục SysWOW64 chứa các thư viện 32 bit - ít nhất là trên các phiên bản Windows 64 bit.

    Nói chung, bạn sẽ không cần phải biết điều này. Hệ điều hành Windows và các chương trình bạn sử dụng sẽ tự động đặt các tệp của chúng vào đúng vị trí và sử dụng đúng thư mục. Tuy nhiên, nếu bạn cần cài đặt thủ công một tệp DLL ở đúng vị trí hoặc tìm nơi cài đặt - rất hiếm - bạn sẽ cần biết đó là tệp nào.

    WOW64, Giải thích

    Phần tên của WOW WOW64 ở đây đề cập đến Windows 32 bit của Microsoft trên phần mềm Windows 64 bit, là một phần của hệ điều hành. Điều này cho phép Windows chạy các chương trình 32 bit trên phiên bản Windows 64 bit. WoW64 chuyển hướng truy cập tệp để đảm bảo các chương trình sẽ hoạt động đúng.

    Ví dụ: nếu bạn cài đặt chương trình 32 bit trên phiên bản Windows 64 bit và nó cố ghi vào thư mục C: \ Program Files, WoW64 sẽ trỏ nó vào C: \ Program Files (x86). Và, nếu nó muốn truy cập vào thư mục C: \ Windows \ System32, WoW64 sẽ trỏ nó vào C: \ Windows \ SysWOW64. Windows thực hiện điều này bằng cách sử dụng bộ chuyển hướng hệ thống tệp.

    Tất cả điều này xảy ra tự động và minh bạch trong nền. Chương trình thậm chí không phải biết nó đang chạy trên hệ điều hành 64 bit, cho phép các chương trình 32 bit cũ hơn chạy mà không cần sửa đổi trên các phiên bản Windows 64 bit. WOW64 cũng chuyển hướng truy cập đăng ký, đảm bảo có các khu vực đăng ký riêng cho các chương trình 64 bit và 32 bit.

    Vậy tại sao System32 64 bit và SysWOW64 32 bit?

    Tất cả những điều đó đưa chúng ta trở lại câu hỏi đáng giá triệu đô la: Tại sao thư mục của System System32 64-bit và SysWOW64 32-bit?

    Câu trả lời dường như là nhiều ứng dụng 32 bit đã được mã hóa cứng để sử dụng thư mục C: \ Windows \ System32. Khi các nhà phát triển biên dịch lại các ứng dụng này cho các phiên bản Windows 64 bit, họ tiếp tục sử dụng thư mục C: \ Windows \ System32.

    Thay vì đổi tên thư mục và buộc các nhà phát triển chuyển sang ứng dụng mới, phá vỡ nhiều ứng dụng trong quy trình, Microsoft đã để lại System System32iến làm thư mục thư viện hệ thống tiêu chuẩn. Họ đã tạo một thư mục thư viện mới cho các ứng dụng chạy dưới lớp WoW64, mà họ đặt tên là SysWOW64. Khi bạn nghĩ về nó theo cách này, cái tên có ý nghĩa hơn.

    Vâng, có một chút ngớ ngẩn khi một thư mục có tên 32 32 trong tên bây giờ là 64-bit. Có lẽ Microsoft nên thấy điều đó sẽ đến khi họ đặt tên cho nó là C: \ Windows \ System32 vào những năm 90. Nhưng, mặc dù một sơ đồ đặt tên đơn giản hơn sẽ rất hay, nhưng không đáng để phá vỡ một loạt các chương trình và tạo ra nhiều công việc hơn cho các nhà phát triển chỉ để đạt được điều đó. Điều đó có nghĩa là chúng tôi bị mắc kẹt với System32 và SysWOW64 trong tương lai gần.