- •Лекционный комплекс по дисциплине «Основы построения операционных систем»
- •Раздел 1. Классификация операционных систем
- •1. Введение. Классификация видов программного обеспечения.
- •2.Назначение и функции операционных систем.
- •3. Мультипрограммирование. Режим разделения времени.
- •4. Многопользовательский режим работы. Режимы реального времени.
- •4. Содержание лекции:
- •1.Универсальные операционные системы и ос специального назначения.
- •2. Классификация операционных систем.
- •3. Модульная структура построения ос и их переносимость.
- •4. Управление процессором.
- •Раздел 2. Организация и управление процессами
- •4. Содержание лекции:
- •1. Понятие процесса и ядра. Сегментация виртуального адресного пространства процесса.
- •2.Структура контекста процесса. Идентификатор и дескриптор процесса.
- •3.Диспетчеризация и синхронизация процессов.
- •4. Иерархия процессов. Понятие приоритета и очереди процессов.
- •4 Лекция
- •2.План лекции
- •5 Лекция
- •1.Тема лекции: Однозадачное и многозадачное выполнение процессов.
- •2.План лекции
- •4. Способы управления многопроцессорным решением задач.
- •Раздел 3. Управление вводом выводом
- •4. Содержание лекции:
- •2. Синхронный и асинхронный ввод-вывод.
- •3. Диспетчеризация ввода-вывода.
- •7 Лекция
- •2.План лекции
- •1. Произвольный и последовательный метод доступа.
- •2. Потоки ввода-вывода.
- •3. Способы защиты ввода-вывода.
- •Раздел 4. Файловая система
- •1.Тема лекция. Основные функции файловой системы. Компоненты файловой системы.
- •2.План лекции
- •4. Содержание лекции: Основные функции файловой системы.
- •2. Компоненты файловой системы.
- •1.Тема лекции. Способы организации файлов. Менеджер файловой системы. Сохранность и защита файлов
- •2.План лекции
- •1. Способы организации файлов.
- •2. Менеджер файловой системы.
- •3. Сохранность и защита файлов.
- •Раздел 5. Управление памятью
- •1.Тема лекции: Совместное использование памяти. Защита памяти. Функции доступа. Организация виртуальной памяти.
- •2.План лекции
- •4. Содержание лекции:
- •1. Совместное использование памяти.
- •2. Защита памяти.
- •3. Функции доступа.
- •4. Организация виртуальной памяти.
- •1.Тема лекции. Стратегии откачки и подкачки страниц Менеджер ресурса памяти. Стратегии распределения памяти.
- •2.План лекции
- •4. Содержание лекции:
- •1. Управление памятью. Совместное использование памяти
- •2. Защита памяти.
- •3. Механизм реализации виртуальной памяти.
- •1.Тема лекции. Стратегии откачки и подкачки страниц Менеджер ресурса памяти. Стратегии распределения памяти.
- •2.План лекции
- •4. Содержание лекции:
- •Раздел 6. Управление телекоммуникационным доступом
- •4. Содержание лекции:
- •1.Пользовательский интерфейс и оболочки.
- •2.План лекции
- •4. Содержание лекции:
- •3. Маршрутизация, буферизация и регистрация сообщений.
- •4. Удаленная обработка. Электронная почта.
- •2.План лекции
- •4. Содержание лекции:
- •6. Программные средства сетевой защиты информации.
Раздел 5. Управление памятью
10 – лекция
1.Тема лекции: Совместное использование памяти. Защита памяти. Функции доступа. Организация виртуальной памяти.
2.План лекции
1. Совместное использование памяти.
2. Защита памяти.
3. Функции доступа.
4. Организация виртуальной памяти.
3. Цель лекции: Ознакомит студетов с совместными ииспользование памяти. Защита памяти. Функции доступа. Организация виртуальной памяти.
4. Содержание лекции:
1. Совместное использование памяти.
В однозадачных системах основная память разделяется на две части: одна часть — для операционной системы (резидентный монитор, ядро), а вторая - для выполняющейся в текущий момент времени программы. В многозадачных системах "пользовательская" часть памяти должна быть распределена для размещения нескольких процессов. Эта задача распределения выполняется операционной системой динамически и известна под названием управления памятью (memory management).
Эффективное управление памятью жизненно важно для многозадачных систем. Если в памяти располагается только небольшое число процессов, то большая часть времени все эти процессы будут находиться в состоянии ожидания завершения операций ввода-вывода, и загрузка процессора будет низкой. Таким образом, желательно эффективное распределение памяти, позволяющее разместить в ней как можно больше процессов.
При рассмотрении различных механизмов и стратегий, связанных с управлением памятью, полезно помнить требования, которым они должны удовлетворять:
Перемещение.
Защита.
Совместное использование.
Логическая организация.
Физическая организация.
В многозадачной системе доступная основная память разделяется на множество процессов. Обычно программист не знает заранее, какие программы будут резидентно находиться в основной памяти во время работы разрабатываемой им программы. Для максимизации загрузки процессора желательно иметь много процессов, готовых к исполнению, для чего требуется возможность загрузки активных процессов из основной памяти. Требование, чтобы выгруженная программа была вновь загружена в то же самое место, где находилась и работала, было бы слишком сильным ограничением. Крайне желательно, чтобы она могла быть перемещена (relocate) в другую область памяти. таким образом, заранее неизвестно, где именно будет размещена программа. Кроме того, программа может быть перемещена из одной области памяти в другую при свопинге.
Каждый процесс должен быть защищен от нежелательного воздействия других процессов случайного или преднамеренного. Следовательно, код других процессов не должен иметь возможности без разрешения обращаться к памяти данного процесса для чтения или записи. Однако удовлетворение требованию перемещаемости усложняет задачу защиты. Поскольку расположение программы в основной памяти непредсказуемо, проверка абсолютных адресов во время компиляции невозможна. Кроме того, в большинстве языков программирования возможно динамическое вычисление адресов во время исполнения. Любой механизм защиты должен иметь достаточную гибкость, для того чтобы обеспечить возможность нескольким процессам обращаться к одной и области основной памяти. Система управления памятью должна, таким образом, обеспечивать управляемый доступ к разделяемым областям памяти, при этом никоим образом не ослабляя зашиты памяти.
Фактически всегда основная память в компьютерной системе организована как линейное (одномерное) адресное пространство, состоящее из последовательности байт или слов. Аналогично организована и вторичная память на своем физическом уровне. Хотя такая организация и отражает особенности используемого аппаратного обеспечения, она не соответствует способу, которым обычно создаются программы. Большинство программ организованы в виде модулей, некоторые из которых неизменны, а другие содержат данные, которые могут быть изменены. Если операционная система и аппаратное обеспечение компьютера могут эффективно работать с пользовательскими программами и данными, представленными модулями, то это обеспечивает ряд преимуществ.
Модули могут быть созданы и скомпилированы независимо друг от друга при этом все ссылки из одного модуля во второй разрешаются системой во время работы программы.
Разные модули могут получить разные степени защиты (только для чтения, только для исполнения) за счет весьма умеренных накладных расходов.
Возможно применение механизма, обеспечивающего совместное использование модулей разными процессами. Основное достоинство обеспечения совместного использования на уровне модулей заключается в том» что они соответствуют взгляду программиста на задачу и, следовательно, ему проще определить, требуется или нет совместное использование того или иного модуля.
Инструментом, наилучшим образом удовлетворяющим данным требованиям, является сегментация, которая будет рассмотрена в данной главе среди прочих методов управления памятью.
Память компьютера разделяется как минимум на два уровня: основная и вторичная. Основная память обеспечивает быстрый доступ по относительно высокой цене; кроме того, она энергозависима, т.е. не обеспечивает долговременного хранения. Вторичная память медленнее и дешевле основной и обычно энергонезависима. Следовательно, вторичная память большой емкости может служить для долговременного хранения программ и данных, а основная память меньшей емкости — для хранения программ и данных, использующихся в текущий момент.
В такой двухуровневой структуре основной заботой системы становится организация потоков информации между основной и вторичной памятью. Ответственность за эти потоки может быть возложена и на отдельного программиста, но это непрактично и нежелательно по следующим причинам:
Основной памяти может быть недостаточно для программы и ее данных.
В многозадачной среде программист при разработке программы не знает, какой объем памяти будет доступен программе и где эта память будет располагаться.
Таким образом, очевидно, что задача перемещения информации между двумя уровнями памяти должна возлагаться на операционную систему. Эта задача является сущностью управления памятью.
