- •Экзаменационные вопросы по дисциплине «Операционные системы»
- •Что называется процессом и потоком?
- •Планирование процессов и потоков
- •Создание процессов
- •Создание потоков
- •Планирование и диспетчеризация потоков (процессов)
- •Состояние потока
- •Функции ос по управлению памятью?
- •Типы адресов?
- •Назовите методы распределения памяти? Управление памятью
- •Типы адресов
- •Методы распределения памяти без использования дискового пространства
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •Понятие виртуальной памяти?
- •Стратегии управления виртуальной памятью? Методы распределения памяти с использованием дискового пространства Понятие виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •Структура файла, Задачи файловой системы? ипы файлов
- •Логическая организация файла
- •Физическая организация и адрес файла? Физическая организация и адрес файла
- •Развитие операционных систем. Требования к ос. Сетевые ос.
- •Назначение и состав ос. Операционная система: назначение и состав
- •Функциональные компоненты ос.
- •Понятие о ядре и вспомогательных модулях ос.
- •Структура ядра ос. Многослойная структура.
Экзаменационные вопросы по дисциплине «Операционные системы»
Что называется процессом и потоком?
Под процессом понимается программа в стадии выполнения. Процесс можно рассматривать также как единицу работы для процессора. Для современных типов процессоров существует и более мелкая единица работы поток или нить. Другими словами процесс может породить один и более потоков.
В чем же состоит принципиальное различие в понятиях процесс и поток. Процесс рассматривается ОС, как заявка на все виды ресурсов (память, файлы и пр.), кроме одного - процессорного времени. Поток - это заявка на процессорное время.
В дальнейшем в качестве единицы работы ОС будут использоваться понятия процесс и поток. В тех же случаях, когда это не играет существенной роли, они будут называться задача.
Планирование процессов и потоков
Планирование процессов и потоков включает:
· Создание-уничтожение процессов;
· Взаимодействие между процессами;
· распределение процессорного времени;
· Обеспечение процессов необходимыми ресурсами (единолично, совместно);
· Синхронизация (контроль за возникновением «гонок», блокировок);
· После завершения процесса - «зачистка», т.е. удаление следов пребывания в системе.
Каждый процесс изолируется от других своим виртуальным адресным пространством, под которым понимается совокупность адресов, которыми может манипулировать программный модуль процесса. ОС отображает виртуальное адресное пространство на отведенную процессу физическую память.
Для взаимодействия, процессы обращаются к ОС, которая предоставляет средства общения (конвейеры, почтовые ящики, разделяемые секции памяти и др.).
Возможность распараллеливания вычислений в рамках процесса на потоки повышает эффективность ОС. Механизм распараллеливания вычислений для одного приложения называется многопоточной обработкой (multithreading). Потоки процесса имеют одно адресное виртуальное пространство. Распараллеливание ускоряет выполнение процесса за счет отсутствия переключения ОС с одного адресного пространства на другое, которое имеет место при выполнении процессов. Программы становятся более логичны. Особый эффект при этом достигается в мультипроцессорных системах.
Примером многопоточной обработки может служить выполнение запросов MS SQL Server
Создание процессов
Создать процесс - это создать описатель процесса (информационная структура, содержащая сведения необходимые для управления этим процессом).
Содержание: идентификатор, адрес исполняемого модуля, приоритет, права доступа и пр.
Примеры описателей для:
· Windows NT/2000/XP - объект-процесс (object-process);
· UNIX - дескриптор процесса;
· OS/2 - управляющий блок процесса (PCB -Process Control Block);
Кроме того создать процесс - это включает также следующие действия:
· Найти программу на диске;
· перераспределить оперативную память;
· выделить память новому процессу;
· переписать программу в выделенную память;
· изменить некоторые параметры программы.
Примечание. В некоторых системах, коды и данные могут сразу не помещаться в память, а переписываться в специальную область диска - область подкачки.