Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_po_kursu_OS_i_OST2012.doc
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
431.62 Кб
Скачать

Имя файла № индексного дескриптора – inod

  1. Способ представления имени зависит от типа ФС. Никакой другой информации в элементе каталога нет, т.е. каталог только отображает имя файла -> номер inod’а

В любом каталоге содержится два стандартных имени: « . » и « .. ».

« . » - соответствует inod самого этого каталога

« .. » - соответствует inod «родительского» каталога ( каталог, в котором содержится имя данного каталога )

  1. Один индексный дескриптор может быть связан с несколькими именами файлов. Такие ссылки называются жёсткими и могут быть использоваться только внутри одной ФС

  2. Существует ещё один тип ссылок. Эти ссылки содержат только имя файла и называются символическими [ ключ - S в команде ln].

  1. Виртуальная ФС. Принцип функционирования.

Виртуальная файловая система (англ. virtual file system — VFS) или виртуальный коммутатор файловой системы (англ. virtual filesystem switch) уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентским приложениям к различным типам файловых систем. VFS может, например, быть использована для прозрачного доступа к локальным и сетевым устройствам хранения данных без использования специального клиентского приложения. Она может быть использована для устранения различий между файловыми системами Windows, Mac OS и Unix так, что приложения могут получить доступ к файлам на локальных файловых системах, не зная тип файловой системы, к которой они получают доступ. VFS определяет интерфейс между ядром и конкретной файловой системой. Таким образом, можно легко добавлять поддержку новых типов файловых систем для ядра.

Иногда виртуальными файловыми системами называют псевдо-файловые системы, которые не предназначены для хранения данных. Примером такой системы является procfs.[1]

Одной из первых виртуальных файловых систем в Unix-подобных ОС была реализована Sun Microsystems в SunOS 2.0 в 1985 году. Это позволило системным вызовам Unix получить прозрачный доступ к локальной UFS и удалённой NFS. По этой причине, вендоры Unix-систем, получившие лицензию на код NFS, часто копировали дизайн VFS от Sun. Другие файловые системы могут быть подключены также: появилась реализация файловой системы MS-DOS FAT, разработанная в Sun, использовавшая SunOS VFS, хотя она не поставлялась в качестве продукта до SunOS 4.1. Реализация SunOS лежит в основе механизма VFS в System V Release 4.

Джон Хейдеманн (John Heidemann) разработал стековую VFS под SunOS 4.0 для экспериментальной файловой системы Ficus. Этот проект предусматривал повторное использование кода в файловых системах с различной, но похожей семантикой (например, шифрованная файловая система может использовать систему имён и код для хранения данных не шифрованной файловой системы). В своей диссертации Хейдеманн адаптировал эту работу для использования в 4.4BSD. Наследники этого кода лежат в основе реализаций современных файловых систем в операционных системах, производных от BSD, включая Mac OS X.

Другие виртуальные файловые системы Unix включают File System Switch в System V Release 3, Generic File System в Ultrix и VFS в Linux.

В OS/2 и Microsoft Windows, механизм виртуальной файловой системы называется устанавливаемой файловой системой (Installable File System).

Файловая система в пользовательском пространстве (Filesystem in Userspace — FUSE) позволяет программам реализовать файловую систему в пользовательском пространстве через подключение к виртуальной файловой системе. FUSE используется в Linux, FreeBSD, OpenSolaris, и Mac OS X.

  1. Псевдо - файловые системы.

Файловые системы, располагающиеся в оперативной памяти.

  1. Интерфейс пользователя с ОС UNIX (уровень командной строки). Основные интерпретаторы ОС UNIX

- для диалога с пользователем в UNIX исторически выбран интерфейс командной строки

- вводится команда с клавиатура, машина её выполняет

- команды большого размера принято складывать в файл сценария ( script ).

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

- когда пользователь зашёл в систему, то он начинает взаимодействовать с программой Shell

- Shell не обладает какими – либо привилегиями в смысле доступа к системным ресурсам

- Shell работает в режиме интерпретации

Основные интерпретаторы:

Bourne Shell, C – Shell, Bash Shell

  1. Интерфейс пользователя с ОС UNIX (уровень командной строки). Общий механизм выполнения команд.

Команда – последовательность слов после приглашения ( $ ), разделённых пробелами ( первое слово – имя команды, остальные – опции и аргументы ).

- выполняются также shell – процедуры ( команды, написанные на соответствующем языке – файл сценария, скрипт ) – используется при загрузке ОС

- /bin – большое количество shell – процедур

Внутренние команды:

- расположены в данном shell’е

- при выполнении не порождается отдельный процесс

Внешние команды:

- хранятся в виде отдельных исполняемых файлов

- при их выполнении порождается отдельный процесс

  1. Интерфейс пользователя с ОС UNIX (уровень командной строки). Файлы, ассоциированные с процессом.

С каждым процессом в ОС UNIX ассоциированы как минимум 3 файла:

- стандартный ввод

- стандартный вывод

- стандартная диагностикаx

  1. Интерфейс пользователя с ОС UNIX (уровень командной строки). Конвейеры.

Конвейер – последовательность команд, разделённых символом « | »

- стандартный ввод всех команд, кроме последней, направлен на стандартный ввод следующей команды

- каждая команда выполняется как самостоятельный процесс

- соединение в конвейер даже относительно простых команд способно дать по существу новое качество

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

Shell работает в режиме интерпретации.

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

При запуске shell выполняет соответствующие командные файлы инициализации (для csh: .login, .cshrc).

Shell считывает ввод пользователя, производит синтаксический анализ введённой строки, подстановку шаблонов и выполняет действие, предписанное пользователем.

  1. Базовые программные средства для создания приложений в ОС UNIX. Краткая характеристика.

Все инструменты базового уровня включены в систему Development system. Они доступны на уровне командной строки. Они обеспечивают полный набор средств для разработки приложений, работающих в среде продуктов соответствующей ОС UNIX ( или UNIX – подобной ОС ). В основной набор средств включены:

- компилятор с языка Си ( GCC )

- утилита make

- программа отладки ( GDB )

- системы обслуживания/контроля исходного кода программы ( CVS, SCCS,… ).

  1. Фонд свободного ПО (FSF). Общая характеристика.

FMS ( Free Software Movement ) и FSF ( Free Software Foundation ) – их задачей является устранение ограничений по копированию, распространению, изучению, модификации программ для компьютера.

FSF – программистская организация, основанная в 1985 году и возглавляемая Ричардом Столлманом.

  1. FSF и проект GNU.

Ричард Столлман – основатель и главный идеолог Движения за Свободное Программное Обеспечение, президент FSF.

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

  1. GNU и Linux.

Линус Торвальдс – автор и ведущий разработчик ядра UNIX – подобной операционной системы Linux.

Вариант операционной системы GNU, использующей ядро Linux ( GNU/Linux ). Она создавалась и разрабатывалась в соответствии с идеями FSF.

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

  1. Создание исходного кода программы ( Vi, Vim, … )

  2. Анализ исходного текста.

    1. CB – форматирование исходного кода на Си

    2. CSCOPE – исследование функций, содержащихся в программе

    3. CSLAW – идентификация уровня вложенности функций, содержащихся в программе

    4. CXREF – создание таблицы перекрёстных ссылок для функций и переменных, используемых в программе

    5. Lint – критическая проверка программ, написанных на Си. Обнаруживает многие типы ошибок. Не создаёт объектный файл, она просто формирует предупреждения и комментарии к исходному тексту

  3. Сохранение различных вариантов исходного текста ( CVS, SCCS )

  4. Компиляция исходного текста и построение исполняемого модуля ( GCC, make )

  5. Тестирование и отладка ( GDB, DBXtra )

  1. Основные этапы разработки приложений. Построение исполняемого модуля.

Построение исполняемого модуля выполняется компилятором Си в ОС UNIX.

Make – служит для документирования связей между файлами/модулями программы. Описание зависимостей и соответствующих действий хранится в make – файле.

  1. Основные этапы разработки приложений. Тестирование и отладка.

  2. Основные этапы разработки приложений. Схема функционирования CVS.

CVS - хранит все версии файлов в одном файле таким образом, что запоминает лишь отличия между версиями.

Упрощённая схема работы CVS:

- создание репозитория

- создание рабочего каталога и размещение в нем отлаживаемой программы ( текущей версии )

- передача текущей версии исходного файла под управление CVS

  1. Основные этапы разработки приложений. Анализ примера использования CVS.

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

  1. Системные вызовы и библиотечные функции.

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

  1. Сетевые ОС (СОС). Структура СОС.

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

- сетевая ОС составляет основу любой компьютерной сети

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

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

  1. Средства управления локальными ресурсами

    1. Реализация функции распределения оперативной памяти между процессами

    2. Управление периферийными устройствами

    3. Функции планирования и диспетчеризации процессов

  2. Серверная часть ( сервер )

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

    2. Ведение справочников имён сетевых ресурсов, обработка запросов удалённого доступа к собственной ФС и базе данных

    3. Управление очередями запросов удалённого пользования к своим периферийным устройствам

  3. Клиентская часть ( клиент )

    1. Выполняет распознавание и перенаправление в сеть запросов к удалённым ресурсам от приложений пользователя. Запрос поступает от приложения в локальной форме, а передаётся в сеть в другой форме – в соответствии с требования сервера

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

  4. Коммуникационные средства

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

    2. Эта часть сетевой ОС является средством транспортировки сообщений.

  1. Сетевые средства ОС UNIX на основе стека протоколов TCP/IP. Краткая характеристика.

ОС UNIX является системой, предназначенной для работы в сети. Это означает, что в ней реализованы все средства современных сетевых ОС:

- доступ к удалённым объектам осуществляется средствами самой системы, а не за счёт наращивания дополнительных уровней программных оболочек

- средства сетевого доступа, согласованны между собой

При использовании ОС UNIX связь в сети в основном осуществляется в соответствии со стеком протоколов TCP/IP. Стек протоколов TCP/IP даёт возможность взаимодействовать хостам ( компьютерам ) как в локальных сетях, так и при выходе в глобальные сети.

  1. Архитектура стека протоколов TCP/IP.

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

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

  1. Основные этапы истории стека протоколов TCP/IP. Документы RFC.

- в 1969 году агентство перспективных исследований министерства обороны США ( DARPA ) начало финансирование проекта по созданию экспериментальной компьютерной сети коммутации пакетов. По мере развития сети были разработаны коммуникационные протоколы ( набор правил и форматов данных необходимых для установления связи и передачи данных ). В результате появилось семейство протоколов TCP/IP.

- большой вклад в развитие стека протоколов TCP/IP внёс университет Беркли; он реализовал протоколы стека TCP/IP в своей версии ОС UNIX. Широкое распространение этого стека ( в частности, протокола IP ).

- на стеке протоколов TCP/IP работает всемирная информационная сеть INTERNET. Подразделение INTERNET ( IETF – INTERNET Enginering Task Fore ) вносит основной вклад в совершенствование стандартов стека, публикуемых в форме спецификаций RFC ( обращение за разъяснениями ).

- документация о работах в INTERNET, предложение о новых или переработанных протоколах и стандартах стека протоколов TCP/IP появляются в виде технических отчётов RFC ( для разработчиков и пользователей ).

RFC:

- для разработчиков – спецификации ( стандартов ) расшифровывается как « запрос на комментарии»

- для пользователей – спецификации ( разработчиков ПО ) расшифровывается как «обращение за разъяснениями»

  1. Уровни стека протоколов TCP/IP. Уровень сетевого интерфейса.

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

Протоколы уровня сетевого интерфейса формально не являются частью семейства протоколов TCP/IP. Однако, стандарты INTERNET определяют, каким образом должна осуществляться передача данных TCP/IP с использованием протоколов Ethernet, Token, Ring, FDDI и т.д.

  1. Уровни стека протоколов TCP/IP. Межсетевой уровень.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]