
- •1.Классификация программного обеспечения(по). Базовый уровень по. Системный уровень по. Драйверы. Служебный уровень по. Утилиты. Прикладной уровень по.
- •2.Операционная система(ос). Классификация ос. Эволюция ос. Функции ос. Разновидности ос.
- •Современный этап развития ос
- •3. Обобщенная модель иерархической ос(13 уровней).
- •5. Понятие процесса и потока(нити). Классификация процессов. Многозначность и многопоточность. Проблемы разработки приложений для многопоточной среды.
- •6. Состояния процесса. Многоуровневые модели состояний (5,6,7) процесса. Причины переходов из одного состояния в другое. Причины возникновения и завершения процессов.
- •Модель с пятью состояниями
- •7.Трехуровневое планирование. Оптимизация работы системы: буферизация, кэширование, свопинг.
- •Алгоритм трёхуровневое планирование
- •8.Ресурсы компьютерной системы. Классификация ресурсов. Распределение и управление ресурсами. Управление памятью.
- •9. Планирование в однопроцессорных системах. Планирование в системах пакетной обработки, системах реального времени и интерактивных системах. Алгоритмы планирования. Планировщики.
- •10.Взаимодействующие процессы. Определение и уровни взаимодействия. Классификация средств обмена информацией.
- •11. Программно-аппаратные решения проблем взаимодействующих процессов (posix, монитор Хоара, алгоритм Деккара, примитивы Дейкстра, семафоры, мьютексы и др.).
- •12. Проблемы взаимодействующих процессов: "Обедающие философы", "Читатели и писатели", "Спящий брадобрей". Описание и решения задач.
- •13. Пользовательский интерфейс ос. Классификация, примеры.
- •Текстовые ос
- •Графические ос
- •Речевые ос
- •14.Файловые системы. Файловая система fat (таблица размещения, структура загрузочной записи). Примеры файловых систем: fat32, vfat, ntfs и hpfs.
- •Корневой каталог root
- •15.Типовые средства аппаратной поддержки операционных систем, bios.
6. Состояния процесса. Многоуровневые модели состояний (5,6,7) процесса. Причины переходов из одного состояния в другое. Причины возникновения и завершения процессов.
Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (задача) - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает взаимодействие между процессами.
В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:
выполнение - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
ожидание - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;
готовность - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
В
ходе жизненного цикла каждый процесс
переходит из одного состояния в другое
в соответствии с алгоритмом планирования
процессов, реализуемым в данной
операционной системе.
В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно "вытеснен" из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет. Всякий новый процесс, появляющийся в системе, попадает в состояние готовность. Операционная система, пользуясь каким-либо алгоритмом планирования, выбирает один из готовых процессов и переводит его в состояние исполнение. В состоянии исполнение происходит непосредственное выполнение программного кода процесса. Выйти из этого состояния процесс может по трем причинам:
1)операционная система прекращает его деятельность;
2)он не может продолжать свою работу, пока не произойдет некоторое событие, и операционная система переводит его в состояние ожидание;
Полный набор состояний процесса содержится в следующем перечне:
Процесс выполняется в режиме задачи.
Процесс выполняется в режиме ядра.
Процесс не выполняется, но готов к запуску под управлением ядра.
Процесс приостановлен и находится в оперативной памяти.
Процесс готов к запуску, но программа подкачки (нулевой процесс) должна еще загрузить процесс в оперативную память, прежде чем он будет запущен под управлением ядра. Это состояние будет предметом обсуждения в главе 9 при рассмотрении системы подкачки.
Процесс приостановлен и программа подкачки выгрузила его во внешнюю память, чтобы в оперативной памяти освободить место для других процессов.
Процесс возвращен из привилегированного режима (режима ядра) в непривилегированный (режим задачи), ядро резервирует его и переключает контекст на другой процесс. Об отличии этого состояния от состояния 3 (готовность к запуску) пойдет речь ниже.
Процесс вновь создан и находится в переходном состоянии; процесс существует, но не готов к выполнению, хотя и не приостановлен. Это состояние является начальным состоянием всех процессов, кроме нулевого.
Процесс вызывает системную функцию exit и прекращает существование. Однако, после него осталась запись, содержащая код выхода, и некоторая хронометрическая статистика, собираемая родительским процессом. Это состояние является последним состоянием процесса.