В функции ос входит. Классификация операционных систем. ОС как система управления ресурсами

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

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

ОС классифицируются по следующим признакам.

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

    По организации работы в диалоговом режиме различаютоднопользовательские (однотерминальные) и многопользовательские (мультитерминальные ) ОС.

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

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

Структура ОС содержит следующие компоненты:

    Ядро это наиболее часто используемые модули ОС, например:

    модуль управления системой прерываний;

    средства распределения оперативной памяти;

    средства распределения ресурсов процессора,

    Резидентные программы – это программы, входящие в состав ядра, например, программы-драйверы, управляющие внешними устройствами; при функционировании компьютера резидентные программы постоянно находятся в оперативной памяти,

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

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

Основные функции ОС

    прием команд пользователя и их обработка;

    прием и исполнение запросов на запуск и остановку программ;

    передача управления загруженной программе;

    обеспечение работы системы управления файлами;

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

    обеспечение операции ввода-вывода;

    распределение памяти;

    обеспечение сохранности данных и другие.

3. Разновидности операционных систем

Дисковые операционные системы

В первых компьютерах операционная система отсутствовала, управление осуществлялось на основе простейших языков программирования, которые содержались в ПЗУ, позволяли загружать программы и управлять программой с клавиатуры.

В начале 80-х годов с появлением магнитных дисков была написана первая программа, в которой каждому названию файла присваивались определенные номера дорожек и секторов. Так появилась дисковая операционная система – DOS . Далее дисковой системе поручили решать и другие задачи, например, записывать, копировать и удалять файлы, исключать повторяющиеся названия и т.п. В связи с необходимостью структурирования возрастающего объема данных появились каталоги файлов, из которых постепенно была создана Файловая структура , которая обслуживалась операционной системой.

Фирма Microsoft (США) с 1981 по 1995 год, постепенно усложняя, выпустила несколько версий системы от MS - DOS 1.0 до MS - DOS 6.22

Недостатки дисковых операционных систем:

    первые операционные системы были построены на текстово-символьном интерфейсе (набор команд с клавиатуры);

    на изучение последних версий MS-DOS и решение компьютерных задач требовалось много времени.

Текстовые программы-оболочки

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

Самая известная программа-оболочка – Norton Commander , которая наглядно показывает всю файловую структуру, позволяет не запоминать команды, а работать с ними через строку меню. Несмотря на появление более совершенных программ, Norton Commander до настоящего времени используется на многих компьютерах.

Графические оболочки

На смену текстовой программе-оболочке типа Norton Commander пришла графическая оболочка операционной системы . Фирмой Microsoftсначала была создана графическая оболочка Windows 1.0 , затем появились её версии под номерами 2.0; 3.0; 3.1; 3.11.

Оболочка Windows, которую назвали средой, работала под управлением системы MS-DOS и не являлась самостоятельной операционной системой.

Среда Windows изначально отличалась следующими признаками:

    многозадачность;

    единый программный интерфейс;

    единый интерфейс пользователя;

    графический интерфейс;

    единый аппаратно-программный интерфейс.

Графические операционные системы

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

    Windows NT – первая графическая операционная система;

    Windows 95 – наиболее популярная версия 90-х годов;

    Windows 98 – доработанная 95-я версия;

    Windows 2000 – система, ориентированная на корпоративного клиента;

    Windows ХР – наиболее популярная версия для настольных компьютеров с 2002 года;

    Windows 7 –популярная система, выпущенная на рынок в 2009 г.;

    Windows 8 – версия, которая внедряется с 2012 г., включает возможности работы с сенсорными экранами, имеет плиточный интерфейс.

Все версии операционных систем фирмы Microsoft относятся к категории лицензионных и продаются на рынке программных продуктов по коммерческим ценам.

Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) - комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны - предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.

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

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

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Windows и системы класса UNIX (особенно Linux и Mac OS). Можно попробовать перечислить основные функции операционных систем.

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

Распределение памяти, а в большинстве современных систем и организация виртуальной памяти.

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

Идентификация всех программ и данных.

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

Обслуживание всех операций ввода-вывода.

Обеспечение работы систем управлений файлами (СУФ) и/или-систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения.

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

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

Организация механизмов обмена сообщениями и данными между выполняющимися программами.

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

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

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

Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени).

Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы.

Предоставление услуг на случай частичного сбоя системы.

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

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

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

Примеры ОС: 1) Windows – лидер среди ОС. Преимущества: простота использования и доступа в интернет, динамическая справочная система, высокая производительность и надежность, веб-совместимый интерфейс пользователя, возможность одновременного доступа в интернет с нескольких компьютеров через одно общее подключение. 2) UNIX – преимущества: простота, инструментальность, мобильность, эффективность. Недостатки: не поддерживается режим реального времени, слабая устойчивость к аппаратным сбоям, снижение эффективности при решении однотипных задач, слабо развиты средства взаимодействия и синхронизации. 3) Linux – бесплатная и стандартизированная система. Преимущества: более мощная и гибкая, чем DOS и Windows, некоммерческая операционная система, распространяется по генеральной открытой лицензии GNU. 4)Apple Mac OS X – позволяет настраивать интерфейс, использование стандарта PDF? Обеспечивающий высокую четкость изображения, способность обеспечить безопасность, сохранить конфиденциальность.


Похожая информация.


Аннотация: Функции операционной системы. Структура операционной системы. Классификация операционных систем. Требования к операционным системам.

Операционная система (operating system ) – комплекс программ, предоставляющий пользователю удобную среду для работы с компьютерным оборудованием.

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

Для более полного понимания роли операционной системы рассмотрим составные компоненты любой вычислительной системы (рис.1.1).


Рис. 1.1.

Все компоненты можно разделить на два больших класса – программы или программное обеспечение ( ПО , software ) и оборудование или аппаратное обеспечение ( hardware ). Программное обеспечение делится на прикладное, инструментальное и системное. Рассмотрим кратко каждый вид ПО .

Цель создания вычислительной системы – решение задач пользователя. Для решения определенного круга задач создается прикладная программа ( приложение , application ). Примерами прикладных программ являются текстовые редакторы и процессоры (Блокнот, Microsoft Word ), графические редакторы ( Paint , Microsoft Visio), электронные таблицы (Microsoft Excel ), системы управления базами данных (Microsoft Access, Microsoft SQL Server ), браузеры ( Internet Explorer) и т. п. Все множество прикладных программ называется прикладным программным обеспечением ( application software ).

Создается программное обеспечение при помощи разнообразных средств программирования (среды разработки, компиляторы, отладчики и т. д.), совокупность которых называется инструментальным программным обеспечением. Представителем инструментального ПО является среда разработки Microsoft Visual Studio .

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

Взаимодействие всех программ с операционной системой осуществляется при помощи системных вызовов ( system calls) – запросов программ на выполнение операционной системой необходимых действий. Набор системных вызовов образует API – Application Programming Interface ( интерфейс прикладного программирования).

Функции операционной системы

К основным функциям, выполняемым операционными системами, можно отнести:

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

Структура операционной системы

Перед изучением структуры операционных систем следует рассмотреть режимы работы процессоров.

Современные процессоры имеют минимум два режима работы – привилегированный (supervisor mode) и пользовательский (user mode).

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

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

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

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

Термин "ядро" также используется в разных смыслах. Например, в Windows термин "ядро" (NTOS kernel) обозначает совокупность двух компонентов – исполнительной системы (executive layer) и собственно ядра (kernel layer) .

Существует два основных вида ядер – монолитные ядра (monolithic kernel) и микроядра (microkernel). В монолитном ядре реализуются все основные функции операционной системы, и оно является, по сути, единой программой, представляющей собой совокупность процедур . В микроядре остается лишь минимум функций, который должен быть реализован в привилегированном режиме: планирование потоков, обработка прерываний, межпроцессное взаимодействие. Остальные функции операционной системы по управлению приложениями, памятью, безопасностью и пр. реализуются в виде отдельных модулей в пользовательском режиме.

Ядра, которые занимают промежуточные положение между монолитными и микроядрами, называют гибридными (hybrid kernel).

Примеры различных типов ядер:

  • монолитное ядро – MS-DOS, Linux, FreeBSD;
  • микроядро – Mach, Symbian, MINIX 3;
  • гибридное ядро – NetWare, BeOS, Syllable.

Обсуждение того, к какому типу относится ядро Windows NT, приведено в [ ; ]. В говорится о том, что Windows NT имеет монолитное ядро, однако, поскольку в Windows NT имеется несколько ключевых компонентов, работающих в пользовательском режиме (например, подсистемы окружения и системные процессы – см. Лекцию 4 "Архитектура Windows"), то относить Windows NT к истинно монолитным ядрам нельзя, скорее к гибридным.

Кроме ядра в привилегированном режиме (в большинстве операционных систем) работают драйверы (driver) – программные модули, управляющие устройствами.

В состав операционной системы также входят:

  • системные библиотеки (system DLL – Dynamic Link Library, динамически подключаемая библиотека), преобразующие системные вызовы приложений в системные вызовы ядра;
  • пользовательские оболочки (shell), предоставляющие пользователю интерфейс – удобный способ работы с операционной системой.

Пользовательские оболочки реализуют один из двух основных видов пользовательского интерфейса:

  • текстовый интерфейс (Text User Interface, TUI), другие названия – консольный интерфейс (Console User Interface, CUI), интерфейс командной строки (Command Line Interface, CLI);
  • графический интерфейс (Graphic User Interface, GUI).

Пример реализации текстового интерфейса в Windows – интерпретатор командной строки cmd.exe; пример графического интерфейса – Проводник Windows (explorer.exe).

Классификация операционных систем

Классификацию операционных систем можно осуществлять несколькими способами.

  1. По способу организации вычислений:
    • системы пакетной обработки (batch processing operating systems) – целью является выполнение максимального количества вычислительных задач за единицу времени; при этом из нескольких задач формируется пакет, который обрабатывается системой;
    • системы разделения времени (time-sharing operating systems) – целью является возможность одновременного использования одного компьютера несколькими пользователями; реализуется посредством поочередного предоставления каждому пользователю интервала процессорного времени;
    • системы реального времени (real-time operating systems) – целью является выполнение каждой задачи за строго определённый для данной задачи интервал времени.
  2. По типу ядра:
    • системы с монолитным ядром (monolithic operating systems);
    • системы с микроядром (microkernel operating systems);
    • системы с гибридным ядром (hybrid operating systems).
  3. По количеству одновременно решаемых задач:
    • однозадачные (single-tasking operating systems);
    • многозадачные (multitasking operating systems).
  4. По количеству одновременно работающих пользователей:
    • однопользовательские (single-user operating systems);
    • многопользовательские (multi-user operating systems).
  5. По количеству поддерживаемых процессоров:
    • однопроцессорные (uniprocessor operating systems);
    • многопроцессорные (multiprocessor operating systems).
  6. По поддержке сети:
    • локальные (local operating systems) – автономные системы, не предназначенные для работы в компьютерной сети;
    • сетевые (network operating systems) – системы, имеющие компоненты, позволяющие работать с компьютерными сетями.
  7. По роли в сетевом взаимодействии:
    • серверные (server operating systems) – операционные системы, предоставляющие доступ к ресурсам сети и управляющие сетевой инфраструктурой;
    • клиентские (client operating systems) – операционные системы, которые могут получать доступ к ресурсам сети.
  8. По типу лицензии:
    • открытые (open-source operating systems) – операционные системы с открытым исходным кодом, доступным для изучения и изменения;
    • проприетарные (proprietary operating systems) – операционные системы, которые имеют конкретного правообладателя; обычно поставляются с закрытым исходным кодом.
  9. По области применения:
    • операционные системы мэйнфреймов – больших компьютеров (mainframe operating systems);
    • операционные системы серверов (server operating systems);
    • операционные системы персональных компьютеров (personal computer operating systems);
    • операционные системы мобильных устройств (mobile operating systems);
    • встроенные операционные системы (embedded operating systems);
    • операционные системы маршрутизаторов (router operating systems).

Требования к операционным системам

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

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

Резюме

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

В следующей лекции будет представлен обзор операционных систем Microsoft Windows.

Контрольные вопросы

  1. Дайте определение понятию "операционная система".
  2. Назовите примеры прикладного, инструментального и системного программного обеспечения.
  3. Дайте определение понятий "системный вызов", "API", "драйвер", "ядро".
  4. Какие виды ядер вы знаете? К каким видам относятся ядра известных вам операционных систем?
  5. Чем ядро отличается от операционной системы?
  6. Приведите несколько способов классификации операционных систем.
  7. Назовите требования к современным операционным системам и объясните, что они означают.

Операционная система - это посредник между компьютером и пользователем, обеспечивающий их взаимодействие и отвечающий за выполнение программ. Самые известные представители: Linux, Microsoft, Mac OS и так далее. В данной статье мы рассмотрим состав и функции Речь пойдет об общих параметрах без привязки к конкретной ОС.

Из чего состоит операционная система?

Прежде чем рассказать о том, какие бывают функции операционных систем, мы рассмотрим, из чего она состоит.

  1. Программный модуль, который управляет системой файлов.
  2. Драйверы для устройств. Они обеспечивают корректную работу каждого аппаратного элемента компьютера, а также информационный обмен с другими устройствами.
  3. Процессор, отвечающий на команды пользователя.
  4. Сервисные программы. При их помощи есть возможность работать в компьютерных сетях с дисками и файлами.
  5. Модули, обеспечивающие графическую оболочку для пользователя.
  6. Справочная система, помогающая найти ответ на любой вопрос относительно операционной системы и работы с ней.

Функции операционных систем могут меняться в зависимости от вида последних. Классификаций довольно много. Приведем основные.

1. По числу одновременно работающих пользователей ОС бывают: однопользовательские (старые версии, например, MS-DOS, Windows 3.x, ранние версии OS/2) и многопользовательские (например, UNIX, Windows NT).

2. По количеству одновременно выполняемых задач: однозадачные (например, MSX, MS-DOS) и многозадачные Windows 95, UNIX).

Что делает операционная система?

Рассмотрим теперь основные функции операционной системы:

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

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

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

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

Сетевое обеспечение

Распределенная система – набор процессоров, которые не распределяют память или каждый процессор имеет свою локальную память. Процессоры в распределённой системе соединены посредством компьютерной сети и обеспечивают пользователям доступ к различным системным ресурсам, позволяющим увеличить скорость вычислений, объем доступной информации, повысить надежность.

Командный интерфейс системы

Множество команд в ОС предназначено для выполнения функций управления, которые обеспечивают:

Создание и управление процессов;

Управление вводом/выводом;

Управление внешней памятью;

Управление основной памятью;

Доступ к файловой системе;

Поддержку работы сети.

Программа, которая вводит и интерпретирует команды управления, в различных системах имеет разные названия:

Интерпретатор управляющих карт;

Процессор команд консолей;

-shell Unix ).

Функцией команды является прием и выполнение введенного утверждения.

1. Функции операционных систем

2. Система прерываний

3. Защита памяти.

4. Виртуа́льная па́мять

5. Управление данными

6. Фа́йловая систе́ма

7.

8. Утили́та

9. Дра́йвер

10. Технология Plug-and-Play

11. Мультимедиа

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

По современным представлениям операционная система должна уметь делать следующее:

− обеспечивать загрузку прикладных программ в память и их исполнение,

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

− обеспечивать работу с устройствами долговременной памяти, такими как магнитные диски, оптические диски, флэш-память и т. д.,

− предоставлять более или менее стандартизованный доступ к различным периферийным устройствам, таким как модемы, принтеры или двигатели, поворачивающие рулевые плоскости истребителя,

− предоставлять некоторый пользовательский интерфейс (слово некоторый здесь сказано не случайно - часть систем ограничивается командной строкой, в то время как другие на 90% состоят из интерфейсной подсистемы).

Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа - дисковая операционная система MS DOS.

Более развитые ОС предоставляют также следующие возможности:

− параллельное (или псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач,

− организацию взаимодействия задач друг с другом,

− организацию межмашинного взаимодействия и разделения ресурсов,

− защиту системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ,

− аутентификацию (проверку того, что пользователь является тем, за кого он себя выдает), авторизацию (проверка, что тот, за кого себя выдает пользователь, имеет право выполнять ту или иную операцию) и другие средства обеспечения безопасности.

Система прерываний

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

Можно считать, что центральный процессор переключает свое внимание с устройства на устройство и с функции на функцию. На что именно обращено внимание ЦП в каждый данный момент, определяется выполняемой им программой.

Во время работы в ЦП поступает (и вырабатывается в нем самом) большое количество различных сигналов. Сигналы, которые выполняемая в ЦП программа способна воспринять, обработать и учесть, составляют поле зрения ЦП или другими словами – входят в зону его внимания.

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

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

Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.

Любая особая ситуация, вызывающая прерывание, сопровождается сигналом, называемым запросом прерывания (ЗП). Запросы прерываний от внешних устройств поступают в процессор по специальным линиям, а запросы, возникающие в процессе выполнения программы, поступают непосредственно изнутри микропроцессора. Механизмы обработки прерываний обоих типов схожи. Рассмотрим функционирование компьютера при появлении сигнала запроса прерывания, опираясь в основном на обработку аппаратных прерываний (рис. 1.3.1).

Рис. 1.3.1. Выполнение прерывания в компьютере: tр - время реакции процессора на запрос прерывания; tс - время сохранения состояния прерываемой программы и вызова обработчика прерывания; tв - время восстановления прерванной программы

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

Время реакции – это время между появлением сигнала запроса прерывания и началом выполнения прерывающей программы (обработчика прерывания) в том случае, если данное прерывание разрешено к обслуживанию.

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

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

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

Время реакции определяется для запроса с наивысшим приоритетом.

Глубина прерывания – максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний. Работа системы прерываний при различной глубине прерываний (n) представлена на рис. 1.3.2. Здесь предполагается, что с увеличением номера запроса прерывания увеличивается его приоритет.

Рис. 1.3.2. Работа системы прерываний при различной глубине прерываний

Без учета времени реакции, а также времени запоминания и времени восстановления:

Прерывания делятся на аппаратные и программные.

Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают:

· маскируемые, которые могут быть замаскированы программными средствами компьютера;

· немаскируемые, запрос от которых таким образом замаскирован быть не может.

Программные прерывания вызываются следующими ситуациями:

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

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

Каждому запросу прерывания в компьютере присваивается свой номер (тип прерывания), используемый для определения адреса обработчика прерывания.

При поступлении запроса прерывания компьютер выполняет следующую последовательность действий:

· определение наиболее приоритетного незамаскированного запроса на прерывание (если одновременно поступило несколько запросов);

· определение типа выбранного запроса;

· сохранение текущего состояния счетчика команд и регистра флагов;

· определение адреса обработчика прерывания по типу прерывания и передача управления первой команде этого обработчика;

· выполнение программы - обработчика прерывания;

· восстановление сохраненных значений счетчика команд и регистра флагов прерванной программы;

· продолжение выполнения прерванной программы.

Этапы 1-4 выполняются аппаратными средствами ЭВМ автоматически при появлении запроса прерывания. Этап 6 также выполняется аппаратно по команде возврата из обработчика прерывания.

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

Распознавание наличия сигналов запроса прерывания и определение наиболее приоритетного из них может проводиться различными методами. Рассмотрим один из них.

Цепочечная однотактная система определения приоритета запроса прерывания

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

Данная схема используется для анализа запросов аппаратных прерываний. Приоритет запросов прерываний (ЗПi) уменьшается с уменьшением номера запроса. В тот момент, когда компьютер должен определить наличие и приоритет внешнего аппаратного прерывания (обычно после окончания выполнения каждой команды), процессор выдает сигнал опроса. Если на входе ЗП3 присутствует сигнал высокого уровня (есть запрос), то на элементе 11 формируется общий сигнал наличия запроса прерывания и дальнейшее прохождение сигнала опроса блокируется. Если ЗП3=0, то анализируется сигнал ЗП2 и так далее. На шифраторе (элемент 12) формируется номер поступившего запроса прерывания.

Этот номер передается в процессор лишь при наличии общего сигнала запроса прерывания.

Такая структура позволяет быстро анализировать наличие сигнала запроса прерывания и определять наиболее приоритетный запрос из нескольких присутствующих в данный момент. Распределение приоритетов запросов прерываний внешних устройств осуществляется путем их физической коммутации по отношению к процессору. Указание приоритетов - жесткое и не может быть программно изменено. Изменение приоритетов возможно только путем физической перекоммутации устройств.

Рис. 1.3.3. Схема определения номера наиболее приоритетного запроса прерывания

Микропроцессоры типа х86 имеют два входа запросов внешних аппаратных прерываний:

· NMI - немаскируемое прерывание, используется обычно для запросов прерываний по нарушению питания;

· INT - маскируемое прерывание, запрос от которого можно программным образом замаскировать путем сброса флага IF в регистре флагов.

Рис. 1.3.4. Структура контроллера приоритетных прерываний

Единственный вход запроса маскируемых прерываний микропроцессора не позволяет подключить к нему напрямую сигналы запросов от большого числа различных внешних устройств, которые входят в состав современного компьютера: таймера, клавиатуры, "мыши", принтера, сетевой карты и т.д. Для их подключения к одному входу INT микропроцессора используется контроллер приоритетных прерываний (рис. 1.3.4). Его функции:

· восприятие и фиксация запросов прерываний от внешних устройств;

· определение незамаскированных запросов среди поступивших запросов;

· проведение арбитража: выделение наиболее приоритетного запроса из незамаскированных запросов в соответствии с установленным механизмом назначения приоритетов;

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

· передача в микропроцессор по шине данных типа прерывания, выбранного в процессе арбитража, для запуска соответствующей программы - обработчика прерывания; это действие выполняется по сигналу разрешения прерывания INTA от микропроцессора, который выдается в случае, если прерывания в регистре флагов микропроцессора не замаскированы (IF=1).

Переход к соответствующему обработчику прерывания осуществляется (в реальном режиме работы микропроцессора) посредством таблицы векторов прерываний. Эта таблица (рис. 1.3.5) располагается в самых младших адресах оперативной памяти, имеет объем 1 Кбайт и содержит значения сегментного регистра команд (CS) и указателя команд (IP) для 256 обработчиков прерываний.

Рис. 1.3.5. Структура таблицы векторов прерываний

Обращение к элементам таблицы осуществляется по 8-разрядному коду - типу прерывания (табл. 1.3.1).

Таблица 1.3.1.

Различные источники задают тип прерывания по-разному:

· программные прерывания вводят его изнутри процессора или содержат его в номере команды INT n;

· аппаратные маскируемые прерывания вводят его от контроллера приоритетных прерываний по шине данных;

· немаскируемому аппаратному прерыванию назначен тип 2.

Во многих ОС первые секции подпрограмм обработки прерываний выделяются в специальный системный модуль – супервизор прерываний.

Супервизор прерываний выполняет следующие действия:

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

Определяет программу, обслуживающую текущий запрос на прерывание;

Устанавливает необходимый режим обработки пребывания;

Передает управление подпрограмме обработки прерывания.

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

Выбор готовой к выполнению задачи (в соответствии с дисциплиной обслуживания)

Восстановление контекста задачи;

Установка прежнего режима работы системы прерываний;

Передачу управления выбранной задаче.

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

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

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

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

Защита памяти.

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

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

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

· разрешается доступ к данному блоку, как для записи, так и для считывания;

· разрешается только считывание;

· разрешается обращение любого вида по адресу взятого только из счетчика команд;

· разрешается обращение по адресу из любого реестра кроме счетчика команд.

Если нарушается защита памяти, использование программы приостанавливается и вырабатывается запрос прерывания по нарушению защиты памяти.

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

Виртуа́льная па́мять

Виртуа́льная па́мять - технология, разработанная с целью увеличения общего объема памяти, её защиты и автоматизации процесса перемещения машинного кода и данных между основной памятью компьютера и вторичным хранилищем.

В настоящее время эта технология имеет аппаратную поддержку на всех современных процессорах.

В случае расположения данных на внешних запоминающих устройствах память может быть представлена, например, специальным разделом на жёстком диске (partition) или отдельным файлом на обычном разделе диска.

Также существует термин swap (англ. swap, /swɔp/) также означающий виртуальную память (точнее способ её представления), или же означает подкачку данных с диска.

Применение механизма виртуальной памяти позволяет:

· упростить адресацию памяти клиентским программным обеспечением;

· рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);

· изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью).

Управление данными

Управление данными (англ. data management) - процесс, связанный с накоплением, организацией, запоминанием, обновлением, хранением данных и поиском информации.

К управлению да́нными относятся:

§ Анализ данных

§ Моделирование данных

§ Управление базами данных

§ Работа с хранилищами данных

§ Извлечение, преобразование и загрузка данных

§ Добыча данных

§ Обеспечение качества данных

§ Защита данных

§ Управление метаданными (репозиториями данных)

· Архитектура данных

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

В задачах поиска предполагается, что все данные хранятся в памяти с определенной идентификацией и, говоря о доступе, имеют в виду прежде всего доступ к данным (называемым ключами), однозначно идентифицирующим связанные с ними совокупности данных.

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

Существуют два класса методов, реализующих доступ к данным по ключу:

· методы поиска по дереву,

· методы хеширования.

Деревом называется конечное множество, состоящее из одного или более элементов, называемых узлами, таких, что:

· между узлами имеет место отношение типа "исходный-порожденный";

· есть только один узел, не имеющий исходного. Он называется корнем;

· все узлы за исключением корня имеют только один исходный; каждый узел может иметь несколько порожденных;

· отношение "исходный-порожденный" действует только в одном направлении, т.е. ни один потомок некоторого узла не может стать для него предком.

