Интернет. Настройки. Тарифы. Телефон. Услуги

Прикладная среда ос. Способы реализации прикладных программных сред

Концепция микроядерной архитектуры

Двоичная совместимость и совместимость исходных текстов

Двои́чная совмести́мость,- вид совместимости программ, позволяющий программе работать в различных средах без изменения её исполняемых файлов.

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

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

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

Один из более очевидных вариантов реализации множественных прикладных сред основывается на стандартной многоуровневой структуре ОС.

ОС ОС1 кроме своих приложений поддерживает приложения ОС2 и ОС3. Для этого в ее составе имеются специальные приложения, прикладные программные среды, которые транслируют интерфейсы чужих ОС API ЩС2 и API ОС3 в интерфейс своей родной ОС API ОС1.

Другая реализация множественных прикладных сред предполагает наличие в ОС нескольких равноправных прикладных программных интерфейсов.

В пространстве ядра системы размещаются прикладные программные интерфейсы всех ОС.



Функции уровня API обращаются к функциям нижележащего уровня ОС, который должен поддерживать 3 (в данном случае) несовместимые среды.

Функции каждого API реализуются ядром с учетом специфики соответствующей ОС, даже если они имеют аналогичное назначение.

Еще один способ построения множественных прикладных сред основан на микроядерном подходе. При этом важно отделить базовые, общие для всех прикладных сред механизмы ОС от специфических.

В соответствии с микроядерной архитектурой все функции ОС реализуются микроядром и серверами пользовательского режима.

Важно, что каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов.

Приложение, используя API, обращается к системным вызовам к соответствующей прикладной среде через микроядро.

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

Такому подходу конструирования множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры.

Самым многочисленным классом компьютера являются прикладные программы.

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

Прикладные программы – программы, предназначенные для решения конкретных задач пользователя.

Один из возможных вариантов классификации.

Классификация прикладного программного обеспечения по назначению

Текстовый редактор – программа, предназначенная только для просмотра, ввода и редактирования текста.

Текстовый процессор – программа, предоставляющая возможности ввода, редактирования и форматирования текста, а также вставки в текстовый документ объектов нетекстовой природы (графических, мультимедийных и др.).

Все текстовые редакторы сохраняют в файле «чистый» текст и благодаря этому совместимы друг с другом.

Различные текстовые процессоры записывают в файл информацию о форматировании по-разному и поэтому несовместимы друг с другом.

Основные компоненты текстового процессора:

  • Набор шрифтов.
  • Проверка орфографии.
  • Предварительный просмотр печатаемых страниц.
  • Объединение документов, многооконность.
  • Автоформатирование и автоперенос.
  • Стандартные инструменты.
  • Табличный редактор и калькулятор.
  • Вставка графических объектов.

Примеры — MS Word, Write, WordPerfect, Ami Pro, MultiEdit, Лексикон, Рефис

Издательские системы — необходимы для подготовки документов типографского качества, компьютерной верстки (объединение текста и графики в книгу, журнал, брошюру или газету).

Примеры — Corel Ventura, QuarkXPress, Adobe PageMaker, MS Publisher, FrameMaker

Графическая информация – сведения или данные, представленные в виде схем, эскизов, изображений, графиков, диаграмм, символов.

Графический редактор – программа для создания, редактирования, просмотра графический изображений.

Основные компоненты графического редактора:

  • Набор шрифтов, работа с текстом.
  • Стандартные инструменты.
  • Библиотека картинок.
  • Объединение картинок.
  • Спецэффекты.

Различают всего три вида компьютерной графики . Это растровая графика, векторная графика и фрактальная графика . Они отличаются принципами формирования изображения при отображении на экране монитора или при печати на бумаге.

Растровую графику применяют при разработке электронных (мультимедийных) и полиграфических изданий.

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

Фрактальную графику редко применяют для создания печатных или электронных документов, но ее часто используют в развлекательных программах

Примеры — Paint, PaintBrush, CorelDraw, MS PhotoEditor, Adobe PhotoShop, 3D MAX Studio

СУБД (система управления базами данных) — предназначена для автоматизация процедур создания, хранения и извлечения электронных данных (обработка массивов информации).

Примеры — dBase, Paradox, MS Access, Oracle, FoxPro

Интергрированные системы встречаются двух типов

  • Традиционные (полносвязанные) пакеты прикладных программ(ППП).
  • Пакеты прикладных программ с интеграцией объектно-связанного характера

Традиционные ППП

Интегрированный программный комплекс представляет собой многофункциональный автономный пакет, в котором в одно целое объединены функции и возможности различных специализированных (проблемно-ориентированных) пакетов. В этих программах происходит интеграция функций редактора текстов, СУБД и табличного процессора. В целом стоимость такого пакета гораздо ниже суммарной стоимости аналогичных специализированных пакетов.

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

