Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программы и процессы




ПРОЦЕССЫ В UNIX-like СИСТЕМАХ

Процесс – фундаментальное и чрезвычайно важное понятие в UNIX-like системах. С помощью процессов происходит управление памятью и ресурсами ввода-вывода, используемыми для выполнения программы. На первый взгляд кажется, что в UNIX все происходит одновременно, однако на самом деле в конкретный момент времени выполняется только один процесс (некоторые системы имеют более одного центрального процессора, однако сути дела это не меняет, ибо каждый процессор может выполнять только один процесс). Иллюзия параллельного выполнения создает и поддерживает метод, называемый “квантованием времени”, с помощью которого UNIX через определенные промежутки времени (как правило, максимум через 20 миллисекунд) меняет выполняемый процесс. Процессы сменяют друг друга столь быстро, что кажется, будто они выполняются одновременно, хотя на самом деле выполнение каждого процесса занимает лишь малую долю суммарного времени.

Привилегированный пользователь имеет возможность контролировать статус процессов, управлять выделением времени центрального процессора каждому из них, посылать в процессы различные сигналы, приостанавливать и завершать их выполнение.

Обычно программой называют совокупность файлов, будь то набор исходных текстов, разделяемых библиотек, объектных файлов или собственно выполняемый файл. Для того, чтобы программа могла быть запущена на выполнение, операционная система сначала должна создать окружение или т.н. среду выполнения задачи, куда относятся ресурсы памяти, возможность доступа к устройствам ввода-вывода и различным ресурсам системы, включая услуги ядра. Это окружение или среда выполнения задачи получило название процесса.

Процесс можно представить себе, например, как совокупность данных ядра, необходимых для описания образа программы в памяти и управления ее выполнением. Мы можем представить себе процесс как программу в стадии ее выполнения, ибо все выполняемые в UNIX-like системах программы представлены в виде процессов. Процесс состоит из инструкций, выполняемых процессором, данных и информации о выполняемой программе, такой как размещенная память, открытые файлы, статус процесса.

Однако ни в коем случае нельзя отождествлять процесс и программу, даже потому, что программа может породить несколько процессов. Простейшие программы типа cat, при выполнении представлены только одним процессом, а более сложные, такие как, например, серверы печати – несколькими.

ОС UNIX с самого рождения является многозадачной. Это означит, что одновременно в системе может выполняться несколько процессов, причем часть процессов могут быть образцами одной программы. Выполнение процесса заключается в точном следовании набору инструкций, который никогда не передает управление набору инструкций другого процесса. Процесс считывает и записывает информацию в раздел данных и в стек, но ему не доступны данные и стеки других процессов. Однако процессы в UNIX-like системах могут обмениваться между собой информацией с помощью межпроцессного взаимодействия. В системах UNIX существует набор средств взаимодействия между процессами, таких как сигналы, каналы, разделяемая память, семафоры, сообщения и файлы, но в остальном процессы гарантированно изолированы друг от друга. Именно так реализованы все UNIX-like системы.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 452; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.