Комп'ютерна платформа

система, оболонка виконання програм, сукупність апаратної архітектури і програмної основи

Комп'ю́терна платфо́рма — сукупність комп'ютерів, сумісних між собою в тому або іншому сенсі.

Можна розрізнити як мінімум чотири тлумачення цього терміна, так що одна платформа з погляду одного тлумачення може розпастися на комп'ютери зовсім різних платформ із погляду іншого.

Апаратна платформаРедагувати

Апаратна платформа визначає сумісність із погляду апаратних компонентів, роботи шин тощо. Апаратну платформу називають також архітектурою.[джерело?] Прикладом апаратної платформи є IBM PC.

Апаратну платформу утворюють архітектура комп'ютера (зокрема, мікроархітектура центрального процесора, його архітектура системи команд, мікрокод), архітектура інших процесорів, що можуть міститися у системі на кристалі чи на материнській платі, чипсет, шини, контролери та інші мікросхеми вводу-виводу, вбудовані програми — загалом, сукупність фізичних компонентів, які становлять апаратну модель обчислювальної системи.

Дистрибутиви операційних систем, а також двійкові файли прикладних програм компілюються саме з орієнтацією на певну комп'ютерну платформу і її можливості.

Однією з найпоширеніших офісних платформ та персональних комп'ютерів є IBM PC-сумісний комп'ютер. На ринку персональних комп'ютерів також поширені комп'ютери Apple. Ці платформи є широко відомими брендами.

Апаратна платформа Актуальність[коли?] Розробник Розрядність, біт Типи систем Рік початку виробництва Зняття з виробництва Примітки
Amiga Ні Commodore International, Escom, MacroSystem 32 ПК, гральна консоль, сервер 1985 1996 Архітектура «класичних» Amiga на процесорах m68k. У виробництві є клон на сучасних елементів базі (MiniMig) )
Amiga PowerPC Так Eyetech Group, Genesi, bPlan GmBH, ACube Systems Srl 32/64 ПК 2002 У виробництві Сучасні Amiga працюють на процесорах PowerPC.
X86 Так Intel Corporation 16, 32 ПК, сервер, ноутбук, кластер 1978 (16-розрядна), 1985 (32-розрядна) ?
x86-64 Так Advanced Micro Devices 64 ПК, сервер, ноутбук, кластер 2003 У виробництві Зворотна сумісність з 32-розрядною архітектурою x86.
SPARCv8 Ні Sun Microsystems 32 робоча станція,сервер 1992 ?
SPARCv9 Так Sun Microsystems 64 робоча станція,сервер 1994 У виробництві
IA-64 Так Intel Corporation та Hewlett-Packard 64 сервер 2001 Знято з виробництва Розроблялася на зміну 32 бітних CPU Intel, але не сумісна з IA-32. Втратила важливість з появою AMD64
Alpha Ні Digital Equipment Corporation 64 робоча станція, сервер 1992 27 жовтня 2007 року
ESA/390 Так IBM 32 мейнфрейм 1990 ? Назад сумісний з System/360 та ESA/370. Фірмами середнього розміру застосовується для зберігання даних та віртуалізації серверів (LPAR).
z/Architecture Так IBM 64 мейнфрейм 2000 В виробництві Назад сумісний з ESA/390. Може запускатися до 60 логічних розділів (LPAR). Можливо кілька машин цього класу об'єднати в кластер.
Xbox 360 Так Microsoft у співпраці IBM, ATI та SiS 64 гральна консоль 2005 У виробництві CPU Xenon з архітектурою PowerPC, 3 ядра з двома апаратними потоками на кожне, 3,2 ГГц. Заявлена сумарна продуктивність системи — 1 Т FLOPS (продуктивність CPU — 115 Гфлопс). Частково сумісний з Xbox.
PlayStation 3 Так Sony у співпраці з Toshiba та IBM 64 гральна консоль 2006 У виробництві Частково сумісна з PlayStation та PlayStation2. 2 Тфлопс. CPU Cell. GPU RSX від NVidia.
Nintendo Entertainment System (Dendy в Росії) Ні Nintendo, Масеюкі Уемурой[Що?] 8 гральна консоль 1983 У виробництві Процесор MOS Technology 6502 1,79 МГц, оперативна пам'ять 2 Кб, картридж постійної пам'яті 48 Кб, відеопам'ять 2 Кб, 256×240 пікселів, 48 кольорів, п'ятиканальний звукогенератор.
Motorola 68xxx Ні Apple 16 ПК 1984 1996 ПК Macintosh під управлінням Mac OS Classic версій до 7.5.1
PowerPC Ні Apple 32 ПК, сервер 1996 2006 ПК та сервери Macintosh під управлінням Mac OS Classic версії 8, версії 9 та Mac OS X для платформи PowerPC.

Платформи-анклавиРедагувати

Іноді гілка CPU припиняє розвиток, і може виникнути комп'ютерний анклав, тобто користувачі як і раніше люблять свої комп'ютери або не можуть від них відмовитися. Технічний прогрес в анклаві уповільнений або повністю зупинений. Залізо комп'ютерного анклаву на рівні машинних кодів не сумісно з мейнстрім платформами та поступово морально старіє. Це означає, що у користувачів є велика спокуса змінити платформу. Програмісти якщо й пишуть нові програми, то, як правило, на вільних, ніж комерційних, засадах.

  • Анклав Commodore 64 багато в чому зобов'язаний своєму існуванню можливості писати музику на цьому комп'ютері 1982 року випуску. Німецька група Welle:Erdball, що грає в стилі Синті-поп, пише п'ять своїх учасників — п'ятим, завжди та скрізь вказуються в списку музикантом, є комп'ютер Commodore 64.
  • 8-бітові процесори Intel, такі як 8080 та 8085, несумісні з intel 8086 та іншими 16 бітними процесорами Intel. Сьогодні[коли?] 8080 та 8085 є анклавом. Прикладом з анклава може бути комп'ютер MFA з процесором 8085. Він як і раніше застосовується студентами для вивчення функціонування ЕОМ. Несумісні з архітектурою X86 процесори/платформи ліній iAPX 432, i960 та i860, теж пішли у минуле, з різних причин анклавів не утворюють.
  • ZX Spectrum, будучи створеним в 1982, застосовується любителями досі. Процесорів Zilog Z80 вироблено більше мільярда. Існує (чи існувала) велика кількість клонів ZX Spectrum; деякі з них мають можливості для під'єднання різних периферійних пристроїв (диски IDE, CD-приводи, клавіатуру і мишу PS/2). Все ще залишається популярним у демосцені. Таким чином, хоча ZX Spectrum не надто активно вдосконалюється технічно, але залишається полотном для комп'ютерного мистецтва.

Платформа процесораРедагувати

Розглядається здатність процесора виконувати той самий код, ігноруючи розходження в їхній внутрішній будові й інтерфейсі. Прикладом платформи процесора є x86.

Платформа операційної системиРедагувати

Розглядається сумісність або подібність на рівні операційних систем, наприклад, файлових систем і користувацького середовища. Прикладом платформи операційної системи є UNIX, див. також POSIX.

Сполучення цього тлумачення й платформи процесора приводить до поняття сумісності на рівні виконуваних файлів.

Віртуальні машиниРедагувати

Докладніше: Віртуальна машина

Розглядається можливість комп'ютерних систем, різних з усіх трьох наведених вище точок зору, виконувати те ж саме програмне забезпечення у так називаній віртуальній машині. Прикладом віртуальної машини є Java, здатна працювати на платформах, різних з погляду трьох попередніх тлумачень. Для реалізації віртуальної машини потрібно програмне забезпечення, про яке говорять як про кросплатформенне.

Кросплатформенне програмне забезпеченняРедагувати

Запуск програмного забезпечення на більш ніж одній апаратній платформі і/або операційній системі є важливим завданням, як для розробників нової апаратури, так і для програмістів.

  • Debian компілює свої пакети для GNU/Linux для трьох архітектур процесорів Intel: IA-32 (x86-32), x86-64, IA64. також офіційно створюються пакети для ще 8 апаратних платформ. Пакети, оптимізовані для конкретних процесорів своїх платформ користувачі можуть створити самі. Debian GNU/Hurd та GNU/kFreeBSD поки підтримують меншу кількість платформ.
  • ОС NetBSD портована на 60 апаратних платформ (включають в цілому 17 різних процесорних архітектур).
  • Запуск на різних архітектурах одного і того ж прикладного програмного забезпечення без необхідності забезпечувати сумісність на рівні ОС реалізується шляхом стандартизації мов, компіляторів, бібліотек та середовища виконання (див., наприклад, POSIX), а також шляхом переходу на виконання ПО у віртуальній машині та стандартному оточенні, які реалізуються для кожної платформи та гарантують однакове виконання ПО незалежно від платформи (див., наприклад, Common Language Infrastructure та Віртуальна машина Java).

Несумісні апаратні платформиРедагувати

Апаратні платформи несумісні в разі відмінності програмної моделі процесора, а також відмінності системних шин і пристроїв на материнській платі.

Несумісність коду, що виконується процесоромРедагувати

Нові процесори x86 набувають нових команд, таких як операції математичного співпроцесора (FPU); мультимедійні розширення (MMX); серії команд SSE (SSE, SSE2, SSE3, SSE4 та SSE5); підтрмка віртуалізації тощо. Нові команди серйозно впливають на сумісність процесорів, тому розробникам програмного забезпечення доводиться орієнтуватися на дві платформи, старішу X86 та новішу x86-64. Проблема сумісності коду — ситуація, коли процесори різних сімейств не можуть виконувати один і той ж машинний код. Наприклад, між двома 32-бітними процесорами одного і того ж виробника, Intel — Pentium Pro та Pentium 2, може виникнути несумісність через відсутність у першого команд MMX, якщо такі присутні у програмі.

Несумісність пристроїв та материнських платРедагувати

Конкретно взята материнська плата, особливо персонального комп'ютера, також вносить свій внесок в несумісність платформ. На сучасній материнській платі розташовано безліч вбудованих (англ. integrated, інтегрованих в плату) пристроїв, для яких, на відміну від визначених у дистрибутиві сімейства операційних систем Windows NT восьми альтернативних (англ. Hardware abstraction layer, HAL) та мультиплатформових драйверів для цілих класів пристроїв, потрібні специфічні драйвери. Тому, при установці операційної системи Windows 9x або NT, вона за допомогою установки драйверів специфічного обладнання, «прив'язується» до конкретної материнської плати. Подальший перенос операційної системи на іншу материнську плату пов'язаний зі складністю забезпечення апаратної сумісності нової апаратної платформи.

Для вирішення цієї проблеми в корпоративному сегменті, нова техніка (материнська плата, периферійні пристрої) проходить ретельну підгонку[що це?] під існуючий HAL, або, якщо розробляється лінійка є революційною та перспективною, під неї створюється новий HAL, узгоджений зі сторонніми розробниками програмного та апаратного забезпечення.

ЛітератураРедагувати

Див. такожРедагувати

ПосиланняРедагувати