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

Ответы по лабам ОС

.docx
Скачиваний:
54
Добавлен:
20.03.2016
Размер:
26.25 Кб
Скачать

Laba 5 Контрольные вопросы:

  1. Что такое поток? - Единица планирования существующая в рамках процесса и имеющая полынй доступ к его ресурсам, в то время как процесс — единица диспечеризации

  2. Из чего состоит поток?

1. счетчик команд

2. регистры общего назначения

3. стек

4. состояние (приболел, лол)

5. область для хранения локальных переменных

А так же для всех потоков общее: адресное пр-во(проворство!!! тятятятнааан лол), глобальные переменные, ожидаемые процессом события, информаия об используемых ресурсах, открытые файлы и дочерние процессы (я бы больше хотел сына конечно)

  1. Что такое контекст потока? Контекст потока содержит все необходимые данные для возобновления выполнения (включая набор регистров процессора и стек) в адресном пространстве ведущего процесса потока. (с микрософта сайта)

  2. Какие виды потоков вы знаете и чем они различаются?

KLT (kernel level thread) — потоки создоваемые на уровне ядра (ядро ОС разбивает процесс) «+» поддерживает несколько процессоров, так как разбиение идет на уровне ядра, не блокируется при запросе одного потока, как в ULT. «-» медленнее чем ULT и не кроссплатформенно , так как ну сами понимаете

ULT (user -||- ) - потоки на уровне пользователя. Используются библиотеки потоков разбивает процессы на потоки на уровне приложения, ОС не знает о них и видит процесс как одно целое. «+» скорость, кроссплатформенность, могут использоваться в ОС не поддерживающие мультиТАЧ! Ахааазаза мультипоточность. «-» Процесс только на одном процессоре, так как ОС не знает что он делится. При системном вызове одного потока, блокируется весь процесс целиком Комбинированые устраняет все минусы двух предыдущих разбитие на потоки и в ядре ОС и на уровне пользователя через библиотеки (типа поток из ядра может дробиться)... самый трудоемкий вид

  1. Чем различается многопоточное приложение от приложения, реализованного в виде нескольких процессов? Точно не знаю как ответить, но что-то в роде такого: у потоков есть общие компоненты(см. 2 вопрос), а для каждого процесса они свои, обмен данными между потоками проще и ололо. Ну и еще то что в случае если рассматривать ULT потоки, то тогда в неск процессах и выполнятся будет на неск процах и нет необходимости библиотек... как то так, не уверен

  2. Что лучше – реализация программы в виде нескольких потоков или в виде нескольких процессов? См вопрос 5. и рассудите сами :)

Laba 6 Контрольные вопросы:

Каким требованиям должно удовлетворять управление памятью?

  1. Перемещение (для того что бы оптимизировать использование памяти)

  2. Защита (каждый процесс должен быть защищен от действий другого процеса... то есть каждый процесс действует только в рамках отведенной ему RAM, НО любой механизм защиты должен предусмотреть:

  3. Совместное использование, к примеру кода несколько процессов выполняют один и тот же код, то выгодно позволить процессам использовать одно и то же место в RAM,

  4. Логическая Организация (так как современное ПО создается с модульным подходом, то ОС должна разрешать ссылки между модулями... так как физически RAM — это линейное пространство)

  5. Физическая организация.

Почему желательно обеспечить возможность переноса процессов в памяти? Для того что бы минимизировать внешнюю фрагментацию

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

Какие алгоритмы размещения процесса в памяти при фиксированном распределении памяти вы знаете? В чем их отличия, преимущество и недостатки?

Если одинаковый размер ячеек, то общая очередь.

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

Какие алгоритмы размещения процесса в памяти при динамическом распределении памяти вы знаете? В чем их отличия, преимущество и недостатки?

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

Из конспекта:

    1. Первый подходящий: производит проверку свободных участков от начала адресного пространства. Для размещения используется первый подходящий по размеру. !

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

    3. Наилучший подходящий. ОС проверяет все свободные участки и выбирает из них максимально близкий к текущему размеру процесса.

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

7лаба

Контрольные вопросы:

  1. На чём основывается страничная организация памяти? Память делится на кадры(блоки равного размера), процесс на страницы(такой же размер как и у кадров, что логично) загрузка процесса идет путем загрузки всех его страниц в кадры(не обязательно смежные) «+» отсутствует внешняя фрагментация. «-» Есть небольшая внутренняя

  2. В чем разница между страницей и кадром? Страница — это то на что процесс, а кадр это т она что память делятся

  3. Какими параметрами ограничено количество страниц? А количество кадров? Кадры ограничены размером себя и памяти и разрядностю шины адреса Страницы если в памяти то количеством кадров, а так - никакими

  4. В чем заключается различие между логическим, относительным и физическим адресом? Физический - реальный адресс в памяти логический — адрес который используется , например, для адресации внутри процесса …. типа может не соответствовать физическом, для удобства работы в процессе .. как то так. Не уверен относительный — адрес относительно некоторой ячейки данных, к примеру :)

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

8лааааабаааа

Контрольные вопросы:

  1. На чём основывается сегментная организация памяти? И процесс и память делится на сегменты, загрузка путем загрузки всех сегментов в сегменты, не обязательно смежные + отсутствует внутренняя фрагментация - небольшая внутренняя (меньшая чем при динамическом распределении)

  2. В чём разница между сегментом и страницей? Сегмент это и память и процесс, а страница — только процесс (то на что делится)

  3. В чём разница между сегментом и кадром?

Сегмент это и память и процесс, а кадр — только память (то на что делится)

  1. Требуются ли при сегментной организации памяти механизмы переноса процессов в памяти? Нет, наверно

  2. Что, по Вашему мнению, лучше – страничная организация или сегментная? Докажите вашу точку зрения. Ну тут уж сами Конспект ОС 13.05.2015

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

Способы хранения атрибутов файла:

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

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

    • Уменьшает размер самого каталога

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

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

Способы размещения имен файлов:

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

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

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

Информационная безопасность в рамках ОС