
- •Содержание Оглавление
- •1. Основные действия операционной системы при управлении заданиями – программы функций, характеристика действий, конечный результат.
- •2. Способы реализации управления данными – подпрограммы ввода-вывода.
- •3. Понятие метода доступа (определение, состав).
- •4. Понятие буфера: методы отведения буферов и режимы передачи информации.
- •5. Способы организации данных и типы языков управления.
- •6. Понятие тупика, характеристика отношений, возникающих в системе.
- •7. Основная задача обнаружения тупика, основной способ определения состояния системы (редукция графа).
- •8. Факторы, обуславливающие сложность восстановления системы после тупика.
- •9. Главные стратегические принципы предотвращения тупиков (принципы j.W. Havendera).
- •10. Условия возникновения тупиков и основные направления исследования тупиков.
- •11. Предотвращение тупиков, обход тупиков.
- •12. Методы обнаружения тупиков и восстановления после тупиков.
- •13. Условие «ожидания дополнительных ресурсов » и его разрешение.
- •14. Условие неперераспределяемости ресурсов и его разрешение.
- •15. Условие «кругового ожидания » и его разрешение.
- •16. Понятие критической области и её значение для функционирования системы.
- •17. Описание формальной модели операционной системы.
- •18. Взаимосвязь ресурсов и процессов в многопроцессорной эвм.
- •19. Базовые операции над графом ресурсов и процессов и правила преобразования.
- •20. Схемы работы ос в различных режимах мультипрограммирования.
- •21. Понятие ос юникс. Основные преимущества и недостатки.
- •22. Основные центральные идеи ос юникс и их реализация.
- •23. Организация ввода-вывода в ос юникс, характерные особенности.
- •24. Понятие конвейера, связь с в/в, фильтр.
- •25. Понятие процесса в ос юникс, отличие от предыдущих ос, утилиты.
- •26. Компоненты ос: sccs и make
- •27. Планирование в ос юникс
- •28. Файловая система ос юникс: понятие, возможности, структурные особенности.
- •29. Структура файловой системы (на диске).
- •30. Ядро системы юникс – понятие и основные секции
- •31. Идеология структуры ядра ос юникс.
- •32. Генеалогия ос юникс и основные этапы разработки
- •33. Интерфейсы ос юникс
- •34. Определение и основные сведения об ос linux
- •35. Файловая система linux: организация, система работы и управления доступом к файлу.
- •36. Мультипрограммирование и мультиобработка – общее и особенное.
- •37. Основная цель операционной системы и критерии оптимизации.
- •38. Определение процесса и операции в иерархической операционной системе.
- •39. Отношения предшествования между процессами и развитие процесса в системе.
- •40. Понятие критической области.
- •41. Семафор, механизм синхронизации.
- •42. Компоненты ядра ос юникс и структура программного обеспечения.
- •43. Утилиты ос юникс.
- •44. Идеология структуры и базовый состав ядра ос юникс.
41. Семафор, механизм синхронизации.
Процессы, выполняемые в мультипрограммном режиме можно рассматривать как набор связанный последовательных процессов которые действуют независимо друг от друга, только иногда используя общие ресурсы. Взаимосвязь между таким процессами устанавливаются с помощью специальных сообщений и механизма синхронизации. Хотя каждый процесс, выполняемый в мультипрограммном режиме, существует критическая область, которая в фиксированный момент времени может использовать один процесс. Нарушение этого условия приводит к неизвестному порядку исполнения процесса. При использовании критической области возникают проблемы «гонок» и «тупиков».
Гонка возникает тогда, когда процессы настолько связны между собой что порядок их выполнения влияет ан результат. Условие тупиков появляется, если два взаимосвязанных процесса блокируют друг друга при обращении к критической области. Для разрешения подобных проблем в операционных системах используется понятии семафора. Семафором (байтом блокировки) называют целую переменную, сигнализирующую о готовности процесса к использованию критической области. Для разрешения этой ситуации был предложен механизм позволяющий выполнять над семафором Q следующие операции:
P(Q) - операция с одним аргументом – семафором, которая уменьшает его величину на единицу, если Q >= 0. Эта операция является неделимой: то есть определение возможности уменьшения Q и последующее его уменьшение есть неделимая операция. P(Q) представляет собой операцию задержки. То есть если процесс P1 не может завершиться до тех пор, пока какой либо процесс P2 не выполнит операцию V(Q). Если несколько процессов P одновременно начинают операцию над Q, то Q изменит своё значение только тогда когда завершится одна из начавшихся операций.
V(Q) – операция с одним аргументом – семафором, которая увеличивает значение аргумента на единицу.
Существуют другие операции над семафорами, но все операции в силу своей неделимости позволяют блокировать или активизировать процессы при освобождении ресурсов любого типа.
42. Компоненты ядра ос юникс и структура программного обеспечения.
Ядро операционной системы содержит системные программы, выполняющие диспетчерские функции: управление ресурсам, распределение памяти и доступ к дисковым устройствам. Условно ядро ОС UNIX можно представить в виде нескольких тесно взаимодействующих компонент.
Ядро минимизировано и не выполняет ни одной функции непосредственно служащей пользователю. Для этой цели применяются многочисленные утилиты, выполняющиеся в качестве посредника между пользователем и ядром. В этом состоит основная особенность архитектуры данной операционной системы. Ядро UNIX содержит важные системные таблицы, в которых находится важная системная информация для построения связанных координированных программных цепочек. Основная работа ядра сводится к поиску в таблицах и к их модификации.
Управляемые программы используют динамически связываемые или разделяемые библиотеки, то есть выполняемые программы могут совместно использовать библиотечную программу, представленную одним физическим файлом на диске. Это позволяет выполняемым файлам занимать меньше места на диске, особенно программам, многократно использующим библиотечные функции. Имеются так же статически связываемые библиотеки для случая, когда есть желание пользоваться отладкой на уровне объектных кодов.
В UNIX разделяемые библиотеки динамически связываются во время выполнения, позволяя программисту заменять библиотечные модули собственными. Использование дампа памяти и динамических отладчиков позволяет выяснять причину краха программы. В UNIX включена программа для шифрования, которую могут использовать программисты. Однако из-за ограничений введённых США экспорт шифрованной технологии и некоторые версии UNIX за пределы США не допускаются.
В общем виде структура программного обеспечения UNIX графически может быть представлена в следующем виде: