,

Бобылёвщина #15 или все про 86-битные системы лол

Привет, ребята. Кто-то на форуме спрашивал, какую систему ставить на компьютер – 32-битную, или 64-битную, и выяснилось, что многие находятся в заблуждении относительно всего этого, а некоторые еще и воинственно отстаивают свое невежество. Я думаю, будет здорово, если я напишу пару строк и поясню, что к чему.

Начнем с простого. Бит — мельчайшая единица информации, принимает очень простое значение — либо 0, либо 1. Обычно «0» это «нет», а «1» это «да». Все современные компьютеры устроены исходя из этих соображений, хотя раньше, в том числе в СССР, были попытки создания компьютеров не с двоичной, а с троичной системой исчисления, где вместо битов были триты, которые могли принимать три состояния — 0, 1 и 2. На данный момент всевозможные троичные системы обсуждаются лишь в контексте квантовых компьютеров, там есть нечто подобное — кутриты и кубиты, но мы не будем об этом говорить, ведь абсолютно вся современная компьютерная техника, которая доступна потребителю, работает с двоичной системой.
Бобылёвщина #15 или все про 86-битные системы лол

Очевидно, что битом можно закодировать лишь два состояния, и даже для передачи человеческого алфавита нужны несколько большие единицы. Без малого 50 лет назад компания IBM представила компьютер IBM/360, который был довольно революционным для своего времени, и заслуживает упоминания в сегодняшней статье хотя бы потому, что в нем появился восьмибитный байт, который состоит из восьми (sic!) битов. Такой байт может принимать 28 значений в диапазоне от 0 до 255. На IBM/360 были внедрены так же однобайтовые кодировки, когда на машине было 256 символов. Чуть позже придумали следующую хохму: стандартизировали первую половину — 128 символов, и объявили их общими для всех возможных кодировок, а вторую половину составляли по необходимости. Так, русские буквы содержались в русской кодировке, которая наполовину состояла из общего набора, а наполовину — из своих букв. Таким образом, для правильного отображения файла нужно было знать его кодировку, и если, скажем, открыть текст, написанный русскими буквами в западноевропейской кодировке, то вместо русских букв можно было видеть что-то наподобие этого: «Ñàñàé ëàëêà». Таким образом, разные страны сделали себе национальные кодировки, внутри страны пользовались ею, но если, скажем, текст, набранный в России на русском попадал в Бразилию, там возникали нешуточные непонятки с его отображением. Поэтому человечество придумало универсальную кодировку — Юникод. В ней, по задумке, вместо одного байта на символ приходилось целых два байта, то есть 65536 вариантов. Это открыло широкий простор и дало возможность в одной кодировке разместить не только все национальные алфавиты, но и разные экзотические символы, от мастей карт до свастики и воздушного шара. Такая кодировка получила название UTF-16, где 16 — число бит на символ. Однако, тексты в такой кодировке плохо читались в старых программах, которые были рассчитаны на однобайтовые кодировки, поэтому придумали формат UTF-8, суть которого вот в чем: первые 128 символов — однобайтовые, это латиница, цифры и кое-какие базовые символы, и если программа видит байт, в котором значение от 0 до 127, она интерпретирует его как один символ, а если видит байт больше 127, то воспринимает его как двухбайтовый символ вместе со следующим байтом. Таким образом, в старых программах латинские слова в UTF-8 читаются нормально, а слова из символов верхней части отображаются кракозябрами побайтово. Трешбокс, кстати, целиком работает на кодировке UTF-8.

Бобылёвщина #15 или все про 86-битные системы лол

Очевидно же, что байты и биты применяются не только для кодирования символов, а и для работы с числами и передачи цветов. К числам вернемся в конце, а пока поговорим о передаче цветов. Первые компьютеры были монохромными — умели рисовать только белые пиксели на черном фоне, однако со временем инженеры стали внедрять цвета, сперва 4 цвета, затем 16, затем целых 256, затем 65 тысяч, и так далее. Для передачи цветов так же использовали байты, один байт мог передать 256 цветов, таким образом, если речь идет о восьмибитной графике, знайте, что имеется в виду, что в ней существует 256 разных цветов, если о 16-битной — 65536 цветов, и так далее. Например, у формата PNG есть три варианта — PNG8 — однобайтовый формат, PNG24 — трехбайтовый, где каждый цвет смешивается их трех — красного, синего и зеленого, на каждый из которых отводится 256 градаций и наконец PNG32, где кроме трех байтов цветов существует и четвертый байт, который сообщает о степени прозрачности пикселя.

