Cách cài đặt chương trình 32 bit trên 64. Windows XP x64: lời hứa và thực tế. Các vấn đề tiềm ẩn với ổ đĩa

Tôi có máy tính Windows 10 (phiên bản gia đình) có RAM 4GB và bộ xử lý i5. Tôi cần chạy chương trình kế toán 32-bit cũ. Nhà cung cấp cho biết họ sẽ không tung ra phiên bản 64 bit (mặc dù có phiên bản 64 bit nhưng thiếu các tính năng chính của phiên bản cũ).

Chương trình cài đặt tốt, nhưng khi tôi nhấp vào biểu tượng chương trình, nó báo chương trình sẽ không chạy trên hệ thống 64 bit.

Những lựa chọn của tôi là gì?

Tôi đã thực hiện khá nhiều nghiên cứu nhưng có vẻ như anh ấy đang sợ hãi.

1) WoW64

Rõ ràng điều này sẽ cho phép bạn chạy 32 bit trên Windows 64 bit. Tuy nhiên, tôi không biết cách cài đặt nó. Tôi nghĩ điều này chỉ dành cho máy chủ web. Tuy nhiên, chủ đề Stack Overflow này cho biết nó có thể hoạt động trên Windows 7, nhưng không giải thích cách thiết lập nó (hoặc liệu nó có hoạt động trên Windows 10 hay không).

2) Chế độ XP

Trình giả lập Windows XP 32-bit. Tuy nhiên, nó có vẻ dành cho Windows 7. Cũng theo chủ đề Stack Overflow này, bạn cần có Windows Professional.

3) Máy ảo

Hãy mô phỏng Windows. Có vẻ quá nhiều cho mục đích của tôi. Ngoài ra, tôi sẽ cần mua giấy phép Windows 32-bit. Tôi nghĩ nó sẽ chậm với Ram 4GB.

4) Trình quản lý phân vùng cho phiên bản 32 bit và 64 bit. Rõ ràng bạn có thể sử dụng công cụ EaseUS miễn phí để chia ổ đĩa thành hai rồi cài đặt các phiên bản 32 bit và 64 bit riêng biệt.

Một lần nữa, có vẻ như quá mức cần thiết và có vẻ như tôi cần mua giấy phép Windows 10 32 bit.

Đây có phải là những lựa chọn duy nhất của tôi không?

Hình ảnh

Lần chạy đầu tiên (từ thông báo lỗi, tôi đoán đây là chương trình 16 bit)

Bấm vào chương trình

3 Giải pháp thu thập form web “Chạy ứng dụng 32 bit trên Windows 10 64 bit”

Nói một cách đơn giản, nếu bạn muốn sử dụng chương trình 16 bit cũ hơn, bạn phải chạy phiên bản Windows 32 bit. Đơn giản là các phiên bản 64-bit của hệ điều hành không hỗ trợ nó vì chúng thiếu mức độ tương thích (tuy nhiên, chúng tương thích với phần mềm 32-bit được sử dụng rộng rãi hơn). Có những hạn chế khác của Windows 64-bit, nhưng điểm mấu chốt ở đây là các chương trình 16-bit sẽ không chạy.

Biên tập: sau khi xem lại vấn đề này một thời gian sau, tôi muốn giải quyết những phát hiện của bạn trong OP.

  1. WoW64 Cho phép bạn chạy các chương trình 32 bit trong môi trường Windows 64 bit. Nó được tích hợp vào hệ điều hành Windows và không cần cài đặt thêm. Tương tự, cài đặt Windows 32 bit có thể chạy các chương trình 16 bit.
  2. Chế độ XP là một tính năng của Windows 7 Professional, Enterprise và Ultimate cho phép bạn chạy Windows XP phổ biến hơn vào thời điểm đó trong một máy ảo.
  3. Hộp ảo hoặc bất kỳ phần mềm máy ảo nào (VMWare là một ví dụ khác) cho phép bạn cài đặt hệ điều hành nội bộ và chạy nó bên trong máy chính của bạn. Đây sẽ là cách dễ nhất để đạt được mục tiêu của bạn vì bạn có thể chỉ cần cài đặt phần mềm trên hệ điều hành ảo 32 bit. Nếu bạn đã cấp quyền truy cập bộ nhớ VM 2GB thì khi cài đặt 32 bit, nó sẽ hoạt động tốt. Chậm chạp, nhưng không sao.
  4. Phân vùng đĩa của bạn sẽ cho phép bạn khởi động kép Windows. Đây là một giải pháp lâu dài hơn và không nên thực hiện IMO nếu bạn không thể chạy VM.

Không phải 32 bit mà là 16 bit

Điều này sẽ yêu cầu bạn có thể chạy trên không gian bộ nhớ WoW 16-bit.

WoW16 là Windows dành cho Windows.

WoW ra mắt trên Windows 3.0, thường được gọi là Windows for Workgroups.

Vì không gian bộ nhớ 16-bit này không còn trống nên bạn có thể cài đặt DOSBox trên hệ thống, cài đặt Windows 3.1 trong DOSBox và chạy ứng dụng từ đó.

Một tùy chọn khác là cài đặt phiên bản Windows 10 32 bit dưới dạng máy ảo và chạy nó từ đó.

Các máy tính hiện đại trong hầu hết các trường hợp đều được cài đặt sẵn hệ điều hành Windows 10 64 bit. Ngay cả những mẫu bình dân cũng đã có RAM 3 GB trở lên, điều này cho phép hệ thống sử dụng toàn bộ sức mạnh xử lý dữ liệu 64 bit.

Bạn có thể đọc thêm về những ưu điểm của Windows 64 bit so với Windows 32 bit trong bài viết “”.

Tuy nhiên, cho dù hệ thống 64-bit có hấp dẫn đến đâu, người dùng thường không có sẵn chương trình 64-bit mà họ đã làm việc trong một thời gian dài và hoàn toàn phù hợp với mình, bởi vì đơn giản là nhà sản xuất đã không phát hành nó. Theo quy định, các chương trình như vậy được cài đặt trong Windows trong một thư mục riêng \Program Files (x86) và chạy ở chế độ 32-bit.

Nếu trong quá trình khởi động, chương trình gặp lỗi hoặc hoàn toàn không khởi động, nhưng trong Windows 32 bit, nó hoạt động mà không gặp vấn đề gì, thì có cơ hội khởi chạy nó ở một chế độ đặc biệt mà các nhà phát triển gọi là “Chế độ tương thích”.

Để thực hiện việc này, trong Windows 7, nhấp chuột phải vào phím tắt của chương trình mong muốn, sau đó chọn “Thuộc tính” từ menu ngữ cảnh. Trong cửa sổ mở ra, hãy chuyển đến tab “Tương thích” và chọn hộp “Chạy chương trình ở chế độ tương thích cho…” và trong danh sách thả xuống, chỉ định tùy chọn hệ thống để chạy.
Bấm vào đồng ý. Sau đó, hãy thử chạy chương trình của bạn.

Ngoài ra, trong menu ngữ cảnh Explorer, bạn cũng nên cố gắng tự động giải quyết vấn đề bằng cách nhấp vào dòng “Khắc phục sự cố tương thích” - trong Windows 7.

Trong Windows 10, khi bạn đặt nó chạy ở chế độ tương thích, sẽ có một nút riêng trên tab Tương thích có nội dung “Chạy Trình khắc phục sự cố tương thích”. Sau đó, bạn sẽ được nhắc sử dụng các tham số được đề xuất hoặc chạy chẩn đoán trên chương trình.

Nếu ngay cả sau đó chương trình vẫn không khởi động, thì bạn nên tiếp cận vấn đề kỹ lưỡng hơn và thử các tùy chọn được nêu trên trang web chính thức của Microsoft.

Một phương pháp triệt để hơn để khởi chạy chương trình là cài đặt và sử dụng nó trong máy ảo có cài đặt Windows 7 32 bit. Bạn có thể đọc thêm về cách cài đặt và định cấu hình máy ảo trong bài viết “”.

Trong năm qua, tôi đã giúp một số khách hàng di chuyển từ môi trường Windows 32 bit sang môi trường Windows hỗn hợp 32 bit và 64 bit. Sau khi di chuyển, một số người dùng tinh ý nhận thấy có điều gì đó bất thường về hệ thống Windows 64-bit mới của họ chạy trên hệ thống có bộ xử lý Intel 64-bit. Nếu nhìn vào biến môi trường PROCESSOR_ARCHITECTURE trong ứng dụng System của Control Panel hoặc dòng Cmd.exe 64-bit, bạn sẽ thấy giá trị của nó là AMD64.

Mặc dù giá trị có thể giúp phân biệt nhà cung cấp (ví dụ: AMD thay vì Intel), nhưng đó chính xác là giá trị cần có. PROCESSOR_ARCHITECTURE liên quan đến kiến ​​trúc chứ không phải việc triển khai. Vì bộ xử lý Intel64 triển khai kiến ​​trúc AMD64 nên chúng là thành viên của lớp bộ xử lý AMD64.

Tôi không thu hút sự chú ý của bạn đến thực tế bất thường này. Từ góc độ bộ phận trợ giúp, kiến ​​trúc bộ xử lý có nghĩa là kiến ​​trúc Windows và việc có nhiều kiến ​​trúc Windows trong một tổ chức có nghĩa là có nhiều phiên bản của mọi thứ, từ tệp Windows đến gói dịch vụ và trình điều khiển. Hiểu và hiểu kiến ​​trúc bộ xử lý có thể giúp giải quyết một số vấn đề thường phát sinh trong môi trường mạng hỗn hợp 32 bit và 64 bit. Chúng ta sẽ xem xét cả ba kiến ​​trúc bộ xử lý hiện tại - x86, IA64 và AMD64. Tôi sẽ gọi chúng là kiến ​​trúc Windows. Sau đó, tôi sẽ chỉ cho bạn một số điều khác cần chú ý khi bạn chuyển sang môi trường hỗn hợp 32 bit và 64 bit.

Kiến trúc Windows x86 vẫn là kiến ​​trúc Windows 32-bit độc lập duy nhất. Như bạn mong đợi, nó chạy trên tất cả các bộ xử lý triển khai kiến ​​trúc bộ xử lý x86. Tuy nhiên, có một số lưu ý quan trọng mà tôi nghĩ cần phải ghi nhớ.

