
- •Министерство образования и науки Республики Казахстан
- •1.1 Данные о преподавателях:
- •Выписка из учебного плана
- •1.6 Перечень и виды заданий и график их выполнения: Виды заданий и сроки их выполнения
- •1.7 Список литературы
- •2.2 Конспект лекционных занятий
- •Тема 1.Основы операционных систем .( 2 часа)
- •1.1 Назначение и функции операционных систем
- •1.2 Эволюция развития операционных систем
- •1.3 Основные понятия, концепции ос
- •1.4 Классификация ос
- •Тема 2. Архитектура операционных систем. ( 2 часа)
- •2.1 Монолитные системы
- •2.2 Многоуровневые системы
- •Тема 3. Микроядерная архитектура ос(2 часа)
- •3.1 Основные положения архитектуры ос с микроядром
- •3.2 Преимущества и недостатки архитектуры ос с микроядром
- •Тема 4. Совместимость операционных систем( 2 часа)
- •4.1 Виды совместимости
- •4.2 Способы реализации совместимости
- •Тема 5. Представления процесса в операционной системе ( 2 часа)
- •5.1 Понятие процесса
- •5.2 Состояния процесса
- •Тема 6. Операции над процессами и связанные с ними понятия (2 часа)
- •6.1 Process Control Block и контекст процесса
- •6.2 Одноразовые операции
- •6.3 Многоразовые операции
- •Тема 7. Планирование процессов ( 2 часа)
- •7.1 Уровни планирования
- •7.2 Критерии планирования
- •7.3 Параметры планирования
- •7.4 Вытесняющее и невытесняющее планирование
- •Алгоритмы планирования
- •Тема 8. Алгоритмы синхронизации
- •8.1 Программные алгоритмы организации взаимодействия процессов
- •8.2 Алгоритм Петерсона
- •8.3 Алгоритм булочной (Bakery algorithm)
- •8.4 Команда Test-and-Set (проверить и присвоить 1)
- •8.5 Команда Swap (обменять значения)
- •Тема 9. Механизмы синхронизации (2 часа) 9. 1 Семафоры
- •9.2 Мониторы
- •9.3 Сообщения
- •Тема 10. Организация памяти компьютера. Простейшие схемы управления памятью. ( 2 часа)
- •10.1 Физическая организация памяти компьютера
- •10.2 Логическая память
- •10.3 Простейшие схемы управления памятью
- •10.4 Динамическое распределение. Свопинг
- •Тема 11. Управление файлами (2 часа)
- •11.1 Основные понятия файловой системы
- •11.2 Операции над файлами
- •11.3 Директории. Логическая структура файлового архива
- •11.4 Разделы диска. Организация доступа к архиву файлов.
- •Тема 12. Реализация файловой системы
- •12.1 Система хранения
- •12.2 Управление внешней памятью
- •12.3 Управление свободным и занятым дисковым пространством
- •12.4 Монтирование файловых систем
- •12.5 Управление "плохими" блоками
- •12.6 Производительность файловой системы
- •Тема 13. Сети и сетевые операционные системы. ( 2 часа)
- •13.1 Сетевые и распределенные операционные системы
- •13.2 Понятие протокола. Многоуровневая модель построения сетевых вычислительных систем.
- •13.3 Проблемы адресации в сети.
- •Тема 14 . Основные понятия информационной безопасности ( 2 часа)
- •14.1 Угрозы безопасности
- •14.2 Криптография как одна из базовых технологий безопасности ос
- •Тема 15. Защитные механизмы операционных систем
- •2.3 Планы лабораторных занятий
- •Практические задания
- •Практические задания.
- •2.4 Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя (срсп)
- •Рекомендуемая литература: 11 доп. [324-401], 12 доп. [123-143], 13 доп.[76-92]
- •2.5 Планы занятий в рамках самостоятельной работы студентов (срс)
- •2.7 Тестовые задания для самоконтроля с указанием ключей правильных ответов
- •Ключи правильных ответов
- •2.6 Перечень экзаменационных вопросов по пройденному курсу
- •Глоссарий
- •12. Канал- специализированный процессор ввода-вывода в компьютерах класса мэйнфреймов.
- •27. Пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени.
- •Выходные сведения
12.2 Управление внешней памятью
В ОС используется несколько методов выделения файлу дискового пространства. Для каждого из методов запись в директории, соответствующая символьному имени файла, содержит указатель, следуя которому можно найти все блоки данного файла.
Простейший способ - хранить каждый файл как непрерывную последовательность блоков диска. При непрерывном расположении файл характеризуется адресом и длиной (в блоках). Файл, стартующий с блока b, занимает затем блоки b+1, b+2, ... b+n-1. Эта схема имеет два преимущества. Во-первых, ее легко реализовать, так как выяснение местонахождения файла сводится к вопросу, где находится первый блок. Во-вторых, она обеспечивает хорошую производительность, так как целый файл может быть считан за одну дисковую операцию. Непрерывное выделение используется в ОС IBM/CMS, в ОС RSX-11 (для выполняемых файлов) и в ряде других.
Непрерывное распределение внешней памяти неприменимо до тех пор, пока неизвестен максимальный размер файла. Иногда размер выходного файла оценить легко (при копировании). Чаще, однако, это трудно сделать, особенно в тех случаях, когда размер файла меняется. Если места не хватило, то пользовательская программа может быть приостановлена с учетом выделения дополнительного места для файла при последующем рестарте. Некоторые ОС используют модифицированный вариант непрерывного выделения - основные блоки файла + резервные блоки. Однако с выделением блоков из резерва возникают те же проблемы, так как приходится решать задачу выделения непрерывной последовательности блоков диска теперь уже из совокупности резервных блоков.
Единственным приемлемым решением перечисленных проблем является периодическое уплотнение содержимого внешней памяти, или "сборка мусора", цель которой состоит в объединении свободных участков в один большой блок. Но это дорогостоящая операция, которую невозможно осуществлять слишком часто.
Таким образом, когда содержимое диска постоянно изменяется, данный метод нерационален. Однако для стационарныхфайловых систем, например для файловых систем компакт-дисков, он вполне пригоден.
Внешняя фрагментация - основная проблема рассмотренного выше метода - может быть устранена за счет представления файла в виде связного списка блоков диска. Запись в директории содержит указатель на первый и последний блоки файла (иногда в качестве варианта используется специальный знак конца файла - EOF). Каждый блок содержит указатель на следующий блок .
Внешняя фрагментация для данного метода отсутствует. Любой свободный блок может быть использован для удовлетворения запроса. Заметим, что нет необходимости декларировать размер файла в момент создания. Файл может расти неограниченно.
Связное выделениеимеет, однако, несколько существенных недостатков. Во-первых, при прямом доступе к файлу для поиска i-го блока нужно осуществить несколько обращений к диску, последовательно считывая блоки от 1 до i-1, то есть выборка логически смежных записей, которые занимают физически несмежные секторы, может требовать много времени. Здесь мы теряем все преимущества прямого доступа к файлу. Во-вторых, данный способ не очень надежен. Наличие дефектного блока в списке приводит к потере информации в оставшейся части файла и потенциально к потере дискового пространства, отведенного под этот файл. Наконец, для указателя на следующий блок внутри блока нужно выделить место, что не всегда удобно. Емкость блока, традиционно являющаяся степенью двойки (многие программы читают и пишут блоками по степеням двойки), таким образом, перестает быть степенью двойки, так как указатель отбирает несколько байтов. Поэтому метод связного списка обычно в чистом виде не используется.
Одним из вариантов предыдущего способа является хранение указателей не в дисковых блоках, а в индексной таблицев памяти, которая называется таблицей отображения файлов (FAT - file allocation table). Этой схемы придерживаются многие ОС (MS-DOS, OS/2, MS Windows и др.)
По-прежнему существенно, что запись в директории содержит только ссылку на первый блок. Далее при помощи таблицы FAT можно локализовать блоки файла независимо от его размера. В тех строках таблицы, которые соответствуют последним блокам файлов, обычно записывается некоторое граничное значение, например EOF.
Главное достоинство данного подхода состоит в том, что по таблице отображения можно судить о физическом соседстве блоков, располагающихся на диске, и при выделении нового блока можно легко найти свободный блок диска, находящийся поблизости от других блоков данного файла. Минусом данной схемы может быть необходимость хранения в памяти этой довольно большой таблицы.
Наиболее распространенный метод выделения файлу блоков диска - связать с каждым файлом небольшую таблицу, называемую индексным узлом(i-node), которая перечисляет атрибуты и дисковые адреса блоков файла. Запись в директории, относящаяся к файлу, содержит адрес индексного блока. По мере заполнения файла указатели на блоки диска в индексном узле принимают осмысленные значения.
Индексирование поддерживает прямой доступ к файлу, без ущерба от внешней фрагментации. Индексированное размещение широко распространено и поддерживает как последовательный, так и прямой доступ к файлу.