Поэтому, 16-битная графика никакого отношения не имеет к архитектуре процессора системы, это лишь характеристика цветовой палитры.

Кстати, об архитектуре. Так сложилось, что компьютеры хранят в памяти числа и успешно работают с ними. Числа так же хранятся в многобайтовых переменных, целых и вещественных. В целых переменных все биты отводятся непосредственно под значение числа, а в вещественных, часть — под основание числа, так называемую мантиссу, и часть — под показатель степеня десятки. Итоговое вещественное число получается умножением мантиссы на десять в степени показателя. Так вышло, что компьютеры умеют работать с достаточно богатым диапазоном размерностей чисел, это могут быть как однобайтовые переменные, так и четырехбайтовые, восьмибайтовые и даже 16-байтовые.

Так что же такое разрядность архитектуры процессора? Мы обсудили битность кодировок символов, цветов и чисел. Возникает вопрос, что же такое, 32-битная архитектура и что такое 64-битная и какая между ними разница. Сейчас расскажу.
Бобылёвщина #15 или все про 86-битные системы лолБобылёвщина #15 или все про 86-битные системы лол

Дело в том, что компьютеру для своей работы необходимо сохранять в оперативную память информацию и читать ее, логично же, да. И для этого у каждой ячейки памяти, у каждого бита должен быть свой адрес, чтобы процессор мог записать в него значение и считать его. Для ссылок на конкретные участки в оперативной памяти применяются так называемые указатели, которые содержат в себе адрес ячеек памяти. Собственно, размерность этих вот указателей и определяет разрядность архитектуры процессора. Так, 32-битный процессор может адресовать максимум 232 бит, то есть ровно четыре гигабайта, а 64-битный — максимум 264 бит, что равняется 16 эксабайтам. Один эксабайт примерно равен миллиону терабайт, такие дела. Разумеется, сейчас таких объемов оперативной памяти еще нет, и реальные платформы адресуют, скажем, до 32 гигабайт, но это вызвано не особенностями архитектуры, а лишь локальными техническими особенностями реализации конкретных процессоров и чипсетов.

Разумеется, даже в 32-битном процессоре могут применяться не-32-битные вещи. Например, разрядность внешних шин адреса и данных может быть больше, кроме того, в процессоре могут быть сопроцессоры, например, для свободной работы с 80-битными числами и т. п., но основная характеристика архитектуры — именно разрядность адресов памяти.

На данный момент в компьютерах есть две популярные архитектуры, это x86, она же Intel Architecture 32 и x86_64, она же amd64 и Intel 64. Некоторые темные люди считают, что 86 означает 86-битную архитектуру, или что-то наподобие этого, но спешу вам сообщить, это не более чем обычное число, которое стало популярным по простому совпадению. Компания Intel выпускала различные процессоры, начиная с 4-битного Intel 4004, за которым последовали восьмибитные 8008 и 8080, на смену которым, в свою очередь, пришел 16-битный процессор 8086. Именно его архитектура легла в основу первого IBM PC и стала стандартом для компьютерной техники более чем на тридцать лет. Поэтому когда речь идет об архитектуре x86, подразумевается, что процессор принадлежит к семейству процессоров, совместимых с Intel 8086 и является его потомком. Кстати, если первый 8086 был 16-битным, то уже 80386, так называемый 386-й процессор уже стал 32-битным, то есть мог адресовать напрямую больше 640 килобайт памяти. Что же касается x86_64, это расширение старой 32-битной архитектуры, которое имеет обратную совместимость с обычной x86, поэтому старые программы, как правило, без проблем работают и на машинах с x86_64. Основная цель, которую преследовали при создании этой архитектуры — расширение максимального адресуемого напрямую объема памяти.

