- •Часть 1
- •1. Что такое ос? Основная задача и основные функции.
- •2. Базовые понятия ос
- •3. Понятие Виртуальной Машины (вм).
- •9. Образ процесса
- •10. Базовые функции ос и функции ядра
- •11. Что представляет собой ядро ос
- •12. Вспомогательные модули.
- •13. Классификация ос по назначению и по режиму обработки задач
- •14. Классификация ос по способу взаимодействия с системой
- •15. Классификация ос по способу построения ос
- •22. Монолитная ос
- •23. Структура монолитной ос Структура монолитной ос
- •24. Классическая структура ос
- •27. Системный вызов
- •28. Понятие процесса
- •29. Режимы функционирования процессов.
- •30. Системная таблица процессов.
- •31. Создание процесса.
- •32. Состояния процесса
- •33. Иерархия процессов.
- •34. Завершение процесса.
- •Плановый выход по известной ошибке
- •Выход по неисправимой ошибке
- •Уничтожение другим процессом
- •35. Основные характеристики процесса.
- •36. Понятие потока. Модель потока
- •37. Преимущества использования потоков.
- •38. Реализация потоков в пространстве пользователя
- •39. Реализация потоков в пространстве ядра.
- •40. Различия между процессами и потоками.
- •41. Преимущества процессов над потоками
Часть 1
1. Что такое ос? Основная задача и основные функции.
ОС – представляет собой комплекс системных и программных средств, разработка и реализация которых является трудной задачей, т. к. КС состоит из множества устройств, называемых аппаратным обеспечением, и элементарных программ, которые управляют, контролируют и корректно используют аппаратное обеспечение.
Функции ОС
Важнейшей функцией является организация рационального использования всех ее аппаратных и информационных ресурсов.
Ресурс – один из компонентов компьютерной системы и предоставляемые им возможности.
Основные ресурсы: процессоры, память внешних устройств, данные, программы.
ОС отвечает за управление всеми ресурсами КС и обслуживает пользователя через простой и доступный интерфейс программ для работы с аппаратурой.
Назначение и основные задачи ОС
Назначение: управление ресурсами КС.
Основная задача: обеспечение совместной работы оборудования, организация доступа пользователя к ресурсам компьютера и управление выполнением ППО.
Для большинства ОС можно определить общие концепции и принципы построения.
Для ОС существует набор базовых понятий, таких как процессы, потоки, ввод-вывод и др.
2. Базовые понятия ос
Понятие процесса
Процесс – программа или задача, которая находится в процессе выполнения.
С каждым процессом связано его адресное пространство, из которого (в которое) он может читать, записывать данные.
Адресное пространство составляет:
саму программу (текстовый сегмент);
данные к программе (сегмент данных);
стек программы (сегмент стека).
Создание процесса – три основных события (системные вызовы fork, create process).
Загрузка системы.
Работающий процесс подает системный вызов на создание процесса.
Запрос пользователя на создание процесса.
Завершение процесса – четыре основных события (exit, exit process).
Плановое завершение.
Плановый выход по известной ошибке.
Выход по неисправимой ошибке.
Уничтожение другим процессом.
Приостановленный процесс состоит из собственного адресного пространства, которое называется образом памяти и компонентов таблицы процессов.
Состояние процесса – три основных состояния.
Выполнение – процесс занимает процессор.
Готовность – процесс временно приостановлен, выполняется другой процесс.
Ожидание – процесс не может быть запущен по внутренним причинам.
Потоки (Нити, Облегченные процессы)
Каждому процессу соответствует адресное пространство и одиночный поток используемых команд. В многопользовательских системах при каждом обращении приходится создавать новый процесс для обслуживания клиента. Это менее выгодно, чем создать квазипараллельный поток внутри этого процесса с одним адресным пространством.
Модель потока.
С каждым потоком связывается:
счетчик выполнения команд;
регистры для текущих переменных;
стек;
состояние.
Потоки делят между собой элементы своего процесса:
адресное пространство;
глобальные переменные;
открытые файлы;
таймеры;
семафоры (для подсчета сигналов запуска);
статистическая информация.
Преимущества использования потоков:
упрощение программы в некоторых случаях за счет использования одного адресного пространства;
быстрота создания по сравнению с процессом (~ в 100 раз);
повышение производительности самой программы, т. к. есть возможность использовать одновременно вычисления и операцию ввод-вывод.