- •Дайте определение диспетчеру памяти и адресным пространствам. Поясните механизм использования базового и ограничительного регистров.
- •Приведите классификацию ос
- •Проведите обзор файловых систем (ntfs и ufs) Структура ntfs
- •Структура ufs
- •Дайте определение ос, опишите функции ос
- •Опишите основные этапы развития ос
- •Дайте определение виртуальной памяти, страничной организации памяти. Опишите структуру таблиц страниц
- •Опишите механизмы работы буфера быстрого преобразования адреса, многоуровневых и инвертированных таблицы страниц.
- •Дайте определение процессу и опишите блок управления процессом.
- •Опишите механизмы создания и уничтожения процессов Создание процесса
- •Удаление процесса
- •Опишите основные состояния процессов и возможные переходы между ними. Дайте определение переключению контекста.
- •Опишите механизмы диспетчеризации процессов.
- •Дайте определение свопинг. Опишите механизм управления свободной памятью при свопинге (битовые матрицы)
- •Опишите механизм управления свободной памятью при свопинге (связные списки и поиск по ним)
- •Проведите обзор аппаратного обеспечения пк
- •Дайте определение состязательной ситуации, критической области. Поясните механизм работы барьеров и обмена сообщениями
- •Проведите обзор файловых систем (общая информация и fat)
- •Опишите алгоритм замещения страниц wsClock
- •Опишите алгоритм замещения страниц lru
- •Опишите алгоритм замещения страниц ws.
- •Опишите алгоритм замещения страниц Clock
- •Опишите алгоритм замещения страниц nru
- •Опишите оптимальный алгоритм замещения страниц
- •Опишите алгоритм замещения страниц Second Chance
- •Опишите алгоритм замещения страниц fifo
- •Опишите алгоритм диспетчеризации процессов rr
- •Опишите алгоритм диспетчеризации процессов srtf
- •Опишите алгоритм диспетчеризации процессов fcfs
- •Опишите алгоритм диспетчеризации процессов sjf
- •Перечислите основные команды языка сценариев bat
- •Решите задачу производителя/потребителя через sleep и wakeup
- •Решите задачу производителя/потребителя через алгоритм Петерсона
- •Решите задачу производителя/потребителя через семафоры и мьютексы
- •Решите задачу обедающих философов через семафоры и мьютексы
Опишите алгоритм диспетчеризации процессов sjf
Стратегия Shortest Job First (SJF, обслуживание самого короткого задания первым) – стратегия диспетчеризации процессора, при которой процессор предоставляется в первую очередь наиболее короткому процессу из имеющихся в системе. В данном случае с каждым процессом связывается длина его очередного периода активности. Эта длина используется для того, чтобы первым обслужить самый короткий процесс.
Возможны две схемы применения данной стратегии:
1. Без прерывания процессов – пока процессу предоставляется процессор, он не может быть прерван, пока не истечет его квант времени.
2. С прерыванием (SRTF).
Стратегия SJF оптимальна, в том смысле, что она обеспечивает минимальное среднее время ожидания для заданного набора процессов. Пусть набор процессов, времен их появления в системе и времени их активности следующие:
В данном случае среднее время ожидания = (0 + 6 + 3 + 7)/4 = 4.
Перечислите основные команды языка сценариев BASH
BASH — Bourne-Again Shell, самый популярный командный интерпретатор в юниксоподобных системах, в особенности в GNU/Linux.
Любой bash-скрипт должен начинаться со строки: #!/bin/bash
break — выход из цикла for, while или until;
continue — выполнение следующей итерации цикла for, while или until;
echo — вывод аргументов, разделенных пробелами, на стандартное устройство вывода ($ echo Hello World) ;
cd — позволяет перейти в новый каталог;
exit — выход из оболочки;
export — отмечает аргументы как переменные для передачи в дочерние процессы в среде;
hash — запоминает полные имена путей команд, указанных в качестве аргументов, чтобы не искать их при следующем обращении;
kill — посылает сигнал завершения процессу;
pwd — выводит текущий рабочий каталог;
read — читает строку из ввода оболочки и использует ее для присвоения значений указанным переменным;
return — заставляет функцию оболочки выйти с указанным значением;
shift — перемещает позиционные параметры налево;
test — вычисляет условное выражение;
times — выводит имя пользователя и системное время, использованное оболочкой и ее потомками;
trap — указывает команды, которые должны выполняться при получении оболочкой сигнала;
unset — вызывает уничтожение переменных оболочки;
wait — ждет выхода из дочернего процесса и сообщает выходное состояние;
man — отображает руководства по командам;
cat — считывает файл, переданный как аргумент, и выводит его содержимое по стандартному каналу вывода:
$ cat users.txt
user:student password:123
user:teacher password:321
less — позволяет перемещаться по переданному файлу или куску текста, причём в обоих направлениях;
$? — переменная, которая содержит выходной статус последней запущенной команды:
$ true
$ echo $?
0
$ false
$ echo $?
1
grep — занимается поиском переданной строки в указанном файле;
history — выводит историю командной строки. Обычно её используют вместе с командой grep для поиска конкретной команды. Например, следующий код найдёт все команды, содержащие строку g++:
$ history | grep g++
155 g++ file1.txt
159 g++ file2.txt
ping — тестирует сетевое подключение.