Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Аверянов Современная информатика 2011

.pdf
Скачиваний:
113
Добавлен:
16.08.2013
Размер:
6.43 Mб
Скачать

ГЛАВА 7. ОРГАНИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В ПЕРОНАЛЬНЫХ КОМПЬЮТЕРАХ IBM-КЛОНА

7.1. Общая структура программного обеспечения

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

История развития ПО персональных компьютеров IBM-клона началась с августа 1981 г., когда появилась операционная система PC-DOS. За сравнительно небольшой период времени различными фирмами для этих систем разработано огромное количество программного обеспечения разнообразного функционального назначения. Темпы развития ПО ПК IBM значительно выше темпов создания ПО всех предыдущих типов ЭВМ.

Массовое внедрение ПК и большое количество фирм, специализирующихся на разработке ПО для них, привели, с одной стороны, к значительному снижению цен на программный продукт (относительно ПО больших и мини-ЭВМ), с другой стороны, стремительное совершенствование технических средств имело следствием увеличение объема и сложности программ, появление сервисных программ, создающих так называемую «дружественную» среду для пользователя. Так, если первые ОС для ПК IBM требовали 30 – 50 Кбайт на диске, занимая незначительную часть ОП объема в 1 Мбайт, в 2000 г. требовалось ОП не менее 32 – 64 Мбайт и размещения на диске не менее 1 Гбайта, то после 2000 г. – ОП более 1 Гбайта, НЖМД более 100 Гбайт.

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

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

системное ПО; инструментальное ПО;

261

прикладное ПО (или ППП).

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

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

сервисные утилиты, предназначенные для эффективной работы с периферийными устройствами и файлами в среде ОС;

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

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

интерфейсные оболочки данной ОС; антивирусы и т.д.

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

Инструментальные средства ПК имеют ряд особенностей, связанных с созданием средоориентированных систем программирования.

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

262

отладчик (Debugger), компоновщик, инструктор (Help), в единую систему, представляющую собой единый объектно-ориентирован- ный командный интерфейс в виде меню и окон для манипулирования всеми перечисленными средствами.

Первой по этому плодотворному пути начала работать фирма Borland с семейством Turbo-реализаций наиболее популярных языков программирования. Успех такого подхода обеспечил ей заметную конкурентоспособность по отношению к мощному сопернику – фирме Microsoft, которая в своих последующих версиях также следует по пути создания интегрированных сред. Реализация языков в средах, как правило, содержит большое количество расширений (по сравнению со стандартными определениями ANSI). В трансляторы включается большое количество дополнительных функций и библиотек, значительно расширяющих возможности языков.

Следует отметить, что инструментальные системы ПК при всех их достоинствах связаны с ограничениями переносимости разработанного ПО на различные платформы.

Популярность и повсеместное распространение ПК определяется прикладным ПО.

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

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

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

Быстрое совершенствование технических характеристик ПК сделало возможным создание и эксплуатацию систем управления

263

базами данных (СУБД), составляющих основу автоматизированных систем управления (АСУ).

Преодоление кризиса в проектировании сложных технических систем непосредственно связано с разработкой систем автоматизированного проектирования, элементами которого являются ППП

для различных направлений техники и технологии.

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

Проблемы искусственного интеллекта представлены в виде экс-

пертных систем.

Одно из направлений в развитии ППП – создание интегрированных сред, объединяющих наиболее распространенные приложения в рамках единых, стандартных для среды интерфейсов, обеспечивающих высокую степень взаимодействия между приложениями. Сюда можно отнести одну из первых таких разработок фирмы Microsoft Works, а также наиболее популярную в последнее время среду Office. Основу этих приложений составляют редакторы текстов, электронные таблицы и СУБД.

7.2. Краткая характеристика ОС, применяемых в ПК

До последнего времени для ПК IBM-клона применялись три типа локальных ОС:

однопользовательская однозадачная DOS; однопользовательские многозадачные OS/2, Windows 95, 98,

2000, ...;

многопользовательская многозадачная UNIX.

Начальная ОС для ПК – DOS, которая появилась в 1982 г. и до 1988 г. была единственной ОС для этого типа ЭВМ и в некотором смысле основой при разработке последующих ОС. Последующие операционные системы (OS/2, Windows) представляют собой дальнейшее развитие DOS, недостатки которой довольно быстро выявились и связаны с опережающим развитием технических средств ПК. Все эти ОС в определенной степени возникли в недрах фирмы Microsoft и IBM имеют ряд общих черт, характерных для дисковых ОС.

264

1.Обеспечение автоматического запуска ОС с помощью ком-

плекса программ BIOS (Basic Input/Output System), хранящихся в постоянном запоминающем устройстве (ПЗУ или ПП3У) и представляющих так называемое аппаратно-ориентированное ПО (Firm ware), поставляемое изготовителем ЭВМ. BIOS начинает работать после включения питания ПК с проверки комплектности ЭВМ (проверки ОП, наличие НЖМД и НГМД, наличие клавиатуры) и сообщения о неисправностях. Если с комплектацией все в порядке, то BIOS завершает свою работу считыванием из специальной (системной) области диска программы-загрузчика, которая и осуществляет дальнейшее размещение ОС в ОП и ее запуск.

2.Физическая организация файловой системы во всех указан-

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

мещения файлов (FAT-таблицах (File Allocation Table)).

Наименьшей физической единицей хранения данных является сектор. Размер сектора равен 512 байт. В операционных системах DOS, OS/2, Windows 95 для адресации файлов используются 16разрядные поля (FAT 16). Такое адресное пространство не позволяет адресовать каждый сектор для дисков, объем которых превышает 32 Мбайт. В связи с этим группы секторов условно объединяют

вкластеры. Кластер – наименьшая единица адресации данных на диске. Размер кластера в отличие от размера сектора не фиксирован и зависит от емкости диска. Так, для дисков объемом 1 – 2 Гбайта длина кластера составляет 32 Кбайта (64 сектора). Это приводит к нерациональному расходу рабочего пространства диска, поскольку любой файл (даже очень маленький) полностью оккупирует целый кластер. Даже если файл достаточно велик, в его конце может образоваться остаток, расходующий целый кластер, занимая при этом незначительную часть его. В результате потери, связанные с неэффективностью файловой системы, могут составлять 25 – 40 % полной емкости диска.

265

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

Еще более радикальное решение – переход на FAT-таблицы с 32-разрядным адресным полем (FAT 32). Такой переход начался с ОС Windows 98. Для дисков до 8 Гбайт эта система обеспечивает размер кластера 4 Кбайт (восемь секторов).

3. Логическая организация функции файловой системы доста-

точно традиционна. Для пользователя она представляется в виде иерархической, древовидной структуры. Метод именования файлов заимствован из системы UNIX, полное имя файла состоит из цепочки имен всех охватывающих каталогов (которые в ОС Windows 95, 98, 2000, ... называются папками), начиная от корня файловой системы, завершаемой локальным именем файла.

Каталог является файлом. В качестве разделителя используется левый слэш (в UNIX – правый слэш). Для сокращенного именования, как и в UNIX, введено понятие текущего каталога.

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

создание файлов и присваивание им имен; создание каталогов (папок) и присваивание им имен; переименование файлов и каталогов (папок);

копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;

удаление файлов и каталогов (папок); навигация по файловой структуре с целью доступа к заданному

файлу, каталогу (папке); управление атрибутами файлов.

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

Основных атрибутов четыре:

1)только для чтения (Read only);

2)скрытый (Hidden);

266

3)системный (System);

4)архивный (Archive).

Рассмотрим некоторые особенности ОС, применяемых для ПК IBM РС-клона.

DOS. Как уже упоминалось, первая 16-разрядная ОС для ПК IBM, имевшая колоссальный успех, была разработана в 1981 г. сотрудником фирмы Seattle Computer Products Тимом Петерсоном, который выполнял работу в рамках фирмы Microsoft. Эта ОС явилась развитием своего логического предшественника – очень популярной (по тем временам) операционной системы СР/М, применяемой для 8-разрядных микроЭВМ. При поставке DOS фирмойразработчиком она называлась MS-DOS, при поставке фирмой IBM – PC-DOS. Множество лицензий на MS-DOS были затем проданы другим изготовителям и имели собственные названия: так, фирма Digital Research (разработчик СР/М) разработала DR-DOS.

DOS являлась единственной ОС, применяемой для ПК IBM PC вплоть до 1987 г. и фактически основной до 1995 г., поскольку появившаяся в 1987 г. OS/2 имела ограниченное распространение. За этот период выпущено шесть версий ОС: от MS-DOS 1.0 (1981 г.) до MS-DOS 6.0 (1993 г.). Продолжающаяся в этот период разработка DOS связана, прежде всего, с адаптацией к интенсивно развивающимся техническим средствам ПК, постоянно увеличивающимся объемом ОП, появлением новых типов НГМД и НЖМД, поддержкой CD-ROM, поддержкой средств сетевого взаимодействия и т.п. Очень важным элементом в совершенствовании DOS явилось создание полноэкранного, алфавитно-цифрового (Norton Commander), а затем и графического пользовательского интерфейса, последняя версия которого в виде оболочки Windows 3.1 явилась промежуточным этапом к переходу на 32-разрядные ОС фир-

мы Microsoft.

Независимо от версий, работу DOS обеспечивают следующие три компонента:

