Сучасний комп’ютер робить так багато речей, які ми просто сприймаємо як належне, але іноді цікаво зазирнути під капот і подивитися, як все працює. Сьогодні ми досліджуємо, як саме ваш комп’ютер знає, який тип і обсяг оперативної пам’яті ви встановили.
Сьогоднішня сесія запитань і відповідей надійшла до нас люб’язно від SuperUser - підрозділу Stack Exchange, угруповання веб-сайтів із питань та відповідей на основі спільноти.
Питання
Читач SuperUser Celeritas хоче знати, як його комп’ютер може миттєво виявити, яка пам’ять знаходиться всередині:
Як Mac OS X може визначити, яка оперативна пам’ять є в машині? Наприклад, я працював над одним, який мав DDR3 RAM на 1600 МГц, і я думав, що неможливо дізнатися оперативну пам'ять, не відкривши фізично корпус і не розглянувши його. Як це можна зробити в інших системах?
Очевидно, що операційній системі досить корисно знати, до якої оперативної пам'яті вона має доступ, але за допомогою якого механізму вона визначає цю інформацію?
Відповіді
Співробітник SuperUser UltraSawBlade пропонує таке пояснення:
На флеш-пам'яті є невеликий чіп, який називається Виявлення послідовної присутності , яка містить таку інформацію, як потужність, бажані терміни, виробник і навіть серійний номер.
Інформація про SPD доступна для ОС за допомогою шини i2c (яка також включає такі речі, як датчики температури). Я думаю, ви можете безпосередньо читати SPD з Linux, використовуючи різні утиліти i2c.
Це зображення зі статті Вікіпедії має хорошу картину [seen above].
Інші учасники пропонують способи, як кінцевий користувач може самостійно отримати доступ до інформації i2c. AthomSfere пише:
У Windows:
wmic memoryChip отримати /?Дасть вам різну інформацію про оперативну пам’ять, яку ви можете попросити безпосередньо з командного рядка.
Наприклад,
wmic memorychip отримує серійний номерДає вам серійний номер. Ви також можете використовувати
Швидкість,Модельіноді,Виробникі більше.WMI - це метод запитів у Windows SMBIOS даних. Apple, Linux, Windows та будь-хто інший, хто хоче працювати на більшості апаратних засобів, повинен підтримувати SMBIOS на певному рівні з різних причин.
Ви можете використовувати SMBIOS (наприклад, через WMI або WMIC в Windows), щоб також збирати інформацію про жорсткий диск, інформацію про мережу (це карта 10/100 або 10/100/1000?).
Щоб зробити ще один крок далі, кожен виробник має код для MAC-адрес на мережевих адаптерах. ОЗУ також має код виробника. Отже, все, що вам потрібно зробити, щоб отримати їх код, наприклад, мої 2 x2 ГБ у цьому ноутбуці - це 830B, це побудова бази даних для виробників (830B може бути однією торговою маркою, а потім перепродана теж!), А також те, які моделі що означають. Ось як працює CPUz, я вважаю - основні запити та справді повна та актуальна база даних.
Щоб отримати додаткові приклади доступу до цієї інформації на машинах Windows, Linux та OS X, перегляньте всі відповіді авторів тут .
Є що додати до пояснення? Звук у коментарях. Хочете прочитати більше відповідей від інших досвідчених користувачів Stack Exchange? Ознайомтесь із повним обговоренням тут .