Làm thế nào để chuyển sang 64 bit được xử lý trên Linux


15

Quá trình chuyển đổi sang 64 bit được xử lý trên Linux / Unix như thế nào? Thế giới Windows dường như vẫn có vấn đề với nó và tôi tò mò về cách nó được xử lý trong thế giới * nix.


Với màu sắc đẹp.
Kaz

Câu trả lời:


12

Các công việc cần thiết để làm cho kernel 64-bit đã được thực hiện một looooong thời gian trước đây sử dụng hệ thống DEC Alpha. Các chương trình, tuy nhiên, là một vấn đề khác nhau.

Sự đồng thuận chung mà tôi đã thấy cho đến nay dường như là:

  • Riêng /lib/lib64thư mục cho các hệ thống có nhị phân hỗn hợp
  • Biên dịch thành 64 bit; nếu quá trình biên dịch thất bại, hãy biên dịch lại thành 32 bit cho đến khi nguồn có thể bị xóa trong 64 bit.

Ngoài ra, bạn thực sự sẽ không thấy toàn bộ "nỗi đau buồn" từ các bản dựng 32/64 bit hỗn hợp.


Cộng với các liên kết tượng trưng để giữ cho tên nhị phân không đổi và nhất quán.
geoffc

và chúng ta có cái gọi là multilib Alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib
phunehehe

Bạn có thể đặt tên cho bất kỳ chương trình nào trên Linux có thể được biên dịch nhưng chỉ trên 32 bit không?
Maciej Piechotka

@Maciej Piechotka: đừng nghĩ còn nhiều thứ nữa. Tôi nghĩ rằng tôi nhớ OpenOffice.org là khó khăn, nhưng đó là cách trở lại khi quá trình chuyển đổi sang 64 bit bắt đầu. Khác với điều đó: rõ ràng Flash Player rất khó: P
wzzrd

Kể từ khi Flash Player được biên dịch;) gnash / lightpark hoạt động trên 64 bit nhưng Adobe Flash Player là phù hợp.
Maciej Piechotka

8

Windows và * ix đã sử dụng các mô hình dữ liệu khác nhau để chuyển đổi. Trang UNIX.org này hơi cũ, nhưng nó vẫn cung cấp một cái nhìn tổng quan tốt về sự đánh đổi (lưu ý long longsau đó đã được thêm vào C99 và được yêu cầu ít nhất là 64 bit). Bạn cũng có thể thấy một bài viết Wikipedia về cùng một chủ đề. Như chủ trương vào cuối bài viết UNIX.org, hầu hết các tựa UNIX hệ thống đã đi với LP64, mà phương tiện long, long longvà gợi ý là tất cả 64-bit.

Windows đã sử dụng mô hình dữ liệu LLP64, có nghĩa là chỉ long longvà các con trỏ là 64 bit. longvẫn còn 32 bit. Một phần lý do đơn giản là họ không muốn trải qua và sửa mã bị hỏng giả định longphù hợp với một int.


2
Có rất nhiều tranh luận trong thế giới Unix. Một trong những lập luận ủng hộ việc thêm "dài dài" là có quá nhiều mã ngoài đó cho rằng "dài" là 32 bit. (Ít nhất là trong cuộc tranh luận cụ thể mà tôi đã tham gia trên comp.std.c không quá lâu trước tiêu chuẩn C99.)
David Thornley

2

Vì các bản phân phối Linux chủ yếu là OpenSource, đã có quá trình chuyển đổi lớn. Trừ khi bạn sử dụng phần mềm thích hợp (như skype), bạn có thể chạy hệ thống 64 bit thuần túy mà không gặp bất kỳ nhược điểm nào.

Tuy nhiên, sự khác biệt thực sự IMHO là phù hợp hơn so với mở rồi unix so với windows vì nó thường là phần mềm nguồn mở được chuyển trước (một số tình nguyện viên cần biên dịch lại một cái gì đó - có thể khắc phục một số vấn đề biên dịch) - hoặc trong hầu hết các trường hợp không được chuyển tất cả nhưng chỉ được biên dịch lại;) - và chính xác được chuyển cuối cùng.

Ngoài ra, có thể trên Linux, bạn có repos để việc cài đặt được xử lý tự động - bạn không cần chọn phiên bản 64 bit hoặc 32 bit (hệ thống sẽ tự động chọn bạn). Trên các chương trình Windows được tải xuống và có phiên bản 64 bit và 32 bit riêng biệt:

  • Nhân đôi kích thước tệp trên máy chủ
  • Yêu cầu của người dùng để biết phiên bản của mình. Hoặc thậm chí họ khác nhau bởi một cái gì đó

Tôi đoán đó là lý do tại sao các nhị phân Windows thường là 32 bit - nó là một kích cỡ phù hợp với tất cả và không phải ai cũng đã chuyển sang phiên bản 64 bit.


2

Trên thực tế, hãy thử "Con đường dài đến 64 bit" tại Hàng đợi ACM: http://queue.acm.org/detail.cfm?id=1165766 Sau đó được Truyền thông của ACM chọn. Micro 64 bit đầu tiên là MIPS R4000, được xuất xưởng trong SGI Crimson 1Q1992, Dec Alphas được vận chuyển vào cuối năm đó.

Các R4000 ban đầu chạy ở chế độ 32 bit, sau đó ở chế độ 64/32, tức là hệ điều hành 64 bit, mã người dùng 64 hoặc 32 bit. Các bảng chữ cái luôn chạy UNIX chỉ trong 64 bit (một lựa chọn hợp lý, vì không có ứng dụng 32 bit nào được cài đặt.)

Sau đó vào những năm 1990, SGI đã đóng góp nỗ lực cho Linux 64-bit (để chạy trên Itanium), về thời gian XFS được chuyển sang Linux (nó thực sự muốn 64-bit).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.