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

шпора

.doc
Скачиваний:
64
Добавлен:
22.02.2015
Размер:
1.61 Mб
Скачать

37. Операционные системы. Структура и функции. Работа с файловой системой и оперативной памятью.

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

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

Структура и состав ОС:

  • Ядро - часть ОС, выполняющееся при максимальном уровне привилегий. Как правило, в ядро помещаются процедуры, выполняющие манипуляции с основными ресурсами системы и уровнями привилегий процессов, а также критичные процедуры.

  • Базовая система ввода-вывода (БСВВ, BIOS) - набор программных средств, обеспечивающих взаимодействие ОС и приложений с аппаратными средствами. Обычно БСВВ представляет набор компонент — драйверов. Также в БСВВ входит уровень аппаратных абстракций, минимальный набор аппаратно-зависимых процедур ввода-вывода, необходимый для запуска и функционирования ОС.

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

  • Сервисные программы - пакет приложений, включённый в состав ОС, реализующий множество полезных функций.

Функции операционных систем

  • Загрузка приложений в оперативную память и их выполнение;

  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода);

  • Управление оперативной памятью (распределение между процессами, виртуальная память);

  • Управление доступом к данным на энергонезависимых носителях (таких как Жёсткий диск, Компакт-диск и т. д.), как правило, с помощью файловой системы;

  • Пользовательский интерфейс;

  • Сетевые операции, поддержка стека протоколов

Дополнительные функции:

  • Параллельное (точнее, псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач.

  • Взаимодействие между процессами: обмен данными, взаимная синхронизация;

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

  • Распределение ресурсов компьютера между задачами.

  • Взаимодействие пользовательских программ с нестандартными внешними устройствами.

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

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

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

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

38. Управление ресурсами. Команды операционной системы.

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

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

Управление ресурсами. Команды операционной системы

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

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

  • однозадачные (например, MS-DOS, MSX) и

  • многозадачные (OC EC, OS/2, UNIX, Windows 95). Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.

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

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

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

  • не вытесняющая многозадачность (NetWare, Windows 3.x);

  • вытесняющая многозадачность (Windows NT, OS/2, UNIX). При не вытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.

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

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

планирование и переключение процессов;

управление памятью;

обработку прерываний;

низкоуровневую поддержку устройств (через драйверы);

управление дисками и буферизация данных;

синхронизацию процессов и обеспечение средств межпроцессного взаимодействия (IPC).

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

создание и прекращение процессов;

реализацию операций ввода-вывода;

доступ к файлам и дискам;

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

39. Языки программирования. Интерпретаторы и компиляторы

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

Если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, – языком низкого уровня.

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

Машинно–ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).

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

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

Программу, написанную на языке программирования высокого уровня, ЭВМ не понимает, поскольку ей доступен только машинный язык. Поэтому для перевода программы с языка программирования на язык машинных кодов используют специальные программы – трансляторы. Существует три вида транслятора: Компилятор читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Интерпретатор переводит и выполняет программу строка за строкой.

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

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

Языки программирования также можно разделять на поколения:

языки первого поколения: машинно–ориентированные с ручным управлением памяти на компьютерах первого поколения.

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

языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль.

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

языки программирования пятого поколения: языки декларативные, объектно–ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.

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

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

Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.

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

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

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

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

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

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

-текстовый редактор для ввода и корректировки текста программы (кода);

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

-компоновщик (редактор связей);

-отладчик (служит для выявления ошибок в программе);'

-набор служебных библиотек;

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

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

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

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

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

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

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

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

-языки запросов высокого уровня;

-генераторы приложений, отчетов и др.

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

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

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

Примеры пакетов интегрированных инструментальных сред: Turbo Pascal, Turbo C++ (Borland Inc.), а также Quick BASIC, Quick Pascal (Microsoft Corp.) и многие другие.

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

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

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

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

  • редакторы: текстовые (Word, WordPad) и графические (CorelDraw,PhotoShop);

  • электронные таблицы (Excel, Lotus 1-2-3);

  • системы управления базами данных (Access, Oracle);

  • средства подготовки презентаций (PowerPoint);

  • системы автоматизации проектирования (AutoCad); и др

