Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры информатика 2 сем.doc
Скачиваний:
18
Добавлен:
24.09.2019
Размер:
430.08 Кб
Скачать

Задачи, решаемые операционной системой

ОС выполняет две группы функций (две главные задачи):

повышение эффективности использования компьютера путем рационального управления его ресурсами в соответствии с некоторым критерием, поддержка работы всех программ, обеспечение их взаимодействия с аппаратурой;

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

В рамках первой задачи ОС обеспечивает:

взаимодействие программ с внешними устройствами и друг с другом,

распределение оперативной памяти,

регистрацию наступления различных событий, возникающих в процессе выполнения программ и соответствующую реакцию на них

и т.п.

ОС это:

Определение 1. Совокупность процедур, вызываемых автоматически или по желанию пользователей и позволяющих группе пользователей совместно эффективно использовать машинное время.

Определение 2. Набор системных программ, позволяющих пользователю взаимодействовать с аппаратным обеспечением машины, а так же с другими задачами наиболее непосредственным, эффективным и надежным способом.

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

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

Определение 5. Комплект программных изделий, которые совместно управляют ресурсами системы и процессами, использующими эти ресурсы при вычислениях.

Определение 6. Организованный набор программ и данных, разработанный специально для управления ресурсами СОИ, для облегчения создания программ и для управления процессом их выполнения.

Операционная система как виртуальная машина

В настоящее время реальное использование ресурсов СОИ пользователями возможно только в случае, если ОС предоставляет им через соответствующий интерфейс доступ к мощным высоко уровневым функциям. Можно выделить два уровня этого интерфейса:

интерфейс прикладного программирования,

пользовательский интерфейс.

Интерфейс прикладного программирования (API - Application Programming Interface)

На этом уровне OC скрывает от программиста большую часть особенностей аппаратуры и предоставляет возможность простой и удобной работы с требуемыми аппаратными ресурсами (памятью, устройствами).

Так, например, при работе с диском программисту, пишущему приложение для работы под управлением ОС, достаточно представлять его в виде некоторого набора файлов - поименованных областей диска.

Последовательность действий при работе с файлами заключается в их открытии, выполнении одной или нескольких операций чтения или записи, а затем в закрытии файлов.

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

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

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

Таким образом, прикладные программисты используют в своих приложениях обращение к ОС, когда для выполнения тех или иных действий им требуется особый статус, которым обладает только операционная система.

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

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

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

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