Бобылёвщина #15 или все про 86-битные системы лол

Cтоит отметить, что есть и другие архитектуры, например, Intel долгое время разрабатывала 64-битную архитектуру Itanium для замены x86, однако, пока она это делала, хитрые конкуренты из AMD просто добавили 64-битную адресацию памяти в старую x86, назвали это amd64 и стали клепать 64-битные процессоры на этой архитектуре.

Я не буду продолжать этот рассказ, информации и так достаточно, я уверен, что больше половины читателей умерли от скуки еще на середине, поэтому отмечу лишь кратко несколько моментов.

1. Почему 32-битная Windows видит только около 3-х гигабайт оперативной памяти, а не 4, как сказно в статье?

Потому что некоторые устройства PCI поддерживают только 32-битные адреса, и поэтому система выдает физические адреса до отметки в 4 Гб, что срезает часть адресного пространства под оперативную память.

2. Может ли 32-битная система адресовать больше 4 Гб оперативной памяти? Да, разработана такая штука, как PAE — Physical Address Extension. Суть в том, что на уровне операционной системы применяются 64-битные адреса, и система выделяет 32-битным программам виртуальное адресное пространство, в котором они работают в привычных 32-битных адресах. Таким образом, с помощью PAE операционная система может адресовать больше оперативной памяти, однако каждый процесс может получить не более 4 Гб, потому что в рамках процесса работа с памятью осуществляется с помощью 32-битной адресации. Кстати, эта вся хохма работает в 32-битных операционках только на 64-битных процессорах, на 32-битных, как ни крути, адресовать больше 4 Гб не получится.

Дело в том, что в современных компьютерах применяется страничная адресация. Ведь, если бы применялась прямая адресация, то возникала бы проблема фрагментации, когда по памяти разбросаны переменные, и нет возможности разместить один большой цельный кусок. Чтобы такого не было, операционная система выделяет приложениям виртуальную память, которая состоит на самом деле из небольших страниц фиксированного размера, а для приложения это выглядит как будто ему выделили единый длинный кусок, и оно может пользоваться сквозной адресацией по всей своей памяти. Таким образом, страницы располагаются как попало, ими управляет менеджер памяти операционной системы, и он же обеспечивает виртуальную единую адресацию для каждого приложения по всей его памяти. Именно такой подход позволяет управлять страницами с помощью 64-битных адресов и адресовать всю оперативную память, а приложения при этом спокойно себе используют свою 32-битную адресацию и в ус не дуют. Естественно, на 64-битных системах для 64-битных приложений тоже используется страничная адресация, и приложения так же используют внутренние виртуальные адреса, но уже 64-битные, что позволяет выделять на 64-битной системе одному процессу больше четырех гигабайт. Такие дела.

Бобылёвщина #15 или все про 86-битные системы лол

Нужно сказать, что все современные компьютерные процессоры 64-битные, а в смартфонах и планшетах 64-битные процессоры появились только-только (первый — iPhone 5S), и это вызвано как раз таки постепенным приближением к верхней планке в четыре гигабайта памяти. Уже сейчас есть планшеты с тремя гигами, и очевидно, что для того, чтобы без накладок адресовать четверку, нужно располагать 64-битной архитектурой.

Напоследок, скажу, если вы сомневаетесь, какую систему вам ставить, скажу просто.
Если у вас меньше 4 Гб оперативной памяти — только 32-битную. Более того, поскольку 64-битные операционки используют на указатели и базовые переменные вдвое больше памяти, многие процессы в них жрут порой почти вдвое больше, так что если у вас меньше 4 Гб оперативной памяти, то ставить 64-битную систему не только нет смыла, но и плохо, потому что она потребляет больше памяти.

Если у вас 4 или 6 Гб, советую ставить 32-битную систему с поддержкой PAE. Это все современные операционные системы. Если же у вас 8 Гб и больше, имеет смысл ставить 64-битную систему, потому как все должно работать быстрее, чем на 32-битной системе с PAE. Безусловно, в некоторых приложениях могут быть и исключения, но в общем случае это так.

И да, если у вас на ноутбуке или компьютере есть логотип сатанинской Windows 8 или что-то про UEFI, нужно ставить 64-битный линукс, потому что 32-битный не сможет установиться на такой компьютер без отключения UEFI и уничтожения установленной Windows 8.

Бобылёвщина #15 или все про 86-битные системы лол

Я надеюсь, у вас хватит терпения объяснить что и как людям, которые рассказывают про 86-битные системы, про 64 бита только для ноутбуков и тому подобные небылицы, и вы не будете плевать им в лицо. До новых встреч.


Бобылёвщина
Бобылёвщина #16 или почему не стоит использовать общие аккаунты
Бобылёвщина #15 или все про 86-битные системы лол
Бобылёвщина #14
 
the_virus_ua
the_virus_ua, 18 сентября 2013 - 19:40   (...)
вот и правильно, бобс на высоте!
Ответить
jeck9925
jeck99257, 18 сентября 2013 - 20:04   (...)
все что надо обьяснил
Ответить
artyoms
artyoms29, 18 сентября 2013 - 20:06   (...)
+
Ответить
Bart_Simpson
Bart_Simpson, 18 сентября 2013 - 20:24   (...)
новая колонка «уроки информатики для нубов»
Ответить
bIgGuN
bIgGuN 3, 19 сентября 2013 - 17:00   (...)
ну тут же не все такие гении сидят, как ты
интересная статья, даже для знающих людей
Ответить
Bart_Simpson
Bart_Simpson, 19 сентября 2013 - 21:21   (...)
затрален.
Ответить
Vladis
Vladis3, 18 сентября 2013 - 20:31   (...)
сатанинская win8, бобс красавчик, поржал)
Ответить
n1ger
n1ger1, 18 сентября 2013 - 21:54   (...)
У бобса наверно лютая изжога начинается, когда слышит слово windows :)
Ответить
ni_1994
ni_1994, 18 сентября 2013 - 20:57   (...)
Отлично + без вопросов)
Ответить
id215581491
id2155814913, 18 сентября 2013 - 21:25   (...)
Хорошо что не пошел в БГУИР:)
Ответить
Bart_Simpson
Bart_Simpson, 18 сентября 2013 - 22:15   (...)
куда?
Ответить
id215581491
id2155814913, 18 сентября 2013 - 23:19   (...)
Белорусский государственный университет информатики и радиоэлектроники
Ответить
JAC
JAC10, 18 сентября 2013 - 21:57   (...)
Отлично. Бобс, как всегда, лучше всех!
Ответить
Dmitry9796
Dmitry9796, 18 сентября 2013 - 22:15   (...)
Отличная статья!
Если можно напиши статью, что нужно знать новичку перешедшему на убунту
Ответить
Koteika
Koteika 11, 18 сентября 2013 - 22:18   (...)
кстати, а где наш программист?
Ответить
Dmitry9796
Dmitry9796, 18 сентября 2013 - 22:20   (...)
настраивает чистоту буков
Ответить
WorldAndroid
WorldAndroid, 18 сентября 2013 - 23:36   (...)
кто бобса минуснул?
Ответить
TMaxS
TMaxS7, 19 сентября 2013 - 01:22   (...)
Кто-то на форуме спрашивал)))
Ответить
macho10110e
macho10110e, 19 сентября 2013 - 07:11   (...)
Все было интересно.
Надеюсн, будет продолжение про «На данный момент всевозможные
троичные системы обсуждаются лишь в
контексте квантовых компьютеров, там
есть нечто подобное — кутриты и
кубиты», т.к интересно по какому же закону работает такая система
Ответить
macho10110e
macho10110e, 19 сентября 2013 - 07:17   (...)
или откуда манаул взял про троичную систему — дай ссылку, я почитаю об этом
Ответить
Bobs
Bobs, 19 сентября 2013 - 10:08   (...)
введи в википедию трит и почитай
Ответить
Hangry
Hangry, 19 сентября 2013 - 07:20   (...)
Очень интересно, хотелось бы ещё таких новостей, в интернете даже наверное не найти такого хорошо разжёванного контента — всё написано понятным языком а не научным.
Ответить
Bobs
Bobs, 19 сентября 2013 - 10:09   (...)
да, Трешбокс это просто-напросто ледокол в океане кала и информационного мусора.
Ответить
Mc_zz
Mc_zz33, 19 сентября 2013 - 11:50   (...)
Спасибо, было очень интересно и познавательно почитать.
Ответить
Bart_Simpson
Bart_Simpson, 19 сентября 2013 - 14:23   (...)
один из тех кто минуснул топик Бобса, полюбому тот парень который утверждал что 64 бита только для ноутбуков а 32 для стационара)))
Ответить
Bobs
Bobs, 19 сентября 2013 - 14:58   (...)
кстати, нет
Ответить
Azhykulov
Azhykulov24, 19 сентября 2013 - 15:15   (...)
Больше пикч, больше угара на колонках
Ответить
Jimmy_Pop
Jimmy_Pop18, 19 сентября 2013 - 17:20   (...)
Босб, а Бобс.
Почему процесс одной и той же зависшей (не отвечающей) программы 32х семерка спокойно завершала, а 64х не хочет ни в какую? Процесс тупо продолжает висеть вместе с зависшим окном?
Ответить
Tarik02
Tarik02, 22 декабря 2014 - 13:09   (...)
Это не зависит от архитектуры
Ответить
Jimmy_Pop
Jimmy_Pop18, 22 декабря 2014 - 16:25   (...)
В двух абсолютно идентичных ситуациях менялось только это.
Ответить
Bobs
Bobs, 22 декабря 2014 - 21:36   (...)
я опоздал на год, но как мне кажется, у зависания программ может быть 999 причин, и некоторые факторы могут это усугублять, не исключено, что какие-то библиотеки отличаются в реализации под 32 и 64, реализация под 64 зависает.

