os_labs/lab10/README.md

4.0 KiB
Raw Blame History

Лабораторная работа №10

Задание 1

С операцией чтения ничего не произошло (она завершилась успешно), так как согласно документации:

if any process has the file open when this happens, deletion is postponed until all processes have closed the file. (https://www.gnu.org/software/libc/manual/html_node/Deleting-Files.html#Deleting-Files)

Задание 2

Герц = 1 с^(-1)

2 000 000 * 4 = 8 000 000 - количество операций, необходимых для вычисления программы процессором.

Тогда 8 000 000 / 8 000 000 Гц = 1 с.

Т.е. для проведения данных вычислений нам нужна 1 секунда.

Задание 3

Так как виртуальный адрес состоит из номера страницы и смещения в ней, то:

размер виртуального адреса в битах (обозначим за n) = количеству бит под номер страницы (p)

  • количество бит под смещение в странице (d)

n = p + d

p = n - d

n = 20 (по условию)

d = log2 (размера страницы) = log2 (1KB) = 10

p = 20 - 10 = 10 - количество бит отделяемых в виртуальном адресе под номер страницы.

Тогда возможное число страниц:

2^p = 2^10 = 1024

Ответ: 1024 элемента в таблице страниц.

Задание 4

https://www.intuit.ru/studies/courses/641/497/lecture/11286?page=1

Рассмотрим алгоритмы диспетчеризации по следующим критериям:

  1. время ожидания
  2. starvation
  3. Время обработки процесса (turnaround time)
  4. Разница во времени выполнения процесса

Алгоритмы:

  1. First-Come-First-Served (FCFS)
    1. Зависит от сложившейся ситуации. В большинстве случаев является не минимальным, так как не оптимизируется.
    2. Отсутствует
    3. Зависит от сложившейся ситуации.
    4. Зависит от порядка входа.
  2. Shortest Job First (SJF)
    1. практически минимальное среднее время ожидания.
    2. возможно, для тяжёлых процессов.
    3. для длительных процессов время выполнение гораздо больше, чем в FCFS.
    4. отсутствует.
  3. Shortest-Remaining-Time-First (SRTF) - SJF с прерыванием, если пришедший процесс выполнять быстрее чем текущий, то мы останавливаем его и берём новый.
    1. минимальное среднее время ожидания.
    2. возможно, для тяжёлых процессов, но не так сильно, как в SJF.
    3. для длительных процессов время выполнение гораздо больше, чем в SJF, так требует затраты на переключение, во время выполнения процесса.
    4. отсутствует.
  4. Round Robin (RR) - даём всем процессам одинаковое время по очереди.
    1. для всех одинаковое.
    2. отсутствует.
    3. зависит от выбранного кванта, если он достаточно большой, то ситуация напоминает FCFS, если же сильно мал, то становятся значительными затраты на переключение процессов.
    4. зависит от выбранного кванта.