Вычислительная система содержит в первую очередь аппаратное обеспечение: процессор, память, монитор, дисковые устройства и т.д., обычно объединенные между собой магистральными или иными связями. Во вторую очередь это программное обеспечение. Все программное обеспечение принято делить на две части: прикладное и системное. К прикладному программному обеспечению, как правило, относятся разнообразные пользовательские приложения, игры, текстовые процессоры, и т.п. Под системным программным обеспечением обычно понимают программы, способствующие функционированию и разработке прикладных программ. Операционная система является фундаментальным компонентом системного программного обеспечения.
Операционная система (ОС) - это комплекс программных и аппаратных средств, которые обеспечивают возможность рационального использования оборудования и являются посредником между пользователем и ЭВМ. Она включает две группы функций:
1. Предоставление пользователю некоторой виртуальной или расширенной машины, которая предоставляет удобства работы с ЭВМ;
2. Распределение ресурсов между выполняющимися программами (задачами, процессами).
Понятие вычислительного процесса, или просто процесса, является одним из основных при рассмотрении операционных систем. Процесс, иногда называемый задачей (task), состоит из команд программы, выполняемых процессором, данных и информации о выполняемой задаче, такой как выделенная область памяти, открытые файлы и статус процесса. Таким образом, программа является статическим объектом, а процесс – динамическим.
Концепция процесса предполагает два аспекта: во-первых, он является носителем данных и, во-вторых, он собственно и выполняет операции, связанные с обработкой этих данных.
В качестве примеров процессов (задач) можно назвать прикладные программы пользователей, утилиты и другие системные обрабатывающие программы. Процессом может быть редактирование какого-либо текста, трансляция исходной программы, ее компоновка, исполнение. Причем трансляция какой-нибудь исходной программы является одним процессом, а трансляция следующей исходной программы — другим процессом, поскольку транслятор как объединение программных модулей здесь выступает как одна и та же программа, но данные, которые он обрабатывает, являются разными.
Концепция процесса преследует цель выработать механизмы распределения и управления ресурсами. Понятие ресурса, так же как и понятие процесса, является, пожалуй, основным при рассмотрении операционных систем. Термин ресурс обычно применяется по отношению к многократно используемым, относительно стабильным и часто недостающим объектам, которые запрашиваются, задействуются и освобождаются в период их активности. Другими словами, ресурсом называется всякий объект, который может распределяться внутри системы.
Существует несколько видов ресурсов:
Ресурсы устройств – это время, в течение которого устройство занято некоторой выполняющейся программой. Прежде всего, одним из важнейших ресурсов устройств является сам процессор, точнее — процессорное время.
Вторым видом ресурсов вычислительной системы является память. Ресурс памяти – это емкость, требуемая для выполняющейся программы. В оперативной памяти одновременно может располагаться несколько задач одновременно. Желательно память выделять для возможно большего числа исполняемых задач. С другой стороны, чем больше оперативной памяти может быть выделено для конкретного текущего вычислительного процесса, тем лучше будут условия его выполнения. Поэтому проблема эффективного разделения оперативной памяти между параллельно выполняемыми вычислительными процессами является одной из самых актуальных.
Особым видом ресурсов являются программные модули. Прежде всего, речь идет о системных программных модулях, поскольку именно они обычно считаются программными ресурсами и поэтому могут распределяться между выполняющимися процессами.
Внешняя память тоже является ресурсом, который часто необходим для выполнения вычислений. Внешняя память обладает двойственным ресурсом. С одной стороны она является ресурсом памяти, с другой стороны – ресурсом устройства. Когда говорят о внешней памяти (например, НМД), то собственно память и время доступа к ней считаются разными видами ресурса, причем каждый из них может предоставляться независимо. Но для полноценной работы с внешней памятью необходимо иметь оба этих ресурса.