Отец демона и пингвина Vint (vint@vpost.ru) Спецвыпуск: Хакер, номер #047, стр. 047-008-1 Особенности архитектуры UNIX «Linux в массы!», «FreeBSD на рабочий стол!» – эти лозунги все чаще можно увидеть в интернете. Народ захотел Open Source на свои домашние машины. Но что же объединяет Linux и BSD? Этого многие не понимают. По сути, Linux и все возможные клоны BSD происходят от одной системы – UNIX. Давай рассмотрим архитектуру этой ОС более подробно. Когда мы были молодые, а компьютеры - большие На дворе 1969 год. К компьютерам имеют доступ лишь избранные профессора крупнейших университетов. Время работы у терминала строго ограничено, и за каждой минутой загрузки машины ведется строгий учет. Стоимость одного вычислительного центра приближается к бюджету небольшой страны. Именно на такой машине, называвшейся PDP-7, программисты Денис Ритчи (Dennis Ritchie), Радд Кенедей (Rudd Canaday), Дуг Макилрой (Doug McIlroy) и Кен Томпсон (Ken Thompson) в течение месяца написали ОС, оболочку, ассемблер и редактор. Следующей вехой развития UNIX считается его первое портирование на машину с другой архитектурой. На более производительном PDP-11/20 UNIX был полностью переписан с ассемблера на язык Би ("B"). С 1970 до 1972 UNIX развивался компанией AT&T Bell Lab. В 1973 году Ритчи и Томпсон перевели операционную систему на язык С. К этому моменту UNIX был установлен на 25 машинах – немного, но если ты вспомнишь, сколько всего компьютеров было тогда в мире, то поймешь, что означали эти инсталлы новой системы. ОС обретала новое звучание в компьютерном мире, о ней начали говорить как о серьезном проекте. Пятая редакция проекта внесла огромный вклад в развитие системы в целом – исходные коды UNIX стали доступны студентам университетов. Началась эра массового увлечения *nix и его клонами. В университете г. Беркли собирается группа разработчиков и начинается выпуск клонов UNIX – BSD-систем. После этого происходит непрерывное совершенствование исходных кодов системы, но концепция операционной системы сложилась именно в 70-е годы двадцатого столетия. Последующие версии и клоны устраняли слабые места и увеличивали функциональность программной модели, но фундаментальных изменений не вносили. Основные плюсы системы Многопользовательская ОС Уже в 70-е годы ОС UNIX была многопользовательской системой, то есть за одним компьютером могло работать несколько пользователей одновременно. При этом система заботится о том, чтобы всем хватало ресурсов, чтобы пользователи не могли оказать никакого влияния друг на друга. Многозадачность В UNIX используется вытесняющая многозадачность, которая базируется на понятии приоритетов и квантования процессорного времени. Все процессы разбиваются по нескольким группам в зависимости от того, кто их запускает. Кроме этого, процессы-дети получают права родителей, изменение приоритета возможно только системным вызовом, инициируемым ядром или пользователем root. Основными считаются три класса: приоритет реального времени, системных процессов, класс процессов разделения времени. Но не только отношение к определенному типу приоритетов регулирует процессорное время для данного приложения, еще существует понятие кванта времени. Грубо говоря, эта переменная регламентирует, через сколько тиков системных часов следует передать управление следующему процессу. |