базовая система ввода-вывода (BIOS, или RIOS), записанная в ПЗУ программа (программа поставляется производителями ЭВМ и выполняет функцию обеспечения нормального функционирования: проверку комплектности, тестирование различных устройств ПК, инициализацию загрузки DOS и ряд других функций, эта программа не является файлом и фактически не входит в состав DOS);

267

ядро DOS, содержащее в виде скрытых файлов: блок первоначальной загрузки (bootstrap), располагаемый в первом секторе системного диска (считываемый с помощью BIOS) и обеспечивающий загрузку в память машины операционной системы – IO.SYS (или IBMBIO.COM), так называемую базовую систему ввода-вывода с программным обслуживанием периферийных устройств (расширение и исправление BIOS), а также файл MSDOS.SYS (IBMDOS.COM), содержащий программы управления файлами, памятью, запуском программ и т.д. (этот файл иногда называется модулем управления прерываниями, поскольку обращение к программным средствам (функциям DOS) из программы пользователя осуществляется с помощью программных прерываний);

файл COMMAND.COM, или командный процессор (интерпретатор), в функции которого входит прием, проверка команд, вводимых пользователем с клавиатуры, и их выполнение (существует три категории команд DOS – резидентные или внутренние, постоянно находящиеся в ОП, полурезидентные, которые могут (по мере необходимости) «затираться» прикладными программами, и внешние, вызываемые по мере необходимости из внешней памяти).

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

Появившаяся в 1981 г. для IBM PC операционная система DOS предоставляла небывалые по тем временам возможности в мире микрокомпьютеров (если учесть что ОП, которая даже для миникомпьютеров по тем временам традиционно равнялась 64 Кбайт, была превышена на порядок, а объем дисковой памяти от сотен килобайт был доведен до десятков мегабайт). Казалось, что ОП в 640 Кбайт хватит на несколько десятков лет. Однако прогресс технических средств превзошел все мыслимые прогнозы.

Уже появление в 1984 г. процессора Intel-80286, обеспечивающего адресацию 16 Мбайт ОП, аппаратную поддержку механизма виртуальной памяти для доступа к 1 Гбайту внешней памяти, аппаратную поддержку механизма мультизадачного режима с возможностью взаимоизоляции ресурсов и взаимодействия задач (процессов), выявило ограниченные возможности 16-разрядной DOS в эффективной поддержке новых технических средств. DOS обеспечивает прямую адресацию не более 1 Мбайта и абсолютно не подго-

268

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

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

UNIX – рекордсмен-долгожитель среди всех существовавших и всех существующих ОС.

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

В 1969 г. Томсон и Ричи – два программиста фирмы Bell Laboratories, филиала могущественной корпорации American Telephon & Telegraph (AT&T) решили создать для внутренних нужд своей фирмы совершенную ОС, простую в использовании, одним словом «дружескую», и как можно меньше зависящую от типа ЭВМ, на которой она будет работать. Специально для этих целей Денис Ричи разработал язык С. Так и появилась ОС UNIX. Первоначально эта система разрабатывалась для больших ЭВМ. Внедрение UNIX в ПК связано с новыми возможностями и увеличением мощности микропроцессоров, начиная с модели 80386 и выше. Наибольшее распространение эти ОС получили в классе 32- и 64-разрядных рабочих станций, серверов и суперсерверов. С учетом заметной тен-

269

денции к слиянию этих классов ЭВМ движение системы UNIX на «смежную» территорию ПК выглядит закономерным.

В чем же причины популярности UNIX?

1.Код системы на 80 – 90 % написан на языке С (≈ 10000 строк на С и 1000 строк ASS), что сделало ее простой для понимания, изменений и переноса на другие платформы. По оценкам одного из создателей UNIX Дениса Ричи, система на языке С имела на 20 – 40 % больший размер, а производительность ее была на 20 % ниже аналогичной системы, написанной на Ассемблере. Однако ясность

ипереносимость (а в результате – и открытость системы) сыграли решающую роль в ее популярности. Система легко расширяема и настраиваема.

2.UNIX – многозадачная многопользовательская система с широким спектром услуг. Один мощный сервер может обслуживать запросы большого количества пользователей, выполняя различные функции: работать как вычислительный сервер, обслуживать сотни пользователей как сервер баз данных, как сетевой сервер, поддерживающий важнейшие приложения в сети (telnet, ftp, электронную почту, службу имен DNS и т.д.), может использоваться и как сетевой маршрутизатор.

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

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

5.Семейство протоколов TCP/IP, стандартизованных в 1983 г. и являющихся основными протоколами ГВС Internet, было разработано в 70-х годах специально для ОС UNIX.

6.Имеется простой, но мощный модульный пользовательский интерфейс, содержащий в своем распоряжении набор утилит, каж-

270