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

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

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

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

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


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

Пример Имеется около десятка форматов дискет, и ОС должна уметь работать со всеми этими форматами. Для пользо­вателя работа с дискетами различного формата должна осуществляться одинаково.

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

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

(способ взаимодействия) для работы.

ОС реализует много различных функций, в том числе:

• создает рабочую среду и поддерживает пользовательский интерфейс;

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

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

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

• планирует доступ пользователей к общим ресурсам;

• обеспечивает выполнение операций ввода/вывода, хране­ния информации и управление файловой системой;

• осуществляет восстановление информации в случае аппа­ратных сбоев и программных ошибок.

Развитие операционных систем всегда следовало за раз­витием аппаратуры.

Краткий исторический экскурс.

В первых вычислительных машинах (40-е годы) ОС не было. Пользователи имели полный доступ к машинному языку и все программы писали непосредственно в машин­ных кодах.


Большинство компьютеров второго поколения (50-е годы) работало в пакетном режиме. Программные средства, обслу­живающие пакетную обработку программ пользователей можно считать первыми ОС. Их задача сводилась к тому, чтобы, получив от оператора сразу несколько программ по­льзователей, быстро выполнить их одну за другой, тем са­мым устранив задержки при переходе от программы к про­грамме.

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

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

ОС третьего поколения (70-е годы) были многорежимны­ми. Некоторые из них обеспечивали работу сразу во всех из­вестных режимах:

• в режиме пакетной обработки;

• в режиме разделения времени;

• в режиме реального времени и мультипроцессорном ре­жиме.

Названные системы были громоздкими и дорогостоящими; кроме того, они значительно усложняли процедуру использо-


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

К началу 80-х годов проблема совместимости различных компьютерных систем стала одной из серьезных проблем, которую можно было решить с помощью нового подхода к построению операционных систем. Основу системы должно было составлять микроядро (microkernel), написанное спе­циально для данного процессора. Все её прочие части следо­вало выделить в отдельные модули, не зависящие от типа процессора, которые взаимодействовали бы с ним и между собой. В результате обеспечивался несложный перенос опе­рационной системы и всего программного обеспечения с од­ного компьютера на другой. Эта идея быстро приобрела по­пулярность.

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

С появлением персональных компьютеров возникли но­вые проблемы и у разработчиков ОС, так как необходимо было уместить широкую по набору выполняемых функций ОС в гораздо меньший объем памяти ПК. В этих целях фун­кции ОС были разделены. Наиболее часто используемые программы были помещены в ядро системы, постоянно на-ходщееся в оперативной памяти машины. Менее используе­мые программы или утилиты, предлагалось размещать на внешнем запоминающем устройстве (диске) и вызывать в ОЗУ по мере необходимости.

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

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


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

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

ОС общего назначения (стандартные), наиболее извест­ные среди которых: MicroSoft DOS, MicroSoft Winows 95/98, Windows 2000 Professional, AT&T Unix, IBM OS/2, Apple MacOS, SunOS;

сетевые ОС, которые, наряду с функциями стандартных ОС, реализуют задачи, связанные с аппаратными ресурса­ми и файлами, находящимися в различных узлах сети. Наиболее известные среди них: Novell NetWare, UNIX, LUNIX, Windows NT, Windows ME (Millenium Edition), OS/2 LAN Server, OS/2 SMP, Solaris. Операционная система создается, как правило, в расчете

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

Пример. Фирма IBM устанавливает на своих персональных компьютерах такие ОС, как MS DOS, Windows и их раз­новидности. Фирма Apple использует преимущественно MacOS для своих Macintosh PowerPC. Фирма Sun пред­лагает SunOS и Solaris. Система UNIX реализована для различных аппаратных платформ.

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

Операционная оболочка делает более удобной работу по­льзователя с прикладными программами и файловой систе­мой. Эти оболочки предназначены для того, чтобы:

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

• сделать более удобным запуск на выполнение приложе­ний;

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

Norton Commander — одна из наиболее известных оболо­чек, работавших под управлением DOS.


Сама MS DOS поддерживает командный пользователь­ский интерфейс, то есть для выполнения любой операции необходимо ввести с клавиатуры текст команды, состоящий из кода операции, параметров, задающих режим выполне­ния операции, и операндов, над которыми эта операция дол­жна производиться.

Пример. Для копирования файла primer.txt с диска а: на диск с;

необходимо задать команду: сору a:\primer.txt с: .

Интерфейс Norton Commander можно назвать фиксиро­ванным меню. Каждый пункт меню имеет свое строго фик­сированное положение на экране. Пользователь не может изменить ни состав, ни названия, ни расположение пунктов. Основные команды задаются с помощью функциональных клавиш (Fl, F2,...), остальные — с помощью ниспадающего меню (когда выбор какого-либо пункта меню приводит к по­явлению окна с уточняющими параметрами выполнения операции).