Đầu tiên là bộ xử lý AMD64 là tập lệnh mở rộng của bộ xử lý kiến ​​trúc x86, vì vậy kiến ​​trúc x86 của Windows có thể chạy trên bộ xử lý kiến ​​trúc AMD64. Rất nhiều máy tính xuất hiện trên thị trường trong 5 năm qua và chạy Windows x86 thực sự đã sử dụng bộ xử lý 64-bit. Mặc dù bạn không thể nâng cấp các hệ thống này lên Windows 64-bit nhưng bạn có thể thực hiện cài đặt sạch Windows 64-bit trên các bộ xử lý này. Mặc dù bạn không thể chắc chắn rằng hệ thống Windows 32 bit đang chạy trên bộ xử lý 64 bit, bạn có thể sử dụng tiện ích Dòng lệnh Công cụ Quản lý Windows (WMIC) tích hợp sẵn để kiểm tra tên bộ xử lý, sau đó bạn có thể kiểm tra thông số kỹ thuật của bộ xử lý trên trang web của nhà sản xuất. Để kiểm tra tên bộ xử lý trên máy tính cục bộ của bạn, hãy mở Cmd.exe và chạy lệnh:

CPU wmic lấy tên

Để kiểm tra tên bộ xử lý trên máy từ xa có tên x51, hãy chạy lệnh sau:

wmic /node: x51 cpu lấy tên

Lưu ý thứ hai là nền tảng Windows 64 bit cũng sẽ chạy các ứng dụng Windows 32 bit trong trình giả lập Windows x86 chuyên dụng. Và mặc dù bản thân hệ điều hành Windows là 64-bit, nhưng trong trình giả lập Windows trông giống như Windows x86. Cụ thể, giá trị của biến môi trường PROCESSOR_ARCHITECTURE sẽ là x86. Tuy nhiên, bạn cũng có thể tìm hiểu môi trường thực tế như thế nào. Trình mô phỏng x86 cũng cung cấp một biến môi trường có tên PROCESSOR_ARCHITEW6432, trỏ đến kiến ​​trúc của chính Windows. Nếu biến không tồn tại thì bạn đang chạy hoàn toàn trên phần cứng và Windows x86.

Bạn cũng có thể sử dụng WMIC để kiểm tra giá trị thực của PROCESSOR_ARCHITECTURE. Ví dụ: để kiểm tra giá trị môi trường thực tế của máy tính cục bộ và máy tính x51 từ xa, hãy chạy các lệnh sau:

môi trường wmic ở đâu

wmic/node: môi trường x51 trong đó

"name='ProCeSSor_arCHiteCture'" lấy

Ở đây các lệnh này được viết bằng dấu gạch nối, nhưng chúng phải được nhập từng dòng trên một dòng.

Mọi phiên bản Windows kể từ Windows NT đều hỗ trợ kiến ​​trúc x86, nhưng điều đó sắp thay đổi. Mặc dù Windows 7 hỗ trợ kiến ​​trúc x86 nhưng Windows Server 2008 R2 chỉ hỗ trợ 64-bit.

AMD không phải là công ty duy nhất tạo ra kiến ​​trúc bộ xử lý 64-bit. Các chuyên gia của Intel đã thiết kế bộ xử lý 64 bit và gọi nó là IA64. Bản phát hành Windows 64 bit hiện đại đầu tiên được thiết kế để chạy trên các bộ xử lý triển khai kiến ​​trúc IA64. Các loại bộ xử lý duy nhất triển khai IA64 là Itanium và Itanium 2 của Intel. Hiện tại, chỉ có nền tảng Windows Server hỗ trợ IA64. Mặc dù Windows XP ban đầu hỗ trợ kiến ​​trúc IA64, nhưng các vấn đề về hỗ trợ ứng dụng cũ trên hệ thống IA64 có nghĩa là các hệ thống máy tính để bàn dựa trên nó là rất hiếm. Microsoft đã ngừng hỗ trợ XP trên IA64 vào năm 2005.

Khi Intel quyết định không hỗ trợ khả năng tương thích với bộ xử lý x86 trong kiến ​​trúc IA64, AMD đã bắt đầu nghiên cứu thiết kế bộ xử lý 64-bit mới nhằm mở rộng khả năng của phiên bản x86 cũ hơn (giống như cách mà bộ xử lý Intel 80386 ban đầu tương thích). với bộ xử lý 80286). AMD ban đầu chỉ định bộ xử lý là x86-64, sau đó chúng được đổi tên thành AMD64. Các phiên bản Windows 64-bit của Microsoft được xây dựng để chạy trên kiến ​​trúc này cũng sử dụng tên AMD64. XP cho AMD64 được phát hành vào năm 2003 và mọi phiên bản Windows tiếp theo đều hỗ trợ kiến ​​trúc AMD64.

VIA Technologies và Intel bán bộ xử lý sử dụng kiến ​​trúc AMD64. Vì mục đích tiếp thị, Intel gọi công nghệ này là Intel 64, che giấu sự thật rằng các bộ xử lý của họ thực hiện các hướng dẫn của bộ AMD64. Microsoft cũng bắt đầu sử dụng tên x64 cho kiến ​​trúc này để tránh nhầm lẫn về kiến ​​trúc Windows. Dù tên tiếp thị là gì, bộ xử lý Intel 64 đều sử dụng cùng bản dựng Windows như các bộ xử lý khác triển khai kiến ​​trúc AMD64. Trong Windows và thuật ngữ phần mềm Windows được hỗ trợ, bạn có thể tham khảo AMD64, Intel 64, x86-64, x64 và EM64 T ít được biết đến hơn như những thuật ngữ tương đương.

Bạn còn muốn biết gì nữa không

