ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.07.2021
Просмотров: 522
Скачиваний: 2
СОДЕРЖАНИЕ
Назначение и функции современных операционных систем [1, тема 1].
Архитектура операционных систем [1, тема 1].
Мультипрограммирование в современных операционных системах [1, тема 2].
Управление основной памятью в современных операционных системах. Виртуальная память [1, тема 2].
Классификация алгоритмов распределения памяти
Сегментное распределение памяти
Кэширование данных в современных операционных системах. Кэш-память [1, тема 2].
Организация внешней памяти на магнитных дисках [1, тема 2].
Современные файловые системы FAT и NTFS [1, тема 2].
Механизм контроля доступа к разделяемым ресурсам в локальной сети [1, тема 2].
Распределенная обработка данных в сетевых операционных системах [1, тема 3].
Механизм организации взаимодействия в распределенных системах
Назначение и принципы построения службы каталогов в компьютерных сетях [1, тема 3].
Достоинства сегментного распределения памяти:
-
Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в таблицах сегментов этих процессов делаются ссылки на один и тот же участок оперативной памяти, в который данный сегмент загружается в единственном экземпляре, и который в этом случае называется разделяемой памятью.
-
Возможно задание дифференцированных прав доступа процесса к его сегментам, например, только чтение или запись.
Недостатки:
-
Более громоздкий механизм преобразования виртуальных адресов процесса в физические. При страничной организации страницы имеют одинаковый размер, кратный степени двойки. Поэтому ОС заносит в таблицы страниц не полный адрес физической памяти, а только номер физической страницы, который одновременно представляет собой старшие разряды физического адреса любой ячейки этой страницы при преобразовании адресов. При сегментной организации сегменты могут начинаться с любого физического адреса памяти, поэтому в таблице сегментов необходимо задавать полный начальный физический адрес.
-
Избыточность, так как единицей перемещения между памятью и диском является сегмент, который в общем случае больше страницы.
-
Фрагментация памяти, которая возникает из-за непредсказуемых размеров сегментов.
Сегментно-страничное распределение памяти.
В этом методе реализуются достоинства страничного и сегментного методов распределения памяти.
Как и при сегментной организации памяти, виртуальные адресные пространства разделены на сегменты. Это позволяет определить разные права доступа к разным частям кодов и данных программ.
Однако в большинстве современных реализаций все виртуальные сегменты образуют одно непрерывное линейное виртуальное адресное пространство процесса.
Перемещение данных между памятью и диском осуществляется не сегментами, а страницами. Для этого каждый сегмент и физическая память делятся на страницы одинакового размера, что позволяет эффективно использовать память, сократив до минимума фрагментацию.
Кэширование данных в современных операционных системах. Кэш-память [1, тема 2].
Кэш-память, или просто кэш (cache), – промежуточный буфер с быстрым доступом. это высокоскоростная память произвольного доступа, используемая процессором компьютера для временного хранения информации.
Кэш-память прозрачна для программ и пользователей. С ней работает только операционная система.
В современных компьютерах применяют кэширование, как оперативной памяти, так и диска.
В процессе работы системы в кэш-память заносятся данные, считываемые системой из оперативной памяти при выполнении каких-либо задач. Каждая запись в кэш-памяти включает в себя:
-
значение элемента данных;
-
адрес, который этот элемент данных имеет в основной памяти;
-
дополнительную информацию, которая используется для реализации алгоритма замещения данных в кэше и обычно включает признак модификации (1/0) и признак действительности данных (1/0).
При каждом обращении к основной памяти просматривается содержимое кэш-памяти с целью определения, не находятся ли там нужные данные. Кэш-память не является адресуемой, поэтому поиск осуществляется по содержимому. Далее возможна одна из двух ситуаций:
-
если данные обнаруживаются в кэш-памяти (кэш-попадание), то они считываются из нее;
-
если нужные данные отсутствуют в кэш-памяти (кэш-промах), то они считываются из основной памяти и одновременно с этим копируются в кэш-память.
В процессе работы содержимое кэш-памяти постоянно обновляется, данные из нее вытесняются. Алгоритм обновления данных в кэш-памяти существенно влияет на ее эффективность. Наличие в компьютере двух копий данных – в основной памяти и в кэше – порождает проблему их согласования. Если происходит запись в основную память по некоторому адресу, а содержимое этой ячейки находится в кэше, то в результате соответствующая запись в кэше становиться недостоверной.
Возможны два решения проблемы: сквозная и обратная запись.
Сквозная запись. При каждом запросе к основной памяти, в том числе и при записи просматривается кэш. Если данные в кэш отсутствуют, то запись выполняется только в основную память. Если же данные находятся в кэше, то запись выполняется одновременно в кэш и основную память. При вытеснении данных из кэш они просто теряются.
Обратная запись. Аналогично при возникновении запроса к памяти выполняется просмотр кэша. И если данных там нет, то запись выполняется только в основную память. В противном случае производится запись только в кэш-память, при этом в описателе данных кэша делается специальная отметка (признак модификации), которая указывает на то, что при вытеснении этих данных из кэша необходимо переписать их в основную память, чтобы обновить устаревшее содержимое основной памяти.
Для кэширования используются две основные схемы отображения: случайное отображение и детерминированное отображение.
При случайном отображении элемент оперативной памяти вместе со своим адресом может быть размещен в произвольном месте кэш-памяти.
В такой кэш-памяти вытеснение старых записей происходит лишь при ее полном заполнении. Обычно вытесняются записи, к которым меньше всего не было обращений.
Детерминированный (прямой) способ отображения предполагает, что любой элемент основной памяти всегда отображается в одно и то же место кэш-памяти. Между номерами строк кэш-памяти и адресами основной памяти устанавливается соотношение «один ко многим»: одному номеру строки соответствует несколько адресов оперативной памяти.
При смешанном подходе произвольный адрес оперативной памяти отображается не на один адрес кэш-памяти и не на любой адрес, а на некоторую группу адресов.
Организация внешней памяти на магнитных дисках [1, тема 2].
Для организации внешней памяти используются недорогие, но достаточно быстродействующие и емкие устройства с прямым доступом к данным – накопители на жестких магнитных дисках (НЖМД) или просто диски.
Из оперативной памяти в НЖМД и обратно данные передаются байтами, а вот записываются непосредственно на диск и считываются с него они уже последовательно (побитно). Из-за того, что запись и считывание бита данных не является абсолютно надежными операциями, данные перед записью кодируется с достаточно большой избыточностью. Для этой цели применяют коды Рида-Соломона.
Избыточное кодирование информационных данных позволяет не только обнаруживать ошибки, но и автоматически исправлять их. Следовательно, перед тем как данные, считанные с поверхности диска, будут переданы в оперативную память, их нужно предварительно обработать – декодировать. На эту операцию необходимо некоторое время, за которое диск успевает повернуться на некоторый угол.
Поэтому на диске данные хранятся порциями – кодовыми блоками, имеющими информационную часть и некоторую проверочную часть. Эти блоки называют секторами (sectors), имеющими стандартизованный размер информационной части 512 байт.
При фиксированном положении головки секторы образуют дорожку (трек – track). Дорожки и секторы создаются в результате выполнения процедуры физического или низкоуровневого форматирования диска, предшествующего использованию диска (при производстве диска).
Группы дорожек одного радиуса, расположенные на поверхностях дисков образуют цилиндры (cylinders). Выбор конкретной дорожки в цилиндре осуществляется указанием головки (head) записи-считывания. Таким образом, адрес конкретного блока данных ранее указывался с помощью трех координат C-H-S – номеров цилиндра, головки и сектора (рис. 2.7).
Рис. 2.7. Структура размещения данных на диске
Сейчас применяют другой метод адресации, при котором все секторы просто пронумерованы – спецификация LBA (Logical Block Addressing).
Для структуризации данных на магнитном диске полезно поделить все дисковое пространство на разделы (partitions). Такое деление позволяет организовать на одном физическом устройстве несколько логических устройств (логических дисков). Причем на каждом разделе может быть организована своя файловая система.
Современные файловые системы FAT и NTFS [1, тема 2].
В настоящее время существует большое количество файловых систем, но наибольшее распространение в персональных компьютерах получили FAT и NTFS благодаря их применению в семействе операционных систем Windows.
Файловая система FAT
File Allocation Table – таблица размещения файлов
Структура логического диска состоит из следующих областей:
-
загрузочный сектор содержит программу начальной загрузки ОС; вид этой программы зависит от типа ОС, которая будет загружаться с этого раздела;
-
основная копия FAT содержит информацию о размещении файлов и каталогов по кластерам на диске в области данных;
-
резервная копия FAT;
-
корневой каталог занимает фиксированную область размером в 32 сектора (16 Кбайт), что позволяет хранить 512 записей о файлах и каталогах, так как каждая запись каталога состоит из 32 байт;
-
область данных измеряется в кластерах и предназначена для размещения всех файлов и всех каталогов, кроме корневого каталога.
В таблице FAT количество индексных указателей соответствует количеству кластеров в области данных, а номер индексного указателя равен номеру соответствующего кластера.
Индексный указатель имеет ограниченный размер (в частности: 12 бит в FAT12, 16 бит в FAT16 и 32 бит в FAT32) и может принимать значения, представленные для FAT16 в табл. 2.2.
Таблица 2.2
При размещении на диске файла операционная система просматривает таблицу FAT и ищет первый свободный индексный указатель. После его обнаружения в поле записи каталога «номер первого кластера» фиксируется номер этого указателя. В кластер с этим номером записываются данные файла, и он становится первым кластером файла. Если файл умещается в одном кластере, то в указатель, соответствующий данному кластеру, заносится значение «последний кластер в цепочке».
Если же размер файла превышает один кластер, то операционная система продолжает просмотр таблицы FAT и ищет следующий указатель на свободный кластер. После его обнаружения в предыдущий указатель заносится номер этого кластера, который теперь становится следующим кластером файла. Процесс продолжается до тех пор, пока не будут размещены все данные файла. Таким образом, создается цепочка связанных кластеров файла.
Размер индексных указателей определяет количество кластеров. Например, в FAT12 используются 12-ти битные указатели, поэтому возможно иметь только 212 = 4096 кластеров в области данных диска и.т.д.
Так как количество кластеров ограничено, то размер кластера зависит от объема логического диска и обычно выбирается из диапазона от 1 до 128 секторов (от 512 байт до 64 Кбайт).
Понятие «файл» для файловой системы включает не только имя и хранимые в выделенных кластерах данные, но и атрибуты – свойства файла. Поэтому в каталогах файловой системы для каждого файла выделяется запись (строка) размером 32 байта, в которой в FAT16 и FAT12 указываются следующие данные о файле : имя, резерв, атрибуты, размер и т.д.
Файловая система NTFS
Файловая система NTFS (New Technology File System – файловая система новой технологии) была разработана в качестве основной файловой системы для операционных систем Windows на основе технологии NT в начале 1990-х.Основные отличительные свойства NTFS:
-
поддержка больших файлов и больших дисков объемом до 264 байт, так как используется 64-х битная нумерация кластеров;
-
надежность – за счет введения средств самовосстановления после сбоев программ и аппаратуры управления дисками
-
высокая скорость операций – за счет использования в качестве базовой единицы распределения дискового пространства непрерывных областей кластеров, называемых отрезками; при этом в качестве адреса отрезка используется логический номер его первого кластера, а также количество кластеров в отрезке;
-
ограничение доступа к файлам и каталогам на основании разрешений, которые устанавливаются для учетных записей пользователей;
-
расширенные функции, например квотирование (в Windows 2000/XP), при котором пользователи могут хранить свои файлы только в пределах отведенной им квоты на дисковое пространство.
Отличием NTFS является деление на кластеры всего пространство логического диска, называемого томом, а не только области данных, как в FAT. Порядковый номер кластера в томе называется логическим номером кластера (Logical Cluster Number, LCN). Файловая система NTFS поддерживает размеры кластеров от 512 байт до 64 Кбайт (от 1 до 128 секторов). Обычно используется кластер размером 2 Кбайт или 4 Кбайт.
В отличие от FAT весь том состоит из файлов. Каждый файл также состоит из последовательности кластеров, при этом порядковый номер кластера внутри файла называется виртуальным номером кластера (Virtual Cluster Number, VCN).
Базовой единицей распределения дискового пространства на томе NTFS является отрезок – непрерывная область кластеров. Каждый отрезок обозначается логическим номером его первого кластера LCN и количеством кластеров в отрезке k, то есть парой чисел: (LCN, k). Часть файла, начинающаяся с виртуального кластера VCN, при размещении в отрезке характеризуется адресом, состоящим их трех чисел: (VCN, LCN, k).
Основной структурой файловой системы NTFS является файл MFT, называемый главная таблица файлов (Master File Table, MFT), в которой содержатся записи о каждом файле тома, включая и сам файл MFT.
Под файл MFT на диске выделяется 12 % места (с учетом дальнейшего роста таблицы файлов).
Каждая запись MFT имеет фиксированную длину, зависящую от объема диска, – 1, 2, или 4 Кбайт. Для большинства дисков, используемых сегодня, размер записи MFT равен 2 Кбайт. Номер записи MFT, определяемый ее позицией в таблице, становится номером описываемого файла.
Первые 16 записей являются записями о служебных файлах NTFS, называемых метафайлами, причем самый первый метафайл – это сам файл MFT. В табл. 2.3 представлено назначение метафайлов.
Часть тома с записями метафайлов – единственная часть логического диска, имеющая строго фиксированное положение и образует первый отрезок на томе. Копия этих же 16-ти записей MFT (для надежности) хранится в середине тома. Оставшаяся часть файла MFT может располагаться, как и любой другой файл, в произвольных местах диска – восстановить его положение можно с помощью первой записи MFT.
Механизм контроля доступа к разделяемым ресурсам в локальной сети [1, тема 2].
Существуют различные виды ресурсов, с которыми пользователи работают в режиме совместного использования. Во всех случаях действует общая схема: пользователи пытаются выполнить с разделяемым ресурсом определенные операции, а операционная система должна решать, имеют ли пользователи на это право.
При организации доступа к разделяемым ресурсам обычно считают, что пользователи являются субъектами доступа, а разделяемые ресурсы – объектами.
Пользователи осуществляют доступ к объектам операционной системы не непосредственно, а с помощью прикладных процессов, которые запускаются от его имени.