русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 1161; Нарушение авторских прав


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



<== предыдущая лекция | следующая лекция ==>
Введение | Понятие операционной среды


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.136 сек.