Современные операционные системы

Современные операционные системы
Что такое операционная система / Онтогенез повторяет филогенез

Онтогенез повторяет филогенез




После того как была опубликована книга Чарльза Дарвина «Происхождение видов», немецкий зоолог Эрнст Хэккель (Ernst Haeckel) сформулировал правило: «Онтогенез повторяет филогенез». Сказав это, он имел в виду, что развитие зародыша (онтогенез) повторяет эволюцию видов (филогенез). Другими словами, человеческая яйцеклетка с момента оплодотворения до того, как стать ребенком, проходит через состояния рыбы, свиньи и т. д. Современные биологи считают такую модель очень сильно и грубо упрощенной, но все же доля истины в ней есть.

Отчасти нечто подобное произошло и в компьютерной индустрии. Похоже, что каждая новая разновидность (мейнфреймы, мини-компьютеры, персональные компьютеры, КПК, встроенные компьютеры, смарт-карты и т. д.) проходит путь развития своих предшественников, как в аппаратном, так и в программном обеспечении. Мы часто забываем о том, что многое происходящее в компьютерной индустрии и во многих других областях является технологически обусловленным процессом. Древние римляне испытывали недостаток в автомобилях не потому, что они слишком любили пешие прогулки, а потому, что они не знали, как эти автомобили создаются. Персональные компьютеры существуют не потому, что миллионы людей веками испытывали скрытое желание иметь свой компьютер, а потому, что в настоящее время появилась возможность их сравнительно дешевого производства. Мы часто забываем, какое сильное влияние оказывает технология на наш взгляд на разные системы, и нам не мешало бы периодически задумываться над этим вопросом.

Достаточно часто технологические изменения приводят к тому, что какая-то идея устаревает и быстро выходит из употребления. Но другие технологические изменения способны снова вернуть ее к жизни. Это особенно характерно для тех случаев, когда изменения касаются относительной производительности различных компонентов системы. Например, когда быстродействие центрального процессора значительно превышает скорость работы памяти, становится актуальным использование кэш-памяти, чтобы ускорить работу «медленной» памяти. Если в один прекрасный момент новая технология памяти сделает ее намного быстрее центральных процессоров, кэш-память исчезнет. А если новая технология производства процессоров позволит им в очередной раз стать быстрее памяти, то кэшпамять появится снова. В биологии виды исчезают навсегда, но в компьютерном мире иногда что-нибудь исчезает всего лишь на несколько лет.

Вследствие такого непостоянства в этой книге мы будем время от времени рассматривать «устаревшие» понятия, то есть идеи, не являющиеся оптимальными для текущего состояния компьютерных технологий. Однако технологические изменения могут вернуть к жизни некоторые из так называемых «устаревших понятий». Поэтому важно разобраться в том, почему понятие считается устаревшим и какие изменения в окружающем мире могут вернуть ему актуальность.

Чтобы пояснить эту мысль, давайте рассмотрим простой пример. Первые компьютеры имели аппаратно-реализованные наборы команд. Команды выполнялись непосредственно аппаратурой и не могли быть изменены. Затем настали времена микропрограммирования (впервые нашедшего широкое применение на машинах IBM 360), в котором интерпретатор переносил «аппаратные команды» в программное обеспечение. Выполнение аппаратных команд стало устаревшей, недостаточно гибкой технологией. Когда были изобретены RISC-компьютеры, микропрограммирование (то есть интерпретируемое выполнение) стало устаревшим, поскольку непосредственное выполнение работало гораздо быстрее. А теперь мы наблюдаем возрождение интерпретации в виде Java-апплетов, посылаемых по Интернету и интерпретируемых по прибытии. Скорость выполнения не всегда является решающим аргументом при развитии тенденции к доминированию сетевых задержек. Мы видим, что маятник уже несколько раз качался между непосредственным выполнением и интерпретацией, и он может продолжить свои колебания в будущем.

Давайте рассмотрим историю некоторых разработок в области аппаратного обеспечения и их неоднократное влияние на программное обеспечение.



Полное описание: Онтогенез повторяет филогенез




С этим описанием рассматриваются следующие темы:


Аппаратные средства защиты
На ранних универсальных машинах вроде IBM 7090/7094 аппаратные средства защиты отсутствовали, поэтому в процессе работы эти машины могли выполнять лишь одну программу, которая при наличии ошибок могла затереть операционную систему и вывести из строя всю машину. С появлением IBM 360 стали доступны примитивные формы аппаратных средств защиты, поэтому данные машины могли содержать в памяти несколько программ одновременно, позволяя им работать по очереди (в режиме многозадачности). Однозадачная рабо ... Читать

Большие объемы памяти
У первых универсальных машин был ограниченный объем памяти. В полной конфигурации машины IBM 7090 или 7094, доминировавшие на рынке с конца 1959 и до 1964 года, имели память объемом всего лишь в 128 Кбайт. Разработка программ для них велась в основном на ассемблере, и операционная система также была написана на ассемблере, чтобы сэкономить драгоценную по тем временам память. Со временем компиляторы для таких языков, как FORTRAN и COBOL, стали настолько качественными, что ассемблер был объявлен у ... Читать

Применение потоков
Зачем нам нужна какая-то разновидность процесса внутри самого процесса? Необходимость в подобных мини-процессах, называемых потоками, обусловливается целым рядом причин. Рассмотрим некоторые из них. Основная причина использования потоков заключается в том, что во многих приложениях одновременно происходит несколько действий, часть которых может периодически быть заблокированной. Модель программирования упрощается за счет разделения такого приложения на несколько последовательных потоков, выполня ... Читать

Обзор аппаратного обеспечения компьютера
Операционная система тесно связана с аппаратным обеспечением компьютера, на котором она работает. Она расширяет набор команд компьютера и управляет его ресурсами. Чтобы операционная система заработала, нужны глубокие познания в компьютерном оборудовании, по крайней мере нужно представлять, в каком виде оно предстает перед программистом. Поэтому давайте кратко рассмотрим аппаратное обеспечение, входящее в состав современного персонального компьютера. После этого мы сможем приступить к подробному ... Читать

Операционная система в качестве менеджера ресурсов
Представление о том, что операционная система главным образом предоставляет абстракции для прикладных программ, — это взгляд сверху вниз. Сторонники альтернативного взгляда, снизу вверх, придерживаются того мнения, что операционная система существует для управления всеми частями сложной системы. Современные компьютеры состоят из процессоров, памяти, таймеров, дисков, мышей, сетевых интерфейсов, принтеров и широкого спектра других устройств. Сторонники альтернативного взгляда считают, что задача ... Читать