КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Понятие процессов. Виды процессов.
Процесс (задача) – представляет собой базовое понятие современных ОС и часто кратко определяется как программа в стадии выполнения. Программа – это статический объект, представляющий собой файл с кодами и данными, процесс является динамическим объектом, который возникает в операционной системе после того, как пользователь или ОС решает запустить программу на выполнение. Во многих современных ОС для обозначения минимальной единицы работы ОС используют термин “нить”, или “поток”, при этом изменяется суть термина “процесс”. Подробнее об этом будет рассказано в юните 2 “Управление процессами”. Чтобы процесс выполнялся, ОС должна назначить ему область оперативной памяти, в которой будут размещены коды и данные процесса, а также предоставить необходимое количество процессорного времени и доступ к требуемым ресурсам других типов. В информационные структуры процесса часто включается дополнительная информация, характеризующая историю пребывания процесса в системе, его текущее состояние, степень привилегированности процесса. В мультипрограммной ОС одновременно может существовать несколько процессов, часть из которых, называемая пользовательскими процессами, порождается по инициативе пользователей. Другие процессы инициализируются самой ОС для выполнения своих функций и называются системными. Поскольку процессы довольно часто одновременно претендуют на одни и те же ресурсы вычислительной системы, на ОС ложится задача поддержания очередей заявок на такие ресурсы. Не менее важной задачей ОС при управлении процессами является защита выделенных данному процессу ресурсов от вмешательства других процессов. Наиболее тщательной защиты требуют области оперативной памяти, хранящие коды и данные процесса. Однако защита ресурсов процесса вовсе не подразумевает, что ОС запрещает их совместное использование несколькими процессами одновременно. ОС берет на себя также функции синхронизации процессов, позволяющие процессу приостанавливать свое выполнение до наступления какого-либо события в системе, которым может быть, например, завершение операции ввода-вывода, осуществляемой ОС по его запросу. В современных ОС не существует однозначного соответствия между процессами и программами. Один и тот же процесс может в ходе своего выполнения сменить программный файл. Для реализации сложных программных комплексов часто бывает необходимо организовать их работу в виде нескольких параллельно выполняющихся процессов, которые время от времени взаимодействуют друг с другом и обмениваются некоторыми данными. Так как ОС защищает ресурсы процессов от взаимного вмешательства и не позволяет одному процессу считывать и записывать данные в область памяти другого процесса, то для возможности их оперативного взаимодействия ОС должна иметь в своем составе особые средства, которые называют средствами межпроцессного взаимодействия. Таким образом, подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми им системными ресурсами, поддерживает синхронизацию процессов, а также обеспечивает взаимодействие между процессами. На подсистему управления памятью возложены очень важные функции, поскольку процесс может выполняться только в том случае, если его коды и данные находятся в оперативной памяти компьютера. Управление памятью включает в себя распределение имеющейся в вычислительной системе физической памяти между всеми существующими в данный момент в системе процессами, загрузку кодов и данных процессов в отведенные им области памяти, настройку адресно-зависимых частей кодов процесса на физические адреса выделенной области, а также защиту областей памяти каждого процесса. Существует довольно большое разнообразие алгоритмов распределения памяти, которые могут отличаться количеством выделяемых процессу областей памяти, степенью свободы границы этих областей и другими параметрами.
|