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

Viết Sang

Moderator
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 khác với các chương trình 64-bit”. và “ Nếu tôi thay đổi đường dẫ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?"

121127bongda24h2567cf521fb50878e6f9a320be18b4f732bitheader2.jpg.jpg

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ười khá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ệ. Sau khi 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ảo cá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 Windows 64-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ếu khô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ác DLL (thư viện liên kết động - Dynamic Link Library) hay các mã, tệp thực thi riêng cho từng phiên bản Windows (32-bit và 64-bit).

Untitled1-14f09.jpg

Các chương trình 32-bit không chạy được trên hệ thống 64-bit. Một ứng dụng 32-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 để ứng dụ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ình và 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ữ được cá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ọi thứ 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ần thiế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ập tin cũng vậy. Chúng ta có thư mục cho các ứng dụng (logic) và thư mục cho dữ 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 ta thườ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ình viê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ác bug 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ì trong trườ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ản 32-bit và một cho bản 64-bit. Installer 32-bit được đưa vào trong C:\Program Files\App\ và installer 64-bit được đưa vào trong C:\Program Files\App\sixtyfour\.

Nếu có 2 thư mục Programs Files: Nhà phát triển chỉ cần 1 installer. Installer sẽ luôn ghi vào đường dẫn %PROGRAMFILES% và tùy thuộc vào phiên bản HĐH (32-bit hay 64-bit), trình cài đặt sẽ ghi tiếp vào thư mục phù hợp. Mọi Installer đề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-bit cò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ên quan đến nhị phân.

Tham khảo: Howtogeek
 

Facebook Comment

Similar threads
Thread starter Tiêu đề Diễn đàn Trả lời Ngày
M Vì sao du khách đổ bộ đi tour Huế 1 Ngày Mùa Hè 2022 Tin tức 24h 0
T [Căn hộ cao cấp] Vì sao căn hộ được quan tâm nhiều vào cuối năm? Nhà đất Đà Nẵng 0
H [Nhà Đất] Scalping Forex là gì? Vì sao các trader thường chọn Scalping QUẢNG CÁO - RAO VẶT 0
V [Hồ Chí Minh] Sa bàn ảo là gì? Vì sao nên sử dụng sa bàn ảo thay cho bản đồ truyền thống? Nhà đất Đà Nẵng 1
H Tiếp thị liên kết Shopee là gì ? vì sao nên chọn tiếp thị kết liên Shopee GIAO LƯU - BÀN LUẬN 0
A [Khác] Vì sao nên sử dụng phần mềm Abit Website - Blog 0
C [Xã hội] Vì sao tiểu thương “chê” chợ mới? Tin tức 24h 0
C [Xã hội] Vì sao tiểu thương chợ Hòa Cầm kiến nghị tập thể? Tin tức 24h 0
C [Đà Nẵng] Vì sao không được cấp phép xây nhà cấp 4? Tin tức 24h 0
C [Đà Nẵng] Vì sao Đà Nẵng trở thành điểm đến hấp dẫn? Tin tức 24h 0
rcp [Thương hiệu] Chọn cách 'bán mình', doanh nghiệp Việt vì sao nên nỗi? KINH DOANH & ĐẦU TƯ 0
BNN [Thương hiệu] Vì sao phải tiếp thị về lợi ích của sản phẩm? Tổng quát thương hiệu 0
BNN [Xã hội] Vì sao Đà Nẵng tiến hành phân bổ dân cư? Tin tức 24h 1
Viết Sang Vì sao không thể dùng một số kí tự đặc biệt để đặt tên file? Hỏi đáp Tin học 0
rcp Vì sao Apple quyết định loại bỏ Google Maps ra khỏi iOS CLB TIN HỌC 1
rcp [Bàn luận] Vì sao dân Đà Nẵng tranh giành đổi nón bảo hiểm? Viết về Đà Nẵng 2
BNN [Thể thao] Vì sao Đà Nẵng thanh lý sớm hợp đồng với Đài Trang? Tin tức 24h 0
BNN [Kinh tế] PCI Đà Nẵng tụt hạng, vì sao? Tin tức 24h 0
bachsa [Sổ tay] Vì sao họ thành công - Lời tác giả Thư viện - Sổ tay 0
bachsa [Sổ tay] Vì sao họ thành công - Lời giới thiệu Thư viện - Sổ tay 0
bachsa [Sổ tay] Vì sao họ thành công Thư viện - Sổ tay 1
bachsa Vì sao không nên ăn thit chó?-Thái Bá Tân Truyện Ngắn 3
bachsa Vì sao Đà Nẵng dửng dưng với Luật Cạnh tranh? Tin tức 24h 0
matmotmipro Vì sao con trai lại như vậy - Vy Oanh Nhạc trẻ 0
samurai Đọc và suy gẫm : Vì sao các chuyên gia lần lượt rời bỏ Google? Khởi Nghiệp 1
samurai Vì sao xe hay bị cháy trong hầm Hải Vân? Tin tức 24h 1
binho243 Thế nào là kĩ năng mềm (KNM) - Vì sao ai cũng cần phải có ? Kỹ năng mềm 5
N Vì sao họ giàu? Khởi Nghiệp 0
SongHan KAGAYA-Phần2-Chuyến tàu qua các vì sao Hình cảnh vật 9
kamikaze Vì Sao Họ Thành Công Kinh tế 4
P Hầu hết chúng ta thường lợi dụng điểm yếu của người khác thay vì giúp đỡ họ khắc Lời muốn nói 0
T Thư mời tài trợ chiến dịch Trà đá vì cộng đồng 2013 Chương trình - sự kiện 0
rcp Biển Đông: Đừng mơ Mỹ ‘làm căng’ với Trung Quốc vì nước khác Sóng BIỂN ĐÔNG 8
BNN [Xã hội] Bắt giám đốc Gà Bến Bờ vì tàng trữ vũ khí Tin tức 24h 0
rcp [Sự kiện] Cả miền Nam mất điện vì xe cẩu Tin tức 24h 6
C [Xã hội] Náo loạn vì xe khách "nhốt" người dân rồi bỏ chạy Tin tức 24h 0
C [Xã hội] Náo loạn vì bắt người làm con tin ở Đà Nẵng Tin tức 24h 0
Q Mỹ Tâm và những lần "ngơ ngác" vì scandal trên trời rơi xuống Tin tức 24h 0
Q Cứu sống bé gái ói ra máu vì hóc cọng kẽm Tin tức 24h 0
C [Xã hội] 5 bài học đau đớn vì sự "vô tâm" trong quy hoạch giao thông Tin tức 24h 0
C [Xã hội] Đà Nẵng nên cảm ơn Mỹ Tâm vì cú hét giá cát-xê Tin tức 24h 1
C [Xã hội] Đà Nẵng: Kết luận điều tra vụ ‘siêu trộm chết vì gái’ Tin tức 24h 0
C [Xã hội] Thay cầu Chương Dương vì sốt ruột Đà Nẵng nhiều cầu đẹp? Tin tức 24h 1
mulove Dự án KĐT phía Bắc vịnh Mân Quang (Đà Nẵng): "Hấp hối" vì... Vinashin Dự án Đà Nẵng 1
mulove Đà Nẵng loại Mỹ Tâm khỏi chương trình pháo hoa vì cát-sê cao? Tin tức 24h 3
C [Xã hội] Côn đồ đánh đập hành hung cả khu chung cư, vì thi đua thành tích k báo cáo CA Tin tức 24h 2
C [Xã hội] Cướp giật vì bị người yêu... chê nghèo! Tin tức 24h 0
rcp Mất hơn nửa triệu đồng vì tin nhắn rác Thủ thuật - Mẹo vặt 0
C [Xã hội] Bị bắt vì sàm sỡ phụ nữ ở đường hoa xuân Tin tức 24h 0
C [Sức khỏe] Tổ chức Trái tim vì trái tim tài trợ thiết bị y tế Tin tức 24h 0

Similar threads

Top