Классификация прикладного программного обеспечения

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

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

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

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

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

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

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

  • Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного («Железо») и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design — CAD), автоматизированное проектирование (computer aided engineering — CAE), редактирование и компилирование языков программирования.

42. Автоматизированное рабочее место (АРМ) — программно-технический комплекс, предназначенный для автоматизации какой-либо деятельности. При разработке АРМ для управления технологическим оборудованием как правило используют SCADA-системы. АРМ объединяет программно-аппаратные средства, обеспечивающие взаимодействие человека с компьютером, предоставляет возможность ввода информации (через клавиатуру, компьютерную мышь, сканер и пр.) и её вывод на экран монитора, принтер, графопостроитель, звуковую карту — динамики или иные устройства вывода. Как правило, АРМ является частью АСУ.SCADA— система диспетчерского контроля и сбора данных. Основные задачи, решаемые SCADA-системами:

  • Обмен данными с УСО (устройства связи с объектом, то есть с промышленными контроллерами и платами ввода/вывода) в реальном времени через драйверы.

  • Обработка информации в реальном времени.

  • Отображение информации на экране монитора в понятной для человека форме

  • Ведение базы данных реального времени с технологической информацией.

  • Аварийная сигнализация и управление тревожными сообщениями.

  • Подготовка и генерирование отчетов о ходе технологического процесса.

  • Осуществление сетевого взаимодействия между SCADA ПК.

  • Обеспечение связи с внешними приложениями (СУБД, электронные таблицы, текстовые процессоры и т. д.).

43. Инструментальные пакеты для решения математических задач на ЭВМ.

Выделяют следующие классы инструментальных пакетов компьютерной математики:

  • системы численных расчетов.

  • табличные процессоры

  • матричные системы (MatLab).

  • системы для статистических расчетов (SPSS Statistica).

  • системы для специальных расчетов.

  • системы для аналитических расчетов (компьютерной алгебры Derive).

  • универсальные системы (MathCad, Mathematica)

Структура математических инструментальных пакетов.

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

  • Интерфейс – позволяет пользователям обращаться к ядру с запросами и получать результат решения на экране, позволяет редактировать библиотечные модули и пакеты расширения системы.

  • Библиотеки – более редкие процедуры и функции, которые отсутствуют в ядре. Некоторые системы позволяют модернизировать библиотеки.

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

  • Справочная система предназначена для получения оперативных справок по вопросам работы с системой и примерами.

MathCad: назначение и достоинства: Научное и высшее образование. Хороший интерфейс пользователя. Хорошая графика. Ввод данных с помощью палитры математических знаков.

44. Компьютерные вирусы и методы борьбы с ними

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

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

По СРЕДЕ ОБИТАНИЯ вирусы можно разделить на:

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

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

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

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

Заражаемая ОПЕРАЦИОННАЯ СИСТЕМА (вернее, ОС, объекты которой подвержены заражению) является вторым уровнем деления вирусов на классы. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких OS - DOS, Windows, и т.д. Макро-вирусы заражают файлы форматов Word, Excel.

Среди ОСОБЕННОСТЕЙ АЛГОРИТМА РАБОТЫ вирусов выделяются следующие пункты: резидентность; использование стелс-алгоритмов; самошифрование и полиморфичность; использование нестандартных приемов.

РЕЗИДЕНТНЫЙ вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки операционной системы.

Использование СТЕЛС - алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс -алгоритмом является перехват запросов OC на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. САМОШИФРОВАНИЕ и ПОЛИМОРФИЧНОСТЬ используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфик - вирусы - это достаточно трудно обнаружимые вирусы, не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик - вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.

По ДЕСТРУКТИВНЫМ ВОЗМОЖНОСТЯМ вирусы можно разделить на: безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения); неопасные, влияние которых ограничивается уменьшением свободной памяти на диске и графическими, звуковыми и пр. эффектами; опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера; очень опасные, в алгоритм работы которых заведомо заложены процедуры, которые могут привести к потере программ, уничтожить данные, стереть необходимую для работы компьютера информацию.

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

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