Хеширование используется тогда, когда все множество ключей заранее известно и на время обработки может быть размещено в оперативной памяти. В этом случае строится специальная функция, однозначно отображающая множество ключей на множество указателей, называемая хеш-функцией (от английского "to hash" - резать, измельчать). Имея такую функцию можно вычислить адрес записи в файле по заданному ключу поиска. В общем случае ключевые данные, используемые для определения адреса записи организуются в виде таблицы, называемой хеш-таблицей.

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

Фа́йловая систе́ма

Фа́йловая систе́ма (англ. file system) - регламент, определяющий способ организации, хранения и именования данных на носителях информации. Она определяет формат физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имени файла, максимальный возможный размер файла, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.

Файловая система связывает носитель информации, с одной стороны, и API для доступа к файлам - с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, магнитной ленте или блоке флеш-памяти) он записан. Всё, что знает программа - это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

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

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

Иерархия каталогов

Практически всегда файлы на дисках объединяются в каталоги.

В простейшем случае все файлы на данном диске хранятся в одном каталоге. Такая одноуровневая схема использовалась в CP/M и первых версиях MS-DOS. Иерархическая файловая система со вложенными друг в друга каталогами впервые появилась в UNIX.

Каталоги на разных дисках могут образовывать несколько отдельных деревьев, как в DOS/Windows, или же объединяться в одно дерево, общее для всех дисков, как в UNIX-подобных системах.

На самом деле, в DOS/Windows системах также, как и в UNIX-подобных существует один корневой каталог со вложенными директориями, имеющими названия «c:», «d:» и т. д. В эти каталоги монтируются разделы жёсткого диска. То есть, c:\ - это всего лишь ссылка на file:///c:/. Однако, в отличие от UNIX-подобных файловых систем, в Windows запись в корневой каталог запрещена, как и просмотр его содержимого.

В UNIX существует только один корневой каталог, а все остальные файлы и каталоги вложены в него. Чтобы получить доступ к файлам и каталогам на каком-нибудь диске, необходимо примонтировать этот диск командой mount. Например, чтобы открыть файлы на CD, нужно, говоря простым языком, сказать операционной системе: «возьми файловую систему на этом компакт-диске и покажи её в каталоге /mnt/cdrom». Все файлы и каталоги, находящиеся на CD, появятся в этом каталоге /mnt/cdrom, который называется точкой монтирования (англ. mount point). В большинстве UNIX-подобных систем съёмные диски (дискеты и CD), флеш-накопители и другие внешние устройства хранения данных монтируют в каталог /mnt, /mount или /media. Unix и UNIX-подобные операционные системы также позволяет автоматически монтировать диски при загрузке операционной системы.

