Главная
Случайная страница
Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Понятие программы и процесса
Как мы уже неоднократно говорили, одной из основных задач операционной системы является запуск и максимально эффективное исполнение пользовательских программ. Рассмотрим теперь более строго, что же такое программа, выполнение программы, и какие действия должна предпринять операционная система, чтобы обеспечить запуск и выполнение пользовательской программы. Текущее состояние программы и инструкция для следующего шага выполнения программы определяются предыдущим состоянием программы и инструкцией, выполненной на текущем шаге. Результатом выполнения программы является вектор состояния, полученный после последнего шага программы. Вектор состояния программы на -м шаге выполнения программы определяется не только программой, но также начальным состоянием программы и первой инструкцией программы, то для получения однозначных результатов работы программы, перед запуском программы необходимо установить начальное состояние программы и указать номер первой исполняемой инструкции программы – точку входа в программу. Предыстория переходов, приведшая программу в какое-то состояние, не имеет значения для выбора следующего состояния. Следовательно, выполнение программы можно в любой момент приостановить, а затем возобновить, восстановив текущее состояние и номер следующей инструкции. Исходя из описанной модели, легко определить действия, которые должна выполнить операционная система для запуска пользовательской программы: 1) выделить память для размещения инструкций и переменных программы; 2) загрузить последовательность инструкций программы в память; 3) инициализировать переменные, определяющие начальное состояние программы. После запуска программы, операционная система должна управлять процессом выполнения программы вплоть до ее завершения. Возможно, что по каким-то причинам операционная система должна будет приостановить выполнение текущей программы. Чтобы затем иметь возможность возобновить ее выполнение, операционная система перед остановкой программы должна, как минимум, сохранить номер следующей инструкции программы и значения всех переменных. Кроме того, в памяти компьютера может находиться несколько программ одновременно, и операционная система должна уметь различать их. Поэтому, подготавливая запуск программы, операционная система также должна: 4) выделить дополнительную память для хранения информации о текущем состоянии запущенной программы, включая номер текущей инструкции. Только завершив рассмотренные подготовительные действия, операционная система может запустить выполнение программы, для чего необходимо: 5) передать управление на первую инструкцию программы – в точку входа. Программу, размещенную в памяти вместе с ее переменными и служебными данными операционной системы, и исполняющуюся под управлением операционной системы, называют процессом. При этом, действия, которые операционная система выполняет в ходе подготовки к запуску программы, называют созданием процесса. Еще раз отметим различие между программой и процессом, т.к. эти понятия часто путают. Программа – это просто набор инструкций. Процесс – это внутренний объект операционной системы, связанный с выполнением программы и обеспечивающий поддержку ее выполнения. При этом операционная система может создать несколько процессов на основании одной и той же программы. С другой стороны, для выполнения единственной программы может создаваться более одного процесса. Процесс – это один из важнейших объектов операционной системы, действительно: - все запросы на выделение и освобождение ресурсов поступают операционной системе от имени процессов, а ресурсы выделяются процессам; - права доступа к данным в памяти компьютера и на дисках фактически определяются и проверяются для процессов; - планирование работы выполняется операционной системой на уровне процессов, т.е. операционная система решает, какой процесс должен выполняться в данное время, а какой следует приостановить; - запуск и завершение любой программы связан с созданием и уничтожением соответствующего процесса; - все программы, подпрограммы и функции могут выполняться только в контексте какого-нибудь процесса.
Date: 2015-07-01; view: 509; Нарушение авторских прав Понравилась страница? Лайкни для друзей: |
|
|