Mac OS X: ОС, совместимая с новомодными терминами

Невозможно прочесть статью о Mac OS X, не встретив некоторые технические термины, прежде употреблявшиеся исключительно компьютерными инженерами. Компания Apple, естественно, гордится тем, что Mac OS X предлагает все эти изощренные современные функции операционной системы. Раз уж они появились на страницах широкой печати, нам остается просветить вас относительно этих порой бесполезных заумных слов. Вот что они означают. Вытесняющая многозадачность (preemptive multitasking). Большинство людей знает, что многозадачность это «способность делать несколько дел сразу». Мак многие годы позволял одновременно распечатывать документ, скачивать файл и работать в текстовом редакторе.
К сожалению, многозадачность Mac OS 7/8/9 (и Windows 95/98/Me) действовала по правилу «кто смел, тот и съел». Если одна из программ беззастенчиво отвлекала внимание процессора Мака (например, зависнув), то остальным программам доставалась «дырка от бублика». Такой тип многозадачности называется кооперативной (cooperative). Понятно, что она работает, только если программы на самом деле «сотрудничают» друг с другом.
Система вытесняющей многозадачности (preemptive multitasking) Mac OS X приводит в общежитие коменданта, чтобы гарантировать каждой программе справедливую долю времени центрального процессора. В результате программы сосуществуют намного лучше, а плохо написанным или «зависшим» программам не позволено огорчать других.
Многопоточность (multithreading) тоже означает «способность делать несколько дел сразу», но на этот раз в рамках одной программы. Так, программа iMovie позволяет демонстрировать спецэффект и одновременно продолжать редактирование. Не все программы Mac OS 9 предоставляют подобную возможность, но все программы, специально написанные для Mac OS X, делают это. (Заметим, однако, что такую функциональность предоставляют не все программы, которые просто адаптированы для Mac OS X, т.е. «карбонизированы».)
Симметричная многопроцессорность (symmetric multiprocessing). Маки с несколькими процессорами — вовсе не новость. Но до Mac OS X эту возможность увеличения скорости использовали только специально написанные программы, например фильтры Adobe Photoshop.
Теперь с этим покончено. Mac OS X автоматически использует преимущество нескольких процессоров, распределяя нагрузку множества программ (или даже многопоточных задач в пределах одной программы), что означает ускорение любой программы Mac OS X. Mac OS X достаточно умна для того, чтобы справедливо распределять задачи по процессорам, обеспечивая продуктивность последних.
Динамическое выделение памяти (dynamic memory allocation). Объем оперативной памяти (RAM), отведенной программам Mac OS X, больше не фиксируется. Операционная система выделяет память программам и забирает ее у них в реальном времени, чтобы никакая часть RAM не простаивала. Для пользователя такой подход означает большую стабильность работы компьютера и меньшую нервотрепку.
Защита памяти (memory protection). В Mac OS X каждая программа выполняется в собственном непроницаемом «контейнере» — еще одна причина, по которой Mac OS X стабильнее своих предшественниц. Если одна из программ зависнет, система не позволит отравить колодец оперативной памяти, из которого еще смогут черпать другие программы. Программам все еще грозит зависание или неожиданное завершение — неряшливость программистов неодолима. Но теперь вместо сообщения «Сохраните документы и перезапустите систему» вы получаете возможность продолжать работу. Можно даже снова запустить только что отказавшую программу и работать с ней дальше.