Какие из перечисленных функций базовой подсистемы ввода вывода могут быть делегированы драйверам
Прежде чем приступить к непосредственному изложению самих алгоритмов, давайте вспомним внутреннее устройство жесткого диска и определим, какие параметры запросов мы можем использовать для планирования.
Строение жесткого диска и параметры планирования
Современный жесткий магнитный диск представляет собой набор круглых пластин, находящихся на одной оси и покрытых с одной или двух сторон специальным магнитным слоем (см. рис. 13.2). Около каждой рабочей поверхности каждой пластины расположены магнитные головки для чтения и записи информации. Эти головки присоединены к специальному рычагу, который может перемещать весь блок головок над поверхностями пластин как единое целое. Поверхности пластин разделены на концентрические кольца, внутри которых, собственно, и может храниться информация. Набор концентрических колец на всех пластинах для одного положения головок (т. е. все кольца, равноудаленные от оси) образует цилиндр. Каждое кольцо внутри цилиндра получило название дорожки (по одной или две дорожки на каждую пластину). Все дорожки делятся на равное число секторов. Количество дорожек, цилиндров и секторов может варьироваться от одного жесткого диска к другому в достаточно широких пределах. Как правило, сектор является минимальным объемом информации, которая может быть прочитана с диска за один раз.
При работе диска набор пластин вращается вокруг своей оси с высокой скоростью, подставляя по очереди под головки соответствующих дорожек все их сектора. Номер сектора, номер дорожки и номер цилиндра однозначно определяют положение данных на жестком диске и, наряду с типом совершаемой операции – чтение или запись, полностью характеризуют часть запроса, связанную с устройством, при обмене информацией в объеме одного сектора.
При планировании использования жесткого диска естественным параметром планирования является время, которое потребуется для выполнения очередного запроса. Время, необходимое для чтения или записи определенного сектора на определенной дорожке определенного цилиндра, можно разделить на две составляющие: время обмена информацией между магнитной головкой и компьютером, которое обычно не зависит от положения данных и определяется скоростью их передачи (transfer speed), и время, необходимое для позиционирования головки над заданным сектором, – время позиционирования (positioning time). Время позиционирования, в свою очередь, состоит из времени, необходимого для перемещения головок на нужный цилиндр, – времени поиска (seek time) и времени, которое требуется для того, чтобы нужный сектор довернулся под головку, – задержки на вращение (rotational latency). Времена поиска пропорциональны разнице между номерами цилиндров предыдущего и планируемого запросов, и их легко сравнивать. Задержка на вращение определяется довольно сложными соотношениями между номерами цилиндров и секторов предыдущего и планируемого запросов и скоростями вращения диска и перемещения головок. Без знания соотношения этих скоростей сравнение становится невозможным. Поэтому естественно, что набор параметров планирования сокращается до времени поиска различных запросов, определяемого текущим положением головки и номерами требуемых цилиндров, а разницей в задержках на вращение пренебрегают.
Алгоритм First Come First Served (FCFS)
Простейшим алгоритмом, к которому мы уже должны были привыкнуть, является алгоритм First Come First Served (FCFS) – первым пришел, первым обслужен. Все запросы организуются в очередь FIFO и обслуживаются в порядке поступления. Алгоритм прост в реализации, но может приводить к достаточно длительному общему времени обслуживания запросов. Рассмотрим пример. Пусть у нас на диске из 100 цилиндров (от 0 до 99) есть следующая очередь запросов: 23, 67, 55, 14, 31, 7, 84, 10 и головки в начальный момент находятся на 63-м цилиндре. Тогда положение головок будет меняться следующим образом:
и всего головки переместятся на 329 цилиндров. Неэффективность алгоритма хорошо иллюстрируется двумя последними перемещениями с 7 цилиндра через весь диск на 84 цилиндр и затем опять через весь диск на цилиндр 10. Простая замена порядка двух последних перемещений (7 10 84) позволила бы существенно сократить общее время обслуживания запросов. Поэтому давайте перейдем к рассмотрению другого алгоритма.
Алгоритм Short Seek Time First (SSTF)
Как мы убедились, достаточно разумным является первоочередное обслуживание запросов, данные для которых лежат рядом с текущей позицией головок, а уж затем далеко отстоящих. Алгоритм Short Seek Time First (SSTF) – короткое время поиска первым – как раз и исходит из этой позиции. Для очередного обслуживания будем выбирать запрос, данные для которого лежат наиболее близко к текущему положению магнитных головок. Естественно, что при наличии равноудаленных запросов решение о выборе между ними может приниматься исходя из различных соображений, например по алгоритму FCFS . Для предыдущего примера алгоритм даст такую последовательность положений головок:
и всего головки переместятся на 141 цилиндр. Заметим, что наш алгоритм похож на алгоритм SJF планирования процессов, если за аналог оценки времени очередного CPU burst процесса выбирать расстояние между текущим положением головки и положением, необходимым для удовлетворения запроса. И точно так же, как алгоритм SJF, он может приводить к длительному откладыванию выполнения какого-либо запроса. Необходимо вспомнить, что запросы в очереди могут появляться в любой момент времени. Если у нас все запросы, кроме одного, постоянно группируются в области с большими номерами цилиндров, то этот один запрос может находиться в очереди неопределенно долго.
Точный алгоритм SJF являлся оптимальным для заданного набора процессов с заданными временами CPU burst. Очевидно, что алгоритм SSTF не является оптимальным. Если мы перенесем обслуживание запроса 67-го цилиндра в промежуток между запросами 7-го и 84-го цилиндров, мы уменьшим общее время обслуживания. Это наблюдение приводит нас к идее целого семейства других алгоритмов – алгоритмов сканирования.
Алгоритмы сканирования (SCAN, C-SCAN, LOOK, C-LOOK)
В простейшем из алгоритмов сканирования – SCAN – головки постоянно перемещаются от одного края диска до другого, по ходу дела обслуживая все встречающиеся запросы. По достижении другого края направление движения меняется, и все повторяется снова. Пусть в предыдущем примере в начальный момент времени головки двигаются в направлении уменьшения номеров цилиндров. Тогда мы и получим порядок обслуживания запросов, подсмотренный в конце предыдущего раздела. Последовательность перемещения головок выглядит следующим образом:
и всего головки переместятся на 147 цилиндров.
Если мы знаем, что обслужили последний попутный запрос в направлении движения головок, то мы можем не доходить до края диска, а сразу изменить направление движения на обратное:
и всего головки переместятся на 133 цилиндра. Полученная модификация алгоритма SCAN получила название LOOK .
Допустим, что к моменту изменения направления движения головки в алгоритме SCAN , т. е. когда головка достигла одного из краев диска, у этого края накопилось большое количество новых запросов, на обслуживание которых будет потрачено достаточно много времени (не забываем, что надо не только перемещать головку, но еще и передавать прочитанные данные!). Тогда запросы, относящиеся к другому краю диска и поступившие раньше, будут ждать обслуживания несправедливо долго. Для сокращения времени ожидания запросов применяется другая модификация алгоритма SCAN – циклическое сканирование. Когда головка достигает одного из краев диска, она без чтения попутных запросов (иногда существенно быстрее, чем при выполнении обычного поиска цилиндра) перемещается на другой край, откуда вновь начинает движение в прежнем направлении. Для этого алгоритма, получившего название C-SCAN , последовательность перемещений будет выглядеть так:
По аналогии с алгоритмом LOOK для алгоритма SCAN можно предложить и алгоритм C-LOOK для алгоритма C-SCAN :
Существуют и другие разновидности алгоритмов сканирования, и совсем другие алгоритмы, но мы на этом закончим, ибо было сказано: "И еще раз говорю: никто не обнимет необъятного".
Заключение
Функционирование любой вычислительной системы обычно сводится к выполнению двух видов работы: обработка информации и операции по осуществлению ее ввода-вывода. С точки зрения операционной системы "обработкой информации" являются только операции , совершаемые процессором над данными, находящимися в памяти на уровне иерархии не ниже чем оперативная память . Все остальное относится к "операциям ввода-вывода", т. е. к обмену информацией с внешними устройствами.
Несмотря на все многообразие устройств ввода-вывода, управление их работой и обмен информацией с ними строятся на относительно небольшом количестве принципов. Основными физическими принципами построения системы ввода-вывода являются следующие: возможность использования различных адресных пространств для памяти и устройств ввода-вывода; подключение устройств к системе через порты ввода-вывода , отображаемые в одно из адресных пространств; существование механизма прерывания для извещения процессора о завершении операций ввода-вывода; наличие механизма прямого доступа устройств к памяти , минуя процессор .
Механизм, подобный механизму прерываний , может использоваться также и для обработки исключений и программных прерываний , однако это целиком лежит на совести разработчиков вычислительных систем.
Для построения программной части системы ввода-вывода характерен "слоеный" подход. Для непосредственного взаимодействия с hardware используются драйверы устройств, скрывающие от остальной части операционной системы все особенности их функционирования. Драйверы устройств через жестко определенный интерфейс связаны с базовой подсистемой ввода-вывода , в обязанности которой входят: организация работы блокирующихся , неблокирующихся и асинхронных системных вызовов , буферизация и кэширование входных и выходных данных, осуществление spooling и монопольного захвата внешних устройств, обработка ошибок и прерываний , возникающих при операциях ввода-вывода, планирование последовательности запросов на выполнение этих операций. Доступ к базовой подсистеме ввода-вывода осуществляется посредством системных вызовов.
Часть функций базовой подсистемы может быть делегирована драйверам устройств и самим устройствам ввода-вывода.
Какие из перечисленных механизмов синхронизации могут быть реализованы в вычислительной системе с помощью специальных системных вызовов?
Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения |
---|---|---|
1 | 2 | 4 |
2 | 1 | 3 |
3 | 4 | 5 |
4 | 3 | 2 |
5 | 0 | 9 |
Чему равно среднее время ожидания процесса (waiting time) при использовании вытесняющего алгоритма SJF? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь.
Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения |
---|---|---|
1 | 2 | 4 |
2 | 1 | 3 |
3 | 4 | 5 |
4 | 3 | 2 |
5 | 0 | 9 |
Чему равно среднее время ожидания процесса (waiting time) при использовании вытесняющего алгоритма SJF? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь.
Пусть в вычислительную систему поступают пять процессов различной длительности с разными приоритетами по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения | Приоритет |
---|---|---|---|
1 | 3 | 10 | 1 |
2 | 6 | 4 | 0 |
3 | 0 | 4 | 3 |
4 | 2 | 1 | 4 |
5 | 4 | 3 | 2 |
Чему равно среднее время между стартом процесса и его завершением (turnaround time) при использовании вытесняющего приоритетного планирования? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь. Наивысшим приоритетом является приоритет 0.
Какое из перечисленных условий надежности связи не может быть выполнено со стопроцентной гарантией при выполнении остальных условий?
Правильные ответы выделены зелёным цветом.
Все ответы: Предлагаемый вашему вниманию курс описывает основные принципы построения операционных систем и алгоритмы, используемые в операционных системах без привязки к конкретным операционным системам. Рассматривается место данного курса в общем своде курсов информатики, понятие операционной системы, эволюция вычислительных систем и функции, которые операционные системы стали выполнять в процессе этой эволюции.
В операционных системах, поддерживающих нити исполнения (threads) внутри одного процесса на уровне ядра системы, наряду с блоками управления процессами (PCB) существуют структуры данных для управления нитями - TCB (Thread Control Block). Укажите, какие данные из перечисленных ниже хранятся, по вашему мнению, в TCB.
В вычислительной системе с трехуровневой страничной организацией памяти среднее время доступа процессора к одному данному составляет 180 нс. Частота попаданий в ассоциативную память при обращении к данным (hit ratio) составляет 80%. Оцените время доступа процессора к оперативной памяти, если время обращения к ассоциативной памяти равно 20 нс
(2) к организации реального ввода пакета заданий и вывода результатов на отдельных специализированных ЭВМ
(3) к организации реального ввода пакета заданий и вывода результатов на том же компьютере, который производит вычисления
Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения |
---|---|---|
1 | 2 | 4 |
2 | 1 | 3 |
3 | 4 | 5 |
4 | 3 | 2 |
5 | 0 | 9 |
Чему равно среднее время ожидания процесса (waiting time) при использовании невытесняющего алгоритма SJF? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь.
Какое из условий для организации корректного взаимодействия двух процессов с помощью программного алгоритма выполнено для алгоритма "переменная-замок"?
(1) он снижает влияние процессов друг на друга, так как если одному из процессов не хватает страниц оперативной памяти, он не пытается отобрать нужные ему страницы у другого процесса
Какие из перечисленных алгоритмов представляют собой частные случаи планирования с использованием приоритетов?
Рассмотрим механизм синхронизации, называемый бинарными семафорами. Бинарный семафор — это семафор, который может принимать всего два значения: 0 и 1 . Операция P для этого семафора выглядит так же, как и для семафора Дейкстры, а операция V заключается в простом присваивании семафору значения 1 . Бинарные семафоры
При модернизации некоторой операционной системы, поддерживающей только три состояния процессов: готовность, исполнение, ожидание, принято решение ввести два новых системных вызова. Один из этих вызовов позволяет любому процессу приостановить жизнедеятельность любого другого процесса (кроме самого себя), до тех пор, пока какой-либо процесс не выполнит второй системный вызов. Сколько новых состояний процессов появится в системе?
Сколько процессов могут одновременно использовать одно и то же средство связи, пользуясь симметричной прямой адресацией?
В вычислительной системе моделируется движение самосвалов от карьера к заводу и обратно по дороге со стареньким мостом. Движение по мосту может осуществляться в обоих направлениях, но на нем не может быть одновременно более трех машин, иначе он рухнет. Каждый самосвал представлен программистом процессом следующей структуры:
Semaphore mutex = 1; Semaphore not_full = 0; Shared int n_on_bridge = 0; Процесс i-й самосвал: While (1) < P(mutex); if(n_on_bridge == 3) P(not_full); else n_on_bridge = n_on_bridge+1; V(mutex); P(mutex); if(n_on_bridge == 3) V(not_full); n_on_bridge = n_on_bridge-1; V(mutex); доехать до места назначения> >
Что может произойти в результате такого моделирования?
(1) структура, используемая для отображения логического адресного пространства в физическое при страничной организации памяти
Какие из перечисленных алгоритмов могут быть использованы при вытесняющем кратковременном планировании процессов
(2) к участку процесса, в котором процесс совместно с другими процессами использует разделяемые переменные
(3) к участку процесса, выполнение которого совместно с другими процессами может привести к неоднозначным результатам
Пусть у нас имеется диск с 80 цилиндрами (от 0 до 79). Время перемещения головки между соседними цилиндрами составляет 1мс. Время же перевода головки с 79-го на 0-й цилиндр составляет всего 10 мс. В текущий момент времени головка находится на 45-м цилиндре и двигается в сторону увеличения номеров цилиндров. Сколько времени будет обрабатываться следующая последовательность запросов на чтение цилиндров: 10, 6, 15, 71, 1, 62, для алгоритма SSTF (временами чтения цилиндров и смены направления движения пренебречь)?
Какие операционные системы позволяют взаимодействовать удаленным процессам и имеют сходное строение с автономными вычислительными системами?
Какой уровень эталонной модели OSI/ISO отвечает за создание контрольных точек при общении удаленных процессов?
В чем состоит преимущество схемы виртуальной памяти по сравнению с организацией структур с перекрытием?
Если учет свободного дискового пространства диска размером 1Гб с блоком размером 2К осуществлять при помощи битового вектора, то для хранения этого вектора потребуется:
В операционных системах, поддерживающих нити исполнения (threads) внутри одного процесса на уровне ядра системы, наряду с блоками управления процессами (PCB) существуют структуры данных для управления нитями - TCB (Thread Control Block). Укажите, какие данные из перечисленных ниже хранятся, по вашему мнению, в TCB.
Для некоторого процесса известна следующая строка запросов страниц памяти
7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.
Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц LRU (the Least Recently Used) и трех страничных кадрах?
Под обработкой информации операционная система понимает выполнение команд процессора над данными, лежащими в памяти на уровнях иерархии
(2) система, в памяти которой одновременно находится несколько программ. Когда одна из программ ожидает завершения операции ввода-вывода, другая программа может исполняться
(3) система, в памяти которой находится несколько программ, чье исполнение чередуется по прошествии определенного промежутка времени
Какие из перечисленных алгоритмов могут быть использованы при невытесняющем кратковременном планировании процессов
В вычислительной системе с двухуровневой страничной организацией памяти среднее время доступа процессора к одному данному составляет 185 нс. Частота попаданий в ассоциативную память при обращении к данным (hit ratio) составляет 75%. Оцените время доступа процессора к оперативной памяти, если время обращения к ассоциативной памяти равно 20 нс.
Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения |
---|---|---|
1 | 2 | 4 |
2 | 1 | 3 |
3 | 4 | 5 |
4 | 3 | 2 |
5 | 0 | 9 |
Чему равно среднее время ожидания процесса (waiting time) при использовании вытесняющего алгоритма SJF? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь.
Какие из условий для организации корректного взаимодействия двух процессов с помощью программного алгоритма выполнены для алгоритма «строгое чередование»?
К какому из перечисленных алгоритмов стремится поведение алгоритма RR по мере увеличения кванта времени?
(3) только различные операции над внутренними переменными монитора (как операции над внутренними переменными класса в ООП)
Какие из вариантов реализации системного вызова read могут прочитать меньше байт, чем запросил процесс?
В вычислительной системе со страничной организацией памяти и 32-х битовым адресом размер страницы составляет 8 Mбайт. Для некоторого процесса таблица страниц в этой системе имеет вид:
Номер страницы | Адрес начала страницы |
---|---|
1 | 0x00000000 |
2 | 0x02000000 |
5 | 0x06000000 |
6 | 0x10000000 |
Какому физическому адресу соответствует логический адрес 0х00827432 ?
Основным преимуществом использования таблицы отображения файлов (FAT) по сравнению с классической схемой выделения связным списком является:
При модернизации некоторой операционной системы, поддерживающей только три состояния процессов: готовность, исполнение, ожидание, решено ввести два новых системных вызова. Один из этих вызовов позволяет любому процессу приостановить жизнедеятельность любого другого процесса (кроме самого себя), до тех пор, пока какой-либо процесс не выполнит второй системный вызов. Сколько новых операций над процессами появится в системе?
В вычислительной системе моделируется движение самосвалов от карьера к заводу и обратно по дороге со стареньким мостом. Движение по мосту может осуществляться в обоих направлениях, но на нем не может быть одновременно более трех машин, иначе он рухнет. Каждый самосвал представлен программистом процессом следующей структуры:
Что может произойти в результате такого моделирования?
Пусть у нас имеется диск с 80 цилиндрами (от 0 до 79). Время перемещения головки между соседними цилиндрами составляет 1мс. Время же перевода головки с 79-го на 0-й цилиндр составляет всего 10 мс. В текущий момент времени головка находится на 45-ом цилиндре и двигается в сторону увеличения номеров цилиндров. Сколько времени будет обрабатываться следующая последовательность запросов на чтение цилиндров: 10, 6, 15, 71, 1, 62, для алгоритма C-SCAN (временами чтения цилиндров и смены направления движения пренебречь)?
Какой уровень эталонной модели OSI/ISO отвечает за доставку информации от компьютера-отправителя к компьютеру-получателю?
Для некоторого процесса, запущенного в вычислительной системе со страничной организацией памяти с использованием LRU алгоритма замещения страниц, выделение процессу 4 кадров памяти приводит к 11 page faults, а выделение 6 кадров памяти – к 9 page faults(вначале все кадры свободны). Какой (какие) вариант(ы) количества page faults для того же процесса и того же количества кадров может быть получен при использовании OPT алгоритма замещения страниц?
Предположим, что один из файлов в ОС Unix в директории пользователя 1 символически связан с файлом в каталоге пользователя 2 . Что произойдет, если пользователь 2 удалит файл?
Разделение персонала, связанного с разработкой и эксплуатацией ЭВМ, на разработчиков, специалистов по эксплуатации, операторов и программистов произошло:
Какие из перечисленных алгоритмов допускают неограниченно долгое откладывание выборки одного из готовых процессов на исполнение?
В операционных системах, поддерживающих нити исполнения (threads) внутри одного процесса на уровне ядра системы, процесс находится в состоянии готовность, если:
(2) хотя бы одна нить исполнения находится в состоянии готовность, и нет ни одной нити в состоянии ожидание
(3) хотя бы одна нить процесса находится в состоянии готовность, и нет ни одной нити в состоянии исполнение.
Для некоторого процесса известна следующая строка запросов страниц памяти
7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.
Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц OPT (оптимальный алгоритм) и трех страничных кадрах?
Сигналы на какой шине определяют в порт ввода-вывода или в оперативную память будет передана информация из процессора?
В вычислительной системе с трехуровневой страничной организацией памяти время доступа процессора к оперативной памяти составляет 120 нс. Среднее время доступа процессора к одному данному составляет 167 нс. Оцените, частоту попаданий в ассоциативную память при обращении к данным (hit ratio), если время обращения к ассоциативной памяти равно 20 нс.
(3) управляют устройствами ввода-вывода, приемом и передачей данных через порты и выставлением сигналов на магистрали
Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения |
---|---|---|
1 | 2 | 4 |
2 | 1 | 3 |
3 | 4 | 5 |
4 | 3 | 2 |
5 | 0 | 9 |
Чему равно среднее время между стартом процесса и его завершением (turnaround time) при использовании алгоритма RR? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь, величину кванта времени принять равной 3; считать, что вновь прибывший процесс добавляется в самый конец очереди готовых процессов.
Какие из условий для организации корректного взаимодействия двух процессов с помощью программного алгоритма выполнены для алгоритма «флаги готовности»?
К какому из перечисленных алгоритмов теоретически стремится поведение алгоритма RR по мере уменьшения кванта времени?
Какие из перечисленных механизмов синхронизации могут быть реализованы в вычислительной системе с помощью специальных системных вызовов?
Известно, что в большинстве ОС файл представляет собой неструктурированную последовательность байтов и хранится на диске. Какой способ доступа обычно применяется к таким файлам?
Какое из перечисленных условий надежности связи не может быть выполнено со стопроцентной гарантией при выполнении остальных условий?
В вычислительной системе стартует несколько процессов, взаимодействие которых организовано с помощью монитора Хора. Сколько процессов будет находиться в состоянии ожидание, если после старта процессов над условной переменной монитра выполнить последовательность операций signal, wait, signal, wait ?
В вычислительной системе с сегментной организацией памяти и 32-х битовым адресом максимальный размер сегмента составляет 2 Mb. Для некоторого процесса таблица сегментов в этой системе имеет вид:
Номер сегмента | Адрес начала сегмента | Длина сегмента |
---|---|---|
1 | 0x00000000 | 0x180000 |
3 | 0x00200000 | 0x080000 |
7 | 0x01000000 | 0x010000 |
Какому физическому адресу соответствует логический адрес 0x00e03222 ?
Большинство файловых систем, поддерживаемых ОС Unix для выделения дискового пространства, использует схему:
При модернизации некоторой операционной системы, поддерживающей только три состояния процессов: готовность, исполнение, ожидание, решено ввести два новых системных вызова. Один из этих вызовов позволяет любому процессу приостановить жизнедеятельность любого другого процесса (кроме самого себя), до тех пор, пока какой-либо процесс не выполнит второй системный вызов. Сколько новых переходов из состояния исполнение появится в системе?
В маленьком ресторанчике, где готовят пиццу, работают отец и три его дочери. Приготовление пиццы требует трех ингредиентов: теста, соуса и сыра. Одна дочь должна непрерывно поставлять тесто, вторая - соус, третья - тертый сыр. Приготовление пиццы происходит следующим образом: первая дочь формирует из теста основу пиццы, после чего вторая дочь намазывает лепешку соусом, а третья - посыпает сыром. Отец берет подготовленную дочерьми пиццу и помещает ее в печь. Используя классические мониторы Хора, программист предложил следующую модель приготовления пиццы с помощью четырех процессов: для отца и для каждой из дочерей.
Что может произойти в результате такого моделирования?
Пусть у нас имеется диск с 80 цилиндрами (от 0 до 79). Время перемещения головки между соседними цилиндрами составляет 2 мс. В текущий момент времени головка находится на 23-м цилиндре и двигается в сторону увеличения номеров цилиндров. Сколько времени будет обрабатываться следующая последовательность запросов на чтение цилиндров: 11, 22, 10, 73, 1, 12, алгоритма SCAN (временами чтения цилиндров и смены направления движения головок пренебречь)?
Пусть в некоторой сетевой операционной системе существует три различных протокола транспортного уровня, использующих собственные адресные пространства портов. Сколько типов сокетов существует в такой системе?
Какой уровень эталонной модели OSI/ISO отвечает за доставку информации от процесса-отправителя процессу-получателю?
Для некоторого процесса известна следующая строка запросов страниц памяти
7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.
Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц FIFO (First Input First Output) и трех страничных кадрах?
Предположим, что один из файлов в ОС Unix жестко связан с двумя различными каталогами, принадлежащими различным пользователям. Что произойдет, если один из пользователей удалит файл?
Правильные ответы выделены зелёным цветом.
Все ответы: В курсе описаны фундаментальные принципы проектирования и реализации операционных систем.
Схема выделения дискового пространства непрерывной последовательностью блоков применяется для стационарных файловых систем, например для файловых систем компакт-дисков, поскольку:
Какие операционные системы позволяют взаимодействовать удаленным процессам и имеют сходное строение с автономными вычислительными системами?
Рассмотрим две активности, P и Q :
P | Q |
---|---|
y=x+2 | z=x-3 |
f=y-4 | f=z+1 |
Набор из этих двух активностей является:
(1) каждый процесс из множества ожидает события, которое только другой процесс данного множества может вызвать
В чем состоит преимущество схемы виртуальной памяти по сравнению с организацией структур с перекрытием?
(2) стратегию упреждающей выборки, когда кроме страницы, вызвавшей исключительную ситуацию, в память также загружается несколько страниц, окружающих ее
(2) гарантию того, что авторизованным пользователям всегда будет доступна информация, которая им необходима
(3) уверенность в том, что секретные данные будут доступны только тем пользователям, которым этот доступ разрешен
Какие действия производит система, хранящая пароли пользователей на диске в зашифрованном виде, после того, как пользователь ввел свой пароль?
(3) посылает пользователю запрос для инициирования протокола опознавания CHAP (Challenge Handshake Authentication Protocol
Какие из перечисленных алгоритмов представляют собой частные случаи планирования с использованием приоритетов?
Сколько процессов могут одновременно использовать одно и то же средство связи, пользуясь симметричной прямой адресацией?
(2) к участку процесса, в котором процесс совместно с другими процессами использует разделяемые переменные
(3) к участку процесса, выполнение которого совместно с другими процессами может привести к неоднозначным результатам
Рассмотрим механизм синхронизации, называемый бинарными семафорами. Бинарный семафор — это семафор, который может принимать всего два значения: 0 и 1 . Операция P для этого семафора выглядит так же, как и для семафора Дейкстры, а операция V заключается в простом присваивании семафору значения 1 . Бинарные семафоры
Чем запись в таблице страниц в схеме виртуальной памяти отличается от соответствующей записи в случае простой страничной организации?
(2) к организации реального ввода пакета заданий и вывода результатов на отдельных специализированных ЭВМ
(3) к организации реального ввода пакета заданий и вывода результатов на том же компьютере, который производит вычисления
(2) необходимость коррекции записи о странице в таблице страниц, поскольку содержимое страницы изменено
(3) блокировку страницы в памяти для того, чтобы сохранить изменения содержимого страницы в неприкосновенности
Многие ОС поддерживают имена файлов, состоящие из двух частей (имя+расширение). Это делается для того, чтобы
(1) операционная система могла связать это имя с прикладной программой, которая должна обрабатывать данный файл
Основным преимуществом использования таблицы отображения файлов (FAT) по сравнению с классической схемой выделения связным списком является:
Пусть у нас имеется диск с 80 цилиндрами (от 0 до 79). Время перемещения головки между соседними цилиндрами составляет 1мс. Время же перевода головки с 79-го на 0-й цилиндр составляет всего 10 мс. В текущий момент времени головка находится на 45-м цилиндре и двигается в сторону увеличения номеров цилиндров. Сколько времени будет обрабатываться следующая последовательность запросов на чтение цилиндров: 10, 6, 15, 71, 1, 62, для алгоритма SSTF (временами чтения цилиндров и смены направления движения пренебречь)?
Какой уровень эталонной модели OSI/ISO отвечает за создание контрольных точек при общении удаленных процессов?
При модернизации некоторой операционной системы, поддерживающей только три состояния процессов: готовность, исполнение, ожидание, принято решение ввести два новых системных вызова. Один из этих вызовов позволяет любому процессу приостановить жизнедеятельность любого другого процесса (кроме самого себя), до тех пор, пока какой-либо процесс не выполнит второй системный вызов. Сколько новых состояний процессов появится в системе?
Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения |
---|---|---|
1 | 2 | 4 |
2 | 1 | 3 |
3 | 4 | 5 |
4 | 3 | 2 |
5 | 0 | 9 |
Чему равно среднее время ожидания процесса (waiting time) при использовании вытесняющего алгоритма SJF? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь.
В операционных системах, поддерживающих нити исполнения (threads) внутри одного процесса на уровне ядра системы, наряду с блоками управления процессами (PCB) существуют структуры данных для управления нитями - TCB (Thread Control Block). Укажите, какие данные из перечисленных ниже хранятся, по вашему мнению, в TCB.
Какое из условий для организации корректного взаимодействия двух процессов с помощью программного алгоритма выполнено для алгоритма "переменная-замок"?
В вычислительной системе моделируется движение самосвалов от карьера к заводу и обратно по дороге со стареньким мостом. Движение по мосту может осуществляться в обоих направлениях, но на нем не может быть одновременно более трех машин, иначе он рухнет. Каждый самосвал представлен программистом процессом следующей структуры:
Semaphore mutex = 1; Semaphore not_full = 0; Shared int n_on_bridge = 0; Процесс i-й самосвал: While (1) < P(mutex); if(n_on_bridge == 3) P(not_full); else n_on_bridge = n_on_bridge+1; V(mutex); P(mutex); if(n_on_bridge == 3) V(not_full); n_on_bridge = n_on_bridge-1; V(mutex); >
Что может произойти в результате такого моделирования?
(1) он снижает влияние процессов друг на друга, так как если одному из процессов не хватает страниц оперативной памяти, он не пытается отобрать нужные ему страницы у другого процесса
Файл autoexec.bat, который обычно входит в состав файлов корневого каталога во многих ОС компании Microsoft, относится к категории:
Большинство файловых систем, поддерживаемых ОС Unix, для выделения дискового пространства, использует схему:
Предположим, что сетевой сервер затоплен мощным потоком запросов. К какой категории атак относится это действие:
Рассмотрим две активности, P и Q :
P | Q |
---|---|
y=x+1 | z=x-3 |
f=y-4 | f=z+1 |
Набор из этих двух активностей является:
(3) только различные операции над внутренними переменными монитора (как операции над внутренними переменными класса в ООП)
(2) проверить наличие в системе первых трех условий возникновения тупиков и проверить выполнение четвертого условия
(2) система, в памяти которой одновременно находится несколько программ. Когда одна из программ ожидает завершения операции ввода-вывода, другая программа может исполняться
(3) система, в памяти которой находится несколько программ, чье исполнение чередуется по прошествии определенного промежутка времени
Для некоторого процесса известна следующая строка запросов страниц памяти
7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.
Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц FIFO (First Input First Output) и трех страничных кадрах?
Известно, что в большинстве ОС файл представляет собой неструктурированную последовательность байтов и хранится на диске. Какой способ доступа обычно применяется к таким файлам?
Если учет свободного дискового пространства диска размером 1Гб с блоком размером 2К осуществлять при помощи битового вектора, то для хранения этого вектора потребуется:
Какие из вариантов реализации системного вызова read могут прочитать меньше байт, чем запросил процесс?
Пусть у нас есть локальная вычислительная сеть, достаточно долгое время работающая с неизменной топологией и без сбоев. Какие алгоритмы маршрутизации гарантируют доставку пакетов данных по кратчайшему пути?
К какому из перечисленных алгоритмов стремится поведение алгоритма RR по мере увеличения кванта времени?
Предположим, что в системе, где работают три пользователя, имеется 11 ресурсов, а потребность пользователей в ресурсах описывается следующей таблицей
Максимальная потребность в ресурсах | Выделенное пользователям количество ресурсов | |
---|---|---|
Первый пользователь | 8 | 5 |
Второй пользователь | 11 | 3 |
Третий пользователь | 3 | 1 |
Это состояние является
(3) одну таблицу для сегментов фиксированного размера и по одной для сегментов, размер которых динамически меняется
Для некоторого процесса известна следующая строка запросов страниц памяти
7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.
Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц LRU (the Least Recently Used) и трех страничных кадрах?
Пусть у нас имеется диск с 80 цилиндрами (от 0 до 79). Время перемещения головки между соседними цилиндрами составляет 1мс. Время же перевода головки с 79-го на 0-й цилиндр составляет всего 10 мс. В текущий момент времени головка находится на 45-ом цилиндре и двигается в сторону увеличения номеров цилиндров. Сколько времени будет обрабатываться следующая последовательность запросов на чтение цилиндров: 10, 6, 15, 71, 1, 62, для алгоритма C-SCAN (временами чтения цилиндров и смены направления движения пренебречь)?
Какой уровень эталонной модели OSI/ISO отвечает за доставку информации от компьютера-отправителя к компьютеру-получателю?
В число событий, имеющих отношение к безопасности компьютерной системы, которые регистрирует система аудита, обычно не входит:
При модернизации некоторой операционной системы, поддерживающей только три состояния процессов: готовность, исполнение, ожидание, решено ввести два новых системных вызова. Один из этих вызовов позволяет любому процессу приостановить жизнедеятельность любого другого процесса (кроме самого себя), до тех пор, пока какой-либо процесс не выполнит второй системный вызов. Сколько новых операций над процессами появится в системе?
Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения |
---|---|---|
1 | 2 | 4 |
2 | 1 | 3 |
3 | 4 | 5 |
4 | 3 | 2 |
5 | 0 | 9 |
Чему равно среднее время ожидания процесса (waiting time) при использовании вытесняющего алгоритма SJF? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь.
В операционных системах, поддерживающих нити исполнения (threads) внутри одного процесса на уровне ядра системы, наряду с блоками управления процессами (PCB) существуют структуры данных для управления нитями - TCB (Thread Control Block). Укажите, какие данные из перечисленных ниже хранятся, по вашему мнению, в TCB.
Какие из условий для организации корректного взаимодействия двух процессов с помощью программного алгоритма выполнены для алгоритма «строгое чередование»?
В вычислительной системе моделируется движение самосвалов от карьера к заводу и обратно по дороге со стареньким мостом. Движение по мосту может осуществляться в обоих направлениях, но на нем не может быть одновременно более трех машин, иначе он рухнет. Каждый самосвал представлен программистом процессом следующей структуры:
Что может произойти в результате такого моделирования?
Разделение персонала, связанного с разработкой и эксплуатацией ЭВМ, на разработчиков, специалистов по эксплуатации, операторов и программистов произошло:
Для некоторого процесса известна следующая строка запросов страниц памяти
7, 1, 2, 3, 2, 4, 2, 1, 0, 3, 7, 2, 1, 2, 7, 1, 7, 2, 3.
Сколько ситуаций отказа страницы (page fault) возникнет для данного процесса при использовании алгоритма замещения страниц OPT (оптимальный алгоритм) и трех страничных кадрах?
Предположим, что один из файлов в ОС Unix жестко связан с двумя различными каталогами, принадлежащими различным пользователям. Что произойдет, если один из пользователей удалит файл?
Пусть в некоторой сетевой операционной системе существует три различных протокола транспортного уровня, использующих собственные адресные пространства портов. Сколько типов сокетов существует в такой системе?
Для проверки системы на наличие в ней уязвимых с точки зрения безопасности мест обычно осуществляют ее сканирование. Какие аспекты системы такое сканирование обычно не затрагивает?
Какие из перечисленных алгоритмов допускают неограниченно долгое откладывание выборки одного из готовых процессов на исполнение?
Какое из перечисленных условий надежности связи не может быть выполнено со стопроцентной гарантией при выполнении остальных условий?
Если для некоторого набора активностей условия Бернстайна не выполняются, то набор активностей является:
Какие из перечисленных механизмов синхронизации могут быть реализованы в вычислительной системе с помощью специальных системных вызовов?
Один из способов борьбы с тупиками – составить список всех ресурсов и удовлетворять запросы процессов в порядке возрастания номеров ресурсов. Какое из условий возникновения тупиков можно нарушить таким образом?
В вычислительной системе со страничной организацией памяти и 32-х битовым адресом размер страницы составляет 8 Mбайт. Для некоторого процесса таблица страниц в этой системе имеет вид:
Номер страницы | Адрес начала страницы |
---|---|
1 | 0x00000000 |
2 | 0x02000000 |
5 | 0x06000000 |
6 | 0x10000000 |
Какому физическому адресу соответствует виртуальный адрес 0х00827432 ?
Для некоторого процесса, запущенного в вычислительной системе со страничной организацией памяти с использованием LRU алгоритма замещения страниц, выделение процессу 4 кадров памяти приводит к 11 page faults, а выделение 6 кадров памяти – к 9 page faults (вначале все кадры свободны). Какой вариант количества page faults для того же процесса и того же количества кадров может быть получен при использовании OPT алгоритма замещения страниц?
Какие из параметров запроса к жесткому диску обычно учитываются при планировании последовательности запросов?
Пусть у нас есть локальная вычислительная сеть, достаточно долгое время работающая с неизменной топологией и без сбоев. Какие алгоритмы маршрутизации гарантируют доставку пакетов данных от отправителя к получателю по кратчайшему пути?
(1) потому что в данной ОС невозможно выполнить изоляцию программных модулей с помощью механизмов защиты памяти
(1) структура, используемая для отображения логического адресного пространства в физическое при страничной организации памяти
Известно, что для доступа к памяти через таблицу страниц необходимо 80 нс, а для доступа через ассоциативную память – 10 нс. Частота попаданий в ассоциативную память при обращении к данным (hit ratio) соcтавляет 90%. Чему равно среднее время обращения к памяти?
Пусть у нас имеется диск с 80 цилиндрами (от 0 до 79). Время перемещения головки между соседними цилиндрами составляет 2 мс. В текущий момент времени головка находится на 23-м цилиндре и двигается в сторону увеличения номеров цилиндров. Сколько времени будет обрабатываться следующая последовательность запросов на чтение цилиндров: 11, 22, 10, 73, 1, 12, алгоритма SCAN (временами чтения цилиндров и смены направления движения головок пренебречь)?
Какой уровень эталонной модели OSI/ISO отвечает за доставку информации от процесса-отправителя процессу-получателю?
Известно, что для организации списка прав доступа (ACL) к файлу требуется перечислить всех пользователей, которые могут иметь доступ к нему, и допустимые операции над этим файлом. Какой объем дисковой памяти использует ОС Unix для хранения списка прав доступа?
При модернизации некоторой операционной системы, поддерживающей только три состояния процессов: готовность, исполнение, ожидание, решено ввести два новых системных вызова. Один из этих вызовов позволяет любому процессу приостановить жизнедеятельность любого другого процесса (кроме самого себя), до тех пор, пока какой-либо процесс не выполнит второй системный вызов. Сколько новых переходов из состояния исполнение появится в системе?
Пусть в вычислительную систему поступают пять процессов различной длительности с разными приоритетами по следующей схеме:
Номер процесса | Момент поступления в систему | Время исполнения | Приоритет |
---|---|---|---|
1 | 3 | 10 | 1 |
2 | 6 | 4 | 0 |
3 | 0 | 4 | 3 |
4 | 2 | 1 | 4 |
5 | 4 | 3 | 2 |
Чему равно среднее время между стартом процесса и его завершением (turnaround time) при использовании вытесняющего приоритетного планирования? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь. Наивысшим приоритетом является приоритет 0.
В операционных системах, поддерживающих нити исполнения (threads) внутри одного процесса на уровне ядра системы, процесс находится в состоянии готовность, если:
(2) хотя бы одна нить исполнения находится в состоянии готовность, и нет ни одной нити в состоянии ожидание
(3) хотя бы одна нить процесса находится в состоянии готовность, и нет ни одной нити в состоянии исполнение.
Какое из условий для организации корректного взаимодействия двух процессов с помощью программного алгоритма выполнено для алгоритма «флаги готовности»?
В маленьком ресторанчике, где готовят пиццу, работают отец и три его дочери. Приготовление пиццы требует трех ингредиентов: теста, соуса и сыра. Одна дочь должна непрерывно поставлять тесто, вторая - соус, третья - тертый сыр. Приготовление пиццы происходит следующим образом: первая дочь формирует из теста основу пиццы, после чего вторая дочь намазывает лепешку соусом, а третья - посыпает сыром. Отец берет подготовленную дочерьми пиццу и помещает ее в печь. Используя классические мониторы Хора, программист предложил следующую модель приготовления пиццы с помощью четырех процессов: для отца и для каждой из дочерей.
Как и система видов Линнея, система типов устройств является далеко не полной и не строго выдержанной. Устройства обычно принято разделять по преобладающему типу интерфейса на следующие виды:
- символьные (клавиатура, модем, терминал и т. п.);
- блочные (магнитные и оптические диски и ленты, и т. д.);
- сетевые (сетевые карты);
- все остальные (таймеры, графические дисплеи, телевизионные устройства, видеокамеры и т. п.);
Такое деление является весьма условным. В одних операционных системах сетевые устройства могут не выделяться в отдельную группу, в некоторых других – отдельные группы составляют звуковые устройства и видеоустройства и т. д. Некоторые группы в свою очередь могут разбиваться на подгруппы: подгруппа жестких дисков, подгруппа мышек, подгруппа принтеров. Нас такие детали не интересуют. Мы не ставим перед собой цель осуществить систематизацию всех возможных устройств, которые могут быть подключены к вычислительной системе. Единственное, для чего нам понадобится эта классификация, так это для иллюстрации того положения, что устройства могут быть разделены на группы по выполняемым ими функциям, и для понимания функций драйверов, и интерфейса между ними и базовой подсистемой ввода-вывода .
Для этого мы рассмотрим только две группы устройств: символьные и блочные . Как уже упоминалось в предыдущем разделе, символьные устройства – это устройства, которые умеют передавать данные только последовательно, байт за байтом, а блочные устройства – это устройства, которые могут передавать блок байтов как единое целое.
К символьным устройствам обычно относятся устройства ввода информации, которые спонтанно генерируют входные данные: клавиатура, мышь, модем, джойстик. К ним же относятся и устройства вывода информации, для которых характерно представление данных в виде линейного потока: принтеры, звуковые карты и т. д. По своей природе символьные устройства обычно умеют совершать две общие операции: ввести символ (байт) и вывести символ (байт) – get и put .
Для блочных устройств , таких как магнитные и оптические диски, ленты и т. п. естественными являются операции чтения и записи блока информации – read и write , а также, для устройств прямого доступа, операция поиска требуемого блока информации – seek .
Драйверы символьных и блочных устройств должны предоставлять базовой подсистеме ввода-вывода функции для осуществления описанных общих операций. Помимо общих операций, некоторые устройства могут выполнять операции специфические, свойственные только им – например, звуковые карты умеют увеличивать или уменьшать среднюю громкость звучания, дисплеи умеют изменять свою разрешающую способность. Для выполнения таких специфических действий в интерфейс между драйвером и базовой подсистемой ввода-вывода обычно входит еще одна функция, позволяющая непосредственно передавать драйверу устройства произвольную команду с произвольными параметрами, что позволяет задействовать любую возможность драйвера без изменения интерфейса. В операционной системе Unix такая функция получила название ioctl (от input-output control).
Помимо функций read , write , seek (для блочных устройств ), get , put (для символьных устройств ) и ioctl , в состав интерфейса обычно включают еще следующие функции.
- Функцию инициализации или повторной инициализации работы драйвера и устройства – open .
- Функцию временного завершения работы с устройством (может, например, вызывать отключение устройства) – close .
- Функцию опроса состояния устройства (если по каким-либо причинам работа с устройством производится методом опроса его состояния, например, в операционных системах Windows NT и Windows 9x так построена работа с принтерами через параллельный порт) – poll .
- Функцию остановки драйвера, которая вызывается при остановке операционной системы или выгрузке драйвера из памяти, halt .
Существует еще ряд действий, выполнение которых может быть возложено на драйвер, но поскольку, как правило, это действия базовой подсистемы ввода-вывода , мы поговорим о них в следующем разделе. Приведенные выше названия функций, конечно, являются условными и могут меняться от одной операционной системы к другой, но действия, выполняемые драйверами, характерны для большинства операционных систем, и соответствующие функции присутствуют в интерфейсах к ним.
Функции базовой подсистемы ввода-вывода
Базовая подсистема ввода-вывода служит посредником между процессами вычислительной системы и набором драйверов. Системные вызовы для выполнения операций ввода-вывода трансформируются ею в вызовы функций необходимого драйвера устройства. Однако обязанности базовой подсистемы не сводятся к выполнению только действий трансляции общего системного вызова в обращение к частной функции драйвера. Базовая подсистема предоставляет вычислительной системе такие услуги, как поддержка блокирующихся , неблокирующихся и асинхронных системных вызовов , буферизация и кэширование входных и выходных данных, осуществление spooling'a и монопольного захвата внешних устройств, обработка ошибок и прерываний , возникающих при операциях ввода-вывода, планирование последовательности запросов на выполнение этих операций. Давайте остановимся на этих услугах подробнее.
Блокирующиеся, неблокирующиеся и асинхронные системные вызовы
Все системные вызовы, связанные с осуществлением операций ввода-вывода, можно разбить на три группы по способам реализации взаимодействия процесса и устройства ввода-вывода.
Читайте также: