Главная » Ядро Linux » История переносимости Linux

0

Когда  Линус  Торвальдс впервые выпустил операционную  систему  Linux  в  ничего не подозревающий мир,  эта  ОС  работала только  на аппаратной платформе Intel  i386. Хотя  данная операционная система  и  была  достаточно хорошо   обобщена и  хорошо написана,  переносимость для  нее  не  была  основным  требованием.  Однажды Линус даже  говорил,  что  операционная  система   Linux  не  будет  работать  ни  на  какой   аппаратной платформе,  кроме   i386!  Тем  не  менее  в  1993  году  началась работа  по  пор-

тиропаиию ОС  Linux  на  машины Digital  Alpha.  Аппаратная платформа Digital  Alpha была  повой  высокопроизводительной RISC-платформой с поддержкой 64-разрядной адресации памяти.  Она  очень  сильно отличалась от  аппаратной платформы i386, о которой говорил Линус.  Тем  не менее, первоначальный перенос на аппаратную платформу  Alpha  занял  около   года, и  аппаратная платформа Alpha  стала  первой официально  поддерживаемой аппаратной платформой после  х8б.  Это  портировапие было, наверное, самым  сложным, потому  что — первым. Вместо  простого переписывания ядра  для  поддержки новой аппаратной платформы, части  ядра  были  переписаны с целью  введения переносимости1 . Хотя  это  и привело к выполнению большого количества  работы, в результате получился более  ясный для  понимания код, и  в будущем перенос стало  выполнять более  просто.

Первые выпуски ОС  Linux  поддерживали только   платформу  i386,  а  серия  ядер

1.2 уже  поддерживала Digital  Alpha,  Intel  x86, MIPS  и  SPARC, хотя  такая   поддержка была  отчасти   экспериментальной.

С  выпуском ядра  версии 2.0  была  добавлена официальная  поддержка платформ Motorola 68k  и  PowerPC.  В дополнение к  этому  поддержка всех  аппаратных платформ,  которые ранее  поддерживались ядрами серии   1.2, стала  официальной и  стабильной.

В  серию  ядер  2.2  была  введена   поддержка еще  большего количества аппаратных платформ: добавлены ARM,  IBM  S/390  и  UltraSPARC. Через  несколько лет  в  серии ядер  2.4  количество  поддерживаемых аппаратных платформ  было  почти  удвоено, и их количество стало  равным  15.  Была  добавлена поддержка платформ CRIS,  IA-64,

64-разрядная MIPS, HP  PA-RISC, 64-разрядная IBM  S/390  и Hitachi SH.

В  серии   2.6  количество  поддерживаемых аппаратных  платформ  было  доведено до  20 за счет добавления платформ Motorola 68k бел устройства MMU,  Н8/300, IBM POWER,  v850, x86-64  и  версии ядра,  которое работает на  виртуальной машине под ОС  Linux    Usermode Linux.   Поддержка  64-разрядной  s390  была  объединена с  32разрядной  платформой  s390, чтобы  избежать дублирования.

Необходимо заметить,  что  каждая  из  этих  аппаратных платформ поддерживает различные типы  машин и  микросхем. Некоторые  из  поддерживаемых аппаратных платформ, такие  как  ARM  и  PowerPC,  поддерживают очень  большое количество типов  микросхем и машин. Поэтому, хотя  ОС  Linux  и работает на 20 аппаратных платформах, она  работает на  гораздо  большем количестве типов  компьютеров!

Источник: Лав,  Роберт. Разработка ядра  Linux, 2-е  издание. : Пер.  с англ.  — М.  : ООО  «И.Д.  Вильяме» 2006. — 448 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии