07.02.03, 08.02.03, 10.02.03, 15.02.03, 16.02.03, 19.02.03
OS-basic 02. Прикладное и системное ПО. Архитектура ОС.
Прикладное и системное ПО. ОС, Системы управления файлами, пользовательские интерфейсные оболочки, системы программирования, утилиты. Архитектура ОС. Ядро и вспомогательные модули ОС. Ядро в привилегированном режиме. Микроядерная архитектура. Средства аппаратной поддержки ОС. Поддержка привилегированного режима, средства трансляции адресов, средства переключения процессов, системный таймер, система прерываний, средства защиты областей памяти. Прикладная среда.
2.1 Системное и прикладное по
Все программное обеспечение (ПО) ЭВМ можно разделить на две группы: прикладное и системное ПО.
Прикладное ПО - программное обеспечение, состоящее из отдельных прикладных программ и пакетов прикладных программ, предназначенных для решения различных задач пользователей и созданных на их основе автоматизированных систем.
Прикладная программа - программа, предназначенная для решения каких-либо задач пользователей в определенной области применения (бухгалтерской, юридической, медицинской и т. д.).
Пакет прикладных программ - комплект программ, предназначенных для решения задач из определенной проблемной области. Обычно применение пакета прикладных программ предполагает наличие специальной документации: лицензионного свидетельства, паспорта, инструкции пользователя и т.п.
Системное программное обеспечение означает программы и комплексы программ, предназначенных для использования технических средств компьютера, и применяемых как для автоматизации разработки (создания) новых программ, так и для организации выполнения программ существующих. С этих позиций системное программное обеспечение может быть разделено на следующие пять групп:
1. Операционные системы.
2. Системы управления файлами.
3. Интерфейсные оболочки для взаимодействия пользователя с ОС.
4. Системы программирования.
5. Утилиты.
Рассмотрим вкратце эти группы системных программ.
Под операционной системой (ОС) обычно понимают комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой — предназначен для наиболее эффективного использования ресурсов вычислительной системы и организации надежных вычислений. Любой из компонентов прикладного программного обеспечения обязательно работает под управлением ОС. На рис. 2.1 изображена обобщенная структура программного обеспечения вычислительной системы. Видно, что ни один из компонентов программного обеспечения, за исключением самой ОС, не имеет непосредственного доступа к аппаратуре компьютера. Даже пользователи взаимодействуют со своими программами через интерфейс ОС. Любые их команды, прежде чем попасть в прикладную программу, сначала проходят через ОС.
Основными функциями, которые выполняет ОС, являются следующие:
прием от пользователя (или от оператора системы) заданий или команд, сформулированных на соответствующем языке — в виде директив (команд) оператора или в виде указаний (своеобразных команд) с помощью соответствующего манипулятора (например, с помощью мыши), — и их обработка;
прием и исполнение запросов от других программ на запуск, приостановку, остановку;
загрузка в оперативную память подлежащих исполнению программ;
инициация программы (передача ей управления, в результате чего процессор исполняет программу);
идентификация всех программ и данных;
Рис. 2.1 Обобщенная структура программного обеспечения вычислительной системы
обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения;
обеспечение режима мультипрограммирования, то есть выполнение двух или более программ на одном процессоре, создающее видимость их одновременного исполнения;
обеспечение функций по организации и управлению всеми операциями ввода/вывода;
распределение памяти, а в большинстве современных систем и организация виртуальной памяти;
планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания;
защита одной программы от влияния другой, обеспечение сохранности данных.
2. Назначение системы управления файлами — организация более удобного доступа к данным, организованным как файлы.
Как правило, все современные ОС имеют соответствующие системы управления файлами. Ряд ОС позволяет работать с несколькими файловыми системами (либо с одной из нескольких, либо сразу с несколькими одновременно). Необходимо различать файловую систему и систему управления файлами.
Для удобства взаимодействия с ОС могут использоваться дополнительные интерфейсные оболочки. Их основное назначение — либо расширить возможности по управлению ОС, либо изменить встроенные в систему возможности. В качестве классических примеров интерфейсных оболочек и соответствующих операционных сред выполнения программ можно назвать различные варианты графического интерфейса Х Window в системах семейства UNIX (например, К Desktop Environment в Linux), разнообразные варианты интерфейсов для семейства ОС Windows компании Microsoft, которые заменяют Explorer.
Работая с графическим интерфейсом ОС, пользователь видит структуру каталогов и файлов, и практически все действия может выполнить мышью. До появления ОС с графическими интерфейсами пользователь был вынужден давать команды из командной строки. Примером такой ОС является MS DOS. В ней, например, чтобы скопировать файл, необходимо набрать команду copy filename1 filename2
Для просмотра содержимого файла в командной строке необходимо набрать команду type filename
Для пользователя это было неудобно, поскольку во-первых, отнимало много времени на набор команды и всех ее операндов, а во-вторых, заставляло пользователя работать практически «вслепую», т.к. он не мог постоянно держать перед глазами структуру файлов и каталогов, с которыми работал.
Для упрощения работы пользователя перед появлением графических оболочек были созданы алфавитно-цифровые (текстовые) пользовательские оболочки, в которых пользователь мог управлять работой, нажимая 1-2 клавиши, вместо того, чтобы набирать команду за командой. Примерами таких пользовательских оболочек могут служить Norton Commander, Far (c расширенными возможностями), Windows Commander (для Windows). В них пользователь может выполнять свои задачи используя меню команд, либо так называемые «горячие клавиши».
В настоящее время все оболочки, включая графические, имеют возможность работы с пользователем в диалоговом режиме, выдавая предупреждения, сообщения об ошибках в диалоговом окне.
Весь интерфейс, необходимый программам для обращения к ОС с целью получить определенный сервис — выполнить операцию ввода/вывода, получить или освободить участок памяти и т. д., обозначается термином операционная среда.
3. Система программирования включает прежде всего такие компоненты, как транслятор с соответствующего языка, библиотеки подпрограмм, редакторы, компоновщики и отладчики. Не бывает самостоятельных (оторванных от ОС) систем программирования. Любая система программирования может работать только в соответствующей ОС, под которую она и создана, однако при этом она может позволять разрабатывать программное обеспечение и под другие ОС. Система программирования – это весь комплекс программных средств, предназначенных для кодирования, тестирования, отладки программного обеспечения. Примеры систем программирования: Borland Delphi, Microsoft Visual Basic, Turbo Pascal и т. д.
4. Наконец, под утилитами понимают специальные системные программы, с помощью которых можно как обслуживать саму операционную систему, так и подготавливать для работы носители данных, выполнять перекодирование данных, осуществлять оптимизацию размещения данных на носителе и производить некоторые другие работы, связанные с обслуживанием вычислительной системы. К утилитам следует отнести и программу разбиения накопителя на магнитных дисках на разделы, и программу форматирования, и программу переноса основных системных файлов самой ОС. Естественно, что утилиты могут работать только в соответствующей операционной среде.