шпора
.doc
37. Операционные системы. Структура и функции. Работа с файловой системой и оперативной памятью. Операционная система (ОС)— базовый комплекс компьютерных программ, обеспечивающий интерфейс с пользователем, управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит. Назначение ОС. Организация вычислительного процесса в вычислительной системе, рациональное распределение вычислительных ресурсов между отдельными решаемыми задачами; предоставление пользователям многочисленных сервисных средств, облегчающих процесс программирования и отладки задач. Операционная система исполняет роль своеобразного интерфейса между пользователем и вычислительной системой (ВС), т.е. ОС предоставляет пользователю виртуальную ВС. Это означает, что ОС в значительной степени формирует у пользователя представление о возможностях ВС, удобстве работы с ней, ее пропускной способности. Структура и состав ОС:
Функции операционных систем
Дополнительные функции:
Файлы операционной системы находятся на диске (жестком или гибком). Однако программы могут выполняться, только если они находятся в оперативной памяти, поэтому файлы операционной системы необходимо загрузить в оперативную память. Все файлы операционной системы не могут одновременно находиться в оперативной памяти, так как объем современных операционных систем составляет десятки мегабайт. Для функционирования компьютера обязательно должны находиться в оперативной памяти базовый модуль, командный процессор и драйверы подключенных устройств. После включения компьютера производится загрузка операционной системы в оперативную память. В системном блоке компьютера находится ПЗУ (BIOS), в котором содержатся программы тестирования компьютера и первого этапа загрузки операционной системы. После включения компьютера эти программы начинают выполняться, причем информация о ходе этого процесса высвечивается на экране дисплея. На этом этапе процессор обращается к диску и ищет на определенном месте (в начале диска) наличие программы-загрузчика BOOT. Программа-загрузчик считывается в память, и ей передается управление. В свою очередь она ищет на диске базовый модуль операционной системы, загружает его в память и передает ему управление.
|
38. Управление ресурсами. Команды операционной системы. Операционная система (ОС)— базовый комплекс компьютерных программ, обеспечивающий интерфейс с пользователем, управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит. Назначение ОС. Организация вычислительного процесса в вычислительной системе, рациональное распределение вычислительных ресурсов между отдельными решаемыми задачами; предоставление пользователям многочисленных сервисных средств, облегчающих процесс программирования и отладки задач. Операционная система исполняет роль своеобразного интерфейса между пользователем и вычислительной системой (ВС), т.е. ОС предоставляет пользователю виртуальную ВС. Это означает, что ОС в значительной степени формирует у пользователя представление о возможностях ВС, удобстве работы с ней, ее пропускной способности. Управление ресурсами. Команды операционной системы Характеризуя сетевую ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами автономного компьютера. Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на многозадачные и однозадачные, многопользовательские и однопользовательские. Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства. Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Вытесняющая и не вытесняющая многозадачность. Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями). Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами. планирование и переключение процессов; управление памятью; обработку прерываний; низкоуровневую поддержку устройств (через драйверы); управление дисками и буферизация данных; синхронизацию процессов и обеспечение средств межпроцессного взаимодействия (IPC). сопоставление действий пользователя с запросами драйверов устройств; создание и прекращение процессов; реализацию операций ввода-вывода; доступ к файлам и дискам; поддержку функций терминала.
|
39. Языки программирования. Интерпретаторы и компиляторы По наиболее распространенной классификации все языки программирования, в соответствии с тем, в каких терминах необходимо описать задачу, делят на языки низкого и высокого уровня. Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня. В группу языков низкого уровня входят машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно–зависимыми. Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). К языкам программирования высокого уровня относят Фортран (переводчик формул –в основном используется для программ, выполняющих естественно – научные и математические расчеты), Алгол, Кобол (коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик, Си, Пролог и т.д. Эти языки машинно–независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках. Программу, написанную на языке программирования высокого уровня, ЭВМ не понимает, поскольку ей доступен только машинный язык. Поэтому для перевода программы с языка программирования на язык машинных кодов используют специальные программы – трансляторы. Существует три вида транслятора: Компилятор читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Интерпретатор переводит и выполняет программу строка за строкой. После того, как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы. ассемблеры (переводят программу, записанную на языке ассемблера, в программу на машинном языке). Языки программирования также можно разделять на поколения: – языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения. –языки второго поколения: с мнемоническим представлением команд, так называемые автокоды. –языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль. –языки четвертого поколения: усовершенствованные, разработанные для создания специальных прикладных программ, для управления базами данных. –языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi. Языки программирования также можно классифицировать на процедурные и непроцедурные. В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий. Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал. Непроцедурное (декларативное), К непроцедурному программированию относятся функциональные и логические языки. В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь делятся на еще более простые задачи и т.д. Один из основных элементов функциональных языков – рекурсия. Оператора присваивания и циклов в классических функциональных языках нет. В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Программа на Прологе содержит, набор утверждений, которые образуют проблемно–ориентированную базу данных и правила, имеющие вид условий. Можно выделить еще один класс языков программирования – объектно–ориентированные языки высокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Объектно–ориентированные языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме.
|
40 Системы программирования Системы программирования обеспечивают выполнение отдельных этапов по созданию программ и включают следующие компоненты: -текстовый редактор для ввода и корректировки текста программы (кода); -транслятор с конкретного языка программирования; -компоновщик (редактор связей); -отладчик (служит для выявления ошибок в программе);' -набор служебных библиотек; -средства оптимизации кода программы; -документатор исходного кода программы; -дополнительные сервисные средства (специализированные утилиты) для работы с различными библиотеками, текстовыми и двоичными файлами. Встроенные инструментальные средства Встроенные инструментальные средства пользователя -представляют собой специальные средства программирования, непосредственно встроенные в пакеты различных прикладных программ. К ним относят: -макрокоманды; -языковые макросы; -библиотеки стандартных функций, объектов и методов; -языки запросов высокого уровня; -генераторы приложений, отчетов и др. Примерами использования этих средств могут служить: работа с макросами в любом пакете MS Office, формирование сложных запросов пользователя к базам данных, генерация готового отчета из базы данных по заданному образцу и т.д. Интегрированные инструментальные среды Позже были разработаны специальные системы программирования, представляющие собой единую интегрированную инструментальную среду (подобные среды называют Turbo-средами), где в рамках одного программного пакета, с единой системой команд и дружественным интерфейсом осуществляются все перечисленные выше операции. Кроме того, пакет обычно снабжается удобными средствами отладки программ, системой контекстной (то есть зависимой от ситуации) помощи и рядом дополнительных сервисных возможностей. Такая среда позволяет: писать, редактировать, компилировать, компоновать, отлаживать и запускать программы на выполнение, не выходя из самой среды. Примеры пакетов интегрированных инструментальных сред: Turbo Pascal, Turbo C++ (Borland Inc.), а также Quick BASIC, Quick Pascal (Microsoft Corp.) и многие другие. |
41. Прикладное программное обеспечение. Классификация и характеристики. К прикладному программному обеспечению относятся программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. Программы обработки заказов или создания списков рассылки — пример прикладного программного обеспечения. Программистов, которые пишут прикладное программное обеспечение, называют прикладными программистами. В настоящее время существует огромное количество ППП, охватывающих практически все стороны деятельности человека. Всё множество ППП можно разделить на два больших класса: пакеты общего назначения и специализированные пакеты. Основную часть прикладного программного обеспечения составляют пакеты прикладных программ (ППП). Пакет прикладных программ – это комплекс программ, предназначенный для решения определённого класса задач по некоторой тематике. Пакеты разрабатываются таким образом, чтобы максимально упростить использование компьютера специалистами разных профессий. ППП общего назначения - универсальные программные продукты, предназначенные для автоматизации разработки и эксплуатации функциональных задач пользователя:
Классификация прикладного программного обеспечения
|
42. Автоматизированное рабочее место (АРМ) — программно-технический комплекс, предназначенный для автоматизации какой-либо деятельности. При разработке АРМ для управления технологическим оборудованием как правило используют SCADA-системы. АРМ объединяет программно-аппаратные средства, обеспечивающие взаимодействие человека с компьютером, предоставляет возможность ввода информации (через клавиатуру, компьютерную мышь, сканер и пр.) и её вывод на экран монитора, принтер, графопостроитель, звуковую карту — динамики или иные устройства вывода. Как правило, АРМ является частью АСУ.SCADA— система диспетчерского контроля и сбора данных. Основные задачи, решаемые SCADA-системами:
|
43. Инструментальные пакеты для решения математических задач на ЭВМ. Выделяют следующие классы инструментальных пакетов компьютерной математики:
Структура математических инструментальных пакетов.
MathCad: назначение и достоинства: Научное и высшее образование. Хороший интерфейс пользователя. Хорошая графика. Ввод данных с помощью палитры математических знаков.
|
44. Компьютерные вирусы и методы борьбы с ними Компьютерные вирусы- это класс программ способных к саморазмножению и самомодификации в работающей вычислительной среде и вызывающих нежелательные для пользователей действия. Действия могут выражаться в нарушении работы программ, выводе на экран посторонних сообщений или изображений, порче записей, файлов, дисков, замедлении работы ЭВМ и др. Классификация компьютерных вирусов. По СРЕДЕ ОБИТАНИЯ вирусы можно разделить на: Файловые вирусы заражают выполняемые файлы, либо создают файлы-двойники (компаньон- вирусы), либо используют особенности организации файловой системы (link-вирусы). Загрузочные вирусы заражают загрузочные сектора дисков, либо главную загрузочную запись. Макро-вирусы - разновидность файловых вирусов встраивающиеся в документы и электронные таблицы популярных редакторов. Сетевые вирусы используют для своего распространения протоколы или команды компьютерных сетей и электронной почты. Заражаемая ОПЕРАЦИОННАЯ СИСТЕМА (вернее, ОС, объекты которой подвержены заражению) является вторым уровнем деления вирусов на классы. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких OS - DOS, Windows, и т.д. Макро-вирусы заражают файлы форматов Word, Excel. Среди ОСОБЕННОСТЕЙ АЛГОРИТМА РАБОТЫ вирусов выделяются следующие пункты: резидентность; использование стелс-алгоритмов; самошифрование и полиморфичность; использование нестандартных приемов. РЕЗИДЕНТНЫЙ вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки операционной системы. Использование СТЕЛС - алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс -алгоритмом является перехват запросов OC на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. САМОШИФРОВАНИЕ и ПОЛИМОРФИЧНОСТЬ используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфик - вирусы - это достаточно трудно обнаружимые вирусы, не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик - вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика. По ДЕСТРУКТИВНЫМ ВОЗМОЖНОСТЯМ вирусы можно разделить на: безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения); неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и пр. эффектами; опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера; очень опасные, в алгоритм работы которых заведомо заложены процедуры, которые могут привести к потере программ, уничтожить данные, стереть необходимую для работы компьютера информацию. Антивирусные программы предназначены для предотвращения заражения компьютера вирусом и ликвидации последствий заражения. Различают следующие антивирусные программы:- сторожа или детекторы – предназначены для обнаружения файлов зараженных известными вирусами, или признаков указывающих на возможность заражения.- доктора – предназначены для обнаружения и устранения известных им вирусов, удаляя их из тела программы и возвращая ее в исходное состояние;- ревизоры – они контролируют уязвимые и поэтому наиболее атакуемые компоненты компьютера, запоминают состояние служебных областей и файлов, а в случае обнаружения изменений сообщают пользователю.- резидентные мониторы или фильтры – постоянно находятся в памяти компьютера для обнаружения попыток выполнить несанкционированные действия. В случае обнаружения подозрительного действия выводят запрос пользователю на подтверждение операций. - вакцины – имитируют заражение файлов вирусами. Вирус будет воспринимать их зараженными и не будет внедряться.Определенным недостатком всех антивирусных пакетов является то, что они сильно загружают систему при работе.
|