Назначение и функции операционных систем

Лекция 03. Операционные системы. Основные понятия

 

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

Операционные системы относятся к системному программному обеспечению. Как известно, все программное обеспечение разделяется на системное и прикладное. К системному программному обеспечению принято относить такие программы и комплексы программ, которые являются общими, без которых невозможно вы­полнение или создание других программ. История появления и развития систем­ного программного обеспечения началась с того момента, когда люди осознали, что любая программа требует операций ввода-вывода данных. Это произошло в да­лекие 50-е годы прошлого столетия. Собственно операционные системы появились чуть позже,

Программирование операций ввода-вывода относится к одной из самых трудоем­ких областей создания программного обеспечения. Здесь речь идет не об исполь­зовании операторов типа READ или WRITE в языках высокого уровня. Речь идет о необходимости создать подпрограмму в машинном виде, уже готовую к выполне­нию на компьютере, а не написанную с помощью некоторой системы программи­рования (систем программирования тогда еще не было), подпрограмму, вместо обычных вычислений управляющую тем устройством, которое должно участво­вать в операциях ввода исходных данных или вывода результатов. При наличии такой подпрограммы программист может обращаться к ней столько раз, сколько операций ввода-вывода с этим устройством ему требуется. Для выполнения этой работы программисту недостаточно хорошо знать архитектуру вычислительного комплекса и уметь создавать программы на языке ассемблера. Он должен отлично знать и интерфейс, с помощью которого устройство подключено к центральной части компьютера, и алгоритм функционирования устройства управления устрой­ства ввода-вывода.

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

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

— Прием от пользователя (или от оператора системы) заданий, или команд, сфор­мулированных на соответствующем языке, и их обработка. Задания могут пе­редаваться в виде текстовых директив (команд) оператора или в форме указа­ний, выполняемых с помощью манипулятора (например, с помощью мыши). Эти команды связаны, прежде всего, с запуском (приостановкой, остановкой) программ, с операциями над файлами (получить перечень файлов в текущем каталоге, создать, переименовать, скопировать, переместить тот или иной файл и др.), хотя имеются и иные команды.

— Загрузка в оперативную память подлежащих исполнению программ.

— Распределение памяти, а в большинстве современных систем и организация

виртуальной памяти.

— Запуск программы (передача ей управления, в результате чего процессор ис­полняет программу).

— Идентификация всех программ и данных.

— Прием и исполнение различных запросов от выполняющихся приложений. Операционная система умеет выполнять очень большое количество системных функций (сервисов), которые могут быть запрошены из выполняющейся про­граммы. Обращение к этим сервисам осуществляется по соответствующим пра­вилам, которые и определяют интерфейс прикладного программирования (Ap­plication Program Interface, API) этой операционной системы.

— Обслуживание всех операций ввода-вывода.

— Обеспечение работы систем управлений файлами (СУФ) и/или систем управ­ления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения.

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

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

— Организация механизмов обмена сообщениями и данными между выполняю­щимися программами.

— Для сетевых операционных систем характерной является функция обеспече­ния взаимодействия связанных между собой компьютеров.

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

— Аутентификация и авторизация пользователей (для большинства диалоговых операционных систем). Под аутентификацией понимается процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хра­нятся в его учетной записи'. Очевидно, что если входное имя (login^) пользовате­ля и его пароль совпадают, то, скорее всего, это и будет тот самый пользователь. Термин авторизация означает, что в соответствии с учетной записью пользова­теля, который прошел аутентификацию, ему (и всем запросам, которые будут идти к операционной системе от его имени) назначаются определенные права (привилегии), определяющие, что он может, а что не может делать на компьютере.

— Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени).

— Обеспечение работы систем программирования, с помощью которых пользова­тели готовят свои программы.

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