Sự thay đổi nền tảng lớn cuối cùng tác động đến toàn bộ thế giới CNTT xảy ra vào những năm 1990, khi máy tính để bàn chuyển từ hệ thống Windows 16 bit và MS-DOS sang hệ thống Windows 32 bit. Việc chuyển đổi từ Windows 32 bit sang 64 bit dễ dàng hơn nhiều. Việc quản lý mạng tập trung hơn so với những năm 90 và hầu hết các hoạt động đều độc lập với số lượng bit trong hệ điều hành.

Mặc dù việc chuyển từ Windows 32 bit sang Windows 64 bit sẽ không khó khăn như quá trình di chuyển nền tảng trước đó nhưng tôi sẽ đưa ra một số mẹo để giúp tránh những cạm bẫy:

  • Học phần mềm toán học - 16 không tính vào 64. Người dùng sẽ không thể chạy phần mềm 16 bit từ hệ điều hành Windows 64 bit, vì vậy bạn sẽ cần xóa mọi phần mềm 16 bit mà bạn đã sử dụng từ những năm 90. Nếu người dùng đột nhiên cần chạy một số phần mềm 16 bit (ví dụ: gói phần mềm tài chính cũ để có quyền truy cập vào dữ liệu cũ), bạn sẽ phải cấp cho người dùng quyền truy cập vào nền tảng 32 bit. Nếu bạn có nhiều người dùng cần chạy phần mềm 16 bit, bạn có thể chạy phần mềm đó trên máy chủ đầu cuối 32 bit. Một tùy chọn khác là tạo máy ảo 32 bit (VM). Ảo hóa có thể là giải pháp thay thế tốt hơn vì tất cả các máy ảo đều có thể di chuyển dễ dàng.
  • Hãy cẩn thận: IA64 (Itanium) là đặc biệt. Hệ thống Windows sử dụng kiến ​​trúc bộ xử lý IA64 chỉ có thể chạy trên hệ thống IA64. Nếu bạn sử dụng lại các hệ thống IA64 hiện có thì chúng sẽ được chia thành các vai trò máy chủ một cách tự nhiên. Vai trò máy chủ in có thể gây ra sự cố vì các hệ thống này yêu cầu trình điều khiển in cho IA64. Một hạn chế đáng kể đối với các máy chủ này là có ít ứng dụng Windows 64-bit dành cho IA64 hơn so với Windows trên AMD64. Tuy nhiên, hệ thống IA64 sẽ chạy các ứng dụng 32 bit.
  • Hiểu rằng phần mềm 32 bit và 64 bit không tương thích. Phiên bản x86 của Windows không thể chạy các ứng dụng 64-bit. Windows dành cho AMD64 và IA64 sẽ chạy phần mềm 32-bit bình thường nhưng chỉ trong cùng một quy trình. Vì các ứng dụng 64 bit không thể sử dụng mã nhị phân 32 bit nên phiên bản ứng dụng 64 bit không thể tải các mô-đun hoặc thành phần 32 bit. Nếu bạn phụ thuộc vào các thành phần 32 bit, bạn cần sử dụng phiên bản 32 bit của ứng dụng. Đây là một trong những lý do khiến hệ thống Windows 64-bit sử dụng Internet Explorer (IE) 32-bit theo mặc định; nó có một cơ sở điều khiển 32-bit được cài đặt khổng lồ mà các nhà cung cấp chưa chuyển sang nền tảng 64-bit.
  • Hãy nhớ rằng quá trình chuyển đổi từ 32 bit sang 64 bit chỉ là quá trình chuyển đổi chứ không phải là nâng cấp. Nếu dự định nâng cấp các máy tính hiện có từ Windows 32 bit lên 64 bit, bạn có thể ghi lại các cài đặt và tệp bằng các công cụ như Windows Easy Transfer, nhưng bạn không thể nâng cấp. Bạn thậm chí sẽ không thể chạy trình cài đặt cho phiên bản Windows 64 bit mới trên hệ thống Windows 32 bit.
  • Kiểm tra trình điều khiển của bạn. Bạn không thể sử dụng trình điều khiển hạt nhân 32 bit trên hệ thống Windows 64 bit. Hệ thống con WOW64 chỉ khả dụng phía trên nhân hệ điều hành. Vì vậy, việc kiểm tra trình điều khiển trước khi chuyển từ 32 sang 64 bit là điều quan trọng.
  • Hãy sẵn sàng giúp người dùng của bạn kiểm tra kiến ​​trúc Windows của họ. Windows giống hệt nhau từ trong ra ngoài trên nền tảng điện toán 32 bit và 64 bit, vì vậy người dùng có thể không biết mình đang chạy hệ điều hành 32 bit hay 64 bit. Bộ phận Trợ giúp phải sẵn sàng hướng dẫn người dùng qua quy trình kiến ​​trúc Windows nếu có câu hỏi. Bài viết của Microsoft, Cách xác định xem máy tính của bạn đang chạy hệ điều hành Windows 32 bit hay 64 bit (support.microsoft.com/kb/827218), có thể giúp nhân viên hỗ trợ hoặc bạn có thể hướng người dùng đến bài viết này.

Những điều cần ghi nhớ

