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

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

 

Прикладные программы
Интерпретаторы команд Компиляторы Редакторы
Операционная система
Система команд
Функциональные средства
Аппаратные средства

 

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

 

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

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

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

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

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

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

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

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

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

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

Виды операционных систем

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

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

Уровнем ниже находятся серверные ОС. Серверы представляют собой или очень большие персональные компьютеры, или даже мейн­фреймы. Эти ОС одновременно обслуживают множество пользова­телей и позволяют им делить между собой программно-аппаратные ресурсы. Серверы также предоставляют возможность работы с печа­тающими устройствами, файлами или Internet. У Internet-провайде­ров обычно работают несколько серверов для того, чтобы поддержи­вать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входящие запросы. UNIX и Windows 2003 являются типичными серверными ОС. Теперь для этой цели стала использоваться и операционная система Linux.

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

Следующую категорию составляют ОС для персональных компью­теров. Их работа заключается в предоставлении удобного интерфей­са для одного пользователя. Такие системы широко используются в повседневной работе. Основными ОС в этой категории являются Windows ХР, Windows Vista, операционная система компьютера Macintosh и Linux.

Еще один вид ОС – это системы реального времени. Главным па­раметром таких систем является время. Например, в системах управ­ления производством компьютеры, работающие в режиме реального времени, собирают данные о промышленном процессе и использу­ют их для управления оборудованием. Такие процессы должны удов­летворять жестким временным требованиям. Если, например, по конвейеру передвигается автомобиль, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано или слишком поздно, то нанесет непоправимый вред изделию. Системы VxWorks и QNX яв­ляются операционными системами реального времени.

Встроенные операционные системы используются в карманных компьютерах и бытовой технике. Карманный компьютера – это ма­ленький компьютер, помещающийся в кармане и выполняющий не­большой набор функций, например, телефонной книжки и блокно­та. Встроенные системы, управляющие работой устройств бытовой техники, не считаются компьютерами, но обладают теми же харак­теристиками, что и системы реального времени, и при этом имеют особые размер, память и ограничения мощности, что выделяет их в отдельный класс. Примерами таких операционных систем являются PalmOS и Windows CE (Consumer Electronics – бытовая техника).

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

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

3. Пакеты прикладных программ (application program package) – комплекс взаимосвязанных программ для решения задач определенного класса конкретной области.