Как сдвиг был к 64 битам, обработанным на Linux

Сокет абстракция. Это обеспечивает интерфейс для приложений для использования системного ресурса (в этом случае сетевое соединение) способом, который позволяет операционной системе добиваться и организовывать использование ограниченного ресурса любым количеством приложений.

Если бы данные, отправляемые через сокет, могли бы считаться конвертами почты, то сокет был бы Вашим почтовым ящиком. Вы присоединяете почтовый ящик (сокет) к Вашему дому (программа) и помещаете Вашу исходящую почту (данные) в него. В запланированное время почтальон (операционная система) приезжает и берет Вашу исходящую почту и привозит любую входящую корреспонденцию в том же почтовом ящике. Ваша исходящая почта передается от Вашего имени получателю через грузовик почтальона (сетевое соединение) наряду с почтой всех Ваших соседей. Это позволяет Вам соответствовать людям далеко без потребности в расходе, время, трудность, и т.д. поставки буквы самим.

Что касается того, почему их называют 'сокетами' хорошо, понятие, что изобретатели добираются для вызова его вообще, они хотят, вероятно, играет большую роль там. Хотя, это не дурная слава, по-моему, :)

15
16.11.2010, 10:15
4 ответа

Работа, требуемая сделать ядро 64-разрядным, была сделана looooong время назад с помощью альфа-систем DEC. Программы, однако, являются другим разговором.

Общее согласие, которое я видел до сих пор, кажется:

  • Отдельный /lib и /lib64 каталоги для систем, которые смешали двоичные файлы
  • Скомпилируйте как 64-разрядные; если компиляция перестала работать, перекомпилируйте как 32-разрядные, пока источник не может быть очищен для 64-разрядного.

Кроме этого, Вы действительно не собираетесь видеть много "горя" от смешанных сборок на 32/64 бита.

12
27.01.2020, 19:49
  • 1
    Плюс символьные ссылки для хранения двоичных имен постоянными и последовательными. –  geoffc 11.08.2010, 04:05
  • 2
    и мы имеем то, что называют multilib alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib –  phunehehe 11.08.2010, 09:41
  • 3
    Вы могли назвать какую-либо программу на Linux, который может быть скомпилирован, но только на 32 битах? –  Maciej Piechotka 18.08.2010, 17:47
  • 4
    @Maciej Piechotka: не думайте, что существуют многие из оставленных. Я думаю, что помню OpenOffice.org, являющийся хитрым, но это было путем назад, когда преобразование в 64-разрядный запустилось. Кроме этого: по-видимому Flash player является хитрым :P –  wzzrd 18.08.2010, 17:56
  • 5
    С тех пор, когда Flash player компилируется ;) gnash/lightspark работы над 64 битами, но Adobe Flash Player является propertary. –  Maciej Piechotka 19.08.2010, 19:17

Windows и *ix использовал различные модели данных для перехода. Эта страница UNIX.org немного стара, но она все еще обеспечивает, хороший обзор компромиссов (отметьте это long long был позже добавлен к C99 и потребовался, чтобы быть, по крайней мере, 64-разрядным). Можно также видеть статью Wikipedia о той же теме. Как защищено в конце статьи UNIX.org, большинство подобных UNIX систем пошло с LP64, что означает long, long long, и указатели являются все 64-разрядными.

Windows пошел с тем, что назвало модель данных LLP64, что означает это только long long и указатели являются 64-разрядными. long остается 32-разрядным. Часть причины была просто, что они не хотели проходить и исправлять взломанный код, который принял long впишитесь int.

8
27.01.2020, 19:49
  • 1
    Было много дебатов в мире Unix, также. Один из аргументов в пользу добавления "долго долго" был то, что было слишком много кода там, который предположил, что "долго" были 32 бита. (По крайней мере, в конкретном аргументе я входил на comp.std.c не слишком долго перед стандартом C99.) –  David Thornley 18.08.2010, 18:14

Как дистрибутивы Linux главным образом OpenSource существует largly переход, уже сделанный. Если Вы не используете propertary программное обеспечение (такое как скайп), можно выполнить чистую 64-разрядную систему без любых недостатков.

Однако реальной разницей, по моему скромному мнению, является больше propertary по сравнению с открытым затем Unix по сравнению с окнами, как это обычно - программное обеспечение с открытым исходным кодом, которое портировано сначала (некоторый волонтер должен перекомпилировать что-то - возможно, устраняют некоторые проблемы компиляции) - или в большинстве случаев не портированный вообще, но просто перекомпилированный ;) - и propertary, который портирован в последний раз.

Возможно дополнительно на Linux у Вас есть repos, таким образом, установка обрабатывается автоволшебно - Вы не должны выбирать 64-разрядную или 32-разрядную версию (система выбирает Ваш автоматически). На Windows-программах загружаются и имеющий отдельную 64-разрядную и 32-разрядную версию:

  • Удваивает размер файлов на сервере
  • Требует пользователя для знания его версии. Или даже что они отличаются чем-то

Я предполагаю, что это - причина, почему двоичные файлы Windows являются обычно 32-разрядными - это едино, и не все перешли к 64-разрядной версии.

2
27.01.2020, 19:49

На самом деле попробуйте "Дальнюю дорогу к 64 битам" в Очереди ACM: http://queue.acm.org/detail.cfm?id=1165766, Который был позже забран Связью ACM. Первым 64-разрядным микро был MIPS R4000, поставленный в SGI, Темно-красном 1Q1992, Альфы в декабре, поставленные в конце того года.

R4000s работали сначала в 32-разрядном режиме, затем позже в 64/32 режиме, т.е. 64-разрядной ОС, 64 или 32-разрядных пользовательских кодах. Альфы всегда выполняли UNIX в 64 битах только (разумный выбор, так как не было никакой установленной основы 32-разрядных приложений.)

Позже в 1990-х, SGI внес усилие в 64 бита ize Linux (для работы Itaniums) во время, XFS был портирован к Linux (это действительно хотело 64-разрядный).

2
27.01.2020, 19:49

Теги

Похожие вопросы