Mặc dù quá trình chuyển đổi từ nền tảng máy tính 32 bit sang 64 bit không hoàn toàn đơn giản (đặc biệt khi việc này phức tạp do người dùng không hiểu thuật ngữ), nhưng cũng không có khả năng đặc biệt khó khăn. Giao diện người dùng giống nhau trên các nền tảng và hỗ trợ cho phần mềm 32-bit hiện có giúp hầu hết các thay đổi trở nên dễ hiểu. Việc các phiên bản Windows 64 bit sử dụng trình duyệt IE 32 bit theo mặc định cũng giúp làm cho những thay đổi trở nên vô hình. Tính hai mặt của kiến ​​trúc IA64 và AMD64 không gây ra vấn đề nghiêm trọng. IA64 thường được sử dụng trên các hệ thống cao cấp, nơi việc thiếu hỗ trợ cho phần cứng và phần mềm cụ thể có thể được coi là một tính năng chứ không phải là trở ngại không thể vượt qua.

Những cân nhắc quan trọng nhất trước khi chuyển sang điện toán 64-bit như sau. Trước khi chuyển máy tính của bạn sang Windows 64-bit, bạn cần đảm bảo rằng bạn có trình điều khiển 64-bit và tất cả phần mềm 16-bit đã bị xóa (hoặc tất cả các cài đặt thích hợp đã được thực hiện). Để thực hiện chuyển đổi, bạn cần thực hiện cài đặt mới: bạn không thể nâng cấp hệ thống cũ. Cuối cùng, hãy đảm bảo rằng bộ phận hỗ trợ kỹ thuật có thể giúp người dùng xác định xem họ đang sử dụng hệ thống 32 bit hay 64 bit nếu có vấn đề phát sinh. Mặc dù quá trình chuyển đổi này không hề tầm thường nhưng nó vẫn mờ nhạt so với công việc đã được thực hiện để dọn dẹp máy tính doanh nghiệp chạy Windows 3.11.

Chắc hẳn nhiều người dùng đã từng nghe nói rằng có hai loại độ sâu bit của hệ điều hành: x32 và x64. Sớm hay muộn câu hỏi đặt ra về việc chọn phương án này hay phương án khác. Để biết nên cài đặt phiên bản bit nào trên máy tính, bạn cần có một số ý tưởng về hoạt động của các loại HĐH này, ưu điểm, nhược điểm, yêu cầu về phần cứng và phần mềm cũng như một số cạm bẫy phát sinh khi chuyển từ Hệ điều hành 32-bit đến 64-bit.

Bài viết này, ở dạng phổ biến, cung cấp câu trả lời cho một số câu hỏi về chủ đề này và sẽ giúp bạn chọn quyết định đúng đắn có lợi cho một trong các phiên bản Windows bit để giúp thiết bị máy tính hoạt động hiệu quả hơn.

Độ bit của hệ điều hành là gì và cách xác định nó

Độ sâu bit của Windows hoặc độ sâu bit có nghĩa là phiên bản của hệ điều hành (so sánh tất cả các phiên bản Windows) phù hợp để làm việc với kiến ​​trúc 32 hoặc 64 bit của bộ xử lý được cài đặt trên máy tính.

Bộ xử lý trung tâm và công suất của nó

Bộ xử lý trung tâm là thành phần phần cứng chính của bất kỳ thiết bị máy tính nào, là một mạch tích hợp. Chức năng của nó là thực thi một số lệnh máy nhất định - mã chương trình. Một trong những đặc điểm chính của bộ xử lý là kiến ​​trúc của nó - thiết kế bên trong của các quy trình và khả năng tương thích với một bộ hướng dẫn cụ thể.

Dung lượng bộ xử lý là độ dài của từ máy bên trong bộ vi xử lý và có nghĩa là khả năng hoạt động đồng thời của nó với một số đơn vị dữ liệu nhất định, tức là. chút. Số bit này được xác định bởi dung lượng của thanh ghi bộ xử lý, về cơ bản là một loại lưu trữ dữ liệu phải được truy cập nhanh chóng để có hiệu suất tối ưu. Lốp càng rộng, tức là Dung lượng thanh ghi càng cao thì máy tính chạy càng nhanh.

Kiến trúc 32-bit - lịch sử xuất hiện

Nền tảng của khái niệm phiên bản 32 bit dựa trên kiến ​​trúc x86, kiến ​​trúc này lần đầu tiên được triển khai trong các mẫu bộ xử lý Intel đầu tiên được cài đặt trên các PC IBM đầu tiên. Tên của chúng kết thúc bằng hai số này, ví dụ: bộ xử lý 8086, 80186, 80286, v.v. Sau đó, kiến ​​trúc 32 bit này được triển khai trong các bộ xử lý của các nhà sản xuất khác và nhận được tên chung là Kiến trúc Intel IA-32, tức là. Phiên bản bộ xử lý 32-bit.

Phiên bản 64 bit - phần mở rộng mới của kiến ​​trúc 32 bit

Năm 2002, AMD đã phát triển phần mở rộng 64-bit của kiến ​​trúc x86 trong bộ xử lý dòng K8, được gọi là x86-64 hoặc AMD64 và cho phép các chương trình được thực thi ở chế độ 64-bit. Intel cũng đề xuất tên riêng của mình cho phiên bản tiện ích mở rộng 64 bit - EM64T. Trong mọi trường hợp, sự phát triển này đã tăng gấp đôi dung lượng của các thanh ghi chính bên trong và tăng dung lượng bộ nhớ mà bộ xử lý có thể định địa chỉ. Do đó, kiến ​​​​trúc 64 bit có bộ mã chương trình mới, có thể hoạt động với nhiều RAM hơn, giúp tăng hiệu suất đáng kể và đây chắc chắn là một sự tiến bộ.

Cách xác định độ sâu bit của hệ điều hành được cài đặt trên máy tính của bạn

Kiến thức về bitness của hệ điều hành có ứng dụng thực tế vì nó có thể cải thiện hiệu suất máy tính của bạn.

Để biết hệ điều hành bit nào được cài đặt trên thiết bị, bạn cần chạy chuỗi lệnh sau:

  • đi tới biểu tượng “Máy tính của tôi”;
  • Nhấp chuột phải và chọn tab “Thuộc tính” từ menu thả xuống.

Cửa sổ hiện ra sẽ hiển thị các thông tin cơ bản về máy tính, trong đó có thông tin về loại bit của hệ điều hành được cài đặt.

Một tùy chọn khác để nhận dữ liệu này:

  • Chuyển đến “Bảng điều khiển” thông qua nút “Bắt đầu”;
  • chọn “Tất cả các mục trong bảng điều khiển”;
  • nhấp vào tab “Hệ thống”;
  • có được thông tin cần thiết.

Thông tin về dung lượng RAM cũng sẽ được hiển thị ở đây, điều này cũng mang tính quyết định khi chọn độ sâu bit của hệ điều hành.

Sự khác biệt trong hoạt động của HĐH 32 bit và 64 bit: ưu điểm và nhược điểm

Tuy nhiên, nhìn bên ngoài, hoạt động của hệ điều hành 32 bit và 64 bit không có gì khác nhau, do thanh ghi 64 bit có thể lưu trữ nhiều dữ liệu hơn nên hệ điều hành có kiến ​​trúc CPU như vậy sẽ cho phép các ứng dụng sử dụng nhiều RAM hơn. Đối với các hệ điều hành hiện đại, phiên bản 64 bit được ưu tiên hơn trong mọi trường hợp. Ngoại lệ là XP (gần như chắc chắn sẽ có vấn đề về driver).

Tính toán 64-bit nhanh hơn nhiều và thiết bị máy tính chạy phiên bản hệ điều hành này hoạt động với hiệu suất cao, đây là ưu điểm chính của hệ điều hành 64-bit so với hệ điều hành 32-bit.

Ngoài ra, hệ thống 64 bit còn có thêm tính năng bảo vệ “DEP”, được triển khai ở cấp độ ổ cứng chứ không phải ở cấp độ phần mềm như hệ thống 32 bit thông thường. Điều này cung cấp một lớp bảo mật bổ sung, nhưng phần mềm chống vi-rút tốt (tồn tại) không bao giờ là một ý tưởng tồi.

Tiềm năng tối đa của hệ điều hành 64-bit sẽ được sử dụng trong tương lai, với sự sẵn có rộng rãi của các thiết bị ngoại vi và phần mềm được tạo ra cho kiến ​​trúc này. Tuy nhiên, ngày nay nhiều trò chơi và chương trình yêu cầu dung lượng RAM lớn chỉ có thể hoạt động hiệu quả trên Windows 64-bit. Ví dụ: một số chương trình dấu phẩy động khoa học không tạo ra kết quả chính xác trừ khi chúng nhận đủ số bit, vì vậy chúng được triển khai dưới dạng ứng dụng 64 bit và có thể chạy riêng trên hệ điều hành 64 bit.

Một nhược điểm của loại bit hệ điều hành mở rộng có thể là vấn đề về khả năng tương thích của trình điều khiển, mặc dù lỗ hổng này đang được các nhà phát triển giải quyết thành công. Ngoại lệ là một số thiết bị cũ: máy in, máy quét, trình điều khiển được tạo cho HĐH 32 bit và không được phát hành lại cho HĐH 64 bit. Tình trạng tương tự cũng xảy ra với các plugin cho một số chương trình phổ biến, chẳng hạn như Photoshop hoặc Firefox (đánh giá nhỏ), cũng như trình chống phân mảnh, máy quét chống vi-rút và phần mềm quan trọng khác. Các phiên bản mới của họ đã có sẵn ở phiên bản 64 bit và các plugin cũ hơn (đôi khi quan trọng) chỉ có thể hoạt động với HĐH 32 bit trước đó.

Bạn nên cài đặt hệ điều hành bit nào trên máy tính của mình và tại sao?

Trong bán lẻ ngày nay, bạn có thể tìm thấy các phiên bản hệ điều hành của cả hai loại độ sâu bit. Việc lựa chọn loại này hay loại khác tùy thuộc vào cấu hình phần cứng của thiết bị máy tính: kiến ​​trúc bộ xử lý và dung lượng RAM. Nếu máy tính của bạn có bộ xử lý x86-64 và RAM vượt quá 4 GB, thì nên cài đặt HĐH 64 bit, điều này sẽ cải thiện đáng kể hiệu suất: phần mềm 64 bit chạy HĐH 64 bit chạy nhanh hơn nhiều. Điều này là do phiên bản 32 bit có thể xử lý tối đa 3,2 GB RAM, trong khi về mặt lý thuyết, phiên bản 64 bit có thể xử lý bộ nhớ lên tới 4 TB. Một hệ thống như vậy có nhiều “không gian sống” hơn và cho phép bạn quản lý lượng dữ liệu lớn hơn, dễ dàng xử lý các chương trình đang chạy đồng thời và chuyển đổi giữa chúng nhanh hơn.

