Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры ос.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
515.58 Кб
Скачать

Системные операции, связанные со временем

stime — устанавливает системное время в секундах, начиная с семидесятого года;

time — выдать время в секундах, начиная с семидесятого года;

times — возвращает суммарное время выполнения процесса и всех его потомков. Нужна для профилирования системы.

alarm — с помощью этого системного вызова процесс посылает себе сигнал будильника;

Пример будильника:

main ( )

{

extern wakeup ( ) ;

signal (SIGALARM, wakeup) ;

while (1) ;

{

alarm (5) ;

pause ( ) ;

}

}

Опишем wakeup, обрабатывающий сигнал будильника:

wakeup ( )

{

printf (“Я проснулся”) ;

}

В цикле заряжаем будильник на пять секунд. Процесс приостанавливается. Через пять секунд приходит сигнал будильника SIGALARM, и мы вызываем wakeup.

Таймер

Функции программы обработки прерываний по таймеру:

  1. Перезапуск часов для выполнения следующего тика.

  2. Вызов на выполнение функций ядра, использующих встроенные часы.

  3. Поддержка возможности выполнения процессов.

time prog1

Программа prog1 вызывается на выполнение, и после выполнения выдаётся сколько секунд она выполнялась.

  1. Сбор статистики о системе и протекающих в ней процессах.

  2. Слежение за временем.

  3. Посылка процессом сигналов будильника по запросу.

  4. Периодическое возобновление процесса подкачки.

  5. Управление диспетчеризацией процессов.

(18) Управление памятью

Рассмотрим как в системе происходит операция свопирования.

Функции подсистемы управления памятью:

  1. Решает какие процессы следует размещать в памяти.

  2. Управляет участниками виртуального пространства.

  3. Переписывает процессы во внешнюю память.

  4. Помещает данные с устройства выгрузки в основную память.

Две стратегии управления памятью:

  • Свопинг ( swap )

  • Подкачка по обращению ( demand paging )

Своп — это устройство блочного типа, чаще всего раздел диска.

Если в файловой системе используются суперблоки, то в свопе используется карта памяти устройства.

Карта состоит из строк, в которых содержится адрес распределяемого ресурса и количество единиц этого ресурса. Рассмотрим три основных функции свопинга :

  1. Управление пространством в свопе ( на устройстве выгрузки ).

  2. Выгрузка процессов.

  3. Подкачка процессов.

Demand paging

Основная память обменивается с внешней памятью не процессами, а страницами.

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

Отсутствуют ограничения на размер процесса, обусловленные объёмом физической памяти.

Системы смешанного типа со свопингом и подкачкой по запросу

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

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

(19) Свопинг

Рассмотрим три основных функции свопинга :

  1. Управление пространством в свопе ( на устройстве выгрузки ).

  2. Выгрузка процессов.

  3. Подкачка процессов.