Но это только, я уверен, какая-то частная ситуация, общей системы какой-то нет.
Ответить
Jimmy_Pop
Jimmy_Pop18, 22 декабря 2014 - 22:01   (...)
За год я успел разобраться, спасибо
Ответить
ramses_01
ramses_01, 5 декабря 2013 - 17:10   (...)
Тру.
Ответить
wzrewatel
wzrewatel, 5 декабря 2013 - 17:41   (...)
Круть 64бита впот бы самса пичкала в свои планшеты
Ответить
JAC
JAC10, 5 декабря 2013 - 17:41   (...)
Лол? Бобсик, расскажи мне эту историю
Ответить
yulikleim0381
yulikleim03813, 22 декабря 2013 - 18:16   (...)
Ну вот приехали, а в интернете везде пишут что 64-х битную ОС можно ставить при 4 Гб ОЗУ и выше, а если меньше 4-х, то 32-х битную ОС. А здесь написано, что 64-х битную нужно ставить если 8 Гб ОЗУ. У меня была и 32-х битка и 64-х битка и честно вам скажу, что разницы между ними никакой не почувствовала.
Ответить
Bobs
Bobs, 22 декабря 2013 - 18:21   (...)
ставить-то на 4 гб можно, но реальная разница появляется если 6 и выше.
Ответить
yulikleim0381
yulikleim03813, 22 декабря 2013 - 19:20   (...)
да ставить то и на 3Гб можно, у некоторых видела и на 1Гб и на 2Гб стаяла 64 ОС, только не понятно как она вообще у них установилась при столь маленьких гигабайтах (1и 2) ОЗУ?
Ответить
kirillka280
kirillka2805, 22 декабря 2013 - 19:30   (...)
У нее требования не выше, чем у обычной
Просто толку от этого примерно нихрена
Ответить
yulikleim0381
yulikleim03813, 24 декабря 2013 - 17:54   (...)
А вообще для 64-х битки (прежде чем устанавливать такую ОС) нужно чтобы процессор вашего ноутбука или компьютера поддерживал её.
Ответить
Последнее изменение:

Добавить комментарий
Если нужно ответить кому-то конкретно,
лучше нажать на «Ответить» под его комментарием