DAY08 (Старые версии Машбука или нечто подобное)

2019-05-08СтудИзба

Описание файла

Файл "DAY08" внутри архива находится в следующих папках: Старые версии Машбука или нечто подобное, Лекции (Машечкин 1998). Документ из архива "Старые версии Машбука или нечто подобное", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Онлайн просмотр документа "DAY08"

Текст из документа "DAY08"

7

Лекция №8

Лекция 8

На прошлой лекции мы поговорили об истории возникновения ОС UNIX, системы появившейся в 1969 году, впоследствии разветвившейся на многочисленные клоны. Некоторые из ее версий создавались в университетах, которые использовали UNIX как лабораторную среду для исследований в теории операционных систем. Другие версии создавали компьютерные фирмы. Каждая фирма совершенствовала UNIX под свои компьютеры, что приводило к ее несовместимости с другими версиями. Но, несмотря на это в операционных системах UNIX, пожалуй, наиболее эффективно и элегантно решались нетривиальные проблемы программирования. Вскоре после появления на свет языка C, UNIX был переписан на этом языке. И в конце 80-х годов IBM совместно с другими фирмами выступила с инициативой Open Software Foundation с целью способствовать «унификации» UNIX. На сегодняшний день UNIX-системы получили широкое распространение среди специалистов благодаря своей надежности. Кроме некоммерческих клонов UNIX, таких как Free BSD, Free SCO (Santa Cruse Operation System), начали появляться и коммерческие UNIXы: ОС SOLARIS - плод совместной работы Sun Microsystem и AT&T (в ОС SOLARIS появляется многоплатформенность, ОС работает как на Intel-, так и на Sun-платформах). Расширение рынка привело к появлению систем межмашинных взаимодействий, применяемых в Internet. Именно в UNIX впервые появились широко известные всем протоколы TCP\IP.

Теперь займемся рассмотрением особенностей, характерных для операционной системы UNIX:

  • UNIX - система массового распространения.

  • Многопользовательская иерархическая файловая система (частично взята из Multics).

  • Базовые объекты UNIXа:

  • процесс;

  • файл (!);

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

  • В системе достаточно аккуратно и прагматично организована работа с внешними устройствами. Одно и то же устройство можно в UNIX определить и как байт- и как блокориентированное.

  • Вся системная информация ОС хранится в виде файлов (В некотором смысле новаторское решение). До появления UNIX операционные системы хранили свои настройки в таблицах (Каждой таблице соответствовала программа, которая «понимала» формат этой таблицы). В UNIX все системные данные находятся в текстовом формате. Заметим, что современные UNIX-системы имеют и внутренние форматы данных.

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

  • ОС UNIX получила широкое распространение благодаря «прозрачности» принимаемых системой решений, простоте организации системных данных, алгоритмов и взаимосвязей.

  • UNIX - «переносимая» операционная система. Это означает, что большая часть кода, алгоритмов легко переносятся на другие архитектуры.

  • ОС UNIX решает проблемы сглаживания скорости работы CPU и внешней памяти. Это решается за счет глубокой многоуровневой буферизации обменов данными и за счет оптимизации доступа к информации, размещенной файловой системой. (Кстати это одно из самых больных мест всех Windows, правда в Windows 98 Microsoft-team начала решать эту проблему.) В частности система обеспечивает буферизацию всех дисковых обменов через системные cache-буфера. (Т.е. при запросе на обмен реального обмена с диском может и не происходить). Это позволяет повысить производительность всей системы в целом и понизить изнашивание внешнего устройства. Единственный большой недостаток cache-буферов, как было установлено нами ранее, - несоответствие реального содержимого того или иного файла и состояния всей файловой системы в целом их концептуальному содержимому. Отсюда делаем вывод, что UNIX-системы достаточно критичны к аварийному выключению. Правда сразу же можно сделать другую оговорку - любые ОС критичны к аварийному отключению питания. А ОС UNIX создавалась тогда, когда один аварийный сбой в сутки считался вполне привычным явлением.

Теперь рассмотрим конкретные свойства UNIX.

Файловая система ОС UNIX

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

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

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

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

Работа с файлами

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

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

Представим адресное пространство СВЗУ в виде последовательности блоков:

Блок

начальной

загрузки

Суперблок

файловой системы

Область

индексных дескрипторов

Блоки

файлов

Область

сохранения

0

Нулевой блок СВЗУ - блок, в котором находится программный загрузчик.

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

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

  1. Поле, определяющее тип файла (каталог или нет).

  2. Поле кода защиты.

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

  4. Длина файла в байтах.

  5. Статистика: поля, характеризующие дату и время создания и т.п.

  6. Поле адресации блоков файлов.

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

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

Такова концептуальная структура файловой системы. Теперь рассмотрим детали.

Блок начальной загрузки. Нулевой блок СВЗУ - это блок начальной загрузки, или блок, в котором находится программный загрузчик. Размещение этого блока в нулевом блоке СВЗУ определяется аппаратно, потому что аппаратный загрузчик обращается всегда именно к нулевому блоку. Это последний компонент файловой системы, который зависит от аппаратуры.

Суперблок файловой системы. Наибольший интерес в суперблоке вызывают последние два поля: поля информации о свободных блоках файлов и свободных индексных дескрипторах. В файловой системе UNIX-а заметно влияние двух факторов. Первый фактор - это то, что файловая система разрабатывалась в те времена, когда объем винчестера в 5-10Мб считался очень большим. Внутри структуры файловой системы заметны старания авторов оптимизировать использование пространства внешнего устройства. Второй фактор - свойство файловой системы по оптимизации доступа. Критерий оптимальности доступа - количество обменов файловой системы с внешним устройством, которые она производит для обеспечения нужд.

Список (массив) свободных блоков файлов состоит из пятидесяти элементов и занимает 100 байтов. В буфере, состоящем из пятидесяти элементов, записаны номера свободных блоков пространства блоков памяти. Эти номера записаны со второго элемента по сорок девятый. Первый элемент массива содержит номер последней записи в этом массиве. Нулевой элемент этого списка содержит ссылку на блок пространства блоков файлов, в котором этот список продолжен, и т.д.

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

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

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

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

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

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее