Системное программное обеспечение

 

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

Особое место в программном обеспечениизанимают операционные сис­темы.

Операционная система — это комплекспрограмм, обеспечивающих:

•  управление устройствами изадачами (процессами) — согласован­ную работу всех аппаратных средствкомпьютера и выполняемых программ;

•  работу с файлами —организацию хранения и обработки файлов на внешних носителях;

•  пользовательский интерфейс— диалог пользователя с компьюте­ром.

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

 

Управление устройствами

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

•  устройства ввода(клавиатура, мышь, сканер и др.);

•  устройства вывода(монитор, принтер, графопостроитель и др.);

•  внешние запоминающиеустройства (дисководы для магнитных и оптических дисков, устройства для работыс флэш-памятью);

•  устройства управления(мышь, джойстик и др.);

•  мультимедийные устройства.

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

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

 

Управлениепроцессами

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

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

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

Ситуация изменилась споявлением на ЭВМ третьего поколения кон­троллеров внешних устройств. Сталовозможным освободить процессор от управления «неповоротливыми» механизмами,переложив эту задачу на контроллеры. А процессор получил возможность все времязаниматься своей основной работой — обработкой данных. Пока одна программа (про­цесс)ожидает, например, завершения ввода/вывода данных, другая про­грамма можетзанимать процессор. При этом состояние первого, прерван­ного процесса должнобыть сохранено, чтобы его в нужный момент можно было восстановить и продолжить выполнениепрограммы. Такой режим работы называется многозадачным режимом.

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

Пользовательский интерфейс

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

Наибольшее число ПК во всеммире работают под управлением ОС Windows, с которойвы наверняка знакомы. Тем не менее напомним основ­ные правила пользовательскогоинтерфейса. Взаимодействие пользовате­ля с ОС происходит по схеме:

1) ОСнаходится в состоянии ожидания команды пользователя;

2)пользователь отдает команду в какой-либо форме (чаще всего — че­рез меню);

3) ОСисполняет команду или сообщает о невозможности выполнения;

4) ОСвозвращается в состояние ожидания следующей команды по­льзователя; и т. д.

 

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

 

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