Исследование файловой структуры ОС Unix..pptx
- Количество слайдов: 31
ИССЛЕДОВАНИЕ ФАЙЛОВОЙ СТРУКТУРЫ ОС UNIX. Выполнила студентка группы 1 -11 -П Неушева О. В. Проверила: Кашталинская И. А.
ЧТО ТАКОЕ UNIX? v Торговая марка компании Santa Cruz Operation v Многозадачная, многопользовательская операционная система v Имя, данное целому семейству связанных операционных систем и их распространенным приложениям, утилитам и компьютерным программам. v Богатая, расширяемая и открытая вычислительная среда
НЕМНОГО ИСТОРИИ… Первая система UNIX была разработана в 1969 году в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем. Юридически лишь некоторые из них имеют полное право называться «UNIX» ; остальные же, хотя и используют сходные концепции и технологии, объединяются термином «UNIX-подобные» . Среди примеров известных UNIX-подобных операционных систем: BSD, Solaris, Linux, Android, Mee. Go, Ne. XTSTEP, Mac OS X, Apple i. OS. Некоторые отличительные признаки UNIX-систем включают в себя: v использование простых текстовых файлов для настройки и управления системой; v широкое применение утилит, запускаемых в командной строке; v взаимодействие с пользователем посредством виртуального устройства — терминала; v представление физических и виртуальных устройств и некоторых средств межпроцессового взаимодействия как файлов; v использование конвейеров из нескольких программ, каждая из которых выполняет одну задачу. В настоящее время UNIX-системы используются в основном на серверах, а также как встроенные системы для различного оборудования. На рынке ОС для рабочих станций и домашнего применения лидером является Microsoft Windows, UNIX занимает только второе (Mac OS X), третье (GNU/Linux) и многие последующие места. UNIX-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС и программного обеспечения.
ХАРАКТЕРИСТИКИ UNIX v Стандартизация Несмотря на многообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов (в UNIX стандартизовано почти всё — от расположения системных каталогов и файлов до интерфейса системных вызовов и списка драйверов базовых устройств). Опытный администратор без особого труда сможет обслуживать другую версию, тогда как для пользователей переход на другую систему и вовсе может оказаться незаметным. Для системных же программистов такого рода стандарты позволяют полностью сосредоточиться на программировании, не тратя время на изучение архитектуры и особенностей конкретной реализации системы. v Многозадачность В системе UNIX может одновременно выполняться множество процессов (задач), причем их число логически не ограничивается и может меняться в ходе работы системы. Благодаря специальному механизму управления памятью, каждый процесс существует в собственном изолированном адресном пространстве, что гарантирует безопасность и независимость от других процессов. Различные системные операции позволяют процессам порождать новые процессы, завершают процессы, синхронизируют
ДВА КИТА UNIX: ФАЙЛЫ И ПРОЦЕССЫ Существует два основных объекта операционной системы UNIX, с которыми приходится работать пользователю — файлы и процессы. Эти объекты тесно связаны друг с другом, и в целом способ организации работы с ними как раз и определяет архитектуру операционной системы. v Все данные пользователя храняться в файлах; доступ к периферийным устройствам осуществляется посредством чтения и записи специальных файлов; во время выполнения программы операционная система считывает исполняемый код из файла в память и передает ему управление. Принципы храниния и доступа к файлам объединяются понятием файловой системы, которое будет рассмотрено подробнее чуть позже. v С другой стороны, вся функциональность информационной системы определяется выполнением соответствующих процессов. Процесс — это исполняющаяся программа, относящаяся к операционной системе или запущенная пользователем.
Операционная система UNIX обладает классическим монолитным ядром, в котором можно выделить следующие основные части: ü Файловая подсистема v Доступ к структурам ядра осуществляется через файловый интерфейс. ü Управление процессами v Сюда входит управление параллельным выполнением процессов (планирование и диспетчеризация), виртуальной памятью процесса и взаимодействием между процессами (сигналы, очереди сообщений и т. п. ). ü Драйверы устройств v Драйверы устройств делятся на символьные и блочные по типу внешнего устройства. Для каждого из устройств определен набор возможных операций (открытие, чтение и т. д. ). Блочные устройства кэшируются с помощью специального внутреннего механизма ü Демон — это процесс, выполняющий определённую функцию в системе, который управления буферами. запускается при старте системы и не связан ни с одним пользовательским терминалом. Демоны предоставляют пользователям определенные сервисы, примерами которых могут служить системный журнал, веб-сервер и т. п. Аналогом демонов в операционной системе Windows NT и более поздних
Linux (Линукс) – это операционная система, которая на сегодняшний день является фактически единственной альтернативной заменой ОС Windows от Microsoft. Официальным логотипом и талисманом Linux является пингвин Tux (произносится Такс, в Рунете часто употребляется неправильное Тукс). Был создан в 1996 году Ларри Юингом.
ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ В Линукс-системах пользователи работают через интерфейс командной строки (CLI), графический интерфейс пользователя (GUI), или, в случае встраиваемых систем, через элементы управления соответствующих аппаратных средств. Настольные системы, как правило, имеют графический пользовательский интерфейс, в котором командная строка доступна через окно эмулятора терминала или в отдельной виртуальной консоли. Большинство низкоуровневых компонентов Линукс, включая пользовательские компоненты GNU, используют исключительно командную строку. Командная строка особенно хорошо подходит для автоматизации повторяющихся или отложенных задач, а также предоставляет очень простой механизм межпроцессного взаимодействия. Программа графического эмулятора терминала часто используются для доступа к командной строке с рабочего стола Линукс-системы обычно реализуют интерфейс командной строки при помощи оболочки операционной системы, которая также является традиционным способом взаимодействия с системой Unix.
Дистрибутивы, специально разработанные для серверов, могут использовать командную строку в качестве единственного интерфейса. На настольных системах наибольшей популярностью пользуются пользовательские интерфейсы, основанные на таких средах рабочего стола как KDE Plasma Desktop, GNOME и Xfce[46], хотя также существует целый ряд других пользовательских интерфейсов. Самые популярные пользовательские интерфейсы основаны на X Window System (часто просто «X» или «иксы» ). «X» предоставляет прозрачность сети и позволяет графическим приложениям, работающим на одном компьютере, отображаться на другом компьютере, на котором пользователь может взаимодействовать с ними[47]. Другие графические интерфейсы, такие как FVWM, Enlightenment и Window Maker, могут быть классифицированы как простые менеджеры окон X Window System, которые предоставляют окружение рабочего стола с минимальной функциональностью. Оконный менеджер предоставляет средства для управления размещением и внешним видом отдельных окон приложений, а также взаимодействует с X Window System. Окружение рабочего стола включает в себя оконные менеджеры, как часть стандартной установки: (Metacity для GNOME, KWin для KDE, Xfwm для Xfce с 2010 года), хотя пользователь при желании может выбрать другой менеджер окон.
МОЖЕМ ВСТРЕТИТЬ LINUX: • Серверы, требующие высокого аптайма. • Компьютеры нестандартной архитектуры (например, суперкомпьютеры) — из-за возможности быстрой адаптации ядра операционной системы и большого количества ПО под нестандартную архитектуру. [источник не указан 755 дней] • Системы военного назначения (например, МСВС РФ) — по соображениям безопасности. • Компьютеры, встроенные в различные устройства (банкоматы, терминалы оплаты, мобильные телефоны, маршрутизаторы, стиральные машины и даже беспилотные военные аппараты) — из-за широких возможностей по конфигурированию Linux под задачу, выполняемую устройством, а также отсутствия платы за каждое устройство. • Массовые специализированные рабочие места (например, тонкие клиенты, нетбуки) — также из-за отсутствия платы за каждое рабочее место и по причине их ограниченной вычислительной мощности, которой может не хватать для проприетарных ОС. • Старые компьютеры с ограниченными ресурсами быстродействия и оперативной памяти, для них используются быстрые рабочие окружения
ЯДРО LUNIX
ДЕРЕВО КАТАЛОГОВ • В любой файловой системе Linux всегда есть только один корневой каталог, который называется “/”. Пользователь Linux всегда работает с единым деревом каталогов, даже если разные данные расположены на разных носителях: нескольких жестких или сетевых дисках, съемных дисках, CDROM и т. п. ** Для того чтобы отключать и подключать файловые системы на разных устройствах в состав одного общего дерева, использу- ются процедуры монтирования и размонтирования. После того, как файловые системы на разных носителях подключены к общему дереву, содержащиеся на них данные доступны так, как если бы все они составляли единую файловую систему: пользователь может даже не знать, на каком устройстве какие файлы хранятся. Положение любого каталога в дереве каталогов точно и однозначно описывается при помощи полного пути. Полный путь всегда начинается от корневого каталога и состоит из перечисления всех вершин, встретившихся при движении по ребрам дерева до искомого каталога включительно. Названия соседних вершин разделяются символом “/” ( «слэш» ). В Linux полный путь, например, до каталога “methody” в файловой системе, записывается следующим образом: сначала символ “/”, обозначающий корневой каталог, затем к нему добавляется “home”, затем разделитель “/”, за которым следует название искомого каталога “methody”, в результате получается полный путь “/home/methody”*. Организация каталогов файловой системы в виде дерева не допускает появления циклов: т. е. каталог не может содержать в себе каталог, в котором содержится сам. Благодаря этому ограничению полный путь до любого каталога или файла в файловой системе всегда будет конечным.
ОПЕРАЦИОННАЯ СИСТЕМА OS/2 — операционная система фирмы IBM.
ХАРАКТЕРИСТИКИ СИСТЕМЫ OS/2 должна обеспечивать множество системных функций. Ряд свойств является характерным для существующих операционных систем и, где это возможно, OS/2 реализует их стан- дартным образом, используя технику, описанную для более ранних систем. Тем не менее, два аспекта побудили разработчиков OS/2 использовать новые методы во многих областях для удовлетворения запросов, предьявляемых к системе. Первая группа требований свя- зана по своей природе с архитектурой: • -OS/2 должна обеспечивать возможность использования огром- ного множества существующих приложений ДОС; • -OS/2, также как и ДОС, является однопользовательской сис- темой, которая создана для PS. Она ориентирована на обеспечение интерактивного режима, и не занимает слишком много места в памя- ти или на диске. Эти требования совместно с архитектурными осо- бенностями процессора 80286 привели к разработке структуры сис- темы, характерной для OS/2; • -OS/2 также должна эффективно использовать большой обьем физической памяти, доступной для процессоров 80286 и 80386. • Ввиду архитектурных особенностей процессора 80286, эти требования находятся в противоречии друг с другом. Разрешение этого противоречия в работающей системе явля- ется значительным достижением системы OS/2. Другим набором тре- бований являются требования, часто встречающиеся при созданиии малых систем: • -OS/2 должна обеспечивать полный набор свойств операционной системы, которые присущи большим микро- и миникомпьютерным сис- темам. • -OS/2 также должна работать, не расходуя слишком много ре- сурсов для того чтобы ее можно было устанавливать на РС. Как и всегда при таких требованиях, результатом является компромисc между сложностью, трудоемкостью реализации свойств и простотой при меньшей стоимости их обеспечения.
ТРЕБОВАНИЯ К АРХИТЕКТУРЕ ПРИ СОЗДАНИИ OS/2 Для того чтобы понять конфликт между двумя группами требо- ваний к архитектуре OS/2, важно понимать архитектуру аппаратной части семейства процессоров фирмы Интел и окружения, которое ис- пользуется для ДОС-приложений.
ИСПОЛЬЗОВАНИЕ РЕЖИМОВ • Многие части системы OS/2 разработаны для выполнения как в реальном, так и в защитном режиме; сюда относятся: • - управление устройствами • - управление прерываниями • - переключение режимов • - переключение контекста. Программа, которая может выполняться в обоих режимах, называется двухрежимной. Драйверы устройств, поставляемые совместно с OS/2, также являются двухрежимными. Ядро же системы OS/2, включая управление виртуальной памятью и файловую систему, реализовано в виде только защитных кодов. Системное обслуживание низкого уровня позволяет определить текущий режим машины и убедится в том, что она работает в нужном режиме. В OS/2 сделана попытка минимизировать количество переключений режимов, которая реализована на критических путях, таких как обслуживание устройств и прерываний, ввиду того, что переключение режимов происходит относительно медленно, в особенности при переходе от защитного режима к реальному. Это привело к решению использовать двухрежимный код для драйверов устройств. Проводя сравнение, можно отметить, что обслуживание, такое как распределение сегментов, которое используется только в защитном режиме, написано как программа только защитного режима. Хотя оно и используется в программах реального режима, файловая система реализована как программа только защитного режима для сокращения объема памяти до величины менее 640 Кб, (одно из требований системы OS/2). Когда файловая система используется программами реального режима, имеется два переключателя режимов, один от реального режима к защитному при его вы- зове и один - из защитного режима к реальному режиму при возврате.
РАСПРЕДЕЛЕНИЕ ПАМЯТИ OS/2 поддерживает распределение памяти на сегменты программы и сегменты данных. Система позволяет работать как с именованными, так и неименованными сегментами. Имена разделяемых сегментов данных имеют ту же форму, что и имена файлов. Процессы полу- чают доступ к именованным разделяемым сегментам, используя их имена в специальных системных вызовах. OS/2 допускает разделение программных сегментов приложений и подсистем, а также глобальных сегментов данных подсистем. Вообще, вся концепция подсистемы OS/2 построена на понятии разделения памяти: процессы почти всегда разделяют сегменты с другими процессами. В этом состоит отличие от систем типа UNIX, которые обычно разделяют только реентерабельные программы между процессами. Описание модели процесса в UNIX и последние дополнения, выполненные в ней для поддержки распределения памяти между процессами, содержатся в работе Бэтча. В GDT (глобальной таблице дескрипторов) сегменты, конечно, автоматически разделяются всеми процессами , благодаря архитектуре процессора 80286. Однако за исключением ядра, большинство дескрипторов сегментов программы и данных расположены в LDT (таблице локальных дескрипторов). Для поддержки разделения сегментов и для корректной передачи адресов между процессами при разделении программ и данных, супервизор виртуальной памяти обеспечивает то, что если слот выделен разделяемому сегменту в LDT в одном процессе, то этот слот резервируется в любой другой LDT системы. В результате слот будет доступен, если любой другой процесс будет запрашивать доступ к этому сегменту. Каждый селектор в LDT классифицируется либо как общий, либо как личный. Общие селекторы управляются как разделенные ресурсы внутри таблиц LDT всех процессов. Разделяемые объекты программы и данные под- системы, отображаются в общие селекторы. Личные селекторы используются для сегментов, выделенных процессом, владеющим LDT. Счетчик входов и владельцы отслеживаются супервизором виртуальной памяти в операционной таблице. Несмотря на то, что такая организация требует дополнительных затрат ввиду
СИНХРОНИЗАЦИЯ ПРОЦЕССОВ И КОММУНИКАЦИЯ Ввиду того, что OS/2 содержит множество процессов и нитей, в ней так же существует метод координации их действий и внутренней коммуникации; таким образом, пользователь может реализовывать прикладные программы, используя более чем одну нить или процесс.
ИНТЕРФЕЙС ПРИКЛАДНЫХ ПРОГРАММ OS/2 использует комннду call в качестве интерфейса с прикладными программами(API), вместо программных прерываний (INT's), используемых ДОС и BIOS. Механизм программных прерываний для вызова системных обслуживающих программ имеет множество недостатков, как например, • -количество прерываний весьма ограничено, что затрудняет развитие механизма, • -нельзя таким образом добавлять новые параметры к существующим INT, что усложняет расширение интерфейса, • - интерфейсы легко программировать на ассемблере, но их трудно транслировать на языки высокого уровня. В отличие от использования программных прерываний, API системы OS/2 базируется на механизме динамического присоединения, описанном выше.
ЗАКЛЮЧЕНИЕ Настоящая статья посвящена разработке стандартной редакции системы OS/2 версии 1. 0, с упором на архитектурные аспекты реализации системы , требования к ее размеру и функциональной пол- ноте. OS/2 является логическим расширением системы ДОС 3. 3 фирмы IBM, которая позволяет реализовать • - больший объем памяти, превышающий 640 Кб • - мультипрограммирование • - многозадачность. В настоящее время OS/2 имеет возможность выполнять большинство прикладных программ ДОС. Так, она может обеспечить мост между "наследием" однозадачных персональных систем с ограничен- ной памятью и более сложными, но более мощными многозадачными системами будущего.
ПРЕДПОСЫЛКИ СОЗДАНИЯ EXT 2 Файловая система EXT 2 была pазpаботана с целью устpанения ошибок, обнаpуженных в пpедыдущей системе EXT (Extended File System). Пpи ее создании стояла цель pазpаботать мощную файловую систему, поддеpживающую файловую стpуктуpу системы Unix и пpедоставляющую дополнительные возможности. Пpедполагалось, что у системы EXT 2 будет неплохая пpоизводительность. Также пpедполагалось, что это будет очень пpочная система, что уменьшит pиск потеpи данных пpи ее интенсивном использовании. К тому же, EXT 2 должна иметь возможность pасшиpения без фоpматиpования файловой системы.
СТАНДАPТНЫЕ ВОЗМОЖНОСТИ EXT 2 FS Система EXT 2 fs поддеpживает стандаpтные типы файлов Unix: обычные файлы, каталоги, файлы устpойств и символические ссылки. EXT 2 fs может упpавлять файловыми системами, установленными на очень больших дисковых pазделах. В то вpемя как ядpо изначально огpаничивает максимальный объем файловой системы до 2 Гб, то новый код VFS увеличивает этот пpедел до 4 Тб. Таким обpазом, тепеpь является возможным пpименение дисков большого объема без необходимости создания большого количества pазделов. EXT 2 fs поддеpживает имена файлов большой длины. Она использует пеpеменную длину записей в каталоге. Максимальный pазмеp имени файла pавен 255 символам. Пpи необходимости этот пpедел может быть увеличен до 1012. EXT 2 fs pезеpвиpует некотоpое количество блоков для пользователя root. Обычно это 5 % от общего количества, что позволяет системному администpатоpу избегать нехватки объема жесткого диска пpи его заполнении pаботой пpоцессов дpугих пользователей.


