рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Потоки. Мультипрограммирование на уровне потоков

Потоки. Мультипрограммирование на уровне потоков - раздел Образование, Экзаменационные вопросы по курсу Операционные системы Чтобы Поддерживать Мультипрограммирование (Многозадачность), Ос Должна Опреде...

Чтобы поддерживать мультипрограммирование (многозадачность), ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компьютера.

В настоящее время в большинстве операционных систем определены два типа единиц работы.

Более крупная единица работы – процесс.

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

Но дело в том, что приложение (задание) может обладать внутренним параллелизмом, использование которого потенциально может ускорить вычисления.

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

И нужна более мелкая единица работы чем процесс - «поток», или «нить» (threads).

В Windows поддерживаются еще более мелкая единица работы - волокна (fibers).

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

Подобно процессам потоки в системе описываются структурой данных, которую обычно называют блоком управления потоком (thread control block, TCB).

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

Этот последний важнейший ресурс распределяется операционной системой между другими единицами работы — потоками, которые и получили свое название благодаря тому, что они представляют собой последовательности (потоки выполнения) команд.

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

Создание потоков требует от ОС меньших накладных расходов, чем процессов.

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

Для потоков в отличии от процессов характерно следующие важное свойство: они делят между собой почти все ресурсы потока- одновременно используют эти ресурсы.

Обычно различные потоки совместно используют следующие ресурсы процесса:

1) адресное пространство;

2) глобальные переменные;

3) открытые файлы;

4) дочерние процессы;

5) необработанные аварийные сигналы;

6) сигналы тревоги и их обработчики;

7) информацию об используемых ресурсах.

При этом каждый из потоков имеет собственный:

• счетчик команд

• регистр

• стеки

• состояние процессора

• локальные переменные

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

Это означает, что они разделяют одни и те же глобальные переменные.

Поскольку каждый поток может иметь доступ к любому виртуальному адресу процесса, один поток может использовать стек другого потока.

Между потоками одного процесса нет полной защиты, потому что, во-первых, это невозможно, а во-вторых, не нужно.

Чтобы организовать взаимодействие и обмен данными, потокам вовсе не требуется обращаться к ОС, им достаточно использовать общую память — один поток записывает данные, а другой читает их.

С другой стороны, потоки разных процессов по-прежнему хорошо защищены друг от друга

Итак, мультипрограммирование более эффективно на уровне потоков, а не процессов.

Задача, оформленная в виде нескольких потоков в рамках одного процесса, может быть выполнена быстрее за счет псевдопараллельного (или параллельного в мультипроцессорной системе) выполнения ее отдельных частей.

Наибольший эффект от введения многопоточной обработки достигается в мультипроцессорных системах, в которых потоки, в том числе и принадлежащие одному процессу, могут выполняться на разных процессорах действительно параллельно (а не псевдопараллельно).

В каждой ОС имеются системные вызовы с помощью которых программа выполняемая в процессе может произвести запуск, приостановку и завершение одного или нескольких потоков.

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

Это связано с тем, что в данном случи процессору нужно производить дополнительные и последующие восстановление значительно меньшего числа переменных процесса (счетчика команд, регистров стеков состояний процессора).

При переключении между потоками процессору нет необходимости производить выполнение самых длительных операций (запоминание и восстановление памяти используемых процессов, описание состояния всех файлов, а так же устройств занятый процессом).

– Конец работы –

Эта тема принадлежит разделу:

Экзаменационные вопросы по курсу Операционные системы

Общая характеристика понятий сложность система модель... Существующие предметные области и явления сложны В силу этого реальный наблюдатель может видеть только отдельные...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Потоки. Мультипрограммирование на уровне потоков

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Факторные подсистемы сложных систем, принципы системного подхода.
Сложные системы можно подразделить на следующие факторные подсистемы: 1) решающую, которая принимает глобальные решения во взаимодействии с внешней средой и распределяет локальные задания

Архитектура процессора с точки зрения программиста
Для программиста любой процессор состоит из набора регистров памяти различного назначения, которые определенным образом связаны между собой и обрабатываются в соответствии с некоторой системой прав

