Современный компьютер делает так много вещей, которые мы просто принимаем как должное, но иногда интересно заглянуть под капот и посмотреть, как все работает. Сегодня мы исследуем, как именно ваш компьютер узнает, какой тип и объем оперативной памяти у вас установлен.
Сегодняшняя сессия вопросов и ответов проходит благодаря SuperUser - подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Вопрос
Читатель SuperUser Селеритас хочет знать, как его компьютер может мгновенно определить, какая оперативная память находится внутри:
Как Mac OS X может определить, какая оперативная память установлена в машине? Например, я работал над устройством с оперативной памятью DDR3 @ 1600 МГц, и я подумал, что невозможно узнать объем оперативной памяти, не открыв корпус и не взглянув на него. Как это можно сделать в других системах?
Ясно, что операционной системе очень полезно знать, к какой оперативной памяти у нее есть доступ, но с помощью какого механизма она определяет эту информацию?
Ответы
Участник SuperUser UltraSawBlade предлагает следующее объяснение:
На картах RAM есть небольшая микросхема, которая называется Обнаружение последовательного присутствия , который содержит такую информацию, как емкость, предпочтительное время, производитель и даже серийный номер.
Информация SPD доступна для операционных систем, использующих шину i2c (которая также включает такие вещи, как датчики температуры). Я думаю, вы можете напрямую читать SPD из Linux с помощью различных утилит i2c.
Это изображение из статьи в Википедии дает хорошее изображение [seen above].
Другие участники предлагают способы, которыми конечный пользователь может получить доступ к информации i2c самостоятельно. АтомСфер пишет:
В Windows:
wmic memoryChip получить /?Предоставляет вам различную информацию об оперативной памяти, которую вы можете запросить прямо из командной строки.
Например,
wmic memorychip получить серийный номерПредоставляет вам серийный номер. Вы также можете использовать
Скорость,Модельиногда,Производительи более.WMI - это метод запросов Windows SMBIOS данные. Apple, Linux, Windows и все остальные, кто хочет работать на большинстве аппаратных средств, должны поддерживать SMBIOS на определенном уровне по разным причинам.
Вы можете использовать SMBIOS (например, через WMI или WMIC в Windows) для сбора информации о жестком диске, сетевой информации (это карта 10/100 или 10/100/1000?).
Чтобы сделать еще один шаг вперед, у каждого производителя есть код для MAC-адресов сетевых адаптеров. RAM также имеет код производителя. Итак, все, что вам нужно сделать, чтобы получить их код, например, мои 2 x2GB в этом ноутбуке - это 830B, это создать базу данных для производителей (830B может быть одной марки, а затем тоже перепродан!), А также какие модели означают что. Я считаю, что именно так работает CPUz - базовые запросы и действительно полная и актуальная база данных.
Чтобы узнать больше о том, как получить доступ к этой информации на компьютерах с Windows, Linux и OS X, ознакомьтесь со всеми ответы авторов здесь .
Есть что добавить к объяснению? Отключи в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь .