Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





Как мы уже неоднократно говорили, одной из основных задач операционной системы является запуск и максимально эффективное исполнение пользовательских программ. Рассмотрим теперь более строго, что же такое программа, выполнение программы, и какие действия должна предпринять операционная система, чтобы обеспечить запуск и выполнение пользовательской программы.
Текущее состояние программы и инструкция для следующего шага выполнения программы определяются предыдущим состоянием программы и инструкцией, выполненной на текущем шаге.
Результатом выполнения программы является вектор состояния, полученный после последнего шага программы.
Вектор состояния программы на -м шаге выполнения программы определяется не только программой, но также начальным состоянием программы и первой инструкцией программы, то для получения однозначных результатов работы программы, перед запуском программы необходимо установить начальное состояние программы и указать номер первой исполняемой инструкции программы – точку входа в программу.
Предыстория переходов, приведшая программу в какое-то состояние, не имеет значения для выбора следующего состояния. Следовательно, выполнение программы можно в любой момент приостановить, а затем возобновить, восстановив текущее состояние и номер следующей инструкции.
Исходя из описанной модели, легко определить действия, которые должна выполнить операционная система для запуска пользовательской программы:
1) выделить память для размещения инструкций и переменных программы;
2) загрузить последовательность инструкций программы в память;
3) инициализировать переменные, определяющие начальное состояние программы.
После запуска программы, операционная система должна управлять процессом выполнения программы вплоть до ее завершения. Возможно, что по каким-то причинам операционная система должна будет приостановить выполнение текущей программы. Чтобы затем иметь возможность возобновить ее выполнение, операционная система перед остановкой программы должна, как минимум, сохранить номер следующей инструкции программы и значения всех переменных.
Кроме того, в памяти компьютера может находиться несколько программ одновременно, и операционная система должна уметь различать их.
Поэтому, подготавливая запуск программы, операционная система также должна:
4) выделить дополнительную память для хранения информации о текущем состоянии запущенной программы, включая номер текущей инструкции.
Только завершив рассмотренные подготовительные действия, операционная система может запустить выполнение программы, для чего необходимо:
5) передать управление на первую инструкцию программы – в точку входа.
Программу, размещенную в памяти вместе с ее переменными и служебными данными операционной системы, и исполняющуюся под управлением операционной системы, называют процессом. При этом, действия, которые операционная система выполняет в ходе подготовки к запуску программы, называют созданием процесса.
Еще раз отметим различие между программой и процессом, т.к. эти понятия часто путают. Программа – это просто набор инструкций. Процесс – это внутренний объект операционной системы, связанный с выполнением программы и обеспечивающий поддержку ее выполнения. При этом операционная система может создать несколько процессов на основании одной и той же программы. С другой стороны, для выполнения единственной программы может создаваться более одного процесса.
Процесс – это один из важнейших объектов операционной системы, действительно:
- все запросы на выделение и освобождение ресурсов поступают операционной системе от имени процессов, а ресурсы выделяются процессам;
- права доступа к данным в памяти компьютера и на дисках фактически определяются и проверяются для процессов;
- планирование работы выполняется операционной системой на уровне процессов, т.е. операционная система решает, какой процесс должен выполняться в данное время, а какой следует приостановить;
- запуск и завершение любой программы связан с созданием и уничтожением соответствующего процесса;
- все программы, подпрограммы и функции могут выполняться только в контексте какого-нибудь процесса.

Date: 2015-07-01; view: 457; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию