- •1. Виды прерываний. Их роль в ос.
- •2. Понятие ресурса. Свойства и классификация ресурсов. Действия над ресурсами.
- •3. Понятие исключительной ситуации. Причины возникновения и механизмы обработки исключительных ситуаций.
- •4. Задачи синхронизации
- •5. Понятия чередования, состояния гонки и взаимоисключения.
- •6. Понятие атомарной операции. Механизмы поддержки атомарных операций.
- •7. Способы и алгоритмы синхронизации. Эквивалентность механизмов синхронизации.
- •1 Запрет прерываний
- •2 Переменная-замок
- •3 Алгоритм Петерсона
- •4 Алгоритм булочной (Bakery algorithm)
- •Эквивалентность семафоров, мониторов и сообщений
- •8. Объект синхронизации «критическая секция».
- •9. Объект синхронизации «семафор».
- •10. Объект синхронизации «мьютекс».
- •11. Понятие операционной системы. Назначение и функции операционной системы.
- •12. Классификация операционных систем.
- •13. Основные компоненты операционной системы. Взаимодействие компонентов операционной системы.
- •14. Ядро операционной системы. Состав и функции ядра операционной системы.
- •15. Архитектура операционных систем с «большим ядром».
- •16. Архитектура микроядерных операционных систем.
- •17. Архитектура нано- и пикоядерных операционных систем.
- •18. Концепция монолитного ядра операционной системы.
- •19. Концепция модульного ядра операционной системы.
- •20. Понятие процесса. Свойства и характеристики процессов.
- •21. Понятие вычислительного потока. Свойства и характеристики потоков (нитей)
- •23. Многозадачность в операционных системах. Различные типы многозадачности.
- •24. Простейшие схемы управления памятью.
- •25. Критерии планирования процессов и требования к алгоритмам планирования.
- •26, 29. Страничная, сегментная и странично-сегментная организация памяти.
- •27. Алгоритмы планирования процессов fcfs, rr, sjf.
- •28. Понятие адресного пространства. Виды адресных пространств.
- •29. Страничная, сегментная и странично-сегментная организация памяти.
- •30. Его нету.
- •31. Понятие ресурса. Виды ресурсов. Управление ресурсами.
- •33. Память, как ресурс операционной системы
- •34. Аппаратная поддержка виртуальной памяти
- •36. Алгоритмы замещения страниц. Fifo, lru, nfu, оптимальный алгоритм
- •37. Механизм трансляции адреса. Структура таблицы страниц. Аппаратная поддержка
- •40. Понятие директории. Реализация директории. Корневая директория.
- •50.Сообщения как механизм межпроцессного взаимодействия.
- •51. Сообщения как механизм межпроцессного взаимодействия.
- •52. Механизм межпроцессного взаимодействия «общая память».
- •53. Механизм межпроцессного взаимодействия «пайп».
- •54. Механизм межпроцессного взаимодействия «сокет».
40. Понятие директории. Реализация директории. Корневая директория.
Каталог(директория) - это поименованная группа файлов, объединённых по кокому-либо признаку. Основная задача создания каталогов — обеспечить пользователю удобное размещение файлов на диске и, следовательно, обеспечить наибольший комфорт в работе с ними. Каталог— поименованная совокупность байтов на носителе информации, содержащая название подкаталогов и файлов. Как правило, под корневой директорией подразумевается папка, в которой находятся файлы, которые отвечают за работу программы, сайта или компьютера. Корневая директория – это главная папка в иерархии и выше нее ничего нельзя разместить.
50.Сообщения как механизм межпроцессного взаимодействия.
Термин «разделяемая память» точно соответствует своему названию: резервируется область памяти и к ней предоставляется доступ набору процессов. Поскольку это касается и вопросов взаимодействия, и вопросов управления памятью, в настоящем разделе упоминается материал, приведенный ранее в этой главе, а также материал главы 8.
Разделяемая память по своему быстродействию намного превосходит два других механизма взаимодействия между процессами, рассматриваемые в этой главе, и она проще в использовании: процесс после ее приобретения рассматривает ее просто как обычную память. Изменения, записанные в разделяемую память одним процессом, сразу же становятся очевидными для всех других процессов — они могут просто выполнить чтение через указатель, который указывает на пространство разделяемой памяти, а там, как по взмаху волшебной палочки, уже находится новое значение. Однако в разделяемой памяти типа System V нет встроенного способа обеспечения взаимного исключения: может оказаться, что один процесс пишет по данному адресу в области разделяемой памяти одновременно с тем, как другой процесс читает по тому же адресу, в результате чего программа чтения получает противоречивые данные. Эта проблема наиболее серьезна для компьютеров с симметричной мультипроцессорной архитектурой, но она может возникать и на однопроцессорных компьютерах: например, когда программа записи потеряет управление и перейдет в неактивное состояние в ходе записи какой-то крупной структуры в пространство разделяемой памяти, а программа чтения выполнит чтение из разделяемой памяти до того, как программа записи получит возможность закончить запись.
В результате, в процессах, использующих разделяемую память, нужно что-то предусмотреть для обеспечения тщательного отделения операций чтения от операций записи (и, если подумать, операций записи друг от друга). Исчерпывающее описание блокировок и связанных с ними понятий атомарных операций приведено в следующей главе. Но нам уже известен способ обеспечения взаимоисключающего доступа к области разделяемой памяти: применение семафоров. Идея состоит в приобретении семафора, доступе к области памяти, выполнении всех запланированных действий, а затем освобождении семафора после выполнения этой работы.
Разделяемая память может применяться в основном в таких же целях, как и очереди сообщений: процесс планировщика может записывать запрос на выполнение работы в одной части области разделяемой памяти, а рабочие процессы могут записывать результаты в другой части. Это значит, что общее пространство для запросов и результатов должно быть заранее разграничено приложением, но планирование и запись результатов выполняются быстрее по сравнению с очередями сообщений.
Область разделяемой памяти не обязана выглядеть для каждого процесса как имеющая один и том же адрес. Если и процесс А, и процесс В используют одну и ту же область разделяемой памяти, процесс А может обращаться к ней по одному адресу, а процесс В — по другому. Безусловно, каждая страница области разделяемой памяти будет отображена не более, чем на одну физическую страницу. Механизмы виртуальной памяти, описанные в предыдущей главе, просто применяют разные преобразования к логическим адресам каждого процесса.
В коде ядра области разделяемой памяти называются сегментами, то есть применяется та же терминология, которая иногда ошибочно применяется к областям VMA. Только для того, чтобы предотвратить какую-либо путаницу, отметим, что это — неформальное применение данного слова; оно не относится к сегментам, поддерживаемым на уровне аппаратного обеспечения (MMU), которые описаны в главе 8. Автор будет и далее использовать термин «область», чтобы избежать этой путаницы.