- •1Эволюция ос . Первый период (1945 -1955)
- •Второй период (1955 - 1965)
- •Третий период (1965 - 1980)
- •Четвертый период (1980 - настоящее время)
- •2Назначение и функции ос.
- •3. Требования, предъявляемые к ос.
- •4. Архитектура ос .
- •5. Интерфейс прикладного программирования. Системные вызовы .
- •8. Основные принципы построения ос.
- •9. Основные концепции ос.
- •10. Контекст и дескриптор процесса.
- •11. Потоки (нити).
- •12. Алгоритмы планирования процессов.
- •13. Ресурсы. Их свойства и классификация.
- •14. Концепция виртуализации. Концепция прерывания.
- •17. Взаимодействие процессов. Виды отношений.
- •18. Синхронизация процессов. Способ использования
- •19. Синхронизация процессов. Способ использования
- •20. Синхронизация процессов. Способ использования
- •21. Синхронизация процессов. Тупики.
- •24. Способы отображения основной памяти на кэш.
- •25. Стратегии управления оперативной памятью.
- •26. Методы распределения памяти без использования
- •27. Методы распределения памяти с использованием
- •28. Виртуальная память. Механизм преобразования
- •29. Виртуальная память. Алгоритмы замещения блоков.
- •30. Виртуальная страничная память.
- •31. Виртуальная сегментная память.
- •32. Виртуальная сегментно-страничная память.
- •Отношения между процессами
9. Основные концепции ос.
ПРОЦЕСС - это некоторая абстракция под которой понимается определенная деятельность, связанная с выполнением программы на процессоре.
Таким образом, процесс не эквивалентен программе, а также не тоже самое, что процессор, - то пара (процессор, программа).
Для процесса ( центральный процессор, программа) чаще всего различают следующие состояния:
порождение - подготовка условий для первого исполнения на на процессоре;
активное состояние или состояние СЧЕТ - исполнение программы на процессоре;
ожидание - программа не исполняется на процессоре по причине занятости какого-либо требуемого ресурса;
готовность - программа не исполняется, но для исполнения предоставлены все необходимые на данный момент времени ресурсы, кроме центрального процессора;
окончание - нормальное или аварийное завершение исполнения программы, после которого процессор и другие ресурсы ей не предоставляются.
Процесс находится в каждом из своих допустимых состояний в течение некоторого времени, после чего переходит в какое-либо другое допустимое состояние. Состав допустимых состояний, а также допустимые переходы из состояния в состояние могут быть заданы в форме графа существования процесса.
ПРИМЕР.
10. Контекст и дескриптор процесса.
Контекст и дескриптор процесса
На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.
Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.
Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое.
Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит: создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;
включить дескриптор нового процесса в очередь готовых процессов;
загрузить кодовый сегмент процесса в оперативную память или в область свопинга.