Difference between System32 and SysWOW64

Nếu bạn đang sử dụng hệ điều hành Windows một thời gian, tôi chắc chắn rằng bạn đã thấy thư mục System32 này. Tuy nhiên, nếu bạn đang sử dụng PC 64-bit, bạn phải nhận thấy rằng có hai thư mục trong thư mục C: Windows của bạn. Đầu tiên là Hệ thống32 và thứ hai là SysWOW64. Trong bài đăng này, chúng ta sẽ tìm hiểu về chúng và sự khác biệt giữa thư mục System32 và SysWOW64 trong Windows 10.

Thư mục System32 là gì

Thư mục System32 tất cả các tệp hệ thống. Đây thường là các tệp DLL hoặc thư viện. Chúng là những chương trình phổ biến nhất được các ứng dụng sử dụng để truy cập các tính năng của Windows. Ngoài ra, các chương trình cài đặt trên máy tính của bạn cũng có thể lưu trữ các tệp bên trong nó.

Khi bạn cài đặt một chương trình, hai điều xảy ra ở cấp độ rộng hơn. Chương trình chính (EXE) được cài đặt trên thư mục Programs trong khi DLL của nó (gói trong các chức năng của nó, v.v.) được lưu trữ trong các thư mục System32. Đây là thực tế phổ biến.

Thư mục SysWOW64 là gì

Bạn có nhận thấy một C: Program Files (x86) thư mục trên PC 64-bit của bạn? Ở đây x86 có nghĩa là 32-bit. Vì vậy, để cài đặt các chương trình 32 bit trên máy 64 bit, C: Program Files (x86) Được sử dụng. Trong khi C: Program Files thư mục chứa các chương trình 64-bit và các tệp của chúng.

  Cách tạo ảnh động .GIF từ file video bằng VLC và GIMP

Bây giờ bạn có thể rút ra một tương tự rằng thư mục SysWOW64 phải chỉ chứa các DLL 64-bit. Đó là ý định thực tế, nhưng nó đã không thành công. Nếu bạn kiểm tra theo cách thủ công, có rất nhiều DLL 64-bit trong thư mục Hệ thống 32 và DLL 32-bit trong thư mục SysWOW64.

Vậy tại sao thư mục được đánh dấu 32 bit lại có thư mục 64 bit và tại sao thư mục được đánh dấu 64 bit lại chứa tất cả các tệp DLL 32 bit?

Sự khác biệt giữa thư mục System32 và SysWOW64

Cả hai đều là thư mục hệ thống và chúng chứa tệp hoặc tệp DLL toàn hệ thống. Tuy nhiên, họ không tuân theo tên của họ, nhờ vào lập trình được mã hóa cứng.

Trên máy tính 64 bit, các chương trình 64 bit lưu trữ-

  • Các tệp chính như EXE trong C: Program Files.
  • Các tệp toàn hệ thống như DLL, v.v. trong thư mục C: Windows System32 chứa các thư viện 64-bit.

Tuy nhiên, các chương trình 32-bit lưu trữ-

  • Tệp chính trong C: Program Files (x86)
  • Thư mục toàn hệ thống là C: Windows SysWOW64.

Khi một chương trình 32 bit muốn cài đặt các tệp DLL 32 bit của chúng vào C: Windows System32, chương trình đó sẽ được chuyển hướng đến C: Windows SysWOW64. Điều này về cơ bản làm cho System32 chỉ chứa các thư viện 64-bit. Microsoft không thể gỡ bỏ nó vì nó sẽ làm hỏng rất nhiều chương trình.

  ExecutedProgramsList : Hiển thị danh sách các tiến trình máy tính

Điều đã xảy ra là hầu hết các nhà phát triển đã triển khai các ứng dụng 32 bit của họ trên hệ thống 64 bit vẫn đang sử dụng C: Windows System32. Điều này đã được mã hóa cứng vào chương trình của họ. Vì Microsoft không muốn phá vỡ các chương trình, họ đã nghĩ ra cách chuyển hướng này.

Điều này đảm bảo rằng mọi thứ đều diễn ra trong nền mà các nhà phát triển không cần phải làm gì nhiều. Bất cứ khi nào một thứ gì đó được yêu cầu bởi một chương trình 32 bit từ thư mục System32, nó sẽ được chuyển hướng một cách âm thầm đến thư mục SysWOW64 chứa tất cả DLL 32 bit. Không cần chuyển hướng cho chương trình 64-bit vì chúng đã có sẵn các thư mục mặc định.

Tóm lại: Windows x64 có một thư mục System32 chứa các tệp DLL 64-bit. Thư mục SysWOW64 thứ hai chứa các DLL 32-bit. Các quy trình 64-bit gốc tìm thấy các tệp DLL của chúng ở nơi chúng mong đợi chúng hoạt động trong thư mục System32. Đối với các quy trình 32-bit, hệ điều hành chuyển hướng các yêu cầu và hiển thị chúng thư mục SysWOW64.

Điều tương tự cũng được thực hiện đối với Windows Registry – các chương trình 32 bit và 64 bit được tách biệt.

WOW trong SysWOW64

Thay vì đặt tên là System64, Microsoft đã đặt tên thư mục này là SysWOW64. WOW là viết tắt của Windows (32-bit) trên Windows (64-bit). Các ứng dụng 32-bit có thể chạy trên các ứng dụng 64-bit, và đó là cách nó có tên.

  Cách khắc phục Hồ sơ người dùng bị hỏng trong Windows 10

Microsoft không thấy nó xuất hiện chắc chắn thư mục System32 khác sẽ không bao giờ có tên. Nó có thể đơn giản hơn. Tuy nhiên, đó là một quyết định tuyệt vời khi không đổi tên thư mục và thay vào đó sử dụng chuyển hướng. Nó đảm bảo cả người tiêu dùng và nhà phát triển không bị mất ứng dụng khi họ chuyển sang 64-bit.

Trong khi các hệ thống 32 bit đang dần loại bỏ và được thay thế bằng các máy tính 64 bit, sẽ mất một thời gian. Có lẽ trong tương lai Microsoft có thể làm gì đó với nó. Hy vọng rằng không có mã hóa khó trong mã hóa 64-bit.

Đọc tiếp: Giải thích về thư mục Sysnative trong Windows 64-bit.

Sự khác biệt giữa System32 và SysWOW64