ИНФОРМАЦИОННО ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА (ИВС)-это совокупность технических и програмных средств которые предназначены для решения задач связаной с автоматизацией обработки информации. Взаимодействие таких систем с внешним миром осуществляется с помощью датчиков обеспечивающие связь с пользователями или приборами с целью обработки данных и управления. ОС реального времени UNIX поддерживает работу интеллектуальной оболочки.
Основная ф-я информационно вычислительной системы представление услуг для решения традиционных задач: 1Управление инфой (хранение,введение, поиск, организация связей и т.д.)2разработка и отладка программ 3 эксплуатация программ. Можно считать что савокупность таких услуг представляет для пользователя некоторую абстракцию или виртуальную машину в противоположность реальной машине существующей физически. Описание этих услуг и правил конкретного пользователя в этих условиях образует интерфейс
ОС. С развитием технических средств уровень абстракции в окружении ОС (входной язык)повышается. Объекты или операции расмотреные в качестве эл-х для конкретной абстр-й машины реализуется с помощью более сложных операций реальной физической машины. Кроме того пользователи одной и той же ИВС должны иметь возможность общатся с различными абстрактными машинами. Концептуально сист. удобно расм-ть с помощью 2-х ф-й :
1 Ф-ии общие для широкого круга применения, реализуемые системными программами, 2 Ф-ии необ-е для решения конкретных задач (утилиты) реализуемые конкретными программами. При этом в прикладных программах исп-ся возм-ти обращения к системным программам. Рассмотрим иерархическую структуру системы прикладные программы, сист-е прогр-ы, физическая машина Здесь каждый “слой “ использует ресурсы слоя расположенного под ним, и формирует интерфейс для предоставления
. своих ресурсов верхнему слою (автомат настройки). Интерфейс самого верхнего слоя является интерфейсом всей системы. Эта схема описывает декомпозицию системы очень приближенно. Границы между слоями могут быть подвижными динамическими(например, программа разл-я как прикладная может быть включена как системная если она постоянно используется ) .
Некоторые ф-ии представленые в виде сист-й программы могут быть реализованы микропроцессором если это необходимо и оправдано экономией и удобством. Савокупность сист-х программ обычно имеют 2 уровня. Ср-ва и услуги (компиляторы, загрузщики, редакторы, служеб-е програм-ы , компиляторы, системное ПО ), компоненты системного ПО или сама ОС.Жесткой границы здесь нет. ОСНОВНЫЕ Ф-ИИ ОС можно класифицировать по 2-м признакам :
1)Ф-ии реализуемые виртуальными машинами: а)управление инфой (структурирование , обеспечение сохранности, использование имен (виртуальная память),передача данных (ввод/вывод)), б) выполнение(последовательное или паралельное выполнение программ, компоновка прог и т.д.) , в) дополнительные услуги (помощь при отладке, обработка и прерывания аварийных ситуаций, изменение таймера ) .2) Ф-ии контроля и распределения ресурсов : управление физическими ресурсами (выделение оперативной памяти,
внешней памяти, устройств ввода/вывода), распределение и обмен инфой между пользователями , защита от несанкционированого доступа, дополнительные услуги (выдача счетов за использованые ресурсы, сбор статистики, тестирование ) РАЗВИТИЕ ОС. 1-Е ОС имели пошаговое выполнение программ с непосредственным изменением ячеек памяти(асемблеры, компиляторы, отладчики и программы ввода вывода) эти программы созданы с целью выполнения всей последовательности работ ( организация данных и выполнение прикладных программ,
подготовленных заранее и учитывающих переход от одной задачи к непосредственно другой .Основная ф-я ОС этого поколения – управление ресурсами(памятью, процессором, вводом/выводом ). Автоматизация управления позволяло наделить ОС ф-ми защиты от порчи и ошибок. Ограничение времени доступа к процессору чтобы устранить блокирование всей работы(зацикливание в одной проге ), надзор за вводом/выводом, чтобы избежать цикл. обращ переферийных устройств защита зоны памяти
от ошибок пользовательских программ. МУЛЬТИПРОГРАМИРОВАНИЕ И РАЗДЕЛЕНИЕ ВРЕМЕНИ 1)Введение автономных специализированных процессоров для передачи инфы(каналов или устройств обмена ) позволяющие освободить центральный процессор от полного обесп-я ввода/вывода 2) мультипрогр-е связанное с разделением памяти сразу для нескольких работ(Повысило производительность процессора за счет нескольких систем ввода/вывода) 3)
Работа в режиме реального времени восстановила возможность интерактивного общения с машиной , предоставив возможность пользоваться общими услугами. Рассмотрим влияние этих 3-х компонентов на ОС а) буферный ввод/вывод(канал или устройство обмена представляет собой процессор выполняющий автономно(паралельно с обработкой инфы)операции ввода/вывода ) .Ц.П. и каналы имеют доступ к общей информации в памяти. Поэтому одним из важных значений ЦП –скорость обработки, а каналов-скорость передачи.
Мульти програмирование Для обеспечения ввода/вывода память разделена на зону для буфера ввода/вывода и на рабочую зону, при этом задания обрабатываются последовательно,а ввод/вывод и выполнение задания происходит паралельно. Отмечают 2-а случая: а)Если во время выполнения задания необходимо прочесть нужные данные, то во время чтения ЦП находится в пассивном состоянии, б) выполнение короткого задания поставленого во время выполнения длинного задания отключается до выполнения последнего.
Из этих замечаний вытекают режимы работы ОС:а)Задание ожидает выполнение (может использовать ЦП который освобожден другим заданием), б)выделеное ЦП задание может быть прервано если превышаются ограничения по времени. Достоинства и недостатки Мульти програмирования: а) сложность систем с МП явл. более сложной т.к обеспечивает разделение памяти и взаимную защиту программ друг от друга б)
технические характеристики-МП требует специальные устройства для перемещения програм и защиты памяти в) использование ресурсов : более равномерно загружаются ресурсы (ЦП,память,устройства ввода/вывода). Удобства для пользователя: Уменьшается время обработки коротких заданий в общей последовательности работ. Время реакции ОС минимальна за счет оптимального распределения лишних ресурсов. Система с распределением времени Основная ф-я предоставить каждому пользователю эквивалент индивидуальной
машины и одновременно сохранять возможность пользоваться общими услугами. Система должна гарантировать доступное время ответа, за счет представления процессору программы на короткие промежутки времени(кванты). МЕХАНИЗМЫ ВЫПОЛНЕНИЯ ПРОГРАММ Процедуры, активность и контекст. Посл-я программа состоит из савокупности процедур обращающихся друг к другу. С каждой из этих процедур связана отдельная- сегмент процедура.
Сегмент данных может относится как к одной процедуре так ик нескольким. Активным состоянием называется процесс непрерывного выполнения одной процедуры . Таким образом выполнение послед. проги состоит из ряда активных состояний. Контекстом активности-наз та часть инфы которая доступна ЦП во время данного активного состояния. Этот контекст таким образом контекст
ЦП (програмные и внутренние регистры) и контекст памяти. Сегмент процедуры и сегменты данных. Переход от одной активности к другой реализуются с помощью спец инструкций-вызова из процедуры и возв-т из пр-ры который производит замену контекста. Вызов и возврат процедурыПроцедура R (вызыв-я) вызывает процедуру У с помощью последовательности действий вызов. Которая включает следующие этапы: а)
Подготовка параметров передаваемых из R в У, б)сохранение части контекста R до возврата из У, в)замена контекста R на контекст У. ФУНКЦИОНИРОВАНИЕ СОПРОГРАММ В случае управления сопрограммами вызывающая и вызываемая процедура играют симметричные роли (последовательность возврата идентична последовательности вызова). Активное состояние возникшее при вызове R получает в качестве исходного тот контекст который сохранился
со времени последнего вызова процедуры R. Последовательность замены вкл следующие этапы а) подготовка парам-в из R вУ , б)сохранение части контекста R котор-я должна быть использована при последующих возобновлениях, в) вост-е контекста хранимого со временем последнего обращения к У. Механизм посл-го выполнения содержащий процедуры или сопрограммы как последовательность активных состояний, соотв-х этим процедурам или сопрограммам и обеспечивающих : а) сохранение и востановление
контекстов при вызове и возврате , б)передача параметров между вызываемой и вызвовшей программой , в) управление рабочими зонами памяти. Процедуры ОС .В качестве исполнительной структуры данных применяется стек выполнения . Возможны различные варианты стеков. Отлича-ся деталями спецификации контекста и его динамическими измененими при вызове и возврате процедуры. Схема выполнения может быть запрограмирована непосредственно на языке асемблера или представлена выполняемой
структурой на обычном языке програмирования. Рассмотренная модель опирается на 2 гипотезы : а) параметры процедуры передаются по значению при возврате из процедур передается последний результат. Б) процедуры могут вызыватся рекурсивно. В вершине стека выполнения , при каждом вызове процедуры создается специальня структура данных, образующая область среды . Стек управляется с помощью 2-х указателей –база и вершина.
БАЗА- указ на базу стека (адреса )среды активной процедуры. Вершина- указ на 1-ю свободную ячейку для создания новой среды. Состояние стека до и после вызова. СХЕМ А .Сре да содержит следующую информацию –сведения об участках хранения и связях (указатель базы+смещение), параметры (n+1 ячейка), локальные переменные и рабочее пространство
процедуры. Операции : а) вызов:1) выделить в стеке зону для среды (ее размер) за исключением рабочего пространства,2) время t:=база ;база:=вершина; вершина:=вершина+размер среды ; 3) сохранить инфу для возврата . Для сохранения используется: предыдущая база := ВРЕМЯ; размещение адреса возврата; 4)размещение параметров 5)выполнить переход к вызываемой процедуре. б) Процедура возврата: 1) Разместить результат в предусмотреных ячейках,2)востановить инфу возврата
и очистить среду . Время(t):=адрес возврата; Вершина:=адрес база;База:= предыдущая база. 3)возврат реализует процедура— произведение переход навремя. Состояние процессора. К регистрам определяющим состояние ЦП относятся: адресуемые регистры, управляемые программами,специализ-е регистры, предназначеные для некоторой синтаксической инфы(синтетической)-слово
Инфа содержащаяся в слове сост проц-ра характеризует следующие : состояние выполнения (активное или ожидание),режим (распоредителя или исполнителя), маски прерывания,информация о доступном контексте в памяти ЭВМ и соотве-х правах доступа (таблица сегментов , указатели защиты памяти), инфа о текущем активном состоянии (условный код, порядковый счетчик). Прерывания-представляют собой перестановку контекста процессора вызываемую внешними по отношению к выпол-ю инструкцией причиной.
Физически прервания представляются сигналом о прерывание работы посылаемой не посредственно процессору этот сигнал вызывает изменение состояние указателя проверяемого в ходе выполнения каждой инструкции. Этот сигнал может послать другой процессор, внешнее устройство, ввода/вывода или пользователь . Прерывания вынуждают процессор приостановить в ближайшей точке прерывания выполнение текущей проги и приступить к выполнению другой спец программы . Эта прога наз обработчиком прерываний.
Общая СХЕМА программы прерывания: Прерваная прога —обработчик прерыванийсохранение контекста проги обработка прерываний программы вост-е программыпереход к новой проге . Захваты и обращение к супервизору. Вызываются причинами связаными с ходом выполнения инструкции. Захват сигнализирует ОС об аномалии при выполнении инструкций.
Причины- неправильные данные приводящие к нарушению правил хода выполнения инструкции, попытка выполнения операции запрещеной защищающим устройством, невыполняемая инструкция (адресс вне поля памяти, обращение к несущему устройству) . КРАТКИЙ ОБЗОР ОС. ОС в большой степени опрелеляет представления пользователя об ЭВМ, чем аппаратура ЭВМ. ОС- набор пограмм, обеспечивающих возможность использования аппаратуры компьютера. Любая ОС реализует множество различных ф-ий. Определяет интерфейс пользователя , обеспечивает разделение
аппаратных ресурсов между пользователями, дает возможность работать с общими данными в режиме колективного пользования, планирует доступ пользователя к ресурсам, обеспечивет эффективное использование операций ввода/вывода , осуществляет востановление инфы и вычисление процесса в случае сбоев и ошибок. ОС управляет : процессорами, памятью ,устройствами ввода/вывода ,и данными. ОС взаимодействует с пользователем , системными прикладными программами ,программами и
АППАратными средствами. ПОКОЛЕНИЯ ОС . 1)нулевое поколение(40г.) в 1-х ЭВМ ОС не было. Пользователи имели полный доступ к машинному языку и все проги писались в исходных кодах. 2)1-е поколение (50-е г.) Ос 50-х годов были разработаны с целью ускорения и упрощения перехода с задачи на задачу. До создания этих ОС много машинного времени тратилось в промежутках м/у завершением одной проги и началом другой. Это было начало систем пакетной обработки, которые предусматривали объединение
отдельных пакетов в группы 3) 2-е поколение начало 60-х годов. Были задуманы как ОС колективного пользования с мульти програмным режимом работы и как 1-е системы мультипроцессорного типа.В этих ОС несколько полезных программ одновременно находится в основной памяти компьютера ,а центральный процессор переключается от задачи к задаче. Появляются методы обеспечивающие независимое програмирование от внешних устройств.
Появляются сист с разделением времени ,которые позволяли пользователю взаимодействовать с компьютором при помощи пультов терминалов. В системе разде-го вр-ни работающих в диалоговом режиме. Появл-ся 1-е системы реального времени. 4) 3-е поколение (середина 60-х до70-х) Многорежимные системы. Некоторые из этих ОС осуществ-т работу в нескольких извесных режимах-пакетная обработка, разделение времени, Real Time ,мультипроцессорный режим .
Минус -они были громозкими и дорогостоящими. Привели к сильному усложнению вычислительной установки. 5) 4-е поколение (середина 80-х до 90-х ) наиболее совершенные системы настоящего времени. Интернет технология, глобальные и локальные сети, технология удаленого доступа при помощи различных терминалов различных ОС, появление микропроцессора. Усложнились проблемы защиты инфы(хакерство). Появились виртуальные машины с распр-ми
БД. АППАРАТУРА, ПО, МИКРОПРОГРАММЫ. Расслоение памяти или interliving этот метод применяется для увеличения скорости доступа к основной памяти в реальной ситуации. При обращении хотя бы к одной из ячеек памяти ни каких операций с памятью производить нельзя. При интерливинде соседние по адресам ячейки размещены в различных модулях памяти. Появляется возможность паралельной работы с памятью.
Регистр перемещения обеспечивает возможность динамического перемещения программ в памяти. В этот регистр заносится базовый адресс проги хранящейся в основной памяти. После обращения к регистру , содержимое регистра+ каждому указ в вып-ой прог-ме адресу(база +смещение). Прерывание и опрос состояния. Одним из способов позволяющих некоторому устройству проверить состояние другого устройства которое работает часто независимо называется элементарный опрос этого устройства
(опрос ячеек памяти).1-е устройство может периодически проверяет находится ли второе устройство в определенном состоянии и если нет то продолжать свою работу. Состояние устройства работа которого прерывается должно быть сохранено только после этого производится обработка прерывания . БУФЕРИЗАЦИЯ. БУФЕР- область основной памяти предназначеной для промежуточного хранения данных при выполнении операций ввода/вывода . Скорость выполнения операций ввода/вывода зависит от многих факторов: главная
-характеристика устройства вв/в. Различают простую и 2-ю буферизацию. При простой канал помещает данные в буфер . Процессор обрабатывает эти данные . Последовательный процесс обработки. Метод 2-й буферизации позволяет совмещать операцию ввода/вывода с обработкой данных. Когда канал заносит данные в один буфер процессор может обрабатывать данные другого буфера. Защита памяти. Очень важна –условие для нормальной работы многоабоненских вычислительных систем
колективного пользования. Защита памяти ограничивает диапазон адресов в котором разрешены обращ к проге. Защиту памяти для проги занимающей непрерывный блок ячеик памяти можно реализовать при помощи граничных регистров где указываются старшие и младшие адреса этого блока памяти. Защиту памяти можно реализовать с помощью ключевой защиты памяти . Чаще делают 2-м ключом: программным и аппаратным.
Захват цикла. Узкое место где может возникнуть конфликтная ситуация м/у каналами ЦП -это доступ к основной памяти. В каждый конкретный момент времени может происходить одна операция обращения к некоторому модулю основной памяти, тк каналу и процессору одновременно может потребоватся обращение к основной памяти , а в этом случае приоритет представляется каналам. Этот процесс наз-ся захватом цикла памяти, в процессе которого канал активно захватывает цикл обращения
у процессора. Все современные ОС без исключения с их основными компонентами и планировщиками отдают предпочтение прогам с большим обьемом инфы ввода/вывода по отношению к прогам с большим объемом вычисления. Режим задачи,супервизора,приоритетные команды. В вычислительных машинах предусматриваются несколько режимов работы: динамический выбор режима позволяет лучшим образом организовать защиту прог и данных . В обычном режиме работающая прога может выполнить только некоторое подмножество команд.
Так программам пользователя неразрешаются все операции ввода/вывода т.к он мог бы вывести главный список паролей системы, или инфу любого другого пользователя. ОС присваивается статус высшего приоритета и она как правило работает в режиме супервизора имеющая доступ ко всем командам машины. Для большинства современных ЭВМ этого разделения на 2 режима вполне достаточно.
Однако в случае машин с высокими требованиями по защите от несанкционированного доступа желательно иметь более двух режимов работы. За счет этого можно увеличить степень защиты на программном уровне . Можно обеспечить доступ где каждому пользователю предоставляется минимальный приоритет права доступа к тем ресурсам которые нужны для решения его задач . В процессе развития компьютерных архитектур выявились тенденции к увеличению приоритетных команд которые
не могут выполнятся в режиме задач. Виртуальная память. Сист. виртуальной памяти дают возможность указать в прогах адреса которым не обязательно соответствовать физическим адресам основной памяти. Виртуальные адреса выдаваемые работающими прогами при помощи аппаратных ср-в динамически выполняются, преобразуются в адреса команд и данные, хранящиеся в основной памяти. Сист вирт памяти позволяют прогам работать с адресными пространствами гораздо большого размера , чем
адр-е пространство основной памяти . Их основное достоинство они позволяют созд-ть программы независимо от ограничений основной памяти. В сист виртуальной памяти применяются также методы :страничная огрганизацияя и сегментация. В первом случае предусматривается обмен м/у основной и внешней памятью, блоками данных фиксированного размера. Во втором случае проги и данные разделяются на логические компоненты- сегменты. Мультипроцессорная обработка : в мульти процессорных машинах несколько процессоров одновременно работают
с общим полем памяти и одной ОС. При мультипроцессорной работе возможно возникновение конфликтов(которых в принципе не бывает в однопроцесорных). Необходимо обеспечить упорядоченный доступ к каждой общей ячейки памяти так чтобы 2 и более процессоров не могли одновременно изменять ее содержимое. Это необходимо в тех случаях, когда один процессор пытается изменить содержимого ячейки котор. хочет прочитать другой процессор. Прямой доступ к памяти.
Одним из способов достижения высокой производительности ЭВМ является минимизация количества прерываний происходящих в процессе выполнения программы. Существующий для этого ПДП требует лишь одного прерывания на каждый блок символов, передаваемых во время операций ввода/вывода. Благодаря этому обмен данными осуществляется значительно быстрее чем в случае когда процессор прерывается при передаче одного символа.
После начала операций ввода/вывода символы передаются в основную память по принципу захвата канала цикла (канал захватывает шину связи процессора с основной памятью на короткое время передачи одного символа после чего процессор продолжает работу). Когда внешнее устройство готово к передаче блока оно “прерывает” процессор. В случае ПДП состояние проца запоминать не требуется. ПДП – способ повышения производительности в системах с большим объемом операций ввода/вывода.
Конвейризация- апаратный способ, применяемый в высоко производительных машинах с целью использования опрделенных типов обработки* команд паралельно для повышения эфективности. Структура конвеерного примера можно представить как технологическую линию производства предприятия ** тех процес. На конвеере процессора на различных стадиях выполнения одновременно могут находится несколько команд. Иерархия памяти- Современные ЭВМ содержат несколько видов памяти: основная, внешняя,
КЕШ память .В основной памяти должны размещатся команды и данные к которым будет обращатся работающая программа. ЭМУЛЯЦИЯ-метод позволяющий сделать одну вычислительную машину функционально эквивалентной другой. Набор команд машинного языка эмулируемого компа микропрограмируется на эмулирующем компе благодаря этому программы представленные на языке 1-го компа могут выполнятся на 2-м без ограничений.Современные фирмы широко используют эмуляцию для своих продвинутых приложений
УПРАВЛЕНИЕ ПРОЦЕССАМИ- под процессом понимается прога в стадии выполнения, ассинхронная работа , которой выделяет процессоры диспетчируюмый модуль. Говорят что процесс выполняется если ему в данный времени выделяется процессор. Процесс находится в состоянии готовности если он может сразу использовать центральный процессор. Заблокированным если он находится в состоянии ожидания . В одно процессорной машине в каждый момент времени может реально выполнятся только один процесс , в
состоянии готовности могут находится несколько процессов. Благодаря этому можно создать список готовых к выполнению процессов который упорядочевается по приоритету. Так что ЦП выполняетт самый приоритетный процесс. Список заблокированых процессов не упорядочен. Разблокировка в порядке той очереди как они заблокированы. Когда в систему поступает некоторое задание она создает соответствующий процесс который затем устанавливается
в конец списка готовых процессов этот процесс постепенно продвигается к главной части списка по мере завершения выполнения предыдущих процессов. Когда процесс оказывается первым и когда освобождается ЦП то говорят что происходит смена состояния процессора . Который в свою очередь переходит в состояние выполнения. ГОТОВНОСТЬ –запускПЕРЕХОД В ФАЗУ ВЫПОЛНЕНИЯ –-блокировка
БЛОКИРОВАНИЕ –пробуждениеПРИОСТАНОВКА* ГОТОВНОТЬ –возобновление процессаГОТОВНОСТЬ . Предоставление ЦП первому процессу списка готовых процессов называется запуском. Или выбором процесса для выполнения (это производится системной программой диспетчером). Ос в таймере прерываний определяет временной интервал (квант времени) в течении которого данному процессу
пользователя разрешается занимать центральный процессор. Если процесс не освобождает ЦП до указанного времени то таймер вырабатывает сигнал прерывания по которому управление будет передано ОС. Представителем процессов в ОС явл-ся блок управления процессом(БУП). Это структура данных содержащая следующую инфу- текущее состояние процессора , уникальный идентификатор процесса, приоритет процесса, указатели памяти процесса, указатели
выделеных процессу ресурсов, область сохранения регистров. ОПЕРАЦИИ НАД ПРОЦЕССАМИ. 1) СОЗДАНИЕ ПРОЦЕССА, 2) уничтожение процесса, 3) возобновление процесса, 4) изменение приоритета процесса ,5) блокирование процесса, 6)пробуждение процесса, 7)запуск (выбор) процесса. В процессе создания процесса осуществляется мног мелких операций: присвоение имени процессу , включение
этого имени в список имен процессов, определение начального приоритета процесса , формирование блока управления процессом, выделение процессу начальных ресурсов. ЯДРО ОС. Все операции связанные с процессами выполняются под управлением той части ОС которая называется ее ядром ОС. Ядро представляет собой лишь небольшую часть кода ОС в целом , но она относится к числу наиболее интенсивно используемых компонентов системы.
По этой причине оно резидентно находится в памяти . В то время как другие части ОС подкачиваются к ядру по мере необходимости. Ф-ИИ ЯДРА ОС 1)обработка фпрерываний ,2)создание и уничтожение процессов, 3) переключение процесса из состояния в состояние, 4)диспетчирование , 5) приостановка и активизация процессов,
6)синхронизация процессов, 7)организация взаимодействия м/у процессами, 8)манипулирование блоками управления процессами, 9) поддержка операций ввода/вывода, 10) поддержка распределения и перераспределения памяти, 11)поддержка механизма вызова/возврата при обращении к процессам, 12)поддержка определенных ф-ий по ведению учетной работы машины(сбор статистики).
ОПЕРАЦИОННЫЕ СИСТЕМЫ. MS-DOS. Созд. В 1981г. Microsoft по заказу IBM. 1-ая версия-однопользовательская, однозадачная.Цель-поддержание раб. С дискетами, клавиатурой, дисплеем.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |