8. Функциональные характеристики и классификация ЭВМ. Сервисное программное обеспечение. Компьютерные вирусы и приемы борьбы с ними. Методы  защиты информации.

8.1. Начальный этап развития вычислительной техники.

Все началось с идеи научить машину считать или хотя бы складывать многоразрядные целые числа. Еще около 1500г. Великий деятель эпохи Просвещения Леонардо да Винчи разработал эскиз 13-разрядного суммирующего устройства, что явилось первой попыткой решить указанную задачу.

Первую же действующую суммирующую машину построил в 1642г. Блез Паскаль.

От замечательного курьеза, каким восприняли современники машину Пaскaля, дифференциация обучения  создания прaктичeски полезного и шиpокo используемого aгpегaтa - арифмометра­

(механического вычислительного устройствa, способного выполнять 4 арифметических действия) - прошло почти 250 лет. Уже в нaчaле XIX векa уровень ­развития рядa нaук и областей практической деятельности (матемaтики, механики, aстрономии, инженерных нaук, нaвигaции и др.) был столь высок, что они настоятельнейшим обрaзом требовaли выполнения огромного объемa вычис­лений,

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

Еще в 70-х годaх нaшего  векa нa полкaх мaгaзинов стояли мeхaнические арифмомет­ры и их ближайшие родственники, снабженные электрическим приводом - электромеханические клaвишные вычислительные мaшины. Как это чaсто бывaет, они довольно долго удивитeльным обрaзом соседствовaли c техникой совеpшенно иного уровня - aвтомaтическими цифровыми вычислительными машинами (АЦВМ), котoрые в просторечии чaще назывaют ЭВМ (хотя, cтрого говоря, эти понятия не совсем совпадают). Иcтоpия АЦВМ восходит еще к первой половине прошлого века и связана c именем зaмечaтельного aнглийского мaтемaтикa и инженера Чарльзa Бэббиджа. Им в 1822 г. была спроектировaнa и почти 30 лет строилась и совершенствовaлaсь машинa, нaзванная внaчале «разностной», a зaтем, после многочисленных усовершенствований проектa, «аналитической». В аналитическую мaшину были зaложены принципы, стaвшие фундaментальными для вычислительной техники.

1. автоматическое выполнeние оперaций.

Для выполнения paсчетов большого объемa существенно не только то, кaк быстро выполняется отдельнaя aрифметическaя оперaция, но и то, чтобы между операциями не было «зазoров», требующих непосредственного человеческого вмешательства. Например, большинство современных калькуляторов не удовлетворяют этому требованию, хотя каждое доступное им действие выполняют очень быстро. Необходимо, чтобы операции следовали одна за другой безостановочно.

2. Работа по вводимой «на ходу» программе.

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

3. Необходимость специального устройства - памяти - для хранения данных (Бэббидж назвал его «складом»).

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

Впервые автоматически действующие вычислительные устройства появились середине ХХ века. Это стало возможным благодаря использованию наряду с  механическими конструкциями электромеханических реле. Работы над peлeйными машинами начались в 30-е годы и продолжались с переменным успехом до тех пор пока в 1944 г. под руководством Говарда Айкена - американского математика и физика - на фирме IBM (International Business Machines) не была запущена машина «Марк-1», впервые реализовавшая идеи Бэббиджа (хотя разработчики, по-видимому, не были с ними знакомы). Для представления чисел в ней были использованы механические элементы (счетные колеса), для управления - электромеханические. Одна из самых мощных релейных машин РВМ-1 была в начале 50-х годов построена в СССР под руководством Н.И.Бессонова; она выполняла до 20 умножений в секунду с достаточно длинными двоичными числами.

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

8.2.Начало современной истории электронной вычислительной техники.

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

Первой действующей ЭВМ стал ENIAC (США, 1945 - 1946 гг.). Его название по первым буквам соответствующих английских слов означает «электронно-числовой интегратор и вычислитель». Руководили ее созданием Джон Моучли и Преспер Эккерт, продолжившие начатую в конце 30-х годов работу Джорджа Атанасова. Машина содержала порядка 18 тысяч электронных ламп, множество электромеха­нических элементов. Ее энергопотребление равнялось 150 кВт, что вполне доста­точно для обеспечения небольшого завода.

Практически одновременно велись работы над созданием ЭВМ в Великобрита­нии. С ними связано прежде всего имя Аллана Тьюринга - математика, внесшего также большой вклад в теорию алгоритмов и теорию кодирования. В 1944 г. в Великобритании была запущена машина «Колосс».

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

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

В нашей стране вплоть до 70-х годов создание ЭВМ велось почти полностью самостоятельно и независимо от внешнего мира (да и сам этот «мир» был почти полностью зависим от США). Дело в том, что электронная вычислительная техника с самого момента своего первоначального создания рассматривалась как сверхсекретный стратегический продукт, и СССР  приходилось разрабатывать и производить ее самостоятельно. Постепенно режим секретности смягчался, но и в конце 80-х годов наша страна могла покупать за рубежом лишь устаревшие модели ЭВМ (а самые современные и мощные компьютеры ведущие производи­тели - CШA и Япония - и сегодня разрабатывают и производят в режиме секрет­ности).

Первая отечественная ЭВМ - МЭСМ («малая  электронно-счетная машина») - была создана в 1951 г. под руководством Сергея Александровича Лебедева, круп­нейшего советского конструктора вычислительной техники, впоследствии академи­ка, лауреата государственных премий, руководившего созданием многих отечест­венных ЭВМ. Рекордной среди них и одной из лучших в мире для своего времени была БЭСМ-6 («большая электронно-счетная машина, 6-я модель»), созданная в середине 60-х годов и долгое время бывшая базовой машиной в обороне, космиче­ских исследованиях, научно-технических исследованиях в СССР. Кроме машин серии БЭСМ выпускались и ЭВМ других серий -«Минск», «Урал», М-20, «Мир» и другие, созданные под руководством И. С. Брука и М. А. Карцева, Б. И. Рамеева. В. М. Глушкова, Ю. А. Базилевского и других отечественных конструкторов и теоретиков информатики.

С началом серийного выпуска ЭВМ начали условно делить по поколениям.

8.3. По каким критериям классифицируют компьютеры?

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

·   по этапам развития (по поколениям);

·   по архитектуре;

·   по производительности;

·   по условиям эксплуатации;

·   по количеству процессоров;

·   по потребительским свойствам и т.д.

Четких границ между классами компьютеров не существует. По мере совершенствования структур и технологии производства, появляются новые классы компьютеров, границы существующих классов существенно изменяются.

8.4. На чем основана классификация по поколениям?

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

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

8.5. Какие компьютеры относятcя в первому поколению?

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


Электронная
лампа                      Компьютер "Эниак".
                                    Первое поколение


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

Быстродействие порядка 10-20 тысяч операций в секунду.

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


Перфокарта

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

Несмотря на ограниченность возможностей, эти машины позволили выполнить сложнейшие расчёты, необходимые для прогнозирования погоды, решения задач атомной энергетики и др.

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


ЭВМ "Урал"

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

Отечественные машины первого поколения: МЭСМ (малая электронная счётная машина), БЭСМ, Стрела, Урал, М-20.

8.6. Какие компьютеры относятся ко второму поколению?

Второе поколение компьютерной техники — машины, сконструированные примерно в 1955-65 гг. Характеризуются использованием в них как электронных ламп, так и дискретных транзисторных логических элементов. Их оперативная память была построена на магнитных сердечниках. В это время стал расширяться диапазон применяемого оборудования ввода-вывода, появились высокопроизводительные устройства для работы с магнитными лентами, магнитные барабаны и первые магнитные диски.


Память на магнитных
сердечниках

Быстродействие — до сотен тысяч операций в секунду, ёмкость памяти — до нескольких десятков тысяч слов.

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

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

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

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

Таким образом, операционная система является программным расширением устройства управления компьютера.

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

8.7. В чем особенности компьютеров третьего поколения?


Компьютер IBM-360.
Третье поколение

Машины третьего поколения созданы примерно после 60-x годов. Поскольку процесс создания компьютерной техники шел непрерывно, и в нём участвовало множество людей из разных стран, имеющих дело с решением различных проблем, трудно и бесполезно пытаться установить, когда "поколение" начиналось и заканчивалось. Возможно, наиболее важным критерием различия машин второго и третьего поколений является критерий, основанный на понятии архитектуры.


Интегральная схема

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

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

Примеры машин третьего поколения — семейства IBM-360, IBM-370, ЕС ЭВМ (Единая система ЭВМ), СМ ЭВМ (Семейство малых ЭВМ) и др.

Быстродействие машин внутри семейства изменяется от нескольких десятков тысяч до миллионов операций в секунду. Ёмкость оперативной памяти достигает нескольких сотен тысяч слов.

8.8. Что характерно для машин четвёртого поколения?

Четвёртое поколение — это теперешнее поколение компьютерной техники, разработанное после 1970 года.

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

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

C точки зрения структуры машины этого поколения представляют собой многопроцессорные и многомашинные комплексы, работающие на общую память и общее поле внешних устройств. Быстродействие составляет до нескольких десятков миллионов операций в секунду, ёмкость оперативной памяти порядка 1 - 64 Мбайт.

Для них характерны:

·         применение персональных компьютеров;

·         телекоммуникационная обработка данных;

·         компьютерные сети;

·         широкое применение систем управления базами данных;

·         элементы интеллектуального поведения систем обработки данных и устройств.

8.9. Какими должны быть компьютеры пятого поколения?

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

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

В компьютерах пятого поколения произойдёт качественный переход от обработки данных к обработке знаний.

Архитектура компьютеров будущего поколения будет содержать два основных блока. Один из них — это традиционный компьютер. Но теперь он лишён связи с пользователем. Эту связь осуществляет блок, называемый термином "интеллектуальный интерфейс". Его задача — понять текст, написанный на естественном языке и содержащий условие задачи, и перевести его в работающую программу для компьютера.

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

8.10. На какие типы делятся компьютеры по условиям эксплуатации?

По условиям эксплуатации компьютеры делятся на два типа:

·                     офисные (универсальные);

·                     специальные.

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

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

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

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

8.11. На какие типы делятся компьютеры по производительности и характеру использования?

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

·   микрокомпьютеры, в том числе — персональные компьютеры;

·   миникомпьютеры;

·   мэйнфреймы (универсальные компьютеры);

·   суперкомпьютеры.

Микрокомпьютеры — это компьютеры, в которых центральный процессор выполнен в виде микропроцессора.

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

Микрокомпьютеры представляют собой инструменты для решения разнообразных сложных задач. Их микропроцессоры с каждым годом увеличивают мощность, а периферийные устройства — эффективность. Быстродействие — порядка 1 - 10 миллионов опеpаций в сек.

Разновидность микрокомпьютера — микроконтроллер. Это основанное на микропроцессоре специализированное устройство, встраиваемое в систему управления или технологическую линию.

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

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

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

ü      наличие внешних ЗУ на магнитных дисках;

ü      объём оперативной памяти не менее 4 Мбайт;

ü      наличие операционной системы;

ü      способность работать с программами на языках высокого уровня;

ü      ориентация на пользователя-непрофессионала (в простых моделях).

Миникомпьютерами и суперминикомпьютерами называются машины, конструктивно выполненные в одной стойке, т.е. занимающие объём порядка половины кубометра. Сейчас компьютеры этого класса вымирают, уступая место микрокомпьютерам.

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

Централизованная обработка данных на мэйнфрейме обходится примерно в 5 - 6 раз дешевле, чем распределённая обработка при клиент-серверном подходе.

Известный мэйнфрейм S/390 фирмы IBM обычно оснащается не менее чем тремя процессорами. Максимальный объём оперативного хранения достигает 342 Терабайт.

Производительность его процессоров, пропускная способность каналов, объём оперативного хранения позволяют наращивать число рабочих мест в диапазоне от 20 до 200000 с помощью простого добавления процессорных плат, модулей оперативной памяти и дисковых накопителей.

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

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

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

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

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

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

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

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

В качестве примера рассмотрим характеристики многоцелевого массово-параллельного суперкомпьютера среднего класса Intel Pentium Pro 200. Этот компьютер содержит 9200 процессоров Pentium Pro на 200 Мгц, в сумме (теоретически) обеспечивающих производительность 1,34 Терафлоп (1 Терафлоп равен 1012 операций с плавающей точкой в секунду), имеет 537 Гбайт памяти и диски ёмкостью 2,25 Терабайт. Система весит 44 тонны (кондиционеры для неё — целых 300 тонн) и потребляет мощность 850 кВт.

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

