Danh mục

Tại sao Windows 64-bit lại cần thư mục riêng để chứa ứng dụng 32-bit

Số trang: 5      Loại file: pdf      Dung lượng: 427.01 KB      Lượt xem: 17      Lượt tải: 0    
Jamona

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Nếu đang sử dụng hệ điều hành Windows 64-bit, có thể bạn sẽ để ý thấy 2 thư mục “Programs file” xuất hiện trong phân vùng cài đặt HĐH: một thư mục “Program Files” (chứa ứng dụng 64-bit), và 1 thư mục có tên “Program Files” (x86) – chứa ứng dụng 32-bit. Trong khi trên Windows 32-bit thì chỉ có một thư mục mà thôi. Vì sao lại có sự phân biệt này? Có lẽ đó cũng là câu hỏi mà khá nhiều người tò mò muốn hỏi: tại sao các chương trình 32-bit phải ở trong một thư mục...
Nội dung trích xuất từ tài liệu:
Tại sao Windows 64-bit lại cần thư mục riêng để chứa ứng dụng 32-bitTại sao Windows 64-bit lạicần thư mục riêng để chứa ứng dụng 32-bit ?Nếu đang sử dụng hệ điều hành Windows 64-bit, có thể bạn sẽ để ý thấy 2 thưmục “Programs file” xuất hiện trong phân vùng cài đặt HĐH: một thư mục“Program Files” (chứa ứng dụng 64-bit), và 1 thư mục có tên “Program Files”(x86) – chứa ứng dụng 32-bit. Trong khi trên Windows 32-bit thì chỉ có mộtthư mục mà thôi. Vì sao lại có sự phân biệt này? Có lẽ đó cũng là câu hỏi màkhá nhiều người tò mò muốn hỏi: tại sao các chương trình 32-bit phải ở trongmột thư mục khác với các chương trình 64-bit”. và “ Nếu tôi thay đổi đườngdẫn và trỏ mọi chương trình vào C:Programs File thì điều gì sẽ xảy ra?”.“Có phải vì một lý do kĩ thuật nào đó mà Microsoft phải tách ra làm 2 thưmục?”Rất may trong thời đại internet ngày nay, việc một thắc mắc khó hiểu của 1(hay nhiều người) nào đó lại được giải đáp khá dễ dàng và đơn giản bởi ngườikhác có chuyên môn về vấn đề. Và câu hỏi trên cũng không phải ngoại lệ. Saukhi 1 thành viên đem “tâm sự” trên trình bày ở diễn đàn Howtogeek, một sốthành viên làm việc trong ngành lập trình đã có lời giải thích khá trực quan,dễ hiểu.Câu trả lời rất đơn giản: lý do Microsoft tạo ra 2 thư mục riêng là để đảm bảocác ứng dụng 32-bit vẫn sẽ tiếp tục hoạt động bình thường trên Windows 64-bit mà không bị xáo trộn với bản thân các ứng dụng dành riêng cho Windows64-bit. Sự phân chia này không phải là một giải pháp bắt buộc. Nó chỉ làphương pháp thuận tiện hơn so với các giải pháp khác, chẳng hạn như: nếukhông tạo ra 2 thư mục riêng biệt, mỗi ứng dụng sẽ cần phải tự phân biệt cácDLL (thư viện liên kết động – Dynamic Link Library) hay các mã, tệp thựcthi riêng cho từng phiên bản Windows (32-bit và 64-bit).Các chương trình 32-bit không chạy được trên hệ thống 64-bit. Một ứng dụng32-bit không thể dùng được DLL của 64-bit, bởi vậy, sẽ cần một giải pháp đểcho ứng dụng 32-bit không tìm thấy DLL của phiên bản kia.Như đã nói, giải pháp đơn giản nhất là đặt chúng trong hai thư mục riêng biệt.Lựa chọn tốt nhất là mọi ứng dụng 64-bit “ẩn” các tập tin thực thi đi để ứngdụng 32-bit không thấy, chẳng hạn như tạo thư mục bin64 trong ứng dụng đó.Một câu trả lời khác từ lập trình viên Oliver Salzburg, liên quan đến lập trìnhvà lí do chính xác vì sao Microsft để cấu trúc của mình như thế: “tôi nghĩ lído để có các thư mục này là rất rõ ràng. Thư mục thực chất là một công cụgiúp chúng ta quản lý các thứ một cách dễ dàng hơn mà thôi. Trên lý thuyết,chúng ta có thể chứa tất cả các loại tập tin vào trong ổ đĩa gốc trên máy tính,hiểu đơn giản là chúng ta chả cần đến các thư mục mới có thể lưu trữ đượccác file tài liệu trên máy. Tuy nhiên, nhờ có thư mục mà ta có thể sắp xếp mọithứ gọn gàng, ngăn nắp hơn rất nhiều.Trong lập trình, việc sắp xếp và quản lí dữ liệu một cách khoa học là rất cầnthiết. Bạn sẽ muốn có 1 nơi để chứa các thứ “biết nó phải làm 1 việc gì đó”,và một nơi chứa các thứ “bạn có thể làm gì đó nhờ nó”. Trong hệ thống tậptin cũng vậy. Chúng ta có thư mục cho các ứng dụng (logic) và thư mục chodữ liệu (data).Logic %WINDIR% %PROGRAMFILES% %PROGRAMFILES(x86)%Data %PROGRAMDATA% %HOMEDRIVE%%HOMEPATH%Bảng trên cho ta thấy thư mục là thứ rất cần để chứa các ứng dụng. Thếnhưng tại sao lại cần tới 2 thư mục? Vì sao không để bộ cài đặt (installer) xửlý và chứa tất cả vào 1 thư mục mà lại cần tới 2. Điều này có nguyên nhân từbản thân Installer. Bộ cài đặt không phải là 1 khối thống nhất. Chúng tathường dùng các chương trình nhỏ để cài đặt các chương trình lớn hơn.Chúng ta gọi các chương trình nhỏ này là các bộ cài đặt. Chúng được lập trìnhviên viết ra và là bản thân chúng là các ứng dụng (với các nguy cơ chứa cácbug lỗi) như bất kì ứng dụng nào khác.Bây giờ chúng ta hãy thử tưởng tượng lập trình viên sẽ phải làm gì trongtrường hợp hệ thống chỉ có 1 “progam file” và trường hợp có 2 “program file”để tìm câu trả lời cho câu hỏi ban đầu.Với 1 Thư mục Programs File: Nhà phát triển phải có 2 installer, một cho bản32-bit và một cho bản 64-bit. Installer 32-bit được đưa vào trong C:ProgramFilesApp và installer 64-bit được đưa vào trong C:ProgramFilesAppsixtyfour.Nếu có 2 thư mục Programs Files: Nhà phát triển chỉ cần 1 installer. Installersẽ luôn ghi vào đường dẫn %PROGRAMFILES% và tùy thuộc vào phiên bảnHĐH (32-bit hay 64-bit), trình cài đặt sẽ ghi tiếp vào thư mục phù hợp. MọiInstaller đều theo 1 trình tự như thế và đó chính là tính nhất quán trong hệthống tập tin. Những thứ giống nhau sẽ được lưu vào 1 thư mục. Nhờ vậy màkhi cần tìm cái gì, hệ thống sẽ biết đến nơi nó cần phải đến.Bên cạnh đó, việc phân chia ra 2 thư mục riêng cho ứng dụng 32 và 64-bitcòn nhằm mục đích tránh sự xung đột về tên tập tin, bảo mật, và các thứ liênquan đến nhị phân. ...

Tài liệu được xem nhiều:

Tài liệu cùng danh mục:

Tài liệu mới: