Интерфейс пользователя представляет собой совокупность программных средств, предназначенных для обмена информацией между пользователем и операционной системой.
По способу реализации интерфейса пользователя различают неграфическиеи графические операционные системы. Неграфические операционные системы реализуютинтерфейс командной строки. Основным устройством управления в данном случае является клавиатура. Управляющие команды вводят в поле командной строки, где их можно и редактировать. Исполнение команды начинается после ее утверждения, например, нажатием клавиши ENTER. Для компьютеров платформы IBM PCинтерфейс командной строки обеспечивается семейством операционных систем под общим названием MS-DOS.
Графические операционные системы реализуют более сложный тип интерфейса, в котором в качестве органа управления кроме клавиатуры может использоваться мышь или адекватное устройство позиционирования. Работа с графической операционной системой основана на взаимодействии активных и пассивных экранных элементов управления.
В качестве активного элемента управления выступает указатель мыши – графический объект, перемещение которого на экране синхронизировано с перемещением мыши на рабочем столе.
В качестве пассивных элементов управления выступают графические элементы управления приложений(экранные кнопки, значки, переключатели, флажки, раскрывающиеся списки, строки меню и многие другие).
Характер взаимодействия между активными и пассивными элементами управления выбирает сам пользователь. В его распоряжении приемы наведения указателя мыши на элемент управления, щелчки кнопками мыши и другие средства.
Средства аппаратного обеспечения ПЭВМ отличаются гигантским разнообразием. Существуют сотни различных моделей видеоадаптеров, звуковых карт, мониторов, принтеров и прочего оборудования. Ни один разработчик программного обеспечения не в состоянии предусмотреть все варианты возможного взаимодействия своей программы, например, с печатающим устройством. Гибкость аппаратных и программных конфигураций вычислительных систем поддерживается за счет того, что каждый разработчик оборудования прикладывает к нему специальные программные средства управления – драйверы. Именно через драйверы происходит обеспечение аппаратно-программного интерфейса. Драйверы имеют точки входа для взаимодействия с прикладными программами, а диспетчеризация обращений прикладных программ к драйверам устройств – это одна из функций операционной системы. Строго говоря, выпуская устройство, его разработчик прикладывает к нему несколько драйверов, предназначенных для основных операционных систем (поскольку в разных операционных системах по разному организуется управление внешними устройствами).
Суть программного интерфейса, обеспечиваемого операционной системой, состоит в следующем.
Для правильной работы приложений на компьютере они должны пройти операцию, называемую установкой. Необходимость в установке связана с тем, что разработчики программного обеспечения не могут заранее предвидеть особенности аппаратной и программной конфигурации вычислительной системы, на которой предстоит работать их программам. При установке осуществляется привязка приложения к существующей аппаратно-программной среде и его настройка на работу именно в этой среде.
Устаревшие операционные системы не имеют средств для управления установкой приложений. Единственное средство, которое они предоставляют – это возможность запуска устанавливающей программы, прилагаемой к дистрибутивному комплекту. Современные графические операционные системы берут на себя функции управления установкой приложений. Они управляют распределением ресурсов вычислительной системы между приложениями, обеспечивают доступ устанавливаемых приложений к драйверам устройств вычислительной системы, формируют общие ресурсы, которые могут использоваться разными приложениями, выполняют регистрацию установленных приложений и выделенных им ресурсов.
Одной из важных функций любой операционной системы является организация и обслуживание файловой системы. Файловая система представляет собой совокупность программных средств, позволяющих организовать работу с данными.
При наличии большого числа программ и данных необходим строгий их учет и систематизация. Операционным системам приходится работать с различными потоками данных, разными аппаратными и периферийными устройствами компьютера. Организовать упорядоченное управление всеми этими объектами позволяет файловая система.
Файловые системы операционных систем создают для пользователей некоторое виртуальное представление внешних запоминающих устройств ЭВМ, позволяя работать с ними не на низком уровне команд управления физическими устройствами (например, обращаться к диску с учетом особенностей его адресации), а на высоком уровне наборов и структур данных. Файловая система скрывает от программистов картину реального расположения информации во внешней памяти, обеспечивает независимость программ от особенностей конкретной конфигурации ЭВМ, или, как еще говорят, логический уровень работы с файлами. Файловая система также обеспечивает стандартные реакции на ошибки, возникающие при обмене данными. Пользователь, работая в контексте определенного языка программирования, обычно использует файлы как поименованные совокупности данных, хранимые во внешней памяти и имеющие определенную структуру. При работе с файлами пользователю предоставляются средства для создания новых файлов, операции по считыванию и записи информации и т.д., не затрагивающие конкретные вопросы программирования работы канала по пересылке данных, по управлению внешними устройствами.
Наиболее распространенным видом файлов, внутренняя структура которых обеспечивается файловыми системами различных ОС, являются файлы с последовательной структурой. Такого рода файлы можно рассматривать как набор составных элементов, называемых логическими записями (или блоками), длина которых может быть как фиксированной, так и переменной, и доступ к которым – последовательный, т.е. для обработки (считывания или записи) i-й записи должна быть обработана предыдущая (i-1)-я запись.
В ряде файловых систем предусматривается использование более сложных логических структур файлов, чем последовательная. Например, записи в файле могут образовывать древовидные структуры, может использоваться индексно-последовательная организация файлов (с упорядочением записей по значению некоторых полей) или, так называемая, библиотечная структура файлов, использующая уровень учетной информации (каталога), облегчающей поиск и доступ к отдельным компонентам файлов. На физическом уровне блоки файла (обычно размером 256 или 512 байт) могут размещаться в памяти непрерывной областью или храниться несмежно.
К функции обслуживания файловой структуры относятся следующие операции, происходящие под управлением операционной системы:
создание файлов и присвоение им имен;
создание каталогов (папок) и присвоение им имен;
переименование файлов и каталогов (папок);
копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;
удаление файлов и каталогов (папок);
навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке);
управление атрибутами файлов.
Развитые многопользовательские файловые системы обеспечивают также защиту и разделение данных, хранящихся в файлах, при работе с ними разных пользователей. Так, например, после входа в системуUNIX (который производится по паролю) пользователь получает доступ к ряду системных, групповых и личных каталогов и файлов. Каждый файл и каталог имеет владельца. Обычно это пользователь, создавший их.
Тип файловой системы и организация хранения данных на носителях устройств внешней памяти (накопители на гибких и жестких магнитных дисках) определяют удобство работы пользователя, скорость доступа к файлам, организацию многозадачной работы и др.
В первой наиболее популярной ОС для ПЭВМ MS-DOS использовалась файловая система FAT16. Она поддерживала шестнадцатиразрядную адресацию данных, что ограничивало объемы внешних накопителей информации (не более 2 Гбайт).
Используемые в настоящее время операционные системы Windows 98, Windows 2000, Windows Millennium, Windows ХР обеспечивают более совершенную организацию файловой системы – FAT32 с 32-разрядными полями в таблице размещения файлов. Увеличение размера полей FAT-таблицы позволило увеличить количество адресуемых единиц хранения данных (то есть количество кластеров) и, соответственно, уменьшить их размер.
Кроме названных, существуют и другие файловые системы. Например, в операционной системе OS/2 используется файловая система HPFS, которая не воспринимается DOS. Windows NT (Windows 2000), Windows ХР поддерживают также файловую систему NTFS, используемую в компьютерных сетях, которая совместима одновременно с файловыми системами FAT16 и HPFS.
Сетевые операционные системыпредставляют собой комплекс программ, обеспечивающих обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям различные виды сетевых служб (управление файлами, электронная почта, процессы управления сетью и др.), поддерживает работу в абонентских системах. Кроме этого на сетевую ОС возлагаются функции защиты информации посредством разграничения доступа пользователей к программам и данным, хранящимся на дисках. Сетевые ОС используют архитектуру клиент-сервер или одноранговую архитектуру. Наибольшее распространение имеют такие сетевые ОС, как LAN Server, NetWare, VINES, Windows NT, Windows 2000, Windows ХР и другие.
Операционные оболочки – это специальные программы, предназначенные для облегчения работы пользователя с компьютером в среде операционной системы. Операционные оболочки имеют текстовыйиграфический варианты интерфейса конечного пользователя.
К числу текстовых оболочек операционной системы MS DOS относятся Norton Commander, Volkov Commander, Disko Commander, Norton Navigator и др. Аналогичные оболочки разработаны и для операционной системы Windows (Windows Commander, Frigate и др.). Эти программы существенно упрощают задание управляющей информации для выполнения команд операционной системы, уменьшают напряженность и сложность работы пользователя.
Среди графических оболочек для MS DOS наибольшую популярность получили Windows 3.1, Windows 3.11 for WorkGroup, которые позволяют изменить среду взаимодействия пользователя с компьютером, расширяют набор основных и сервисных функций, обеспечивающих пользователю интегрированную информационную технологию вплоть до создания одноранговых локальных сетей.