История переносимости Linux

История переносимости Linux

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

Первые выпуски ОС 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, H8/300, IBM POWER, v850, x86-64 и версии ядра, которое работает на виртуальной машине под ОС Linux - Usermode Linux. Поддержка 64-разрядной s390 была объединена с 32- разрядной платформой s390, чтобы избежать дублирования.

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1.1 ИСТОРИЯ

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

1.1 ИСТОРИЯ В 1965 году фирма Bell Telephone Laboratories, объединив свои усилия с компанией General Electric и проектом MAC Массачусетского технологического института, приступили к разработке новой операционной системы, получившей название Multics [Organick 72]. Перед системой Multics были поставлены


3.1.8 Формулировки мобильности (переносимости)

Из книги Пакеты программ. Требования к качеству и тестирование автора Автор неизвестен

3.1.8 Формулировки мобильности (переносимости) В описание продукта могут быть внесены формулировки требований (правил) по мобильности


19.2.3.6. Рекомендованные практические приемы переносимости кода С/С++

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

19.2.3.6. Рекомендованные практические приемы переносимости кода С/С++ При написании программ на С используйте полные ANSI-функции. В частности, используйте прототипы функций, которые помогают выявить несовместимость между модулями. Старые компиляторы в стиле K&R — древняя


19.2.3.6. Рекомендованные практические приемы переносимости кода C/C++

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

19.2.3.6. Рекомендованные практические приемы переносимости кода C/C++ При написании программ на С используйте полные ANSI-функции. В частности, используйте прототипы функций, которые помогают выявить несовместимость между модулями. Старые компиляторы в стиле K&R — древняя


История SAP

Из книги Внедрение SAP R/3: Руководство для менеджеров и инженеров автора Кале Вивек

История SAP Краткая хронология истории компании SAP AG выглядит так: 1972 г. Пятеро системных аналитиков покидают компанию IBM и основывают Systemanalyse and Programmentwicklung («Системный анализ и разработка программ») в г. Маннхейм. Новая компания разрабатывает и представляет систему для


Глава 1 История создания Linux

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Глава 1 История создания Linux Термин Linux используется для обозначения разных понятий. Технически точным определением является следующее. Linux — это свободно распространяемое ядро Unix-подобной операционной системы. Однако многие подразумевают под термином Linux всю


История Linux

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич


33.9. Проблемы переносимости

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

33.9. Проблемы переносимости Эта книга делает упор на создании сценариев для командной оболочки Bash, для операционной системы GNU/Linux. Тем не менее, многие рекомендации, приводимые здесь, могут быть вполне применимы и для других командных оболочек, таких как sh и ksh.Многие


9.6. Вопросы сопровождения и переносимости

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

9.6. Вопросы сопровождения и переносимости Если вы решили включить в программу архитектурно-зависимые ассемблерные вставки. поместите их в отдельные макросы или функции, что облегчит сопровождение программы. Когда все макросы находятся в одном файле и задокументированы,


Для пользователей Linux Инструкция для пользователей Linux (от Incanter)

Из книги Флибуста. Обратная сторона [Инструкции по установке и запуску i2p, TOR и VPN для «чайников». v. 1.1] автора Коллектив авторов

Для пользователей Linux Инструкция для пользователей Linux (от Incanter) 1. Проверяем наличие java, если она отсутствует, устанавливаем: Рис. 902. Чтобы сборка i2p под Linux всегда была чистой и свежей, идем на http://code.google.com/p/i2p и стягиваем оттуда jar-архив Рис. 913. Запускаем консоль,


Пару слов о переносимости

Из книги Разработка ядра Linux автора Лав Роберт

Пару слов о переносимости Если говорить коротко, то написание переносимого, ясного и красивого кода подразумевает следующие два момента.• Код необходимо разрабатывать с учетом самого общего сценария: следует предполагать, что все, что может случиться, обязательно


История

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович


IPLabs Linux Team: начало русского Linux’а

Из книги Вопросы истории: UNIX, Linux, BSD и другие автора Федорчук Алексей Викторович

IPLabs Linux Team: начало русского Linux’а Следующая веха на пути русского Linux’а – 1998 год, когда фирма IPLabs (точнее, ее подразделение – IPLabs Linux Team) совместно с Институтом логики (на самом деле это были одни и те же люди – Алексей Новодворский, Алексей Смирнов и Юрий Девяткин с