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

12. Основные понятия, концепция ос

Системный вызов - интерфейс между ОС и программой пользователя. Работа с ним полностью идентична работе с подпрограммами. (С их помощью можно создать/удалить файлы/процессы.)

Механизм организации – нет разницы между вызовом подпрограммы пользователем или ОС (системная функция).

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

2 режима работы программы:

- режим ядра (доступ ко всем ячейкам памяти)

- режим пользователя (доступ только к своим адресным данным)

Прерывание - сигнал, по которому компьютер прекращает выполнение текущей программы и начинает выполнять служебную программу. Для определения очередности прерываний устанавливаются приоритеты прерываний. Различают аппаратные (генерируются аппаратурой: клавиатура, модем) и программные прерывания.

Соответствующее аппаратное прерывание имеет определенный номер. Процессор анализирует тип прерывания и передает управление соответствующему обработчику прерываний. В ячейке существует адрес, который называется вектором прерываний.

Исключительная ситуация - особая ситуация (exception). Событие в программе, вызывающее программное прерывание, обработку которого предусматривает программист (деление на нуль, отсутствует объявление доступа к ресурсу). Проблема решается с помощью программ: в этом случае ОС снимает подпрограмму с выполнения.

Системный таймер – для организации многозадачности: выделение каждой программе определенного времени для выполнения.

Файлы – пространство на диске, занятое информацией. ОС предоставляет функции для работы с файлами (открыть/создать).

Процесс (process) - последовательность операций при выполнении программы или ее части вместе с используемыми данными. Операционная система рассматривает П. как единое целое при распределении ресурсов.

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