Улыбина Е.Л.
1. Раздел 1. Общие положения.
1.1 Структура системного программного обеспечения (СПО )
- ОС – Операционная система – это комплекс программ, обеспечивающий автоматическое выполнение заданий пользователя, управление аппаратурой ПЭВМ, а также планирование и эффективное использование ее ресурсов (необходимый объем ОПУ и время).
Разрядность МП определяет ОС, которая может быть установлена на данном ПК.
- Сервисные системы
Интерфейсные системы загружаются поверх ОС для улучшения пользовательского интерфейса и расширения ее возможностей (графического типа).
Оболочки – упрощают пользовательский интерфейс за счет организации системы меню с использованием функциональных клавиш.
Утилиты – служебные программы, расширяющие программный интерфейс ОС, предоставляя дополнительные функции.
- Инструментальные системы – это совокупность программного продукта, обеспечивающего разработку информационно-программного обеспечения ПК.
Системы программирования – это язык программирования и комплекс программ для создания, отладки и выполнения нового программного продукта, а также реализация диалоговых возможностей на этапе создания.
|
|
В систему программирования входит:
1. Компилятор – программа, позволяющая проверять на наличие ошибок исходный модуль программы и переводить его в машинный код.
Транслятор – это наиболее общее название программы-переводчика в машинные коды.
Существует 2 типа трансляторов:
· Наиболее распространенный тип – компилятор, после обработки получается объектный модуль программы, либо выдается сообщение об ошибке по тексту программы.
· Интерпретатор – обрабатывает программный текст построчно либо покомандно, при этом проверяет на ошибки, переводит в двоичный код и сразу выполняет команду.
2. Библиотека стандартных процедур и функций.
3. Компоновщик (linker) – редактор связи объединяет объектный модуль программы с объектными модулями процедур и функций из библиотеки.
4. Отладчик (debugger) – программа, которая выявляет логические ошибки в решении, позволяя пошагово просматривать выполнение программы, с помощью точек останова (breakpoint), а также отслеживать содержимое переменных и регистров процессора.
5. Текстовый редактор, а также сервисные программы для организации интерфейса.
Два подхода создания систем программирования:
1. автономное существование всех программных компонентов.
2. создание среды программирования.
Система управления базами данных (СУБД) – обеспечивает централизованное управление данными, хранящимися в базе данных – это данные, организованные специальным образом, разбитые на поля, с указанием связи этих полей между собой.
|
|
Базы данных: FoxPro, Paradox, Access, Visual Basic, Clipper, Delphi.
Инструментарий искусственного интеллекта. Направление развития: моделирование, поведение роботов, экспертные системы, решение комбинаторных задач, распознавание образов, обработка естественного языка и моделирование диалога, интеллектуальный вопрос на ответные системы.
Редакторы – это программный продукт, который служит для создания и изменения целевого документа (текстовый, графический)
Интегрированные системы – это совокупность функционально различных компонентов, способных взаимодействовать между собой путем обмена данными и объединенных единым унифицированным интерфейсом.
Системы технического обслуживания – предназначены для тестирования оборудования и исправления неисправностей, используется специалистами аппаратного обеспечения.
Классификация ОС. Разновидности ОС.
Классификация ОС.
I. по типу МП:
1. 8-ми разрядные МП (CPU) – CP/M, Intel 8080
2. 16-ти разрядные МП (286 – АТ) – MS-DOS, DR-DOS, Apple-DOS
3. 32-х разрядные МП (386, 486, Pentium-I, II, III, IV) – MS Windows 3.11, 95, 98, NT 4.0, Windows-2000, XP, Unix, Linux, OS/2, OS-386
II. по способу загрузки:
1. твердые – прошитые в ПЗУ (8-ми разрядные МП)
2. гибридные (комбинированные) – ядро ОС прошито в ПЗУ, а драйверы загружаются с магнитного диска (МД)
Драйвер – программа, управляющая потоком информации от ПУ к центральной части и наоборот.
3. загружаемые (мягкие) – в ПЗУ находится только программа начальной загрузки ОС, которая позволяет обратиться к стартовому сектору дискеты, винчестера, CD-ROM и считать программу системного загрузчика, которая «знает» все особенности загрузки программ ОС, расположенных на данном диске.
III. по способу обработки заданий (по временному признаку):
- ОС реального времени (MS-DOS)
- Система с разделением времени – используется для многопользовательских систем, в которых организован мультипрограммный режим.
- Пакетный режим – все задания вначале формируются в очередь запросов, причем обработка заданий происходит без вмешательства пользователя, управлением выполнения заданий занимается оператор или администратор
IV. по режиму работы:
- однопрограммные ОС – в каждый момент времени выполняется только одна задача, второе задание входит в решение только после окончания решения первой (DOS)
- мультипрограммный режим – в процессоре все время разделяется на кванты, в решение могут быть запущены несколько задач, причем каждой из них предоставляется квант времени МП в соответствии с приоритетом в системе. Выигрыш получается за счет совмещения работы МП и обращений к внешним устройствам, т.к. ПУ могут работать без вмешательства МП, которых лишь передает управляющий сигнал и данные и освобождается.
Разновидности ОС.
I. ОС мэйнфреймов (mainframe).
Мэйнфреймы отличаются от ПК своими возможностями ввода-вывода (терабайты данных, тысячи дисков). Представляют собой серверы для крупномасштабных электронно-коммерческих сайтов, а также серверы для транзакций в бизнесе. ОС ориентирована на множественную обработку заданий ввода-вывода – в основном пакетная обработка. Запросы, небольшие по объему операций, формируются в очередь и система должна отвечать на сотни и тысячи запросов в секунду (ОС 360, ОС 390)
II. Серверные ОС.
Работают на серверах и одновременно обслуживают множество пользователей (юзер, user), разделяя между ними программные и аппаратные ресурсы (Unix, Windows NT-family, Linux).
III. Многопроцессорные ОС.
Для увеличения производительности ПК в одной системе соединяются несколько центральных процессоров. В зависимости от вида соединения МП и разделения работы системы называются параллельными компьютерами, мультикомпьютерами и многопроцессорными системами. Для них требуется специальная ОС, предоставляющая собой варианты серверных ОС с расширенными возможностями связи.
|
|
IV. ОС для ПК (Windows 95, 98, XP, MacOS, Linux)
V. ОС реального времени используется в системах управления производством, т.к. ПК собирают данные о промышленном процессе и используют их для управления роботами, конвейерами. Лимитировано время реакции ОС на запросы. К этой категории ОС попадают и ОС мультимедийной системы: разновидности QNX, VxWorks.
VI. Встроенные ОС используются для Карманных ПК (КПК) и встроенных систем, имеют те же характеристики, что и системы реального времени, но ограничены мощностью (Windows CE, PalmOS).
VII. ОС для смарт-карт (Java ориентированные) зашиты в ПЗУ, имеют ограниченный набор операций и содержат интерпретатор виртуальной машины JAVA (Java Virtual Machine).
Критерии оценки ОС
При сравнительном рассмотрении различных ОС в целом или их отдельных подсистем возникает вечный вопрос – какая из них лучше и почему, какая архитектура системы предпочтительнее, какой из алгоритмов эффективнее, какая структура данных удобнее и т.п.
Очень редко можно дать однозначный ответ на подобные вопросы, если речь идет о практически используемых системах. Система или ее часть, которая хуже других систем во всех отношениях, просто не имела бы права на существование. На самом деле имеет место типичная многокритериальная задача: имеется несколько важных критериев качества, и система, опережающая прочие по одному критерию, обычно уступает по другому. Сравнительная важность критериев зависит от назначения системы и условий ее работы.
I. Надежность
Этот критерий вообще принято считать самым важным при оценке программного обеспечения, и в отношении ОС его действительно принимают во внимание в первую очередь.
Что понимается под надежностью ОС?
Прежде всего, ее живучесть, т.е. способность сохранять хотя бы минимальную работоспособность в условиях аппаратных сбоев и программных ошибок. Высокая живучесть особенно важна для ОС компьютеров, встроенных в аппаратуру, когда вмешательство человека затруднено, а отказ компьютерной системы может иметь тяжелые последствия.
|
|
Во-вторых, способность, как минимум, диагностировать, а как максимум, компенсировать хотя бы некоторые типы аппаратных сбоев. Для этого обычно вводится избыточность хранения наиболее важных данных системы.
В-третьих, ОС не должна содержать собственных (внутренних) ошибок. Это требование редко бывает выполнимо в полном объеме (программисты давно сумели доказать своим заказчикам, что в любой большой программе всегда есть ошибки, и это в порядке вещей), однако следует хотя бы добиться, чтобы основные, часто используемые или наиболее ответственные части ОС были свободны от ошибок.
Наконец, к надежности системы следует отнести ее способность противодействовать явно неразумным действиям пользователя. Обычный пользователь должен иметь доступ только к тем возможностям системы, которые необходимы для его работы. Если же пользователь, даже действуя в рамках своих полномочий, пытается сделать что-то очень странное (например, отформатировать системный диск), то самое малое, что должна сделать ОС, это переспросить пользователя, уверен ли он в правильности своих действий.
Ii. Эффективность
Как известно, эффективность любой программы определяется двумя группами показателей, которые можно обобщенно назвать «время» и «память». При разработке системы приходится принимать много непростых решений, связанных с оптимальным балансом этих показателей.
Важнейшим показателем временнóй эффективности является производительность системы, т.е. усредненное количество полезной вычислительной работы, выполняемой в единицу времени. С другой стороны, для диалоговых ОС не менее важно время реакции системы на действия пользователя. Эти показатели могут в некоторой степени противоречить друг другу. Например, в системах разделения времени увеличение кванта времени повышает производительность (за счет сокращения числа переключений процессов), но ухудшает время реакции.
В программировании известна аксиома: выигрыш во времени достигается за счет проигрыша в памяти, и наоборот. Это в полной мере относится к ОС, разработчикам которых постоянно приходится искать баланс между затратами времени и памяти.
Забота от эффективности долгое время стояла не первом месте при разработке программного обеспечения, и особенно ОС. К сожалению, оборотной стороной стремительного увеличения мощности компьютеров стало ослабление интереса к эффективности программ. В настоящее время эффективность является первостепенным требованием разве что в отношении систем реального времени.
Iii. Удобство
Этот критерий наиболее субъективен. Можно предложить, например, такой подход: система или ее часть удобна, если она позволяет легко и просто решать те задачи, которые встречаются наиболее часто, но в то же время содержит средства для решения широкого круга менее стандартных задач (пусть даже эти средства не столь просты). Пример: такое частое действие, как копирование файла, должно выполняться при помощи одной простой команды или легкого движения мыши; в то же время для изменения разделов диска не грех почитать руководство, поскольку это может понадобиться даже не каждый год.
Разработчики каждой ОС имеют собственные представления об удобстве, и каждая ОС имеет своих приверженцев, считающих именно ее идеалом удобства.
Iv. Масштабируемость
Довольно странный термин «масштабируемость» (scalability) означает возможность настройки системы для использования в разных вариантах, в зависимости от мощности вычислительной системы, от набора конкретных периферийных устройств, от роли, которую играет конкретный компьютер (сервер, рабочая станция или изолированный компьютер) от назначения компьютера (домашний, офисный, исследовательский и т.п.).
Гарантией масштабируемости служит продуманная модульная структура системы, позволяющая в ходе установки системы собирать и настраивать нужную конфигурацию. Возможен и другой подход, когда под общим названием объединяются, по сути, разные системы, обеспечивающие в разумных пределах программную совместимость. Примером могут служить версии Windows NT/2000/XP, Windows 95/98 и Windows CE.
В некоторых случаях фирмы, производящие программное обеспечение, искусственно отключают в более дешевых версиях системы те возможности, которые на самом деле реализованы, но становятся доступны, только если пользователь покупает лицензию на более дорогую версию. Но это уже вопрос, связанный не с технической стороной дела, а с маркетинговой политикой.