Элементная база — микросхемы сверхвысокой степени интеграции.

8.12. Какие существуют типы портативных компьютеров?

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

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


       Laptop

Laptop (наколенник, от lap — колено и top — поверх). По размерам близок к обычному портфелю. По основным характеристикам (быстродействие, память) примерно соответствует настольным ПК. Сейчас компьютеры этого типа уступают место ещё меньшим.


                 Notebook

Notebook (блокнот, записная книжка). По размерам он ближе к книге крупного формата. Имеет вес около 3 кг. Помещается в портфель-дипломат. Для связи с офисом его обычно комплектуют модемом. Ноутбуки зачастую снабжают приводами CD-ROM.

Многие современные ноутбуки включают взаимозаменяемые блоки со стандартными разъёмами. Такие модули предназначены для очень разных функций. В одно и то же гнездо можно по мере надобности вставлять привод компакт-дисков, накопитель на магнитных дисках, запасную батарею или съёмный винчестер. Ноутбук устойчив к сбоям в энергопитании. Даже если он получает энергию от обычной электросети, в случае какого-либо сбоя он мгновенно переходит на питание от аккумуляторов.


Palmtop           Персональный цифровой помощник


 

Palmtop (наладонник) — самые маленькие современные персональные компьютеры. Умещаются на ладони. Магнитные диски в них заменяет энергонезависимая электронная память. Нет и накопителей на дисках — обмен информацией с обычными компьютерами идет линиям связи. Если Palmtop дополнить набором деловых программ, записанных в его постоянную память, получится персональный цифровой помощник (Personal Digital Assistant).

8.13. Что такое программное обеспечение?

Под программным обеспечением (Software) понимается совокупность программ, выполняемых вычислительной системой.

К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:

·   технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проектирование и др.);

·   методы тестирования программ [ссылка, ссылка];

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

·   анализ качества работы программ;

·   документирование программ;

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

Программное обеспечение – неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкректного компьютера определяется созданным для него ПО.

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

8.14. Как классифицируется программное обеспечение?

В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории (рис. 6.1):

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

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

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

o  создание копий используемой информации;

o  проверка работоспособности устройств компьютера;

o  выдача справочной информации о компьютере и др.;

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


Рис. 6.1. Категории программного обеспечения

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

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

Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность).

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

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

На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:

·         операционные системы и оболочки;

·         системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.);

·         инструментальные системы;

·         интегрированные пакеты программ;

·         динамические электронные таблицы;

·         системы машинной графики;

·         системы управления базами данных (СУБД);

·         прикладное программное обеспечение.

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

8.15. Какие программы называют прикладными?

Прикладная программа — это любая конкретная программа, способствующая решению какой-либо задачи в пределах данной проблемной области.

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

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

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

8.16. Какова роль и назначение системных программ?

Системные программы выполняются вместе с прикладными и служат для управления ресурсами компьютера — центральным процессором, памятью, вводом-выводом.

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


Рис. 6.2. Структура программного обеспечения компьютера

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

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

·         программы для записи CD-ROM, CD-R и многие другие.

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

8.17. Для чего нужны инструментальные программы?

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

По своему назначению они близки системам программирования. К инструментальным программам, например, относятся:

·   редакторы;

·   средства компоновки программ;

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

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

·   графические пакеты программ и т.п.

Инструментальные программные средства могут оказать помощь на всех стадиях разработки ПО.

8.18. К®МПЬЮТЕРНЫЕ ВИРУСЫ
Среди огромного разнообразия видов компьютерных программ существует
одн; их разновидность, заслуживающая особого упоминания. Главное отличие эти программ от всех остальных состоит в том, что они вредны, т.е. предназначены для нанесения ущерба пользователям ЭВМ. Это-компьютерные вирусы.

Компьютерным вирусом называется программа, обычно малая по размеру (от 200 до 5000 байт), которая самостоятельно запускается, многократно копирует свой код: присоединяя его к кодам других программ («размножается») и мешает корректной работе компьютера и/или разрушает хранимую на магнитных дисках информацию (программы и данные).

Существуют вирусы и менее «злокачественные»; вызывающие, например, переус­тановку даты в компьютере, музыкальные (проигрывающие какую-либо мелодию; приводящие к появлению на экране дисплея какого-либо изображения или к искажениям в отображении дисплеем информации, «осыпанию букв» и т.д.

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

Существуют и такие специалисты, которые отдают свои силы и талант делу: борьбы с компьютерными вирусами. В России - зто известные программисть Д.Лозинский, Д.Мостовой, И.А.Данилов, Н.Безруков и др. Ими исследованы многие компьютерные вирусы, разработаны антивирусные программы, рекоменда­ции по мерам, предотвращающим уничтожение вирусами компьютерной информа­ции и раслространение эпидемий компьютерных вирусов.

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

8.19. РАЗНОВИДНОСТИ КОМПЬЮТЕРНЫХ ВИРУСОВ

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

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

Среди всего разнообразия вирусов следует выделить следующие группы:

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

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

загрузочно-файловые вирусы имеют признаки как загрузочных, так и файловых вирусов;

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

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

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

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

  выделяют некоторую область дискеты и делают ее недоступной операционной системе (помечая, например, как сбойную - bad);

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

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

Магнитные диски компьютеров винчестерского типа обычно бывают разбиты  несколько логических разделов. Программы начальной загрузки при этом имеются в MBR (Master Boot Record - главная загрузочная запись) и в загрузочном  разделе винчестера, заражение которых может происходить аналогично заражению загрузочного сектора дискеты. Однако, программа начальной загрузки в MBR использует при переходе к программе загрузки загрузочного раздела винчестера, так называемую таблицу разбиения (Partition table), содержащую информацию о положении загрузочного раздела на диске. Вирус может исказить информацию Partition table и таким образом передать управление своему коду, записанному на диск, формально не меняя загрузочной программы.

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

Заражая файл, вирус всегда изменит его код, но далеко не всегда производит другие изменения. В частности, может не изменяться начало файла и его длина. Например, вирусы могут искажать  информацию о файлах, хранящуюся в служебной области магнитных дисков - таблице размещения файлов (FAT - file allocation table), - и делать таким образом невозможной любую работу с файлами. Так ведут себя вирусы семейства « Dir».

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

8.20. AHTИBИPYCHЫE СРЕДСТВA

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

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

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

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

Фаги. Фаг - это программа, которая способна не только обнаружить, но и унич­тожить вирус, т. е. удалить его код из зараженных программ и восстановить их работоспособность (если возможно). Известнейшим в России фагом является Aidstest; созданный Д.Лозинским. К январю 1997 года эта программа была способна обнару­жить и обезвредить около 1600 вирусов. Еженедельно появляются новые версии этой программы, рассчитанные на обезвреживание десятков новых вирусов.

Очень мощным и эффективным антивирусным средством является фаг Doctor Web (созданный И.Даниловым). Детектор этого фага не просто сканирует файлы в поисках одной из известных вирусных сигнатур. Doctor Web реализует эвристиче­ский метод поиска вирусов, может находить и обезвреживать, так называемые, полиморфные вирусы (не имеющие определенной сигнатуры), проверять файлы, находящиеся в архивах. Для нахождения вирусов Doctor Web использует про­граммную эмуляцию ироцессора, т.е. он моделирует выполнение остальных файлов с помощью программной модели микропроцессора 1-8086 и тем самым создает среду для проявления вирусов и их размножения. Таким образом, программа Doctor Web может бороться не только с полиморфными вирусами, но и с вирусами, которые только еще могут появиться в перспективе. Сnециалисты рекомендуют использо­вать Aidstest и Doctor Web в комплексе.

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

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

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

Помимо программных средств защиты от вирусов существуют и специальные дополнительные устройства, обеспечивающие надежную защиту определенных разделов винчестера. Примером такого рода устройств является плата sheriffазработанная Ю.Фоминым). Несмотря на кажущееся обилие программных антивирусных средств, даже все вместе они не обеспечивают полной защиты программ и данных, не дают 100 процентной гарантии от воздействия вирусных про­грамм. Только комплексные профилактические меры защиты обеспечивают надеж­ную защиту от возможной потери информации. В комплекс таких мер входит:

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

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

входной контроль нового программного обеспечения, поступивших дискет;

сегментация жесткого диска, т. е. разбиение его на логические разделы с раз­граничением доступа к ним;

систематическое использование программ-ревизоров для контроля целостности информации;

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

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

Hosted by uCoz