русс | укр

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

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

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

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


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

Функции операционных систем | Функции ОС

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

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

Рассмотрим все три аспекта работы операционных систем по очереди.

 

 

Операционная система как интерфейс между пользователем и компьютером

На рис. 2.1 представлена иерархическая структура программного и аппаратного обеспечения, использующегося для предоставления конечному пользователю возможности работы с приложениями. Конечный пользователь обычно не интересуется деталями устройства аппаратного обеспечения компьютера. Компьютер видится ему как набор приложений. Приложение можно написать на каком-то из языков программирования; эту задачу выполняют программисты. Если бы кто-то задумал разработать реализованную в виде набора машинных команд программу, которая полностью отвечает за управление аппаратным обеспечением компьютера, то это оказалось бы слишком сложной задачей. Чтобы упростить ее, имеется набор системных программ, некоторые из которых называются утилитами. С их помощью реализуются часто использующиеся функции, которые помогают при создании пользовательских программ, работе с файлами и управлении устройствами ввода-вывода. Программист использует эти средства при разработке собственных программ, а приложения во время выполнения обращаются к утилитам для выполнения определенных функций. Наиболее важной из системных программ является операционная система, которая скрывает от программиста детали аппаратного обеспечения и предоставляет ему удобный интерфейс для использования системы. Операционная система выступает в роли посредника, облегчая программисту и программным приложениям доступ к различным службам и возможностям.


Рис. 2.1. Уровни и различные точки зрения на вычислительную систему

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

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

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

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

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

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

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

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

 

 

Операционная система как диспетчер ресурсов

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

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

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

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

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

На рис. 2.2 показаны основные ресурсы, которыми управляет операционная система. Часть операционной системы находится в основной памяти. В эту часть входит ядро (kernel), содержащее основную часть наиболее часто используемых функций; там же находятся и некоторые другие компоненты операционной системы, использующиеся в данный момент времени. Остальная используемая часть основной памяти содержит другие программы и данные пользователя. Вскоре читатель сможет убедиться, что размещение этих данных в основной памяти управляется совместно операционной системой и аппаратной частью процессора, предназначенной для управления памятью. Операционная система принимает решение, когда исполняющаяся программа может использовать нужные ей устройства ввода-вывода, и управляет доступом к файлам и их использованием. Процессор также является ресурсом, поэтому операционная система должна определить, сколько времени он должен уделить исполнению той или иной пользовательской программы. В многопроцессорной системе решение должно быть принято по отношению ко всем процессорам.

 

Возможность развития операционной системы

Большинство операционных систем постоянно развиваются. Происходит это в силу следующих причин.
Обновление и возникновение новых видов аппаратного обеспечения. Например, ранние версии операционных систем UNIX и OS/2 не использовали механизмы страничной организации памяти, потому что они работали на машинах,  не обеспеченных соответствующими аппаратными средствами1. Более поздние версии операционных систем были доработаны таким образом, чтобы они могли использовать новые аппаратные возможности. Точно так же на устройство операционных систем повлияло использование графических терминалов и терминалов, работающих в страничном режиме, вместо алфавитно-цифровых терминалов с построчной разверткой. Такой терминал позволяет пользователю работать одновременно с несколькими приложениями в различных окнах экрана. Такая возможность требует более сложной поддержки со стороны операционной системы.

 

Компьютерная система


Рис. 2.2. Операционная система как диспетчер ресурсов

 

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

Исправления. В каждой операционной системе есть ошибки. Время от времени они обнаруживаются и исправляются. Конечно, в исправление может вкрасться новая ошибка.

Необходимость регулярных изменений операционных систем накладывает определенные требования на их устройство. Очевидно, что эти системы должны иметь модульную конструкцию с четко определенным взаимодействием модулей; очень важную роль играет хорошая и полная документированность. Для больших программ, которыми на сегодняшний день являются типичные операционные системы, недостаточно выполнить то, что называется непосредственной модуляризацией [DENN80a] — нужно сделать нечто большее, чем простая разбивка целой программы на отдельные подпрограммы. В данной главе мы вернемся к этому вопросу.

Просмотров:

Вернуться в оглавление:Операционные системы




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


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

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

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


 


Полезен материал? Поделись:

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

 
 

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