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

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

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


12_____________________________________________ Глава 1. Основные понятия

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

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

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

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

В 50-е годы взаимодействие пользователей с вычислительным комплексом было совершенно иным, чем нынче. Программист-кодер (от англ. coder — кодировщик) — специально подготовленный специалист, знающий архитектуру компьютера и язык(и) программирования, — по заказу составлял текст программы, часто по уже готово­му алгоритму, разработанному программистом-алгоритмистом. Текст этой програм­мы затем отдавался оператору, который набирал его на специальных устройствах и переносил на соответствующие носители. Чаще всего в качестве носителей ис­пользовались перфокарты или перфолента. Далее колода с перфокартами (перфо­лента) передавалась в вычислительный зал, где для вычислений ло этой програм­ме требовалось выполнить следующие действия.


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

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

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

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

В случае обнаружения ошибок на одном из этих этапов или после анализа полу­ченных результатов весь цикл необходимо было повторить.

Для автоматизации труда программиста (кодера) стали разрабатывать специаль-ные алгоритмические языки высокого уровня, а для автоматизации труда опера­тора вычислительного комплекса была разработана специальная управляющая программа, загрузив которую в память один раз оператор мог ее далее использо­вать неоднократно и более не обращаться к процедуре программирования ЭВМ через пульт оператора. Именно эту управляющую программу и стали называть операционной системой. Со временем на нее стали возлагать все больше и больше задач, она стала расти в объеме. Прежде всего разработчики стремились к тому, чтобы операционная система как можно более эффективно распределяла вычис­лительные ресурсы компьютера, ведь в 60-е годы операционные системы уже по­зволяли организовать параллельное выполнение нескольких программ. Помимо задач распределения ресурсов появились задачи обеспечения надежности вычис­лений. К началу 70-х годов диалоговый режим работы с компьютером стал преоб­ладающим, и у операционных систем стремительно начали развиваться интерфейс­ные возможности. Напомним, что термином интерфейс (interface) обозначают целый комплекс спецификаций, определяющих конкретный способ взаимодей­ствия пользователя с компьютером.

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

1 Системными принято называть такие программы, которые используются всеми остальными про­граммами.


14_____________________________________________ Глава 1. Основные понятия

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

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

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

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

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

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

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

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

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

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

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

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

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

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

□ Аутентификация и авторизация пользователей (для большинства диалоговых
операционных систем). Под аутентификацией понимается процедура проверки


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

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

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

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

□ Предоставление услуг на случай частичного сбоя системы.

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

Рис. 1.1. Взаимодействие пользователя и его программ с компьютером через операционную систему

' Если операционная система не поддерживает механизм учетных записей, как это имеет место, на­пример, в семействе операционных систем Windows 9x компании Microsoft, то пароль сверяется по специальному файлу, где он хранится в зашифрованном виде.

2 В 70-е годы пользователи за терминалом писали log in, и это означало процедуру регистрации. Были системы, в которых требовалось набрать команду log on, что означало то же самое.


16_____________________________________________ Глава 1, Основные понятия








Дата добавления: 2016-09-20; просмотров: 868;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.