Основные этапы эволюции вычислительных систем
Существуют различные классификации ВС. Наиболее часто они классифицируются по элементной базе. В соответствии с этой классификацией в эволюции ВС выделяются 4 этапа: 1. Первый период (1945

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

Организация эффективного использования ресурсов компьютера. Облегчение процессов эксплуатации аппаратных и программных средств вычислительной системы
К числу основных ресурсов современных ОС можно отнести процессоры, ОЗУ, таймеры, наборы данных, диски, накопители на магнитных лентах, принтеры, сетевые устройства и т.д. Ресурсы должны быть распре

Возможности развития ОС, требования к ОС, средства аппаратной поддержки ОС
Необходимость развития обусловлена следующими причинами: ¾ обновление и возникновение новых видов аппаратного обеспечения ¾ появление новых сервисов (для удовлетворе

Основные принципы разработки архитектуры ОС
Архитектура – это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы [IEE[1471] .

Монолитная архитектура ОС
В монолитной архитектуре ОС уже присутствует некая структурированность, которая определяется набором процедур. Здесь каждая процедура имеет хорошо определенный интерфейс и может вызвать лю

Многоуровневая архитектура ОС
Многоуровневая архитектура появилась в ответ на ограничения монолитной архитектуры в плане расширяемости, переносимости и совместимости. Основная ее идея состоит в следующем: 1. П

Понятие процесса, состояния процесса, модель процесса
Процесс является фундаментальным понятием, отражающим функционирование ОС. По своей сути это динамический объект, над которым ОС выполняет определенные действия. Рассмотрим модели процессо

Планирование процессов. Уровни планирования
Процессы – деятельность ОС. Одной из составляющих процессов являются ресурсы. Они ограничены. Поскольку процессов много, необходимо организовать координацию их использования. Кроме того, процессы –

Критерии планирования и требования к алгоритмам
Понятно, что могут существовать различные алгоритмы планирования. И хотелось бы, чтобы они были универсальны, но реально этого не происходит. Чаще всего тот или иной алгоритм подходит к определенно

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

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

Алгоритм планирования процессов First-Come, First-Served (FCFS)
Реально существует множество разнообразных алгоритмов планирования. Каждый из них эффективен для определенного класса задач. Существуют алгоритмы, которые можно применять на различных уров

Алгоритм планирования процессов Round Robin (RR)
Отмеченные недостатки устраняются в следующем алгоритме: Round Robin (RR). В целом он похож на предыдущий алгоритм, но дополнительно вводится механизм вытесняющего планирования.

Алгоритм планирования процессов Shortest-Job-First (невытесняющий)
При рассмотрении алгоритмов FCFS и RR мы видели, насколько существенным для них является порядок расположения процессов в очереди процессов, готовых к исполнению. Если короткие задачи расположены в

Алгоритм планирования процессов Shortest-Job-First (вытесняющий)
При вытесняющем SJF-планировании учитывается появление новых процессов в очереди готовых к исполнению (из числа вновь родившихся или разблокированных) во время работы выбранного процесса.

Многоуровневые очереди в планировании процессов (без обратной связи и с обратной связью)
(Multilevel Queue) Для систем, в которых процессы могут быть легко рассортированы по

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

Семафоры, мьютексы. Использование семафоров для синхронизации процессов
Обобщением блокирующих переменных являются так называемые семафоры Дийкстры. Вместо двоичных переменных Дийкстра (Dijkstra) предложил использовать переменные, которые могут принимать целые

Организация физической памяти компьютера
Со времен создания ЭВМ фон Неймана основная память в компьютерной системе организована как линейное (одномерное) адресное пространство, состоящее из последова­тельности слов, а позже байтов. Аналог

Функции ОС по управлению памятью
Под памятью (memory) в данном случае подразумевается оперативная (основная) память компьютера. В однопрограммных операционных системах основная память раз­деляется на две части. Одна часть - для оп

Виртуальная память
Объем оперативной памяти существенно сказывается на характере протекания вы- числительного процесса, так как он ограничивает число одновременно выполняющихся программ, т. е. урове

Методы структуризации виртуального адресного пространства
Большинство систем виртуальной памяти используют технику, называемую страничной организацией памяти. Любой процесс, реализуемый в компьютере, может обратиться к множеству адресов в памяти. Адреса м

Страничная организация виртуальной памяти
При страничной организации виртуальное адресное пространство каждого про­цесса делится на части одинакового, фиксированного для данной системы размера, на­зываемые виртуальными страницами (Virtual

Сегментация виртуальной памяти
При страничной организации виртуальное адресное пространство делится на равные части механически без учета смыслового значения данных. Для многих задач наличие двух и более отдельных виртуальных ад

Программная поддержка механизмов виртуальной памяти
52. Общая характеристика устройств ввода – вывода Внешние устройства, выполняющие операции ввода-вывода, можно разделить на три группы: · устройства, работающие с

Назначение и задачи подсистемы ввода-вывода
Обмен данными между пользователями, приложениями и периферийными уст­ройствами компьютера выполняет специальная подсистема ОС - подсистема ввода-вы­вода. Собственно для выполнения этой задачи и был

Драйверы устройств ввода вывода
Первоначально термин «драйвер» применялся в достаточно узком смысле; под драйвером понимается программный модуль, который: · входит в состав ядра ОС, работая в привилегированном режиме;

Многослойная модель подсистемы ввода-вывода
При большом разнообразии устройств ввода-вывода, обладающих существенно различными характеристиками, иерархическая структура подсистемы ввода-вывода по­зволяет соблюсти баланс между двумя противоре

Архитектура файловой системы
Классическая схема организации программного обеспечения файловой системы представлена на рис.  

Логическая организация файлов
Логический ввод-вывод предоставляет приложениям и пользователям доступ к записям. Метод доступа Наиболее близкий пользователю уровень файловой системы. Он обеспечивает стандартный

Каталоговые системы
Связующим звеном между системой управления файлами и набором файлов слу­жит файловый каталог. Простейшая форма системы каталогов состоит в том, что имеет­ся один каталог, в котором содержатся все ф

Физическая организация файловой системы
Информационная структура магнитных дисков Представление пользователей о файловой системе как об иерархически организо­ванном множестве информационных блоков имеет мало общего с порядком хр

S – номер сектора
На каждой стороне каждой пластины размечены тонкие концентрические кольца ­дорожки (tracks), на которых хранятся данные. Нумерация дорожек начинается с 0 от внешнего края к

Физическая организация и адресация файла
Физическая организация выделяет способ размещения файлов на диске и учет соответствия блоков диска файлам. Основными критериями эффективности физиче­ской организации файлов являются:

Физическая организация FAT
Для обеспечения доступа приложений к файлам операционная система с файловой системой FAT использует следующие структуры: · загрузочные сектора главного и дополнительных разде

Основные этапы развития операционных систем корпорации Microsoft.
Операционные системы корпорации Microsoft для настольных и переносныхкомпьютеров можно разделить на три семейства: MS DOS, Consumer Windows (Windows95/98/Me) и Professional (Windows NT/2000/2003/.

Общая характеристика структуры ОС Windows 2000,основные изменения в ней по сравнению с ОС Windows NT.
Операционная система 2000 состоит из двух основных частей: самой операционной системы, работающей в режиме ядра, и подсистем окружения, работающих в режиме пользователя. Ядро является

Основные функции, выполняемые уровнем HAL ОС Windows 2000.
Над уровнем HAL располагается уровень, содержащий ядро ОС, а также драйверы устройств. Существуют четыре вида драйверов: (1) аппаратных средств, (2) файловой­системы, (3) фильтров и (4) сетевых уст

Общая характеристика исполняющей подсистемы ОС Windows 2000.
Над ядром и драйверами устройств располагается исполняющая система. Она написана на языке С, не зависит от архитектуры машины и может быть перенесена на новые машины относительно просто. Исп

Основные особенности файловой системы NTFS 5 по сравнению с предыдущими файловыми системами Microsoft.
Файловая система NTFS была полностью разработана заново и достаточно сложна. Каждый том NTFS (т. е. дисковый раздел) содержит файлы, каталоги, битовые массивы и другие структуры данных. Каждый том

Средства достижения безопасности в ОС Windows 2000
ОС Windows NT была разработана так, чтобы соответствовать уровню С2 требований безопасности Министерства обороны США (DoD 5200.28 - STD) [37]. Этот стандарт требует наличия у операционных систем оп

Основные принципы работы шифрующей файловой системы в ОС Windows 2000
Файловая система NTFS поддерживает прозрачное сжатие файлов. Файл может быть создан в сжатом режиме. Это значит, что файловая система NTFS будет автоматически пытаться сжать блоки этого файла при з

Набор API для Win 32.
Этот набор интерфейсов прикладного программирования позволяет выполнять шифрование файлов, дешифрование и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного деши

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги