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




1. Исполнители алгоритмов: человек, автомат, ро­бот, компьютер. Компьютер как формальный испол­нитель алгоритмов (программ). Схема выполнения программы компьютером.

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

Сразу подчеркнем, что исполнители алгоритмов нео­бычайно разнообразны. Все словесные алгоритмы (ин­струкции) пишутся для человека, следовательно, в дан­ном случае он и будет являться исполнителем подобных алгоритмов. Многие окружающие нас автоматические устройства тоже действуют в соответствии о определенными алгоритмами. Вспомните простейшие из них — выключающийся по достижении определен­ной температуры воды электрический чайник или турникет в метро, а также более сложные автоматы, на­пример, современная многопрограммная стиральная машина или CD-проигрыватель с возможностью пере­ключения 3—5 дисков. Вершиной автоматических уст­ройств являются роботы, т.е. устройства, способные выполнять ту или иную работу без участия человека. Термин "робот" ввел чешский писатель Карел Чапек в 1920 году в своей фантастической пьесе в качестве на­звания механических рабочих, заменивших людей на тя­желых физических работах. Современные роботы своим внешним видом совсем не похожи на рабочего, но, тем не менее, прекрасно справляются с его обязанностями на производстве. Едва ли человек сможет так быстро, безо­шибочно и качественно собрать плату сложнейшего ком­пьютера, как это делает робот-манипулятор на автомати­зированном производстве. Уже всерьез ведутся разгово­ры о роботах-хирургах, а японские роботы-музыканты и скульпторы давно являются непременным атрибутом всех международных выставок. Большой популярностью в быту пользуются сейчас автоматические собачки и прочая домашняя, с позволения сказать, "живность".

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

Итак, мы видели, что исполнители алгоритмов нео­бычайно разнообразны. Есть ли у них какие-то общие черты, которые делают их похожими? Разумеется, есть!

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

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

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

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

Вся таблица 16 х 16 за­полнена разнообразными командами, лишь немногие места в таблице не заняты. Четко просматривается на­личие закономерностей в СКИ: коды 40—7F образуют "слой" команд переписи MOV, затем следуют ряды ариф­метических операций (ADD — сложение, SUB — вычи­тание), логических и т.д. Для нас сейчас наиболее инте­ресно то, что приведенная система команд построена по определенным правилам и четко структурирована.

Типичный контроллер дисковода IBM PC умеет испол­нять 15 команд; наиболее понятными для неподготовлен­ного читателя будут следующие: чтение идентификатора сектора, чтение данных, запись данных, чтение дорожки, форматирование дорожки и др. подобные команды рабо­ты с диском (сведения взяты из книги: Букмин А.В., Безру­кий Ю.Л. Дисковая подсистема IBM-совместимых персо­нальных компьютеров. M.: Бином, 1993, 284 с.).

Завершая разговор о роли СКИ, подчеркнем, что исполнитель отказыва­ется исполнять не толь­ко те команды, которые отсутствуют в списке. Даже синтаксически правильная команда при некоторых услови­ях не может быть вы­полнена. Например, невозможно выполнить команду деления, если делитель равен нулю; нельзя осуществить команду движения вперед, когда робот уперся в стену; невозможно произвести запись в сектор с несуществую­щим номером или на неотформатированную дискету (в; последнем случае на дискете вообще нет никаких секто­ров). Как бы не выглядела формулировка отказа исполнителя, ее кратко можно сформулировать как "Не могу": (в отличие от "Не понимаю" в случае синтаксической ошибки в записи команды). Более строго вывод должен звучать так: каждая команда 6 СКИ должна иметь чет­ко оговоренные условия ее выполнения; все случаи ава­рийного прерывания команды из-за нарушения этих ' условий должны быть четко оговорены и корректно реализованы. Интересный пример нарушения этого правила связан с ошибкой в процессоре Pentium, обна­руженной осенью 1997 года. Оказалось, что при попытке сравнить 32-битный операнд с 64-битным процессор; не только не обеспечивал стандартной реакции на ошибочную инструкцию, как это ожидалось в подобном слу­чае, но при некоторых неблагоприятных условиях мог даже полностью прекратить работу! Эта ошибка, на­званная "Pentium FO bug", имеется во всех процессорах Pentium и Pentium MMX; в более поздних процессорах ее нет.

Третьей важной особенностью исполнителей часто выделяют его режим работы. Перечень режимов для каждого исполнителя, естественно, свой. Так, для гра­фического редактора это рисование геометрических при­митивов, стирание, выделение и т.д. Телевизор, помимо обычного режима работы, имеет дежурный режим, в котором ожидает, когда его включат для просмотра. Процессор Pentium также имеет несколько режимов работы: режим реальной адресации (реальный режим), защищенный режим виртуальной адресации (защищен­ный режим), режим виртуального процессора 8086 (V86) и режим системного управления (SMM). Их раз­бор выходит далеко за рамки нашего обсуждения; с точ­ки зрения рассматриваемого вопроса важен сам факт существования нескольких режимов работы.

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

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

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

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


Билет №18


1. Технология решения задач с помощью компью­тера (моделирование, формализация, алгоритмизация, программирование, компьютерный эксперимент). Пример решения задачи (математической, физиче­ской или др.).

2. Решение задачи на определение объема информа­ции, преобразование единиц измерения информации.

1. Технология решения задач с помощью компью­тера (моделирование, формализация, алгоритмизация, программирование, компьютерный эксперимент). Пример решения задачи (математической, физиче­ской или др.).

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

Обсудим эти этапы.

Первый этап — определение целей моделирования. Основные из них таковы:

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

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

 

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

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

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

Наконец, прогнозирование последствий тех или иных воздействий на объект может быть как относительно простым делом в несложных физических системах, так и чрезвычайно сложным, например, в системах эколо­гических, биолого-экономических, социальных. Если от­носительно легко ответить на вопрос об изменении ре­жима распространения тепла в тонком стержне при изменениях в составляющем его сплаве, то несравнен­но труднее предсказать экологические и климатические последствия строительства крупной ГЭС или социальные последствия изменений налогового законодательства. Здесь методы моделирования также способны оказать значительную помощь.

Естественно, прежде чем форму­лировать цель исследования, необхо­димо всесторонне изучить структуру моделируемого объекта (процесса).

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

Содержательное описание в словес­ной форме обычно содержит:

• сведения о природе исследуемого процесса;

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

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

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

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

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

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

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

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

Слово "модель" произошло от латинского слова iiiodeUum, которое означает: мера, образ, способ — и т.д. Его первоначальное значение было связано со строитель­ным искусством, и почти во всех европейских языках оно употреблялось для обозначения образа или прообраза, или вещи, сходной в каком-то отношении с другой вещью.

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

Признаки модели:

• это мысленно представляемая или материально реа­лизуемая система;

• она воспроизводит или отображает объект исследо­вания;

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

• ее изучение дает новую информацию об объекте исследования.

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

Моделирование — процесс построения формальной модели реального явления и ее использование в целях исследования моделируемого явления,

Когда модель сформулирована, выбирается метод и инструментальное средство ее исследования. В зависимо­сти от формализованной постановки задачи в качестве такого средства может выступать либо пакет прикладных программ (офисных — типа MS Excel, MS Access и др., специализированных математических — типа MathLab, Mathematica, Maple и др.), либо язык программирования (Паскаль, Си, Фортран и др.). В зависимости от выбран­ного средства можно использовать или готовый метод решения, реализованный в данном продукте, либо со­ставлять программу для выбранного метода.

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

После составления программы решаем с ее помощью 'простейшую тестовую задачу (желательно с заранее изве­стным ответом) с целью устранения грубых ошибок. Про­фессиональное тестирование — весьма непростой процесс; в нашем случае приходится пользоваться крайне упрощен­ными процедурами. Затем следует собственно численный эксперимент и выясняется, соответствует ли модель реаль­ному объекту (процессу). Модель адекватна реальному процессу, если основные характеристики процесса, полу­ченные на ЭВМ, совпадают с экспериментальными с за­данной степенью точности. В случае несоответствия моде­ли реальному процессу возвращаемся к одному из преды­дущих этапов. Возможные точки возврата указаны на схе­ме: либо в процессе ранжирования были отброшены ка­кие-то важные факторы или же было взято слишком мно­го незначительных факторов и требуется уточнить модель; либо выбор метода исследования оказался не слишком удач­ным и нужно использовать более сложный и точный. Пос­ле внесения тех или иных изменений вновь проходим по части технологической цепочки и делаем это до тех пор, пока не будут получены приемлемые результаты.

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


Билет №19

 

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

2. Решение задач на представление чисел в десятич­ной, двоичной и других системах счисления.

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

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

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

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

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

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

Основными свойствами локальной сети являются:

• высокая скорость передачи, большая пропускная спо­собность;

• низкий уровень ошибок передачи;

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

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

 

Билет №20

1. Глобальная сеть Интернет и ее службы (электрон­ная почта, доски объявлений, телеконференции, по­исковые системы и др.). Этические и правовые нормы работы с информацией.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: