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

Inform

.pdf
Скачиваний:
11
Добавлен:
14.02.2015
Размер:
1.03 Mб
Скачать

51

В секторе программного обеспечения и операционного обеспечения и операционных систем ведущее положение занимают фирмы IBM, Microsoft, UNISYS, Novell. Доход от продаж операционных систем в среднем превышает 20 млрд. дол. в год.

Наиболее традиционное сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:

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

функциональные возможности вспомогательных программ (утилит) в составе ОС;

наличие компрессии (сжатия) диска;

возможность архивирования файлов;

поддержка многозадачного режима работы;

поддержка сетевого программного обеспечения;

наличие сетевого программного обеспечения;

наличие качественной документации;

условия и сложность процесса инсталляции.

Для компьютеров типа IBM PC наибольшее распространение получили на сегодняшний день следующие ОС:

MS-DOS (Microsoft);

Windows 95 (Microsoft);

Windows NT во всех модификациях (Microsoft);

Novell NetWare (Novell);

Unix во всех модификация.

Операционная система MS-DOS является промышленным стандартом для 16разрядных ЭВМ на основе микропроцессоров 8086…80486. Все программы MS-DOS хранятся на магнитных дисках, поэтому она называется дисковой операционной системой (Disk Operation System). Буквы MS являются сокращением названия фирмыразработчика Microsoft. Было выпущено несколько модификаций этой ОС, поэтому можно говорить о целом семействе операционных систем MS-DOS.

MS-DOS является командной (текстовой) ОС. Это означает, что для выполнения необходимых операций следует набрать с помощью клавиатуры соответствующую команду. Такой ввод неудобен и приводит к возникновению большого числа ошибок.

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

Операционные оболочки Операционные оболочки - специальные программы, предназначенные для

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

Наиболее популярны в России следующие виды текстовых оболочек операционной системы MS-DOS:

Norton Commander;

DOS Navigator;

Volkov Commander;

Far.

Внастоящее время операционные оболочки встраиваются в операционные системы. Они имеют графический интерфейс, расширяют набор основных и сервисных функций. Например, Windows 95 в действительности графической является операционной оболочкой на основе MS-DOS версии 7.0.

Ключевые особенности ОС Windows

Достоинством операционных систем семейства Windows является

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

52

также значительно упрощается освоение новых программ (например, нажатие клавиши F1

– помощь, Alt+F4 – завершение (закрытие) программы).

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

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

отражающая важность приложения.

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

При создании операционной системы Windows фирма Microsoft использовала объектно-ориентированный подход. На уровне пользователя это выражается в том, что интерфейс представляет собой подобие реального мира, а работа с ЭВМ сводится к действиям с обычными объектами (например, папки можно открывать, закрывать, убирать

впортфель, выбрасывать в корзину).

ВОС Windows заложен принцип – WYSIWYG (What You See Is What You Get – что видите, то и получаете), за счет которого на принтере формируется такое же изображение, как и на экране дисплея. При работе в DOS вид текста на экране и отпечатанного на принтере может оказаться разным.

Другой удачный принцип – Plug And Play (вставь и играй, точнее подключи и используй) позволяет без ручной настройки подключать новые устройства к ЭВМ (например, принтер или лазерный проигрыватель). ОС автоматически подбирает драйвер для работы этого устройства.

Драйверы (driver – шофер, водитель) – системные программы, обеспечивающие работу принтеров, дисководов, дисплеев, клавиатуры и других внешних устройств ЭВМ.

ВWindows используется технология Drag And Drop (перетащи и положи). Благодаря этой технологии можно легко изменить положение окна и его размеры, удалить или переместить объект с помощью мыши.

ВWindows можно составлять документы из частей, подготовленных в различных приложениях. Для связывания и внедрения объектов используется технология OLE (Object Linking and Embedding), что означает «связывание и внедрение объектов». Например, в документ, подготовленный в текстовом редакторе, можно вставить рисунок, сделанный в графическом редакторе. При этом достаточно дважды щелкнуть мышью по рисунку, чтобы вызвать графический редактор, и сделать нужные исправления.

Безусловно уровень сервиса операционных систем семейства Windows значительно выше уровня MS-DOS. Однако, за облегчение работы приходится платить большими затратами на аппаратное обеспечение: увеличивать объем ОЗУ, винчестера, повышать быстродействие процессора.

Более подробно об операционных системах MS-DOS и Windows будет рассказано несколько позже.

Перспективной является многопользовательская и многозадачная операционная система UNIX, созданная корпорацией Bell Laboratory в 1969 году. Главными отличительными чертами ОС UNIX являются ее модульность, легкая переносимость на другие типы ЭВМ обширный набор системных программ. Данная ОС органически сочетается с языком Си, на котором написана основная часть модулей, и предоставляет благоприятную обстановку для системных программистов, т.е. для тех специалистов, основной задачей которых является разработка новых системных программ.

53

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

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

Первая версия ОС Linux была разработана в 1991 году Т. Линусом (Финляндия), а затем в ее разработке участвовало большое число людей из разных частей мира. Последние версии являются результатом коллективного творчества большого числа программистов.

Сетевые операционные системы Сетевые операционные системы – комплекс программ, обеспечивающий

обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям различные виды сетевых служб (управление файлами, электронная почта, процессы управления сетью и др.), поддерживает работу в абонентских системах. Наибольшее распространение имеют Novell NetWare, Windows NT.

Операционная система Windows NT является многозадачной, предназначенной для архитектуры клиент-сервер и использования различных протоколов транспортного уровня сетевой операционной системы, имеет 32-разрядную архитектуру и обеспечивает функции локальной сети:

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

совместную работу группы пользователей;

адресацию оперативной и внешней памяти большого размера;

многозадачность и многопоточность обработки данных;

поддержку мультипроцессорной обработки и др.

Центральное место среди сетевых ОС занимает UNIX. Развитие ОС идет в условиях жесткой конкуренции и здесь можно выделить две наиболее мощные сетевые ОС: UNIX и Windows NT. О динамике спроса говорят следующие цифры: к концу 20 века продажа рабочих станций с ОС Windows NT возросла на 80%, а с ОС UNIX упала на 7%.

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

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

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

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

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

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

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

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

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

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

54

программы создания страховых копий диска и т.д.

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

программы обслуживания сети.

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

Вирусы и антивирусные программы

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

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

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

Основные симптомы вирусного заражения ЭВМ:

замедление работы некоторых программ;

увеличение размеров файлов (особенно выполняемых);

появление «странных» файлов;

уменьшение объема доступной оперативной памяти;

внезапно возникающие разнообразные видео и звуковые эффекты;

появление сбоев в работе ОС (в том числе зависание);

запись информации на диски в моменты времени, когда этого не должно происходить;

прекращение работы или неправильная работа ранее нормально

функционирующих программ.

Существует большое число различных классификаций вирусов:

-по среде обитания (сетевые, файловые, загрузочные);

-по способу заражения (резидентные и нерезидентные);

-по степени опасности (неопасные, опасные, очень опасные);

Например: Неопасный вирус – на экране появляется сообщение: «Хочу чучу», если с клавиатуры набрать слово «чуча», то вирус временно «успокаивается».

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

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

-по целостности (монолитные и распределенные).

Для борьбы с вирусами разрабатываются антивирусные программы. Говоря медицинским языком, эти программы могут выявлять (диагностировать), лечить (уничтожать) вирусы и делать прививку «здоровым» программам.

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

программы-детекторы;

программы-доктора (или фаги, дезинфекторы);

программы-ревизоры;

программы-фильтры (сторожа, мониторы);

55

программы-иммунизаторы.

ВРоссии наибольшее распространение получили программы-детекторы, одновременно выполняющие и функции программ-докторов. Такие как:

- AVP (Antiviral Toolkit Pro, автор – Е. Касперский; - Aidstest (автор – Д. Лозинский) ;

- Doctor Web (авторы – Данилов, Лутовинов и Белоусов).

Антивирусная программа ADinf (Advanced Diskinfoscope, автор – Д. Мостовой) относится к классу ревизоров. Антивирус имеет высокую скорость работы, способен с успехом противостоять вирусам, находящимся в памяти. Особенно эффективен при обнаружении новых вирусов, противоядие для которых еще не придумано.

Основные меры по защите ЭВМ от заражения вирусами:

1. Необходимо оснастить ЭВМ современными антивирусными программами и постоянно обновлять их версии.

2. При работе в глобальной сети должна быть установлена программа-фильтр (сторож, монитор).

3. Проверять дискеты на наличие вирусов.

4. При работе на других компьютерах защищать свои дискеты от записи. 5. Делать архивные копии ценной информации.

6. Не следует оставлять дискету в дисководе при включении или перезагрузке ЭВМ.

Минимальный состав системного программного обеспечения современных персональных компьютеров

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

-операционная система MS DOS;

-текстовая оболочка операционной системы Norton Commander;

-графическая оболочка операционной системы Windows;

-утилиты для обслуживания файлов, обеспечения надежной работы ЭВМ Norton Utilities;

-программы диагностики и тесты ЭВМ.

На современных компьютерах функции программ, указанных в п. 4,5 выполняет ОС

Windows.

Возможны и другие варианты комплектации.

Инструментарий технологии программирования

Состав и назначение инструментария технологии программирования

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

Врамках этих направлений сформировались следующие группы программных продуктов (рис. 4.4):

средства для создания приложений, включающие :

56

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

Инструментарий технологии программирования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Средства для

 

 

 

Средства для создания

 

 

 

создания

 

 

 

информационных систем

 

 

 

приложений

 

 

 

(CASE-технология)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Локальные

 

 

 

Интегрированные

 

 

 

средства

 

 

 

 

 

среды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Языки и средства

 

 

 

 

 

 

 

 

программирования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Инструментальная

 

 

 

 

 

 

 

 

среда пользователя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.4. Классификация инструментария технологии программирования

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

CASE - технология (Computer-Aided System Engineering), представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем.

Средства для создания приложений

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

Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.

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

Языки программирования Языки программирования, если в качестве признака классификации взять синтаксис

образования его конструкций, можно условно разделить на классы:

машинные языки (computer language) - языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);

машинно-ориентированные языки (computer-oriented language) - языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);

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

проблемно-ориентированные языки (universal programming language) - языки программирования для решения задач определенного класса (Лисп, Java и др.);

57

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

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

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

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

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

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

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

1.этап трансляции, когда происходит преобразование исходного кода программы (source code) в объектный код (object code), т.е. осуществляется перевод на язык машинных кодов;

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

Исходный

 

 

 

Объектны

 

 

 

Загрузочн

код

 

 

 

й код

 

 

 

ый

программ

 

Транслятор

 

программ

 

Редактор

 

модуль,

ы

 

(компилятор)

 

ы на

 

связей

 

готовый

на

 

 

 

машинном

 

 

 

для

алгоритм.

 

 

 

языке

 

 

 

выполнени

языке

 

 

 

 

 

 

 

я

 

 

 

 

 

 

 

 

 

Рис 4.5. Схема процесса создания загрузочного модуля программы

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

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

58

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

Системы программирования

Системы программирования (programming system) включают:

компилятор;

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

отладчик;

средства оптимизации кода программы;

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

редактор связей;

сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;

справочные системы;

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

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

примером такой системы программирования может служить система Турбо - Паскаль.

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

библиотека функций, процедур, объектов и методов обработки;

макрокоманды;

языковые макросы;

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

генераторы приложений;

языки запросов высокого уровня и т.п. Интегрированные среды

Интегрированные среды разработки программ являются дальнейшим развитием

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

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

объектно-ориентированный язык программирования;

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

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

специальная технология работы с базами данных;

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

59

CASE-технология создания информационных систем

Средства CASE-технологии2 - относительно новое, сформированное на рубеже 80-х гг. направление. Массовое применение затруднено крайне высокой стоимостью и предъявляемыми требованиями к оборудованию рабочего места разработчика.

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

Средства CASE-технологий делятся на две группы:

встроенные в систему реализации – все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД);

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

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

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

Другой класс CASE-технологий поддерживает только разработку программ, включая:

автоматическую генерацию кодов программ на основании их спецификаций;

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

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

тестирование и отладку программ.

2 Case (англ.) – чемодан, портфель, кейс

60

Пакеты прикладных программ

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

Примерная классификация прикладного программного обеспечения представлена на рис.4.3.

Пакеты прикладных программ

Проблемноориентированные ППП

Методоориентированные ППП

ППП общего назначения

Интеллектуальные

системы

ПППавтоматизированного

проектирования

Офисные ППП

Программные средства мультимедиа

Настольныемиздательские

системы

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

Проблемно-ориентированные ППП

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

ППП автоматизированного бухгалтерского учета;

ППП финансовой деятельности;

ППП управления персоналом (кадровый учет);

ППП управления производством;

банковские информационные системы и т.п.

Примером такого ППП, автоматизирующего бухгалтерский учет, является “1С:Бухгалтерия”.

Основные тенденции в области развития проблемно-ориентированных программных средств:

создание программных комплексов в виде автоматизированных рабочих мест (АРМ) управленческого персонала;

создание интегрированных систем управления предметной областью на базе вычислительных сетей, объединяющих АРМы в единый программный комплекс с архитектурой клиент-сервер;

организация данных больших информационных систем в виде распределенной базы данных на сети ЭВМ;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]