
- •Вопрос 1. Виды ресурсов вычислительной системы. §1.1 Виды ресурсов вычислительной системы.
- •Вопрос 2. Структура и виды программного обеспечения (по). Характеристика системного по. §1.2 Структура программного обеспечения.
- •Вопрос 3. Классификация ос. §2.1 Классификация операционных систем.
- •Вопрос 4. Назначение и основные функции операционной системы (ос) для автономного компьютера. §2.2 Операционные системы для автономного компьютера
- •Функциональные компоненты ос для автономного компьютера
- •Вопрос 5. Сетевые операционные системы: функциональные компоненты и варианты построения. §2.3 Сетевые операционные системы.
- •Функциональные компоненты сетевой ос
- •Варианты построения сетевых ос
- •Вопрос 6. Одноранговые и серверные операционные системы. §2.4 Одноранговые и серверные операционные системы.
- •Операционные системы в одноранговых сетях
- •Операционные системы в сетях с выделенными серверами
- •Вопрос 7. Принципы построения ос. §3.1 Принципы построения ос.
- •Вопрос 8. Виды программных модулей. §3.2 Виды программных модулей.
- •Вопрос 9. Ядро и вспомогательные модули ос. §3.3 Ядро и вспомогательные модули операционной системы.
- •Вопрос 10. Классическая архитектура ос. §3.4 Классическая архитектура операционной системы.
- •Вопрос 11. Микроядерная архитектура ос. §3.5 Микроядерная архитектура ос.
- •Вопрос 12. В чем заключается принцип безопасности и как он обеспечивается операционной системой? §3.6 Обеспечение безопасности вычислительной системы.
- •Вопрос 13. Что такое мультипрограммирование (многозадачность)? Реализация мультипрограммирования в системах пакетной обработки, разделения времени, реального времени. §4.1.1 Мультипрограммирование.
- •§4.1.2.Мультипрограммирование в системах пакетной обработки.
- •§4.1.3.Мультипрограммирование в системах разделения времени.
- •Мультипрограммирование в системах реального времени.
- •Вопрос 14. Мультипроцессорная обработка, архитектуры мультипроцессорных систем. §4.1.4.Мультипроцессорная обработка.
- •Вопрос 15. Что такое вычислительный процесс, поток? Состояния процесса. §4.2.1.Планирование процессов и потоков. Понятия «процесс» и «поток».
- •Вопрос 16. Реализация (создание) процессов и потоков. Дескрипторы. §4.2.2.Реализация (создание) процессов и потоков.
- •Вопрос 17. Планирование и диспетчеризация процессов и потоков. Вытесняющие и невытесняющие алгоритмы планирования. §4.2.3.Планирование и диспетчеризация потоков
- •§4.2.4.Вытесняющие и невытесняющие алгоритмы планирования
- •Вопрос 18. Алгоритмы планирования, основанные на квантовании, приоритетах, смешанные алгоритмы. §4.2.5.Алгоритмы планирования, основанные на квантовании.
- •Алгоритмы планирования, основанные на приоритетах.
- •Смешанные алгоритмы планирования.
- •Вопрос 19. Планирование в системах реального времени. §4.2.6.Планирование в системах реального времени.
- •Моменты перепланировки.
- •Вопрос 20. Мультипрограммирование на основе прерываний. Механизм прерываний. §4.3.1.Мультипрограммирование на основе прерываний. Назначение и типы прерываний.
- •§4.3.2.Механизм прерываний.
- •Вопрос 21. Необходимость синхронизации процессов и потоков. Критическая секция. §4.4 Синхронизация процессов и потоков.
- •§4.4.1.Критическая секция.
- •Вопрос 22. Способы реализации взаимных исключений путем запрещения прерываний, использования блокирующих переменных, системных вызовов. §4.4.2.Запрещение прерываний.
- •§4.4.3.Блокирующие переменные.
- •Вопрос 23. Назначение и использование семафоров. §4.4.4Семафоры.
- •Вопрос 24. Взаимные блокировки процессов. Методы предотвращения, обнаружения и ликвидации тупиков. §4.4.6. Синхронизирующие объекты ос.
- •Тупики.
- •Вопрос 25. Функции ос по управлению памятью. Типы адресов. Преобразование адресов. §5.1 Функции ос по управлению памятью.
- •§5.2 Типы адресов.
- •Вопрос 26. Методы распределения памяти без использования диска (фиксированными, динамическими, перемещаемыми разделами). §5.3.1. Методы распределения памяти.
- •§5.3.1 Распределение памяти без использования диска. Распределение памяти фиксированными разделами.
- •Распределение памяти динамическими разделами.
- •§5.3.1.Распределение памяти перемещаемыми разделами.
- •Вопрос 27. Понятие виртуальной памяти, ее назначение. Свопинг. §5.3.2.1. Виртуальная память. Понятие виртуальной памяти.
- •Вопрос 28. Страничное распределение оперативной памяти. §5.3.2.2.Страничное распределение памяти.
- •Вопрос 29. Сегментное распределение оперативной памяти. §5.3.2.3.Сегментное распределение памяти.
- •Вопрос 30. Странично-сегментное распределение оперативной памяти. §5.3.2.4.Странично-сегментное распределение памяти.
- •Вопрос 31. Кэш-память. Принцип функционирования кэш-памяти. §5.4.1. Кэширование данных.
- •§5.4.2.Функционирование кэш-памяти.
- •Вопрос 32. Способы отображения оперативной памяти на кэш (случайное, детерминированное, комбинированное отображение). § 5.4.3. Способы отображения основной памяти на кэш.
- •Вопрос 33. Физическая организация устройств ввода-вывода. §6.1 Физическая организация устройств ввода-вывода.
- •Вопрос 34. Принципы организации программного обеспечения ввода-вывода. §6.2 Организация программного обеспечения ввода-вывода.
- •Обработка прерываний.
- •Драйверы устройств.
- •Независимый от устройств слой операционной системы.
- •Пользовательский слой программного обеспечения.
- •§7.1.2.Типы файлов.
- •§7.1.3.Логическая организация файла.
- •Вопрос 36. Физическая организация файловой системы. Структура жесткого диска. §7.2 Физическая организация файловой системы.
- •Структура жесткого диска.
- •Вопрос 37. Физическая организация и адресация файла. Права доступа к файлу. §7.2.1.Физическая организация и адресация файла.
- •§7.2.2.Права доступа к файлу.
- •Кэширование диска.
- •Вопрос 38. Общая модель файловой системы. §7.3 Общая модель файловой системы.
- •Вопрос 39. Современные архитектуры файловых систем. §7.3. Современные архитектуры файловых систем.
- •Вопрос 40. Физические организации файловой системы fat. §7.6 Физическая организация файловой системы fat.
- •Вопрос 41. Физические организации файловой системы ntfs. §7.7. Физические организации файловой системы ntfs.
- •7.8 Сравнение файловых систем
- •Вопрос 42. Системы программирования: состав систем программирования. Этапы разработки по. §8 Состав систем программирования.
- •8.2 Компоненты систем программирования Текстовые редакторы
- •Трансляторы, компиляторы и интерпретаторы
- •Список литературы
Вопрос 15. Что такое вычислительный процесс, поток? Состояния процесса. §4.2.1.Планирование процессов и потоков. Понятия «процесс» и «поток».
Для реализации многозадачности необходимо определить, каким образом ОС будет разделять между задачами процессор и другие ресурсы компьютера. С этой целью было введено понятие последовательного процесса или просто процесса.
Процесс – некая последовательность действий, выполняемая процессором с привлечением необходимых ресурсов (памяти, внешних устройств и т. д.). Процесс определяется программой, соответствующей данной задаче.
Программа представляет собой последовательность команд (поток команд). После запуска программы она загружается из внешней памяти компьютера в оперативную и ставится на выполнение процессором. Каждая команда занимает в памяти по конкретным физическим адресам одну или несколько ячеек памяти (байтов). Процессор последовательно выбирает команды из памяти и их выполняет. Для выборки команд из памяти используется специальный регистр, называемый программным счетчиком (program counter – PC), который содержит адрес текущей команды. Регистры процессора и переменные в оперативной памяти содержат текущие данные программы. Во время своей работы программа может использовать и другие ресурсы компьютера: открытые файлы, внешние устройства и т. д.
В литературе используется и такое определение процесса. Процесс (задача) – это выполнение отдельной программы с ее данными на последовательном процессоре.
Примеры процессов (задач): выполнение прикладных программ пользователей, утилит и других системных обрабатывающих программ, трансляция исходной программы, ее компоновка, исполнение. Причем трансляция какой-нибудь исходной программы является одним процессом, а трансляция следующей исходной программы – другим процессом, поскольку, хотя транслятор как объединение программных модулей здесь выступает как одна и та же программа, но данные, которые он обрабатывает, являются разными.
Процесс представляет собой обособленное явление, что необходимо для того, чтобы защитить один процесс от влияния другого, поскольку они совместно используют ресурсы компьютера и конкурируют друг с другом за обладание ими. ОС считает процессы совершенно не связанными друг с другом и берет на себя роль арбитра в спорах процессов за ресурсы. Каждый процесс имеет собственные (рис. 4.2): виртуальное адресное пространство; глобальные переменные; открытые файлы; внешние устройства; состояние; программный счетчик РС; регистры процессора; стек.
Рис. 4.3. Выполнение процесса на процессоре
Таким образом, процесс реализует две главные концепции: группирование ресурсов для программы и выполнение программы на процессоре.
Выделяют три основных состояния процесса:
Готовность – все необходимые ресурсы для процесса выделены, он готов выполняться, однако процессор занят выполнением другого процесса.
Выполнение – активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором.
Ожидание – процесс заблокирован и не может выполняться до осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса.
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое, в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе.
Рассмотренная трактовка термина «процесс» существовала долгое время, пока не возникла необходимость в организации параллельной обработки в рамках одного процесса (приложения, программы). Для реализации этой необходимости было введено новое понятие – поток или нить (thread).
В новой трактовке понятие процесс меняет смысл. В операционных системах, где существуют и процессы, и потоки, процесс рассматривается операционной системой как заявка на потребление всех видов ресурсов, кроме одного – процессорного времени. Этот последний важнейший ресурс распределяется операционной системой между потоками. Процессу ОС выделяет область памяти и другие ресурсы, которые совместно используются всеми его потоками. В простейшем случае процесс состоит только из одного потока. Поток получил свое название благодаря тому, что он представляет собой последовательность (поток) выполняемых команд программы. В рамках одного процесса может функционировать множество потоков, которые разделяют между собой (рис. 4.3): единое адресное пространство процесса; глобальные переменные; открытые файлы; внешние устройства и т.д.
При этом каждый из потоков имеет собственные: программный счетчик; регистры процессора; стек; состояние.
Например, при работе текстового редактора (один процесс) квазипараллельно выполняются три потока: ввод данных пользователя с клавиатуры, переформатирование документа, периодическое автосохранение документа.
Многопоточность в рамках одного процесса (приложения) позволяет повысить эффективность работы приложения. Например, в рассмотренном примере, при попытке записи на диск, если он занят другим процессом, ОС может не выполнять переключение на другой процесс, а поставить на выполнение другой поток выполняемого процесса.
Рис. 4.3. Выполнение потока текущего процесса на процессоре