Trên các phiên bản Windows 64 bit, bạn có hai thư mục Program Files riêng biệt. Bạn cũng có hai thư mục hệ thống riêng biệt nơi lưu trữ thư viện DLL và tệp thực thi: System32 và SysWOW64. Bất chấp tên gọi, System32 chứa đầy các tệp 64 bit và SysWOW64 chứa đầy các tệp 32 bit. Hãy khám phá sự khác biệt của chúng trong bài viết ngày hôm nay của Followeek.
System32 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à các tiện ích chương trình .EXE là một phần của Windows.
Các ứng dụng đang 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 biệt 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à tệp của chúng, vừa có thư mục C: Program Files (x86) chứa các chương trình 32 bit và tệp của chúng. Việc tách các tệp này sẽ rất hữu ích vì các chương trình 64-bit cần tệp DLL 64-bit và các chương trình 32-bit cần tệp DLL 32-bit.
Nếu một chương trình 32 bit tải tệp DLL mà nó cần, tìm thấy phiên bản 64 bit và cố gắng tải nó, nó sẽ bị lỗi. 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ị trộn lẫn và gây ra sự cố.
Tuy nhiên, không phải tất cả các tệp DLL đều được lưu trữ trong Program Files. Nhiều thư viện toàn hệ thống đi kèm với Windows được lưu trữ trong C: System32 và một số chương trình cũng kết xuất tệp thư viện của riêng chúng tại đây. Vì vậy, giống như Windows có các thư mục Program Files 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 đều lưu trữ tệp của chúng trong C: Program Files 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ữ tệp của chúng trong C: Program Files (x86) và thư mục trên 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ó “32” trong tên, thư mục System32 chứa các thư viện 64-bit. Và, mặc dù tên là 64, 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 biết điều này. Hệ điều hành Windows và các chương trình bạn sử dụng tự động đặt 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 tệp DLL vào đúng vị trí hoặc tìm nơi cài đặt tệp đó — điều này rất hiếm — bạn sẽ cần biết cái nào là cái nào.
WOW64 là gì?
Phần “WOW64” của tên ở đây đề cập đến phần mềm “Windows 32-bit trên Windows 64-bit” của Microsoft, 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 bình thường.
Ví dụ: nếu bạn cài đặt một chương trình 32 bit trên phiên bản Windows 64 bit và nó cố gắng 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 trình chuyển hướng hệ thống tệp.
Tất cả điều này diễn ra tự động và minh bạch trong nền. Chương trình thậm chí không cần 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 quyền truy cập sổ đăng ký, đảm bảo có các khu vực riêng biệt của sổ đăng ký cho các chương trình 64 bit và 32 bit.
Vậy tại sao System32 là 64-bit và SysWOW64 là 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 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 thư mục mới, phá vỡ nhiều ứng dụng trong quá trình này, Microsoft đã để “System32” 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”.
Bài viết này đã giải quyết được vấn đề của bạn chưa? Hãy để lại cảm nhận dưới comment để chúng tôi có thể giúp bạn giải quyết thêm thắc mắc nhé!