Это - копия документа, находившегося на http://dz.ru. Авторские права, если не указано иначе, принадлежат Дмитрию Завалишину и/или Евгении Завалишиной. Все изменения, внесенные мной, находятся в этой рамочке.Пожалуйста, прочитайте disclaimer. |
Продолжаем разговор c Карлсон. Разговор о том, как строились операционные системы последние несколько десятков лет :-). Про десятки я подзагнул - в древность совсем уж лезть не хочется, но доля правды в том есть - от древнего ДОС ЕС современные модерновые оски не так уж и ускакали, увы. Концептуально, по крайней мере.
Нынешняя мэйнстрим-ОС являет собой арену, на которой встречаются несколько классов неравноправных бойцов. Обобщая, можно назвать ядро, драйверы, разделяемые библиотеки и процессы. (Процессы - это то, что исполняет задачи. Например, вы сейчас читаете эту страничку броузером, а броузер исполняется в рамках собственного процесса.)
В разных ОС по-разному называют эти компоненты, но суть мало меняется от того,что в Юниксе это называется "разделяемая библиотека", а в полуосе и windows - динамически подгружаемая. Все то же самое.
Среди драйверов тоже встречаются некоторые различия. Так, в некоторых юниксах существуют подгружаемые модули ядра вообще, а драйверы - в частности. В OS/2 кроме драйверов есть менеджеры устройств по классам - CD-ROM-ы, диски, SCSI, ASPI... В NT драйверы могут делиться на обобщенный драйвер рода устройств (например, CD-writer-ы) и минидрайвер конкретного вида (модели). Можно долго обсуждать плюсы и минусы отдельных подходов, но, как, надеюсь, будет видно дальше, это не имеет смысла.
Чем отличается драйвер от ядра, процесс от драйвера а DLL от процесса? Ну вот, например, у DLL-я нет своего контекста исполнения. Что такое контекст исполнения? "Да вас это не колышет, товарищ лейтенант!" c анекдот. Ну, вкратце, процесс имеет свой поток управления, свои открытые файлы, свои системные хендлы, окна, семафоры и прочее тряхозвоние, а DLL - только чужие. Вот видите - я же говорил, что вас это не колышет... совершенно неинтересно. И непонятно - зачем в системе существовать сущности (DLL), котороая отличается от другой только отсутствием части прав и возможностей.
Возьмем драйвер. Чем он отличается от братьев? Тем же поражением в правах, что и DLL, плюс еще живет на хлебах у ядра, и обладает доступом к аппаратуре. То есть тот же процесс, только допущеный к святым местам и слегка урезанный. Кто мешал сделать то, что делает драйвер, с помощью обычного процесса?
Да никто - ответили апологеты микроядерных ОС, и создали новый мир. В нем, как я уже писал, было мелкое и ничего не умеющее ядро, и активно общающиеся процессы. Единым росчерком пера дизайнера вся эта кунсткамера была уничтожена и на свет явилась архитектура "клиент-сервер" во всем великолепии своей простоты. Нет DLL-ей, нет подсистем, нет драйверов - есть только процесс, который хочет и процесс, который может. Первый - клиент, обращается ко второму за услугой. Второй ее исполняет и возвращает результат. Все просто и красиво.
А если реализовать с умом - то и ужасно хорошо интегрируется со всяческими сетями. Ибо клиенту все равно, в общем, где его сервер - тут, или в Актюбинске. Лишь бы запрос ушел и ответ вернулся.
На получившееся посмотрели ценители объектной ориентированности и... прониклись. Потому, что в результате вышла ОО ОС. Если правильно проектировать, конечно.
Что нетривиально. Ибо практическим воплощением идеи микроядра занялись Юниксоиды, обладающие в осостроении наибольшей социальной активностью. А юниксоиды что строить не начнут - все одно выходит юникс. Даже напильник не спасает.
За дело брался и Джобс. Получился, ясное дело, макинтош :-) (шучу, шучу!), но скрещеный с юниксом, как я уж говорил. Нет, поймите меня правильно - и макос, и юникс - чудесные системы, но сколько же можно! Идут же десятилетия, а на дворе - все юникс. Джобс делал ОС - юникс просвечивает. Гейтс сел делать ОС... нет, это вообще отдельная история.
Один мастер всю жизнь делал игрушки. Красивые, веселые, даже большие и с претензией, но все-ж игрушки. Куклы и машинки, дворцы и башни, конструкторы и пистолеты - массу игрушечных вещей, почти совсем-свовсем-совсем как настоящих, делал мастер. Иногда его игрушки даже принимали за настоящие вещи, и пытались ими пользоваться. Только у машинок отскакивали колеса, дворцы и башни разваливались во время бала принцессы, а пистолет, взятый грабителем на дело, вместо выстрелов показывал банковским охранникам язык и весело смеялся.
Мастер же грустил. Ему хотелось сделать хоть раз что-нибудь настоящее!
И вот как-то раз он решил - будь, что будет, но потрачу последние силы на то, чтобы построить один взаправдашний дом. Как у всех. Мастер собрал лучших плотников и кровельщиков, заказал проект у лучшего архитектора и краски в лучшем магазине. Работали они тридцать лет и три года.
И построили настоящий дом.
Обошли его сзади, а он... ну, мужик, ты понял, да? :-)
Кстати - версия 5.0 взаправдашнего дома (Windows NT - прим. Ред.) тоже задерживается - поговаривают, что до 99-го не выйдет. А для полноты гармонии Caldera подала на мастера в суд.
Двойник Билла Гейтса, торговавший на Комдексе компактами с "Microshaft Winblows 98" был изгнан с выставки. Фу. Нельзя же так, милые. Прививать любовь к партии огнем и мечом - как-то грубо и не по-европейски... впрочем дело было и не в европе.
Вице-президент фирмы "Палладиум", автора продукта, собирается протестовать. Впрочем, думаю, на самом деле "Палладиум" рад случившемуся. Реклама на весь мир - ни за грош, плюс образ страдальца за народ.
Так перепугавший комдексовское начальство продукт представлен в интернете вот тут. Справа на картинке - "биллагучи", одна из компонент "Microshaft Winblows 98".
Что-то нынче Микрософту досталось... даже жалко стало.
Ассоциация производителей компьютерного и связного оборудования подала в суд заявление, в котором говорится, что Микрософт подгибает под свои нужды толкование отраслевых терминов, таких, как "операционная система" и др. Суть заявления относится к стратегии защиты Микрософта, опирающейся на идею, что броузер - неотъемлемая часть ОС.
С другой стороны, American Computer Scientists Association полагает, что Американский суд продался Сану и Нетскейпу. Протест этой ассоциации, предъявленый суду ранее, был отклонен, так как ассоциация не смогла объяснить, каким образом она задействована в разбирательстве.
Поток информации, обрушившийся на суд в отношении антимонопольного дела, кажется, только запутывает картину. Ежедневно появляются аргументы как за, так и против позиции Микрософт. Перечислять их все нет никакой возможности - уж больно занудно. Если будут существенные - обязательно вам о них расскажу.
Мистика продолжается. У Jane в рабочем фолдере самозародился файл с именем "Думаю.doc". Ошарашенная Женька открыла его Вордом, и нашла в нем всего одну фразу, до боли напоминающую вопль измученной души несчастного Пентиума. В файле было:
"Думаю - редко"
No comments. 8-O
Спонсор журнала, компания "Эксимер", не отвечает за содержание публикуемых в нем материалов.
Copyright c dz online, 1996-1997 Designed by Denis A. Kim |