- •Назначение и функции ос. Ос как виртуальная машина
- •2. Назначение и функции ос. Ос как система управления ресурсами
- •3.Функциональные компоненты ос. Управление процессами.
- •4. Функциональные компоненты ос. Управление памятью
- •5.Функциональные компоненты ос. Управление файлами и внешними устройствами.
- •6. Функциональные компоненты ос. Защита данных и администрирование
- •7.Функциональные компоненты ос. Интерфейс прикладного программирования
- •8.Функциональные компоненты ос. Пользовательский интерфейс
- •9.Сетевые и распределенные ос
- •10. Функциональные компоненты сетевой ос Основные функциональные компоненты сетевой ос:
- •11. Одноранговые и серверные сетевые операционные системы
- •Ос в одноранговых сетях.
- •Ос в сетях с выделенными серверами
- •12. Требования к современным операционным системам
- •13. Ядро и вспомогательные модули ос
- •14. Ядро в привилегированном режиме
- •15. Многослойная структура ос
- •16. Аппаратная зависимость и переносимость ос
- •Типовые средства аппаратной поддержки ос:
- •17. Машинно-зависимые компоненты ос
- •18. Переносимость операционной системы
- •19. Коцепция микроядерной архитектуры
- •Преимущества и недостатки:
- •20. Совместимость и множественные прикладные среды
- •Двоичная совместимость и совместимость исходных текстов
- •Трансляция библиотек
- •Способы реализации прикладных программных сред
- •21. Мультипрограммирование в системах пакетной обработки
- •22. Мультипрограммирование в системах разделения времени
- •23. Мультипрограммирование в системах реального времени
- •24. Мультипроцессорная обработка
- •25. Планирование процессов и потоков
- •26. Создание процессов и потоков
- •27. Планирование и диспетчеризация потоков
- •28. Вытесняющие и невытесняющие алгоритмы планирования
- •29. Алгоритмы планирования, основанные на квантовании
- •30. Алгоритмы планирования, основанные на приоритетах
- •31. Смешанные алгоритмы планирования
- •32. Планирование в системах реального времени
- •33. Моменты перепланировки
- •34. Функции ос по управлению памятью
- •35. Типы адресов
- •36. Алгоритмы распределения памяти Распределение памяти фиксированными разделами
- •Распределение памяти динамическими разделами
- •Перемещаемые разделы
- •37.Страничное распределение
- •38.Сегментное распределение
- •39.Сегментно-страничное распределение
- •40.Разделяемые сегменты памяти
- •41. Кэширование данных
- •43. Кэш память. Проблема согласования данных
- •44.Способы отображения основной памяти на кэш
- •45. Схемы выполнения запросов в системах с кэш-памятью
- •46. Логическая организация файловой системы
- •47. Иерархическая структура файловой системы
- •48. Монтирование
- •49. Атрибуты файлов
- •50. Логическая организация файла
- •51. Физическая организация ntfs
- •52. Структура тома ntfs
- •53. Структура файлов ntfs
- •54. Каталоги ntfs
- •55. Файловые операции. Два способа организации файловых операций
- •56. Открытие файла
- •57. Обмен данными с файлом
- •58. Блокировки файлов
- •59. Стандартные файлы ввода и вывода, перенаправление вывода
- •60. Контроль доступа к файлам. Доступ к файлам как частный случай доступа к разделяемым ресурсам
- •61. Механизм контроля доступа
- •62. Организация контроля доступа в ос unix
- •63. Организация контроля доступа в ос Windows nt
4. Функциональные компоненты ос. Управление памятью
Память является для процесса таким же важным ресурсом, как и процессор, так как процесс может выполняться процессором только в том случае, если его коды и данные находятся в оперативной памяти.
Управление памятью включаеть - распределение имеющейся физической памяти между всеми существующими в системе в данный момент процессами, загрузку кодов и данных процессов в отведенные им области памяти, настройку адресно-зависимых частей кодов процесса на физические адреса выделенной области, защиту областей памяти каждого процесса.
Существует большое разнообразие алгоритмов распределения памяти. Они могут отличаться, количеством выделяемых процессу областей памяти (в одних-в виде одной непрерывной области, а в других — в виде нескольких несмежных областей), степенью свободы границы областей (жестко зафиксирована на все время существования процесса или динамически перемещаться при выделении процессу дополнительных объемов памяти). В некоторых системах распределение памяти выполняется страницами фиксированного размера, а в других — сегментами переменной длины.
Одним из наиболее популярных способов управления памятью в современных операционных системах является виртуальная память. Наличие в ОС механизма виртуальной памяти позволяет программисту писать программу так, как будто в его распоряжении имеется однородная оперативная память большого объема, часто существенно превышающего объем имеющейся физической памяти. В действительности все данные, используемые программой, хранятся на диске и при необходимости частями отображаются в физическую память. При перемещении кодов и данных между оперативной памятью и диском подсистема виртуальной памяти выполняет трансляцию виртуальных адресов, полученных в результате компиляции и компоновки программы, в физические адреса ячеек оперативной памяти.
Защита памяти — это избирательная способность предохранять выполняемую задачу от записи или чтения памяти, назначенной другой задаче. Средства защиты памяти, реализованные в операционной системе, должны пресекать несанкционированный доступ процессов к чужим областям памяти.
Функциями ОС по управлению памятью являются отслеживание свободной и занятой памяти; выделение памяти процессам и освобождение памяти при завершении процессов; защита памяти; вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти недостаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти.
5.Функциональные компоненты ос. Управление файлами и внешними устройствами.
Способность ОС к «экранированию» сложностей реальной аппаратуры очень ярко проявляется в одной из основных подсистем ОС — файловой системе. ОС виртуализирует отдельный набор данных, хранящихся на внешнем накопителе, в виде файла — простой неструктурированной последовательности байтов, имеющей символьное имя. Для удобства работы с данными файлы группируются в каталоги, которые, в свою очередь, образуют группы — каталоги более высокого уровня. Пользователь может с помощью ОС выполнять над файлами и каталогами: поиск по имени, удаление, вывод содержимого на внешнее устройство, изменение и сохранение содержимого.
Чтобы представить большое количество наборов данных в виде хорошо всем знакомой и удобной иерархической структуры файлов и каталогов, операционная система должна решить множество задач. Файловая система ОС выполняет преобразование символьных имен файлов, с которыми работает пользователь или прикладной программист, в физические адреса данных на диске, организует совместный доступ к файлам, защищает их от несанкционированного доступа.
При выполнении своих функций файловая система тесно взаимодействует с подсистемой управления внешними устройствами, которая по запросам файловой системы осуществляет передачу данных между дисками и оперативной памятью.
Подсистема управления внешними устройствами, называемая также подсистемой ввода-вывода, исполняет роль интерфейса ко всем устройствам, подключенным к компьютеру.
Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, обычно называется драйвером этого устройства. Драйвер может управлять единственной моделью устройства или же группой устройств определенного типа. Для пользователя очень важно, чтобы операционная система включала как можно больше разнообразных драйверов, так как это гарантирует возможность подключения к компьютеру большого числа внешних устройств различных производителей.
Созданием драйверов устройств занимаются как разработчики конкретной ОС, так и специалисты компаний, выпускающих внешние устройства. Операционная система должна поддерживать хорошо определенный интерфейс между драйверами и остальной частью ОС, чтобы разработчики из компаний-производителей устройств ввода-вывода могли поставлять вместе со своими устройствами драйверы для данной операционной системы.
Поддержание высокоуровневого унифицированного интерфейса прикладного программирования к разнородным устройствам ввода-вывода - наиболее важная задача ОС. Со времени появления ОС UNIX такой унифицированный интерфейс в большинстве операционных систем строится на основе концепции файлового доступа. Эта концепция заключается в том, что обмен с любым внешним устройством выглядит как обмен с файлом, имеющим имя и представляющим собой неструктурированную последовательность байтов. В качестве файла может выступать как реальный файл на диске, так и алфавитно-цифровой терминал, печатающее устройство или сетевой адаптер. Здесь мы опять имеем дело со свойством операционной системы подменять реальную аппаратуру удобными для пользователя и программиста абстракциями.