Nếu bạn cài đặt Windows 32 bit trên thiết bị có CPU 64 bit và RAM lớn, bạn sẽ không thể sử dụng lợi thế phần cứng hiện có vì nó sẽ chỉ có thể xử lý không quá 4 GB RAM và bộ xử lý sẽ luôn hoạt động ở chế độ cũ, tức là không hiệu quả.

Bạn nên cài đặt hệ thống 32 bit ngay cả khi bạn có RAM trên 4 GB nếu bộ xử lý có tần số từ 1 đến 2,4 GHz: nó sẽ hoạt động chậm hơn trên hệ điều hành 64 bit.

Khi quyết định cài đặt hệ điều hành, bạn cần lưu ý rằng các chương trình và trình điều khiển được phát triển cho phiên bản 64 bit sẽ không hoạt động ở phiên bản 32 bit. Đồng thời, phần mềm 32 bit trong HĐH x64 hoạt động ở “chế độ tương thích” với cùng mức hiệu suất, ngoại trừ trình điều khiển và một số chương trình chống vi-rút, có thể không hoạt động chính xác trong hệ thống 64 bit hoặc có thể không được cài đặt gì cả.

Tuy nhiên, do thực tế là trong tương lai tất cả phần mềm chắc chắn sẽ được phát triển cho phiên bản hệ điều hành mở rộng cao cấp hơn, nên nâng cấp máy tính của bạn bằng cách thêm RAM để tận dụng tất cả lợi ích của hệ điều hành 64-bit.

Và một điểm quan trọng nữa. Không thể thay đổi độ sâu bit của hệ điều hành nếu không cài đặt lại hoàn toàn (sẽ cần phải định dạng, tất cả thông tin khỏi đĩa sẽ bị xóa). Nhưng trong một số trường hợp, ngay cả sau quy trình như vậy, một số dữ liệu từ ổ cứng HDD vẫn có thể được khôi phục. Nếu phần cứng máy tính của bạn cho phép bạn sử dụng HĐH 64 bit và bạn quyết định cài đặt nó, bạn cần quan tâm đến trình điều khiển trước, tạo bản sao của các tệp cần thiết, sau đó tải xuống phiên bản 64 bit mở rộng, và sau đó cài đặt lại chương trình và khôi phục các tập tin. Đôi khi rất khó để tự mình thực hiện việc này và tốt hơn hết bạn nên liên hệ


Trước khi đi vào chủ đề phát triển mã cho các chương trình 64 bit, chúng ta hãy tập trung vào vấn đề tương thích ngược của phiên bản Windows 64 bit với các ứng dụng 32 bit. Khả năng tương thích ngược đạt được thông qua các cơ chế được triển khai trong .

WoW64 (Windows-on-Windows 64-bit) là một hệ thống con của hệ điều hành Windows cho phép bạn chạy các ứng dụng 32-bit trên tất cả các phiên bản Windows 64-bit.

Hệ thống con WoW64 không hỗ trợ các chương trình sau:

  • các chương trình được biên dịch cho hệ điều hành 16 bit;
  • Các chương trình ở chế độ hạt nhân được biên dịch cho hệ điều hành 32 bit.

Chi phí chung

Có sự khác biệt giữa WoW64 tùy thuộc vào kiến ​​trúc bộ xử lý. Ví dụ: phiên bản Windows 64 bit được phát triển cho bộ xử lý Intel Itanium 2 sử dụng WoW64 để mô phỏng các hướng dẫn. Mô phỏng này rất tốn tài nguyên so với WoW64 về kiến ​​trúc vì nó chuyển từ chế độ 64 bit sang chế độ tương thích khi thực thi các chương trình 32 bit.

WoW64 trên kiến ​​trúc Intel 64 (AMD64/x64) không yêu cầu mô phỏng lệnh. Ở đây, hệ thống con WoW64 chỉ mô phỏng môi trường 32 bit do có một lớp bổ sung giữa ứng dụng 32 bit và API Windows 64 bit. Ở một số nơi lớp này mỏng, ở những nơi khác thì không nhiều. Đối với một chương trình trung bình, mức giảm hiệu suất do sự hiện diện của lớp như vậy sẽ vào khoảng 2%. Đối với một số chương trình, giá trị này có thể cao hơn. Hai phần trăm không phải là nhiều, nhưng hãy nhớ rằng các ứng dụng 32 bit chạy chậm hơn một chút trong hệ điều hành Windows 64 bit so với trong môi trường 32 bit.

Biên dịch mã 64-bit không chỉ loại bỏ sự cần thiết của WoW64 mà còn giúp tăng hiệu suất bổ sung. Điều này là do những thay đổi về kiến ​​trúc trong bộ vi xử lý, chẳng hạn như sự gia tăng số lượng các thanh ghi có mục đích chung. Đối với một chương trình trung bình, bạn có thể mong đợi mức tăng hiệu suất từ ​​5-15% từ việc biên dịch lại đơn giản.

Ưu điểm của môi trường 64 bit đối với chương trình 32 bit

Do sự hiện diện của lớp WoW64, các chương trình 32 bit chạy kém hiệu quả hơn trong môi trường 64 bit so với môi trường 32 bit. Tuy nhiên, các ứng dụng 32 bit đơn giản có thể được hưởng lợi từ việc chạy chúng trong môi trường 64 bit. Bạn có thể biết rằng một chương trình được xây dựng bằng phím /LARGEADDRESSAWARE:YES có thể phân bổ tối đa 3 gigabyte bộ nhớ nếu hệ điều hành Windows 32 bit được khởi chạy bằng phím /3gb. Vì vậy, cùng một chương trình 32 bit, được khởi chạy trên hệ thống 64 bit, có thể phân bổ gần 4 GB bộ nhớ (trong thực tế là khoảng 3,5 GB).

Chuyển hướng

Hệ thống con WoW64 tách biệt các chương trình 32 bit khỏi chương trình 64 bit bằng cách chuyển hướng quyền truy cập tệp và sổ đăng ký. Điều này ngăn các chương trình 32 bit vô tình truy cập dữ liệu từ các ứng dụng 64 bit. Ví dụ: ứng dụng 32 bit chạy tệp DLL từ thư mục %systemroot%\System32 có thể vô tình truy cập vào tệp DLL 64 bit không tương thích với chương trình 32 bit. Để tránh điều này, hệ thống con WoW64 chuyển hướng truy cập từ thư mục %systemroot%\System32 sang thư mục %systemroot%\SysWOW64. Việc chuyển hướng này giúp ngăn ngừa các lỗi tương thích vì nó yêu cầu tệp DLL được xây dựng riêng để hoạt động với các ứng dụng 32-bit.

Thông tin thêm về hệ thống tệp và cơ chế chuyển hướng đăng ký có thể được tìm thấy trong phần MSDN "Chạy ứng dụng 32-bit".

Tại sao không thể sử dụng DLL 32 bit trong chương trình 64 bit? Có cách nào để giái quyết vấn đề này không?

Không thể tải DLL 32 bit từ quy trình 64 bit và thực thi mã từ nó. Không thể thực hiện được do thiết kế của hệ thống 64-bit. Về nguyên tắc, điều đó là không thể. Cả thủ thuật lẫn cách thức không có giấy tờ đều không giúp ích được gì. Để làm được điều này, bạn cần tải xuống và khởi tạo WoW64, chưa kể các cấu trúc trong kernel. Trên thực tế, bạn sẽ cần chuyển quy trình 64 bit thành quy trình 32 bit một cách nhanh chóng. Chủ đề này được thảo luận chi tiết hơn trong bài viết "Hàm không có giấy tờ; Đang tải các tệp DLL 32 bit vào quy trình 64 bit". Điều duy nhất có thể được khuyến nghị là tạo một quy trình thay thế và tương tác với nó bằng công nghệ COM. Điều này được thảo luận trong bài viết "Truy cập DLL 32 bit từ mã 64 bit".

Nhưng việc tải tài nguyên từ DLL 32 bit vào quy trình 64 bit không khó chút nào. Điều này có thể được thực hiện bằng cách chỉ định cờ LOAD_LIBRARY_AS_DATAFILE khi gọi LoadLibraryEx.

Dần dần ngừng hỗ trợ các chương trình 32-bit

Sẽ là điều khá tự nhiên nếu Microsoft khuyến khích việc chuyển đổi sang hệ thống 64 bit bằng cách dần dần từ bỏ hỗ trợ các chương trình 32 bit trong một số phiên bản của hệ điều hành Windows. Tất nhiên, đây sẽ là một quá trình rất chậm. Tuy nhiên, những bước đầu tiên theo hướng này đã được thực hiện.

Nhiều quản trị viên biết về chế độ cài đặt và vận hành tương đối mới của phiên bản máy chủ của hệ điều hành có tên Server Core. Đây là chế độ mà những người tham gia cuộc chiến "Windows vs Linux" đã nói đến từ rất lâu. Một trong những lập luận của những người ủng hộ việc sử dụng Linux trên máy chủ là khả năng cài đặt hệ điều hành máy chủ mà không cần giao diện đồ họa (GUI). Nhưng giờ đây cơ hội như vậy đã xuất hiện trong Windows Server. Cài đặt ở chế độ này chỉ cung cấp một dòng lệnh mà không có giao diện người dùng.

Tính năng này (cài đặt Server Core) đã xuất hiện trong Windows Server 2008. Nhưng Windows Server 2008 R2 đã giới thiệu một cải tiến giúp đưa tương lai 64-bit đến gần hơn. Khi cài đặt Windows Server 2008 R2 (Server Core), việc hỗ trợ chạy các ứng dụng 32-bit trở thành tùy chọn. Hơn nữa, theo mặc định, hỗ trợ này bị tắt. Và khi cố gắng khởi chạy một ứng dụng 32 bit ở chế độ Server Core, người dùng sẽ nhận được thông báo về việc không thể khởi chạy. Tất nhiên, bạn có thể thêm hỗ trợ cho các chương trình 32 bit:

bắt đầu /w ocsetup ServerCore-WOW64

Ở chế độ bình thường (Cài đặt đầy đủ), các ứng dụng 32-bit khởi chạy theo mặc định, nhưng trong Server Core thì chúng không còn hoạt động như vậy nữa.

Xu hướng là rõ ràng. Theo thời gian, việc tạo ra các phiên bản ứng dụng 64-bit sẽ ngày càng trở nên hợp lý hơn vì chúng sẽ có thể hoạt động trên số lượng lớn hơn các phiên bản hệ điều hành.

thông tin thêm

Một nguồn thông tin thú vị về hệ thống WoW64 là blog của Alexey Pakhunov: http://blog.not-a-kernel-guy.com/. Alexey là nhân viên của Microsoft và trực tiếp tham gia phát triển hệ thống con WoW64.