- •Вопросы к зачету по курсу «Сетевое программное обеспечение(2007 г.)
- •1. Функции и характеристики сетевых операционных систем (ос).
- •2. Уровни поддержки распределенных вычислений сетевыми операционными системами.
- •3. Вычисления в архитектуре клиент-сервер. Способ разделения приложений на части.
- •4. Классы приложений клиент/сервер.
- •5. Передачи сообщений в распределенных системах.
- •6. Синхронизация процессов при передачи сообщений.
- •7. Буферизация при передачи сообщений.
- •8. Способы адресации при передаче сообщений.
- •9. Надежные и ненадежные примитивы передачи сообщений.
- •10. Конвейеры (программные каналы).
- •11. Концепция удаленного вызова процедур.
- •12. Вопросы согласование времени в сетевых системах.
- •13. Алгоритмы синхронизации часов в сетевых системах.
- •14. Именование в сетевых системах.
- •15. Взаимное исключение в сетевых системах.
- •16. Алгоритмы взаимного исключения в сетевых системах. Алгоритмы взаимного исключения
- •Распределенная взаимоблокировка. Виды распределенных взаимоблокировок.
- •18. Распределенная взаимоблокировка. Методы предотвращения взаимоблокировок.
- •19. Репликация данных. Согласование реплик. Варианты внесения изменений в реплицированные данные.
- •20. Кластерная обработка. Методы кластеризации.
- •21. Миграция процессов. Механизмы переноса процессов.
- •22. Организация доступ к удаленным данным. Доступ к данным, основанный на документах.
- •23. Доступ, основанный на файловой системе. Модели переноса.
- •24. Принципы построения сетевых файловых систем.
- •30. Системные вызовы и выполнение кода ядра unix.
- •31. Процессная модель ос unix. Управление процессами. Состояния процесса..
- •32. Архитектура ос Linux. Управление процессами.
30. Системные вызовы и выполнение кода ядра unix.
В любой операционной системе поддерживается некоторый механизм, который позволяет пользовательским программам обращаться за услугами ядра ОС. В ОС UNIX такие средства называются системными вызовами.
Название не изменяет смысл, который состоит в том, что для обращения к функциям ядра ОС используются "специальные команды" процессора, при выполнении которых возникает особого рода внутреннее прерывание процессора, переводящее его в режим ядра (в большинстве современных ОС этот вид прерываний называется trap - ловушка). При обработке таких прерываний (дешифрации) ядро ОС распознает, что на самом деле прерывание является запросом к ядру со стороны пользовательской программы на выполнение определенных действий, выбирает параметры обращения и обрабатывает его, после чего выполняет "возврат из прерывания", возобновляя нормальное выполнение пользовательской программы.
Код ядра:
См. начало 27 вопроса
31. Процессная модель ос unix. Управление процессами. Состояния процесса..
В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:
ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;
ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
Каждый процесс в ОС UNIX выполняется в собственной виртуальной памяти, т.е. если не предпринимать дополнительных усилий, то даже процессы-близнецы, образованные в результате выполнения системного вызова fork(), на самом деле полностью изолированы один от другого (если не считать того, что процесс-потомок наследует от процесса-предка все открытые файлы). Тем самым, в ранних вариантах ОС UNIX поддерживались весьма слабые возможности взаимодействия процессов, даже входящих в общую иерархию порождения (т.е. имеющих общего предка).
Разделяемая память - средства, обеспечивающие возможность наличия общей для процессов памяти
Семафоры - средства, обеспечивающие возможность синхронизации процессов при доступе к совместно используемым ресурсам, например, к разделяемой памяти
Очереди сообщений - средства, обеспечивающие возможность посылки процессом сообщений другому произвольному процессу
32. Архитектура ос Linux. Управление процессами.