Пример На рисунке 2.2.1. представлен образ экрана Norton Com­mander с активизированным окном ниспадающего меню.

Рис. 2.2.1. Экран Norton Commander

Заметим, что Norton Commander создавался еще в расчете на алфавитно-цифровые дисплеи и обрамление панелей и окон первоначально было сделано с помощью псевдографи­ки. Распространение графических дисплеев привело к появ­лению графического пользовательского интерфейса. Первы­ми ПК с графическим пользовательским интерфейсом были компьютеры Macintosh фирмы Apple, оснащеные операци-


онной системой MacOS. Графический интерфейс характерен и для семейства операционных систем Windows.

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

Пример На рисунке 2.2.2 представлено несколько пиктограмм различного назначения.

Рис. 2.2.2

Примеры пиктограмм

Операционной оболочкой системы Windows является дис­петчер программ (Program Manager). Для работы с файлами используются специальные программы: Диспетчер файлов (File Manager), Мой компьютер, Far Manager и др.

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

Раньше при подключении нового устройства пользователю самому необходимо было заботиться о том, чтобы драйвер этого устройства был в соответствующем каталоге ОС. Значи­тельная емкость современных винчестеров позволяет хранить драйверы большинства известных устройств и при подключе­нии нового устройства ОС может «подобрать» ему наиболее подходящий драйвер. В этом случае говорят, что ОС поддер­живает технологию Plag & Play (подключай и работай).

Операционная система (operating system): • важнейшая часть программного обеспечения компьюте­ра, представляющая собой комплекс управляющих и об­служивающих программ, обеспечивающих максималь-


ную эффективность работы вычислительной системы за счет автоматического управления вычислительными про­цессами и ресурсами;

• комплекс программ, входящих в общее программное обеспечение компьютера и поддерживающих процесс об­работки информации;

• комплекс программ, обеспечивающий в системе выполне­ние других программ, распределение ресурсов, планиро­вание, ввод-вывод и управление данными;

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

Функции ОС:

• создание рабочей среды и обеспечение пользовательского интерфейса;

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

• управление аппаратными средствами компьютера;

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

• планирование доступа пользователей к общим ресурсам;

• обеспечение эффективного выполнения операций вво­да/вывода;

• восстановление работоспособности системы в случае про­граммных ошибок и аппаратных сбоев;

• для сетевые ОС — реализация задач, связанных с аппа­ратными ресурсами и файлами, находящимися в различ­ных узлах сети.

ОС управляет следующими основными ресурсами: про­цессорами, памятью, устройствами ввода/вывода, файловой системой.

Развитие операционных систем тесно связано с развити­ем аппаратного обеспечения ЭВМ.

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

ОС общего назначения (стандартные), наиболее извест­
ные среди которых: Microsoft DOS, Microsoft Winows
95/98, Windows 2000 Professional, AT&T Unix, IBM OS/2,
Apple MacOS, SunOS;


сетевые ОС, наиболее известные среди которых: Novell
NetWare, UNIX, LUNIX, Windows NT, Windows ME (Mil­
lenium Edition), OS/2 LAN Server, OS/2 SMP, Solaris.

Программы, созданные для работы с определенными се­мействами ОС, обычно не работают под управлением ОС дру­гого типа.

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

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

Пользовательский интерфейс— способ взаимодействия пользователя с конкретным программным средством. Виды пользовательского интерфейса:

• командный;

• фиксированное меню;

• графический;

• командный речевой (голосовой).

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

Функции операционной оболочки:

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

• обеспечение более удобного запуска на выполнение при­ложений;

• обеспечение возможности быстрого перехода от одного приложения к другому при многозадачном режиме рабо­ты и т. п.

Наиболее популярные операционные оболочки для ОС фирмы Microsoft:

• для DOS — Norton Commander, DOS-Navigator, Windows 3.x;

• для Windows 95 и более поздних версий — Диспетчер программ (Program Manager) и программы управления файлами Far Manager, Мой компьютер и др.


Задание 1

Определите название операционной системы, установленной на вашем компьютере и ответьте на следующие вопросы:

1. К какому семейству ОС она относится?

2. Относится ли она к классу многозадачных ОС?

3. Какой тип пользовательского интерфейса она подерживает?

4. Какой объем занимает на винчестере каталог, в котором хра­
нятся модули ОС?

Задание 2

Почему ОС — это информационная система. Обоснуйте.

Задание 3

Пользовательский интерфейс системы Windows поддерживает следующие типы меню: ниспадающее меню, выбор в котором осуществляется по ключевым словам, меню пиктограмм (или па­нель виртуальных кнопок), меню «горячих клавиш». Сформули­руйте, в чем могут состоять преимущества и недостатки исполь­зования меню каждого из этих типов.

Задание 4

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

Задание 5

Перечислите известные вам сетевые ОС (если вам не приходи­лось работать в сети, обратитесь к специальной литературе). Какие, на ваш взгляд, функции должна обеспечивать операци­онная система, предназначенная для работы в сети (например, в сети Интернет)? Какие из этих функций наиболее сложны для реализации? Подгототьте доклад на эту тему.

Задание 6

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

Какая из операционных оболочек самая удобная для вас? Ответ обоснуйте.


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

Принято считать, что первую операционную систему для своего компьютера IBM-701 разработала Исследовательская лаборатория фирмы General Motors в начале 50-х годов. В 1955 году совместно с фирмой North Aviation Исследовате­льской лабораторией была создана операционная система для компьютера IBM-704.

Считается, что более или менее завершенную форму опе­рационной системы приобрели к середине 60-х годов в компьютерах третьего поколения. К числу исторически пер­вых операционных систем можно отнести системы DOS/360, OS/360, созданные фирмой IBM. Операционная система с разделением времени Compatible Time Sharing System, раз­работанная в Массачусетском технологическом институте в 1963 году, состояла примерно из 32 тысяч слов памяти по 36 битов каждое. Годом позже фирмой IBM была создана си­стема OS/360, состоящая более чем из миллиона машинных команд.

Разработчики фирмы IBM сделали все компьютеры Sys­tem/360 совместимыми по архитектуре, предусмотрели воз­можность применения на всех таких компьютерах одной и той же операционной системы — OS/360, и предусмотрели совместимость программного обеспечения при переходе от менее мощных машин к более мощным. То есть новые вер­сии операционных систем должны были работать и с при­кладными программами, созданными для более ранних вер­сий. Таким образом возникла ставшая сегодня практически стандартом концепция семейства совместимых компьюте-


ров. Но появление новых компьютеров определяет появле­ние новых операционных систем.

В 1975 году Г. Килдэл разработал операционную систему СР/М, которая долгое време считалась наиболее универсаль­ной, а её различные версии использовались в 1992 году бо­лее чем миллионом пользователей в мире.

Чуть позже Т. Петерсон написал ОС SCP86DOS для мик­ропроцессора 8086. Он слегка усовершенствовал распростра­ненную в то время систему СР/М и назвал свое произведе­ние QDOS — Quick and Diftu Operation System, что можно приблизительно перевести как «операционная система на скорую руку».

В 1980 году фирма IBM приступила к выпуску персональ­ных компьютеров, рассчитанных на пользователей, не под­готовленных в области информатики. Предоставить ОС вы­звался Билл Гейтс, президент малоизвестной в то время компании Microsoft. Фирма Microsoft купила у Т. Петерсо-на лицензию на QDOS, отбросила в сокращении первую бук­ву Q, а то, что осталось, переименовала в MS DOS (MicroSoft Disk Operating System — дисковая ОС). Операционная систе­ма DOS превратилась в стандартное программное обеспече­ние, а доходы от её продажи заложили основу финансового могущества Microsoft.

К числу основных характеристик операционных систещ относятся:

• разрядность;

• поддержка многопроцессорности;

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

• работа в реальном (все программы и данные располагают­ся в одной области ОП) или защищенном (программы и данные хранятся раздельно в соответствии с их важно­стью в системе) режиме;

• поддержка многопользовательского режима;

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


Приведем характеристики некоторых ОС.

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

MS DOS — 16-разрядная, однопользовательская, одно­процессорная ОС, позволяющая работать только в реальном режиме.

Windows NT — 32-разрядная, многопользовательская, многозадачная, переносимая, многопроцессорная ОС, рабо­тающая в защищенном режиме. Имеет встроенные сетевые возможности.

OS/2 — 32-разрядная, многопользовательская, многоза­дачная ОС, предназначенная для работы с процессорами се­мейства Intel. Работает в защищенном режиме, имеет встро­енные сетевые возможности.

UNIX — 32-разрядная, многопользовательская, многоза­дачная, переносимая ОС, располагающая встроенными сете­выми возможностями. Ориентирована на эффективную под­держку разработки программного обеспечения. Имеет развитую файловую систему, мощный командный язык, обеспечивает программирование доступа ко всем типам внешних устройств. Реализована для различных аппарат­ных платформ. Некоторые разновидности этой ОС: LINUX (Intel), AIX (IBM), A/UX (Macintosh), ULTRIX (DEC).