Назначение операционной системы


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

Рис. 2. Структура аппаратно-программных средств компьютера

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

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

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

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

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

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

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

Как уже упоминалось, архитектура (система команд, организа­ция памяти, ввод/вывод данных и структура шин) компьютера на уровне машинного языка неудобна для работы с программами, осо­бенно при вводе/выводе данных. Так, процедура ввода/вывода данных с гибкого диска выполняется через микросхемы контроллера, используемого на большинстве ПК. Контроллер имеет 16 команд. Каждая задается передачей от 1 до 9 байт в регистр устройства. Это команды чтения и записи данных, перемещения головки диска, фор­матирования дорожек, инициализации, распознавания, установки в исходное положение и калибровки контроллера и приводов. Основ­ные команды read и write (чтение и запись). Каждая из них требует 13 параметров, которые определяют адрес блока на диске, количе­ство секторов на дорожке, физический режим записи, расстановку промежутков между секторами. Программист при работе с гибким диском должен также постоянно знать, включен двигатель или нет. Если двигатель выключен, его следует включить прежде, чем данные будут прочитаны или записаны. Двигатель не может оставаться вклю­ченным слишком долго, так как гибкий диск изнашивается. Поэто­му программист вынужден выбирать между длинными задержками во время загрузки и изнашивающимися гибкими дисками.

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

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

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

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

Вопросы для самоконтроля:

1.Перечислите функции операционной системы.

2.Архитектура ОС - Монолитное ядро

Рекомендуемая литература:

1.Таненбаум Э. Современные операционные системы. СПб: Питер, 2002.

2.Олифер Н. А., Олифер В. Г. Сетевые операционные системы. СПб: Питер, 2001.