Классификация файловых систем

По предназначению файловые системы можно классифицировать на следующие категории:

Для носителей с произвольным доступом (например, жёсткий диск): FAT32, HPFS, ext2 и др. Поскольку доступ к дискам в разы медленнее, чем доступ к оперативной памяти, для прироста производительности во многих файловых системах применяется асинхронная запись изменений на диск. Для этого применяется либо журналирование, например в ext3, ReiserFS, JFS, NTFS, XFS, либо механизм soft updates и др. Журналирование широко распространено в Linux, применяется в NTFS. Soft updates - в BSD системах. Reiser4 не применяет журналирование, все операции в ней атомарны.

Для носителей с последовательным доступом (например, магнитные ленты): QIC и др.

Для оптических носителей - CD и DVD: ISO9660, ISO9690, HFS, UDF и др.

Виртуальные файловые системы: AEFS и др.

Сетевые файловые системы: NFS, CIFS, SSHFS, GmailFS и др.

Для флэш-памяти: YAFFS, ExtremeFFS.

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

Задачи файловой системы

Основные функции любой файловой системы нацелены на решение следующих задач:

· именование файлов;

· программный интерфейс работы с файлами для приложений;

· отображения логической модели файловой системы на физическую организацию хранилища данных;

· устойчивость файловой системы к сбоям питания, ошибкам аппаратных и программных средств;

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

Графи́ческий интерфе́йс по́льзователя

Графи́ческий интерфе́йс по́льзователя (ГИП), графический пользовательский интерфейс (ГПИ) (англ. Graphical user interface, GUI) - разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и тп.), представленные пользователю на дисплее, исполнены в виде графических изображений.

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

История

Впервые концепция ГИП была предложена учеными из исследовательской лаборатории Xerox PARC в 1970-х.

В 1973 году в лаборатории Xerox PARC собрали молодых людей, недовольных политикой США (войной во Вьетнаме) и дали свободу исследований. В результате на свет появляется концепция графического интерфейса WIMP (Windows, Icons, Menus, Point-n-Click). В рамках этой концепции создаётся компьютер Alto.

В 1979 году Three Rivers Computer Company выпускает рабочую станцию PERQ, похожую по принципам построения на Alto. В 1981 Xerox выпускает продолжение Alto - Star.

Коммерческое воплощение концепция ГИП получила в продуктах корпорации Apple Computer. В операционной системе AmigaOS ГИП с многозадачностью был использован в 1985 году. В настоящее время ГИП является стандартной составляющей большинства доступных на рынке операционных систем и приложений.

Примеры систем, использующих ГИП: Mac OS, Solaris, GNU/Linux, Microsoft Windows, NeXTSTEP, OS/2, BeOS.

Классификация

Можно выделить следующие виды ГИП:[источник не указан 121 день]

· простой: типовые экранные формы и стандартные элементы интерфейса, обеспечиваемые самой подсистемой ГИП;

· истинно-графический, двумерный: нестандартные элементы интерфейса и оригинальные метафоры, реализованные собственными средствами приложения или сторонней библиотекой;

· трёхмерный: на данный момент слабо классифицирован.

Одним из требований к хорошему графическому интерфейсу программной системы является концепция «делай то, что я имею ввиду» или DWIM (англ. Do What I Mean). DWIM требует, чтобы система работала предсказуемо, чтобы пользователь заранее интуитивно понимал, какое действие выполнит программа после получения его команды.

Утили́та

Утили́та (англ. utility или tool) - компьютерная программа, расширяющая стандартные возможности оборудования и операционных систем, выполняющая узкий круг специфических задач.

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

Утилиты зачастую входят в состав операционных систем или идут в комплекте со специализированным оборудованием.




Top