Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_zachet_SISPO2011.docx
Скачиваний:
1
Добавлен:
29.04.2019
Размер:
134.36 Кб
Скачать

Определение системного программного обеспечения. Функции, выполняемые операционной системой. Назначение СУФ. Компоненты системы программирования.

Вычислительный процесс и вычислительный ресурс. Классификация вычислительных ресурсов. Особенности мультипрограммного режима работы вычислительной системы (привести схему)

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

Процессы и треды. Рекомендации эффективного использования тредов. Что такое критическая секция вычислительного процесса? Какие способы решения проблем входа в критические секции?

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

Требования к критическим секциям при решении проблем параллельного программирования (6 пунктов)

Что такое аппаратное прерывание вычислительной системы? Что включает в себя процесс установления факта прерывания (7 этапов)

Регистры процессора. Пример инициализации переменных в assembler . Нарисуйте и поясните схему обработки прерывания работы процессора. Виды прерываний

основные возможности NTFS (5 пунктов) Опишите атрибуты файлов в системе NTFS. Каково ограничение на максимальный размер тома? Назначение и особенности MFT. Виды прав доступа к файлам и папкам.

Внешние и внутренние прерывания, примеры. Назначение API и его направления. Определение ЦВС

Критерии оценки возможностей API-приложений. Реализация функций API на уровне ОС и с помощью внешних библиотек

Платформенно-независимый интерфейс POSIX. Определение, назначение. Схема взаимодействия с операционной системой. Семафорные примитивы (пояснить на примере базовых операций)

Мьютексы. Мониторы Хоара. Определение, назначение, особенности

Почтовые ящики. Определение, назначение, особенности. Достоинства и недостатки.

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

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

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

Определение сортировки данных. Виды сортировок, критерий оценки эффективности. Привести пример реализации сортировки, реализованной в рамках ЛР1 (Delphi)

Указатели. Действия для создания элемента списка. Пример обхода и удаления списка на языке Delphi. Привести алгоритм работы программы, реализованной в рамках выполнения ЛР2

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

1 Основными функциями, которые выполняют ОС, являются следующие:

♦ приѐм от пользователя (или от оператора системы) заданий или команд, сформулированных на соответствующем языке – в виде директив (команд) оператора или в виде указаний (своеобразных команд) с помощью соответствующего манипулятора (например, с помощью «мыши»), – и их обработка;

♦ приѐм исполнение программных запросов на запуск, приостановку, остановку других программ;

♦ загрузка в оперативную память подлежащих исполнению программ;

♦ инициация программы (передача ей управления, в результате чего процессор исполняет программу);

♦ идентификация всех программ и данных;

♦ обеспечение работы систем управления файлами (СУФ) и/или системы управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения;

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

♦ обеспечение функций по организации и управлению всеми операциями ввода/вывода;

♦ удовлетворение жѐстким ограничениям на время ответа в режиме реального

времени (характерно для соответствующих ОС);

♦ распределение памяти, а в большинстве современных систем и организация

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

♦ организация механизмов обмена сообщениями и данными между выполняющимися программами;

♦ защита одной программы от влияния другой; обеспечение сохранности данных;

♦ предоставле

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

2 НазначениеНазначение системы управления файлами – организация более удобного доступа к данным, организованным как файлы. Именно благодаря системе управления файлами вместо низкоуровневого доступа к данным с указанием конкретных физических адресов нужной нам записи используется логический доступ с указанием имени файла и записи в нѐм. Как правило, все современные ОС имеют соответствующие системы управления файлами. Однако выделение этого вида системного программного обеспечения в отдельную категорию представляется целесообразным, поскольку ряд ОС позволяет работать с несколькими файловыми системами (либо с одной из нескольких, либо сразу с несколькими одновременно). В этом случае говорят о монтируемых файловых системах (дополнительную систему управления файлами можно установить), и в этом смысле они самостоятельны. термин операционная среда означает соответствующий интерфейс, необходимый программам для обращения к ОС с целью получить определѐнный сервис (обслуживание, выполнение соответствующего запроса) – выполнить операцию ввода/вывода, получить или освободить участок памяти и т. д.

2 Понятия вычислительного процесса и Ресурса

Понятие «вычислительный процесс» (или просто – «процесс») является одним из основных при рассмотрении операционных систем. Последовательный процесс (иногда называемый «задачей») – это выполнение отдельной программы с еѐ данными на последовательном процессоре. Концептуально процессор рассматривается в двух аспектах: во-первых, он является носителем данных и, во-вторых, он (одновременно) выполняет операции, связанные с их обработкой.

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

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

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

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

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

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

он свободен и в системе нет запросов от задач более высокого приоритета к этому же ресурсу;

текущий запрос и ранее выданные запросы допускают совместное использование ресурсов;

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

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

С этой целью на каждый процесс заводится специальная 7

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

идентификатор процесса (так называемый PID – process identificator);

♦еляет для супервизора некоторые правила предоставления ресурсов;

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

переменную состояния, которая определяет, в каком состоянии находится процесс (готов к работе, в состоянии выполнения, ожидание устройства ввода/вывода и т. д.);

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

♦информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершенных операциях ввода/вывода и т. п.);

место (или его адрес) для организации общения с другими процессами;

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

в случае отсутствия системы управления файлами – адрес задачи на диске в еѐ исходном состоянии и адрес на диске, куда она выгружается из оперативной памяти, если еѐ вытесняет другая (для диск-резидентных задач, которые постоянно находятся во внешней памяти на системном

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