Типичной является ситуация, когда данные, полученные из базы данных, необходимо обработать средствами табличного процессора, представить графически, а затем вставить в текст. Для выполнения работ такого типа существуют т.н. интегрированные пакеты – программные средства, совмещающие возможности, характерные в отдельности для текстовых редакторов, графических систем, электронных таблиц, баз данных и других программных средств. Конечно, такое совмещение возможностей достигается за счет компромисса. Некоторые возможности оказываются в интегрированных пакетах ограниченными или реализованными не в полной мере. Это касается, в первую очередь, богатства команд обработки БД и электронной таблицы, их размеров, макроязыков. Однако преимущества, создаваемые единым интерфейсом объединенных в интегрированном пакете программных средств, неоспоримы.

Известны пакеты Open Access фирмы Open Access, FrameWork фирмы Ashton-Tate, Lotus 1-2-3 и Symphony фирмы Lotus Development Corporation, Lotus Works.

ППП с интеграцией объектно-связанного характера

Это объединение специализированных пакетов в рамках единой ресурсной базы, обеспечение взаимодействия приложений (программ пакета) на уровне объектов и единого упрощенного центра-переключателя между программами.

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

Особенностью этого типа интеграции является использование общих ресурсов. Виды совместного доступа к ресурсам:

  • использование утилит, общих для всех программ комплекса (проверка орфографии);
  • применение объектов, которые могут находиться в совместном использовании нескольких программ;

В плане совместного использования объектов несколькими приложениями есть два основных стандарта:

  • динамической компоновки и встраивания объектов Object Linking and Embedding OLE фирмой Microsoft;
  • OpenDoc (открытый документ) фирмами Apple, Boriartd, IBM, Novell и WordPerfect.

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

Также данный механизм позволяет переносить OLE-объекты из окна одного приложения в окно другого.

OpenDoc представляет собой объектно-ориентированную систему, базирующуюся на открытых стандартах фирм – участников разработки. В качестве модели объекта используется распределенная модель системных объектов (DSOM – Distributed System Object Model), разработанная фирмой IBM для OS/2.

  • реализация простого метода перехода из одного приложения в другое;
  • наличие средств автоматизации работы с приложением (макроязыка).

Примеры: Borland Office for Windows, Lotus SmartSute for Windows, MS Office.

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

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

Принято выделять в ЭС три основных модуля: модуль базы знаний, модуль логического вывода, интерфейс с пользователем.

Экспертные системы используются в самых различных сферах человеческой деятельности – науке (классификация животных и растений по видам, химический анализ), в медицине (постановка диагноза, анализ электрокардиограмм, определение методов лечения), в технике (поиск неисправностей в технических устройствах, слежение за полетом космических кораблей и спутников), в геологоразведке, в экономике, в политологии и социологии, криминалистике, лингвистике и многих других. Существуют как узкоспециализированные ЭС, так и «оболочки», пользуясь которыми, можно, не будучи программистом, создавать свои ЭС.

Гипертекст – это форма организации текстового материала не в линейной последовательности, а в форме указаний возможных переходов (ссылок), связей между отдельными его фрагментами. В гипертекстовых системах информация напоминает текст энциклопедии, и доступ к любому выделенному фрагменту текста осуществляется произвольно по ссылке. Организация информации в гипертекстовой форме используется при создании справочных пособий, словарей, контекстной помощи в прикладных программах.

Системы мультимедиа – программы, обеспечивающие взаимодействие визуальных и аудиоэффектов под управлением интерактивного программного обеспечения.

АРМ – автоматизированное рабочее место.

АСНИ – автоматизированные системы научных исследований.

АСУ автоматизированная система управления.

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

Совместимость и множественные прикладные среды

Концепция множественных прикладных сред связана с нуждами конечных пользователей - возможностью операционной системы выполнять приложения других операционных систем. Такое свойство операционной системы называется совместимостью .

Двоичная совместимость и совместимость исходных текстов

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

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

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

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

Вызовы функций API, которые содержит приложение, должны поддерживаться ОС;

Внутренняя структура исполняемого файла приложения должна соответствовать структуре исполняемых файлов ОС.

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

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


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

На рисунке 6 операционная система OS1 поддерживает кроме своих приложений приложения операционных систем OS2 и OS3.

Для этого в ее составе имеются специальные приложения - прикладные программные среды, - которые транслируют интерфейсы «чужих» операционных систем API OS2 и API OS3 в интерфейс своей операционной системы - API OS1.

Рисунок 6 - Прикладные программные среды, транслирующие системные вызовы

В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных программных интерфейсов (рисунок 7). В приведенном примере операционная система поддерживает приложения для OS1, OS2 и OS3.

Для этого непосредственно в пространстве ядра системы размещены прикладные программные интерфейсы всех этих ОС: API OS1, API OS2 и API OS3.

Рисунок 7 - Реализация совместимости на основе нескольких равноправных API

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

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

Такому подходу к конструированию множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры, в частности:

Очень просто можно добавлять и исключать прикладные среды, что является следствием хорошей расширяемости микроядерных ОС;

Надежность и стабильность выражаются в том, что при отказе одной из прикладных сред все остальные сохраняют работоспособность;

Низкая производительность микроядерных ОС сказывается на скорости работы прикладных сред, а значит, и на скорости выполнения приложений.

Рисунок 8 - Микроядерный подход к реализации множественных прикладных сред

Создание в рамках одной операционной системы нескольких прикладных сред для выполнения приложений различных ОС - путь, который позволяет иметь единственную версию программы и переносить ее между ОС.

Выходом в таких случаях является использование так называемых прикладных программных сред. Одной из составляющих, формирующих прикладную программную среду, является набор функций интерфейса прикладного программирования API, которые операционная система предоставляет своим приложениям. Для сокращения времени на выполнение чужих программ прикладные среды имитируют обращения к библиотечным функциям.

Эффективность этого подхода связана с тем, что большинство сегодняшних программ работают под управлением GUI (Graphic User Interface графических интерфейсов пользователя) типа Windows, Mac или UNIX Motif, при этом приложения тратят большую часть времени, производя некоторые хорошо предсказуемые действия. Они непрерывно выполняют вызовы библиотек GUI для манипулирования окнами и для других связанных с GUI действий. Сегодня в типичных программах 6080 % времени тратится на выполнение функций GUI и других библиотечных вызовов ОС. Именно это свойство приложений позволяет прикладным средам компенсировать большие затраты времени, потраченные на покомандное эмулирование программы. Тщательно спроектированная программная прикладная среда имеет в своем составе библиотеки, имитирующие внутренние библиотеки GUI, но написанные на «родном» коде, и этим достигается существенное ускорение выполнения программ с API другой операционной системы. Иногда такой подход называют трансляцией для того, чтобы отличать его от более медленного процесса эмулирования кода по одной команде за раз.

Например, для Windows-программы, работающей на Macintosh, при интерпретации команд процессора Intel 80x86 производительность может быть очень низкой. Но когда производится вызов функции GUI открытия окна, модуль ОС, реализующий прикладную среду Windows, может перехватить этот вызов и перенаправить его на перекомпилированную для процессора Motorola 680x0 подпрограмму открытия окна. В результате на таких участках кода скорость работы программы может достичь (а возможно, и превзойти) скорость работы на своем «родном» процессоре.

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

3. 7. 3. Способы реализации прикладных программных сред

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

Во многих версиях ОС UNIX транслятор прикладных сред реализуется в виде обычного приложения. В операционных системах, построенных с использовани­ем микроядерной концепции, таких, как, например, Windows NT, прикладные среды выполняются в виде серверов пользовательского режима. А в OS/2 с ее более простой архитектурой средства организации прикладных сред встроены глубоко в операционную систему.

Один из наиболее очевидных вариантов реализации множественных приклад­ных сред основывается на стандартной многоуровневой структуре ОС. На рис. 3. 8 операционная система OS1 поддерживает кроме своих «родных» приложений приложения операционной системы OS2. Для этого в ее составе имеется специальное приложение – прикладная программная среда, которая транс­лирует интерфейс «чужой» операционной системы –API OS2 в ин­терфейс своей «родной» операционной системы – API OS1.

Рис. 3. 8. Прикладная программная среда, транслирующая системные вызовы

В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных програм-мных интерфейсов. В приведенном на рис. 3. 9примере операционная си-стема поддерживает прило­жения, написанные для OS1, OS2 и OS3. Для этого непосредственно в простран­стве ядра системы размещены прикладные программные интерфейсы всех этих ОС: API OS1, API OS2 и API OS3.

Рис. 3. 9. Реализация совместимости на основе нескольких равноправных API

В этом варианте функции уровня API обращаются к функциям нижележащего уровня ОС, которые должны поддерживать все три в общем случае несовмести­мые прикладные среды. В разных ОС по-разному осуществляется управление системным временем, используется разный формат времени дня, на основании собственных алгоритмов разделяется процессорное время и т. д. Функции каж­дого API реализуются ядром с учетом специфики соответствующей ОС, даже если они имеют аналогичное назначение.

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

В соответствии с микроядерной архитектурой все функции ОС реализуются мик­роядром и серверами пользовательского режима. Важно, что каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов (рис. 3. 10). Приложения, используя API, обра­щаются с системными вызовами к соответствующей прикладной среде через микроядро. Прикладная среда обрабатывает запрос, выполняет его (возможно, обращаясь для этого за помощью к базовым функциям микроядра) и отсылает приложению результат. В ходе выполнения запроса прикладной среде приходит­ся, в свою очередь, обращаться к базовым механизмам ОС, реализуемым микро­ядром и другими серверами ОС.

Рис. 3. 10. Микроядерный подход к реализации множественных прикладных сред

Такому подходу к конструированию множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры, в частности:

    очень просто можно добавлять и исключать прикладные среды, что является следствием хорошей расширяемости микроядерных ОС;

    надежность и стабильность выражаются в том, что при отказе одной из при­кладных сред все остальные сохраняют работоспособность;

    низкая производительность микроядерных ОС сказывается на скорости рабо­ты прикладных сред, а значит, и на скорости выполнения приложений.

Создание в рамках одной операционной системы нескольких прикладных сред для выполнения приложений различных ОС представляет собой путь, который позволяет иметь единственную версию программы и переносить ее между опера­ционными системами. Множественные прикладные среды обеспечивают совмес­тимость на двоичном уровне данной ОС с приложениями, написанными для других ОС. В результате пользователи получают большую свободу выбора опе­рационных систем и более легкий доступ к качественному программному обес­печению.

Вопросы для самопроверки

    Что понимают под архитектурой ОС?

    Какие три основных слоя принято выделять в структуре вычислительной системы?

    Какая роль возложена ОС на интерфейс системных вызовов?

    Какие условия при проектировании ОС должны быть соблюдены с тем, чтобы ОС была легко переносимой?

    В чем отличие микроядерной архитектуры от традиционной архитектуры ОС?

    Почему микроядро хорошо подходит для поддержки распределенных вычислений?

    Что подразумевается под концепцией множественных прикладных сред?

    В чем суть метода трансляции библиотек?

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

Во многих версиях ОС UNIX транслятор прикладных сред реализуется в виде обычного приложения. В операционных системах, построенных с использовани­ем микроядерной концепции, таких, как, например, Windows NT, прикладные среды выполняются в виде серверов пользовательского режима. А в OS/2 с ее более простой архитектурой средства организации прикладных сред встроены глубоко в операционную систему.

Один из наиболее очевидных вариантов реализации множественных приклад­ных сред основывается на стандартной многоуровневой структуре ОС. На рис. 3. 8 операционная система OS1 поддерживает кроме своих «родных» приложений приложения операционной системы OS2. Для этого в ее составе имеется специальное приложение – прикладная программная среда, которая транс­лирует интерфейс «чужой» операционной системы –API OS2 в ин­терфейс своей «родной» операционной системы – API OS1.

Рис. 3. 8. Прикладная программная среда, транслирующая
системные вызовы

В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных програм-мных интерфейсов. В приведенном на рис. 3. 9примере операционная си-стема поддерживает прило­жения, написанные для OS1, OS2 и OS3. Для этого непосредственно в простран­стве ядра системы размещены прикладные программные интерфейсы всех этих ОС: API OS1, API OS2 и API OS3.

Рис. 3. 9. Реализация совместимости на основе нескольких
равноправных API

В этом варианте функции уровня API обращаются к функциям нижележащего уровня ОС, которые должны поддерживать все три в общем случае несовмести­мые прикладные среды. В разных ОС по-разному осуществляется управление системным временем, используется разный формат времени дня, на основании собственных алгоритмов разделяется процессорное время и т. д. Функции каж­дого API реализуются ядром с учетом специфики соответствующей ОС, даже если они имеют аналогичное назначение.

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

В соответствии с микроядерной архитектурой все функции ОС реализуются мик­роядром и серверами пользовательского режима. Важно, что каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов (рис. 3. 10). Приложения, используя API, обра­щаются с системными вызовами к соответствующей прикладной среде через микроядро. Прикладная среда обрабатывает запрос, выполняет его (возможно, обращаясь для этого за помощью к базовым функциям микроядра) и отсылает приложению результат. В ходе выполнения запроса прикладной среде приходит­ся, в свою очередь, обращаться к базовым механизмам ОС, реализуемым микро­ядром и другими серверами ОС.

Рис. 3. 10. Микроядерный подход к реализации множественных
прикладных сред

Такому подходу к конструированию множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры, в частности:

· очень просто можно добавлять и исключать прикладные среды, что является следствием хорошей расширяемости микроядерных ОС;

· надежность и стабильность выражаются в том, что при отказе одной из при­кладных сред все остальные сохраняют работоспособность;

· низкая производительность микроядерных ОС сказывается на скорости рабо­ты прикладных сред, а значит, и на скорости выполнения приложений.

Создание в рамках одной операционной системы нескольких прикладных сред для выполнения приложений различных ОС представляет собой путь, который позволяет иметь единственную версию программы и переносить ее между опера­ционными системами. Множественные прикладные среды обеспечивают совмес­тимость на двоичном уровне данной ОС с приложениями, написанными для других ОС. В результате пользователи получают большую свободу выбора опе­рационных систем и более легкий доступ к качественному программному обес­печению.

Вопросы для самопроверки

  1. Что понимают под архитектурой ОС?
  2. Какие три основных слоя принято выделять в структуре вычислительной системы?
  3. Какая роль возложена ОС на интерфейс системных вызовов?
  4. Какие условия при проектировании ОС должны быть соблюдены с тем, чтобы ОС была легко переносимой?
  5. В чем отличие микроядерной архитектуры от традиционной архитектуры ОС?
  6. Почему микроядро хорошо подходит для поддержки распределенных вычислений?
  7. Что подразумевается под концепцией множественных прикладных сред?
  8. В чем суть метода трансляции библиотек?

Конец работы -

Эта тема принадлежит разделу:

Операционная система, процессы, оборудование

Операционная система ос в наибольшей степени определяет облик всей вычислительной системы в целом ос выполняет две по существу мало связанные.. ос как виртуальная расширенная машина использование большинства компьютеров.. с точки зрения пользователя функцией ос является предоставление пользователю некоторой расширенной или виртуальной..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Особенности аппаратных платформ
На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, ми

Задачи и упражнения
1. Какие события в развитии технической базы вычислительных машин стали вехами в истории операционных систем? 2. В чем состояло принципиальное отличие первых мониторов пакетной обработки о

Архитектура операционной системы
Любая хорошо организованная сложная система имеет понятную и рациональную структуру, то есть разделяется на части - модули, имеющие вполне законченное функциональное назначение с че

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

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

Подсистема управления файлами
Файл представляет собой набор взаимосвязанной информации, определенной при создании. Кроме собственно данных, файлы представляют программы, как в исходном, так и в объектном виде. Подсисте

Сетевое обеспечение
Распределенная система - набор процессоров, которые не распределяют память или каждый процессор имеет свою локальную память. Процессоры в системе соединены посредством компьютерной сети и обеспечив

Ядро и вспомогательные модули ОС
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы: ядро - модули ОС, выполняющие основные функции;

Ядро и привилегированный режим
Для надежного управления ходом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение мо

Многослойная структура ОС
Вычислительную систему, работающую под управлением ОС на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев: нижний слой образует аппар

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

Аппаратная зависимость и переносимость ОС
Многие операционные системы успешно работают на различных аппаратных платформах без существенных изменений в своем составе. Во многом это объясняется тем, что, несмотря на различия

Переносимость операционной системы
Если код операционной системы может быть сравнительно легко перенесен с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную пл

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

Двоичная совместимость и совместимость исходных текстов
Необходимо различать совместимость на двоичном уровне и совместимость на уровне исходных текстов. Приложения обычно хранятся в ОС в виде исполняемых файлов, содержащих двоичные обра

Трансляция библиотек
Выходом в таких случаях является использование так называемых прикладных программных сред. Одной из составляющих, формирующих прикладную программную среду, является набор фун

Понятие процесса
Процессом называется некоторая деятельность, выполняемая на процессоре. Процессором в широком смысле называется любое устройство в составе ЭВМ, спо

Понятие ресурса
Одной из функций ОС является обеспечение эффективного и бесконфликтного способа управления ресурсами вычислительной системы. Под ресурсом часто понимается показатель

Концепция виртуализации
Виртуализация того или иного ресурса осуществляется в рамках централизованной схемы распределения ресурсов. Путем виртуализации осуществляются две формы обмана пользователей:

Одноочередные дисциплины обслуживания
а) FIFO (First In -- First Out) – дисциплина обслуживания в порядке поступления. Все заявки поступают в конец очереди. Первыми обслуживаются заявки, находящиеся в начале очереди. Схематическ

Система прерываний
Ситуация, которая возникает в результате воздействия какого-то независимого события, приводящего к временному прекращению выполнения последовательности команд одной программы с цель

Понятие процесса
Процесс(задача) - программа, находящаяся в режиме выполнения. С каждым процессом связывается его адресное пространство, из которого он может читать и в ко

Модель процесса
В многозадачной системе реальный процессор переключается с процесса на процесс, но для упрощения модели рассматривается набор процессов, идущих параллельно (псевдопараллельно). Рассмотрим

Завершение процесса
(вызов exit или ExitProcess): Плановое завершение (окончание выполнения) Плановый выход по известной ошибке (например, отсутствие файла)

Иерархия процессов
В UNIX системах заложена жесткая иерархия процессов. Каждый новый процесс созданный системным вызовом fork, является дочерним к предыдущему процессу. Дочернему процессу достаются от родительского п

Состояние процессов
Три состояния процесса: Выполнение (занимает процессор) Готовность (процесс временно приостановлен, чтобы позволить выполняться другому процессу) Ожидание (процесс

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

Модель потока
С каждым потоком связывается: Счетчик выполнения команд Регистры для текущих переменных Стек Состояние Потоки делят между собой элементы

Преимущества использования потоков
Упрощение программы в некоторых случаях, за счет использования общего адресного пространства. Быстрота создания потока, по сравнению с процессом, примерно в 100 раз. Повышен

Реализация потоков в пространстве пользователя, ядра и смешанное
А - потоки в пространстве пользователя B

Особенности реализации Windows
Используется четыре понятия: Задание - набор процессов с общими квотами и лимитами Процесс - контейнер ресурсов (память...), содержит как минимум один поток. Пото

Взаимодействие между процессами
Ситуации, когда приходится процессам взаимодействовать: Передача информации от одного процесса другому Контроль над деятельностью процессов (например: когда они борются за о

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

Состояние состязания
Состояние состязания - ситуация когда несколько процессов считывают или записывают данные (в память или файл) одновременно. Рассмотрим пример, когда два процесса пытаются

Критические области
Критическая область - часть программы, в которой есть обращение к совместно используемым данным. Условия избегания состязания и эффективной работы процессов: Два процесса не

Переменные блокировки
Вводится понятие переменной блокировки, т.е. если значение этой переменной равно, например 1, то ресурс занят другим процессом, и второй процесс переходит в режим ожидания (блокируется) до тех пор,

Строгое чередование
В этой модели, процессы могут выполняться строго по очереди, используя переменную.

Примитивы взаимодействия процессов
Вводится понятия двух примитивов. sleep - системный запрос, в результате которого вызывающий процесс блокируется, пока его не запустит другой процесс. wak

Семафоры
Семафоры - переменные для подсчета сигналов запуска, сохраненных на будущее. Были предложены две операции down и up (аналоги sleep и wake

Планирование в системах пакетной обработки
6.2.1 "Первый пришел - первым обслужен" (FIFO - First In Fist Out) Процессы ставятся в очередь по мере поступления. Преимущества:

Циклическое планирование
Самый простой алгоритм планирования и часто используемый. Каждому процессу предоставляется квант времени процессора. Когда квант заканчивается процесс переводится планировщиком в конец оче

Приоритетное планирование
Каждому процессу присваивается приоритет, и управление передается процессу с самым высоким приоритетом. Приоритет может быть динамический и статический. Динамичес

Планирование в системах реального времени
Системы реального времени делятся на: жесткие (жесткие сроки для каждой задачи) - управление движением гибкие (нарушение временного графика не желательны, но допустимы) - уп

Общее планирование реального времени
Используется модель, когда каждый процесс борется за процессор со своим заданием и графиком его выполнения. Планировщик должен знать: частоту, с которой должен работать кажд

Взаимоблокировка процессов
Взаимоблокировка процессов может происходить, когда несколько процессов борются за один ресурс. Ресурсы бывают выгружаемые и невыгружаемые, аппаратные и программные.

Моделирование взаимоблокировок
Моделирование тупиков с помощью графов. Условные обозначения На такой модели оч

Обнаружение и устранение взаимоблокировок
Система не пытается предотвратить взаимоблокировку, а пытается обнаружить ее и устранить. Обнаружение взаимоблокировки при наличии одного ресурса каждого типа

Динамическое избежание взаимоблокировок
В этом способе ОС должна знать, является ли предоставление ресурса безопасным или нет. Траектории ресурсов Рассмотрим модель из двух процессов и двух ресурсов

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

Принципы аппаратуры ввода-вывода
Два нижних уровня системы управления вводом-выводом составляет hardware: сами устройства, непосредственно выполняющие операции, и их контроллеры, служащие для организации совместной работы устройст

Контроллеры устройств
Устройства ввода-вывода обычно состоят из двух частей: механическая (не надо понимать дословно) - диск, принтер, монитор электронная - контроллер или

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

Прямой доступ к памяти (DMA - Direct Memory Access)
Прямой доступ к памяти реализуется с помощью DMA - контроллера. Контроллер содержит несколько регистров: регистр адреса памяти счетчик байтов

Прерывания
После того как устройство ввода-вывода начало работу, процессор переключается на другие задачи. Чтобы сигнализировать процессору об окончании работы, устройство инициализирует прерывание,

Задачи программного обеспечения ввода-вывода
Основные задачи, которые должно решать программное обеспечение ввода-вывода: Независимость от устройств - например, программа, читающая данные из файла не должна задумываться с чего

Программный ввод-вывод
В этом случае всю работу выполняет центральный процессор. Рассмотрим процесс печати строки ABCDEFGH этим способом.

Управляемый прерываниями ввод-вывод
Если в предыдущем примере буфер не используется, а принтер печатает 100 символов в секунду, то на каждый символ будет уходить 10мс, в это время процессор будет простаивать, ожидая готовности принте

Обработчики прерываний
Прерывания должны быть скрыты как можно глубже в недрах операционной системы, чтобы как можно меньшая часть ОС имела с ними дело. Лучше всего блокировать драйвер, начавший ввод-вывод. Алго

Драйвера устройств
Драйвер устройства - необходим для каждого устройства. Для разных ОС нужны разные драйверы. Драйверы должны быть частью ядра (в монолитной системе), что бы получить доступ к регистрам конт

Независимое от устройств программное обеспечение ввода-вывода
Функции независимого от устройств программного обеспечения ввода-вывода: Единообразный интерфейс для драйверов устройств, Буферизация Сообщения об ошибках

Обобщение уровней и функций ввода-вывода
Уровни и основные функции системы ввода-вывода Баз

Блокирующиеся, неблокирующиеся и асинхронные системные вызовы
Все системные вызовы, связанные с осуществлением операций ввода-вывода, можно разбить на три группы по способам реализации взаимодействия процесса и устройства ввода-вывода. · К первой, на

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

Spooling и захват устройств
О понятии spooling мы говорили в первой лекции нашего курса, как о механизме, впервые позволившем совместить реальные операции ввода-вывода одного задания с выполнением другого зад

Обработка прерываний и ошибок
Если при работе с внешним устройством вычислительная система не пользуется методом опроса его состояния, а задействует механизм прерываний, то при возникновении прерывания, как мы уже

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

Принципы, заложенные в подсистему управления вводом-выводом в ОС UNIX
1. Эта подсистема построена единообразно с подсистемой управления данными (файловой системой). Пользователю предоставляется унифицированный способ доступа как к ПУ, так и к файлам. Под файлом в ОС

Управление памятью в ОС
4.1. Понятие об организации и управлении физической памятью в операционных системах 4.2. Методы связного распределения основной памяти 4.2.1. Связное распределен

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

Связное распределение памяти для одного пользователя
Связное распределение памяти для одного пользователя, называемое также одиночным непрерывным распределением, применяется в ЭВМ, работающих в пакетном однопрограммном режиме под управлением простейш

Связное распределение памяти при мультипрограммной обработке
При мультипрограммной обработке в памяти компьютера размещается сразу несколько заданий. Распределение памяти между заданиями в этом случае может быть выполнено следующими способами: · рас

Стратегии размещения информации в памяти
Стратегии размещения информации в памяти предназначены для того, чтобы определить, в какое место основной памяти следует помещать поступающие программы и данные при распределении памяти неперемещае

Основные концепции виртуальной памяти
Термин виртуальная память обычно ассоциируется с возможностью адресовать пространство памяти, гораздо большее, чем емкость первичной (реальной, физической) памяти конкретной вычислительной м

Страничная организация виртуальной памяти
Виртуальный адрес при чисто страничной организации памяти _ это упорядоченная пара (p, d), где p - номер страницы в виртуальной памяти, а d - смещение в рамках страницы p. Процесс может выполняться

Сегментная организация виртуальной памяти
Виртуальный адрес при сегментной организации виртуальной памяти - это упорядоченная пара n = (s, d) , где s - номер сегмента виртуальной памяти, а d - смещение в рамках этого сегмента. Процесс мож

Странично-сегментная организация виртуальной памяти
Системы со странично-сегментной организацией обладают достоинствами обоих способов реализации виртуальной памяти. Сегменты обычно содержат целое число страниц, причем не обязательно, чтобы все стра

Стратегии управления виртуальной памятью
Стратегии управления виртуальной памятью, так же как и стратегии управления физической памятью, разделяются на три категории: стратегии вталкивания, стратегии размещения и стратегии выталкивания.

Стратегии вталкивания (подкачки)
Для управления вталкиванием применяются следующие стратегии: · вталкивание (подкачка) по запросу (по требованию); · вталкивание (подкачка) с упреждением (опережением).

Стратегии размещения
В системах со страничной организацией виртуальной памяти решение о размещении вновь загружаемых страниц принимается достаточно просто: новая страница может быть помещена в любой свободный

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

Именование файлов
Длина имени файла зависит от ОС, может быть от 8 (MS-DOS) до 255 (Windows, LINUX) символов. ОС могут различать прописные и строчные символы. Например, WINDOWS и windows для MS-DOS одно и т

Структура файла
Три основные структуры файлов: 1. Последовательность байтов - ОС не интересуется содержимым файла, она видит только байты. Основное преимущество такой системы, это гибкост

Типы файлов
Основные типы файлов: · Регулярные - содержат информацию пользователя. Используются в Windows и UNIX. · Каталоги - системные файлы, обеспечивающи

Атрибуты файла
Основные атрибуты файла: · Защита - кто, и каким образом может получить доступ к файлу (пользователи, группы, чтение/запись). Используются в Windows и UNIX. · Пароль - пароль к фа

Файлы, отображаемые на адресное пространство памяти
Иногда удобно файл отобразить в памяти (не надо использовать системные вызовы ввода-вывода для работы с файлом), и работать с памятью, а потом записать измененный файл на диск. При использ

Одноуровневые каталоговые системы
В этой системе все файлы содержатся в одном каталоге. Од

Имя пути
Для организации дерева каталогов нужен некоторый способ указания файла. Два основных метода указания файла: · абсолютное имя пути - указывает путь от корневого ка

Реализация каталогов
При открытии файла используется имя пути, чтобы найти запись в каталоге. Запись в каталоге указывает на адреса блоков диска. В зависимости от системы это может быть: · дисковый ад

Реализация длинных имен файлов
Раньше операционные системы использовали короткие имена файлов, MS-DOS до 8 символов, в UNIX Version 7 до 14 символов. Теперь используются более длинные имена файлов (до 255 символов и больше).

Ускорение поиска файлов
Если каталог очень большой (несколько тысяч файлов), последовательное чтение каталога мало эффективно. 1 Использование хэш-таблицы для ускорения поиска файла.

А - совместно используемый файл
Такая файловая система называется ориентированный ациклический граф(DAG, Directed Acyclic Graph). Возникает проблема, если дисковые адреса содержатся в самих каталоговых з

Размер блока
Если принято решение хранить файл в блоках, то возникает вопрос о размере этих блоков. Есть две крайности: · Большие блоки - например, 1Мбайт, то файл даже 1 байт займет целый бло

Учет свободных блоков
Основные два способа учета свободных блоков: · Связной список блоков диска, в каждом блоке содержится номеров свободных блоков столько, сколько вмешается в блок. Часто для списка резервир

Дисковые квоты
Чтобы ограничить пользователя, существует механизм квот. Два вида лимитов: · Жесткие - превышены быть не могут · Гибкие - могут быть превышены, но при выходе пользователь

Резервное копирование
Случаи, для которых необходимо резервное копирование: · Аварийные ситуации, приводящие к потере данных на диске · Случайное удаление или программная порча файлов Основные

Непротиворечивость файловой системы
Если в системе произойдет сбой, прежде чем модифицированный блок будет записан, файловая система может попасть в противоречивое состояние. Особенно если это блок i-узла, каталога и

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

Файловая система ISO 9660
Более подробная информация - http://ru.wikipedia.org/wiki/ISO_9660 Стандарт принят в 1988 г. По стандарту диски могут быть разбиты на логические разделы, но мы будем рассматривать диски с

Каталоговая запись стандарта ISO 9660
Расположение файла - номер начального блока, т.к. блоки располагаются последовательно. L - длина имени файла в байтах Имя файла - 8 символов, 3 символа расширения (из-за совместим

Рок-ридж расширения для UNIX
Это расширение было создано, чтобы файловая система UNIX была представлена на CD-ROM. Для этого используется поле System use. Расширения содержат следующие поля: 1. PX -

Файловая система UDF (Universal Disk Format)
Более подробная информация - http://ru.wikipedia.org/wiki/Universal_Disk_Format Изначально созданная для DVD, с версии 1.50 добавили поддержку CD-RW и CD-R. Сейчас последняя верси

Файловая система MS-DOS (FAT-12,16,32)
В первых версиях был только один каталог (MS-DOS 1.0). С версии MS-DOS 2.0 применили иерархическую структуру. Каталоговые записи, фиксированны по 32 байта. Имена файлов -

Они будут задействованы в Windows 98
Атрибут архивныйнужен для программ резервного копирования, по нему они определяют надо копировать файл или нет. Поле время (16 разрядов) разбивается на три подполя:

Расширение Windows 98 для FAT-32
Для расширения были задействованы 10 свободных бит. Форм

Основная надстройка над FAT-32, это длинные имена файлов
Для каждого файла стали присваивать два имени: 1. Короткое 8+3 для совместимости с MS-DOS 2. Длинное имя файла, в формате Unicode Доступ к файлу может быть получен по люб

Формат каталогов записи с фрагментом длинного имени файла в Windows 98
Поле "Атрибуты" позволяет отличить фрагмент длинного имени (значение 0х0F) от дескриптора файла. Старые программы MS-DOS каталоговые записи со значением поля атрибутов 0х0

Файловая система NTFS
Файловая система NTFS была разработана для Windows NT. Особенности: · 64-разрядные адреса, т.е. теоретически может поддерживать 264*216 байт (1 208 925 819 M

Поиск файла по имени
При создании файла, программа обращается к библиотечной процедуре CreateFile("C:windowsreadmy.txt", ...) Этот вызов попадает в совместно используемую библиотеку уровня п

Сжатие файлов
Если файл помечен как сжатый, то система автоматически сжимает при записи, а при чтении происходит декомпрессия. Алгоритм работы: 1. Берутся для изучения первые 16 блоков файла (н

Шифрование файлов
Любую информацию, если она не зашифрована, можно прочитать, получив доступ. Поэтому самая надежная защита информации от несанкционированного доступа - шифрование. Даже если у вас украдут в

Файловая система UNIX V7
Хотя это старая файловая система основные элементы используются и современных UNIX системах. Особенности: · Имена файлов ограничены 14 символами ASCII, кроме косой черты "/&q

Структура i-узела
Поле Байты Описание Mode Тип файла, биты защиты, биты setuid и setgid Nlinks

Создание и работа с файлом
fd=creat("abc", mode) - Пример создания файла abc с режимом защиты, указанном в переменной mode(какие пользователи имеют доступ). Используется системный

Файловая система BSD
Основу составляет классическая файловая система UNIX. Особенности (отличие от предыдущей системы): · Увеличена длина имени файла до 255 символов · Реорганизованы каталоги

Размещение файловой системы EXT2 на диске
Другие особенности: · Размер блока 1 Кбайт · Размер каждого i-узла 128 байт. · i-узел содержит 12 прямых и 3 косвенных адресов, длина адреса в i-узле стала 4 байта, что о

Файловая система EXT3
В отличие от EXT2, EXT3 является журналируемой файловой системой, т.е. не попадет в противоречивое состояние после сбоев. Но она полностью совместима с EXT2.

Файловая система XFS
XFS - журналируемая файловая система разработанная Silicon Graphics, но сейчас выпущенная открытым кодом (open source). Официальная информация на http://oss.sgi.com/projec

Файловая система RFS
RFS (RaiserFS)- журналируемая файловая система разработанная Namesys. Официальная информация на RaiserFS Некоторые особенности: · Более эффективно работа

Файловая система JFS
JFS (Journaled File System) -журналируемая файловая система разработанная IBM для ОС AIX, но сейчас выпущенная как открытый код. Официальная информация на Journaled File S

Структура уровней файловой системы NFS
VFS (Virtual File System) - виртуальная файловая система. Необходима для управления таблицей открытых файлов. Записи для каждого открытого файла называются v-узлам