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

Есть 3 состояния процесса:

  1. Выполнение

  2. Готовность

  3. Ожидание

Возможны переходы между состояниями:

  1. Процесс блокируется, ожидая входных данных

  2. Планировщик выбирает другой процесс

  3. Планировщик выбирает этот процесс

  4. Поступили выходные данные

Переходы 2 и 3 вызываются планировщиком процессов ОС, так что сами процессы даже не знают о этих переходах. С точки зрения самих процессов, есть 2 состояния: выполнение и ожидание. На серверах для ускорения ответа на запрос клиента часто загружают несколько процессов в режим ожидания и как только сервер получит запрос, процесс переходит из ожидания в выполнение. Этот переход выполняется намного быстрее, чем запуск нового процесса.

3 И 4. Интерфейсы прикладного программирования (api)

Системные вызовы

  • Fork-создание процесса

  • Exit-завершение процесса

  • Open-открывает файл

  • Close-закрывает файл

  • Read-читает данные из файла в буфер

  • Write-пишет данные из буфера в файл

  • Stat-получает информацию о состоянии файла

  • Mkdir-создать новый каталог (директорию)

  • Rmdir-удалить каталог

  • Link-создает ссылку

  • Unlink-удаляет ссылку

  • Mount-монтирует файловую систему

  • Unmount-демонтирует файловую систему

  • Chdir-изменяет рабочий каталог

Команды, используемы в ОС семейства Windows

Creatprocess – создание нового процесса

ExitProcess – завершение процесса

CreatFile – открыть файл

CloseHandle – закрыть файл

ReadFile – чтение файла

WriteFile – запись данных в файл

CreatDirectory – создание каталога (директории)

RemovDirectory – удаление каталога (директории)

SetCurrentDirectory – изменить рабочий каталог

Интерфейс Win32 API позволяет программам работать на всех версиях Windows.

7 И 8. Структура операционных систем:

Монолитные ОС

Структура системы:

  1. Главная программа, вызывающая требуемые сервисные процедуры

  2. Набор сервисных процедур, реализующих системные вызовы.

  3. Набор утилит, обслуживающих сервисные процедуры

В этой модели для каждого системного вызова имеется 1 сервисная процедура. Утилиты выполняют функции, нужные нескольким сервисным процедурам.

Этапы обработки вызова:

  1. Принимается вызов

  2. Выполняется переход из режима пользователя в режим ядра

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

  4. После этого, ОС обращается к таблице, содержащие ссылки на процедуры и вызывает соответствующую процедуру.

5. Структура файлов.

Существуют 3 основные структуры файлов:

  1. Последовательность байтов. ОС не интересуется содержимым файла, она видит только байты. Основное преимущество такой системы – гибкость использования.

  2. Последовательность записей. Запись, фиксированной длины, считывающийся последовательно. Сейчас уже не используется.

  3. Дерево записей. Каждая запись имеет ключ, записи считываются по ключу. Основное преимущество – скорость поиска

  1. Иерархия процессов

  2. В UNIX-системах заложена жесткая иерархия процессов. Каждый новый процесс, созданный системным вызовом, является дочерним к предыдущему процессу. Дочернему процессу достаются от родительского переменные, регистр и т.п. После вызова, как только родительские данные скопированы, последующие изменения в одном из процессов не влияют на другой, но процессы помнят, что являются родительскими. В таком случае в UNIX существует и прародитель всех процессов-процесс Init.