Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Потоки — это мысли компьютераСодержание книги
Поиск на нашем сайте
Каждый поток похож на процесс. Единственным различием является то, что все потоки в пределах одной программы работают в одном адресном пространстве памяти. Это позволяет им разделять один общий буфер. Поток — это непрерывная последовательность инструкций, выполняющих определенную задачу. Процесс состоит как минимум из одного потока. Поток (thread) — это часть кода программы, которую можно исполнять одновременно с другими частями кода. Хорошей иллюстрацией тому служит оболочка Windows. Она представляет собой Win32-npoцecc, а каждое открываемое в ней окно папки является потоком. Поэтому, когда Вы инициируете в оболочке операцию копирования между двумя окнами папок, она исполняется потоком окна-приемника. Ну а Вы тем временем можете пользоваться другими окнами в оболочке и даже копировать файлы в другом окне. Пример1. в текстовом процессоре для увеличения скорости обработки и упрощения взаимодействия с пользователем можно реализовать несколько потоков. Один поток обрабатывает набираемый на клавиатуре текст, другой выполняет фоновые операции, например проверку орфографии или разбиение документа на страницы, а третий — отвечает за фоновую печать документа. Вы вполне можете думать о нескольких вещах одновременно. Пример2. В преддверие экзамена вы думаете о нем. О чем же вы думаете? Первое, какие вопросы вам придется изучить, второе, где взять ответы на эти вопросы, и третье, как составить план ответа, чтобы ничего не забыть. О всех трех вещах вы думаете, как бы, параллельно. В приведенном примере мысль об экзамене – это процесс, мысль о вопросах – это поток1, мысль об ответах – поток2, мысль о составлении плана – поток3 (см. рис.1). Благодаря операционной системе компьютер может делать то же самое. ОС позволяет множеству потоков работать одновременно. При многопоточности процессов ОС определяет, какой поток должен выполняться в данный момент времени и в течение какого времени он будет распоряжаться ресурсом центрального процессора. Именно операционная система определяет момент времени выполнения потока. Для выполнения потока необходимы две вещи: системное время и системное пространство. Поток должен иметь возможность захвата ресурсов центрального процессора в течение времени, позволяющего выполнить осмысленную операцию. Кроме того, потоку необходимо пространство хранения данных — место для размещения всей нужной ему в процессе работы информации. Рис.1. Граф «Процесс – поток» Когда в системе одновременно выполняется несколько процессов, необходимо разрешить ряд важных проблем: § каждому потоку необходимо выделить достаточно системного времени и пространства для работы. § потоки не должны мешать друг другу. В компьютере с несколькими процессорами каждый из нескольких взаимодействующих потоков можно приписать к одному определенному процессору, чтобы выполнять действия одновременно. Поэтому в данном случае имеет место реальный параллелизм. Если компьютер содержит только один процессор, потоки разделяются во времени на одном процессоре. В этом случае потоки будут выполняться по очереди, каждый понемножку. Иными словами, процессор будет разделяться между несколькими потоками. Рис. 2. Параллельная обработка с несколькими процессорами (а); моделирование параллельной обработки путем переключения одного процессора с одного процесса на другой (в данном случае всего три процесса) (б)
Понятие «ресурс» применительно к вычислительной технике следует понимать как функциональный элемент вычислительной системы, который может быть выделен процессу на определенный промежуток времени. Системные ресурсы, предоставляемые активному процессу, можно разделить на две категории: информационные и вычислительные. К информационным относятся все необходимые данные для работы программы или устройства (файлы с расширением.nfo,.inf,.txt и др.) Вычислительные ресурсы делятся на: 1. Аппаратные ресурсы, такие как процессор, оперативная память, карты расширения, объем дисковой памяти, периферийные устройства. Эти устройства должны обладать определенными характеристиками, которые будут удовлетворять потребностям инициализации и работы программы. 2. Программные ресурсы. К ним относятся драйверы, кодеки, проигрыватели, операционная система определенной версии, и другое специализированное ПО. Наряду с физическими ресурсами, реальными устройствами ЭВМ, - средствами современных ОС могут создаваться и использоваться виртуальные (воображаемые) ресурсы, являющиеся моделями физических. Например, характерным представителем виртуального ресурса является виртуальная оперативная память. Физически виртуальная память представляет собой область внешней памяти (жесткого диска), задействованную под основную память компьютера (оперативную память). Выполняемый процесс частично может располагаться во внешней памяти, а другая часть - в основной для выполнения центральным процессором. Таким образом, виртуальная память позволяет выполнять программы, размеры которых превышают размеры физического адресного пространства. Требования к системным ресурсам компьютера необходимо учитывать при установке любого программного продукта. Они указаны в документации, приложенной к программному продукту. Пример3. Для использования Microsoft Office Базовый 2007 необходимы следующие системные ресурсы:
После установки (инсталляции) программы пользователь может эксплуатировать её, для чего ему необходимо программу запустить или загрузить. Под загрузкой программы понимается копирование с внешнего носителя в оперативную память тела основной программы (файла с расширением.exe) и необходимых программных модулей и данных. Во время загрузки происходит инициализация программы (подготовка к началу работы), которая включает проверку наличия системных ресурсов и дальнейшую перезапись программы. После успешной загрузки программы, она становится процессом, занимаемым определенное адресное пространство, и готовым создавать потоки для выполнения их процессором. Те программы, которые после выполнения продолжают занимать своё адресное пространство в оперативной памяти и освобождают её только после принудительной выгрузки, называются резидентными. Программы, которые после выполнения освобождают оперативную память, называются транзитными. 1.1.2 Концепция прерываний процесса При исполнении программ (процессов, потоков) на центральном процессоре следует различать следующие характерные состояния (рис. 1): • порождение - подготовку условий для исполнения процессором: • активное состояние (или «Счет») - непосредственное исполнение процессором: • ожидание - по причине занятости какого-либо требуемого ресурса: •готовность - программа не исполняется, но все необходимые для исполнения программы ресурсы, кроме центрального процессора, предоставлены: • окончание - нормальное или аварийное завершение исполнения программы, после которого процессор и другие ресурсы ей не предоставляются. Концепция прерываний выполнения программ является базовой при построении любой операционной системы. Причиной прерываний является многозадачность, когда поддерживается выполнение нескольких программ в целом или разбиение программы на несколько задач. Разбиение программы на несколько задач (потоков) требует наличия в составе ОС средств для взаимодействия и синхронизации процессов. Рис. 1. Граф состояний переходов процесса из одной фазы в другую Прерывание - приостановка работы программы (потока) для передачи активности другой программе (потоку) с более высоким приоритетом. Из всего многообразия причин прерываний необходимо выделить два вида: первого и второго рода. Системные причины прерываний первого рода возникают в том случае, когда у процесса, находящегося в активном состоянии, возникает- потребность либо получить некоторый ресурс или отказаться от него, либо выполнить над ресурсом какие-либо действия. К этой группе относятся, так называемые, внутренние прерывания, связанные с работой процессора (например, арифметическое переполнение или исчезновение порядка в операциях с плавающей запятой). Системные причины прерывания второго рода обусловлены необходимостью проведения синхронизации между параллельными процессами. При обработке каждого прерывания должна выполняться следующая последовательность действии: § восприятие запроса на прерывание: § запоминание состояния прерванного процесса, определяемое значением счетчика команд и других регистров процессора; § передача управления прерывающему потоку (нити), для чего в счетчик команд заносится адрес, соответствующий данному типу прерывания; § обработка прерывания: § восстановление прерванного процесса. В большинстве ЭВМ первые три этапа реализуются аппаратными средствами, а остальные - блоком программ обработки прерываний операционной системы.
Контрольные вопросы 1. Как связаны друг с другом процесс и поток? 2. Какие ресурсы необходимы потоку для его выполнения? 3. Назовите одним словом аппаратные и программные ресурсы. 4. Какие действия выполняются в процессе загрузки программы в оперативную память? 5. Какой этап в выполнении процесса свидетельствует о том, что произошло прерывание?
Задания для самоконтроля
1. Опишите системные требования к имеющемуся у вас программному продукту. 2. В нижеизложенном тексте определите, что является процессом, потоком и где произошло прерывание потока. Студент собрался на обучение в педколледж. Взяв вещи, он вышел из дома и направился в педколледж. На полпути студент вспомнил, что он не взял важную вещь, и возвратился за ней. 1.2. Понятие операционной системы 1.2.1 Назначение, функции и состав ОС Особое место среди программных средств всех типов занимают операционные системы, являясь ядром программного обеспечения компьютера. ОС является как бы посредником между пользователем и компьютером и обеспечивает пользовательский интерфейс. Пользовательский интерфейс – это способ общения пользователя с персональным компьютером, с прикладными программами для решения конкретных задач. Ранние ЭВМ не предусматривали ОС, поэтому процессы запуска/остановки программы, присоединения внешних носителей управлялись вручную. В середине 60-х гг. ряд ведущих фирм-производителей ЭВМ – IBM (США), CII (Франция), практически одновременно приступил к выпуску моделей машин (IBM 360, System4, Iris 80), оснащенных операционными системами (operating system). Наиболее совершенной и конкурентоспособной оказалась OS/360 (IBM), в которой были заложены практически все основные черты ОС, позволяющие превратить ЭВМ в «автоматизированную фабрику» обработки информации при минимальном участии человека. OS/360 и другие современные ОС были ориентированы на обработку потока заданий (пакетную обработку), при которой пользователь не может вмешаться в ход выполняемой задачи, оперативно просмотреть промежуточные данные, т. е. оторван от машины. Появление и широкое распространение видеотерминалов привело к возможности предоставить пользователю интерактивный диалоговый доступ к вычислительному процессу, которым он занимается. В настоящее время наиболее распространенной является интерактивная ОС UNIX, версии которой разработаны практически для всех моделей ЭВМ, а также популярная ОС Windows, разработанная фирмой Microsoft для IBM PC. Для IBM PC-совместимых ЭВМ в свое время была разработана UNIX-подобная система MS-DOS (фирмой Microsoft). На современном этапе персональный компьютер без операционной системы не функционален.
|
|||||||||||||||||||
Последнее изменение этой страницы: 2021-05-12; просмотров: 81; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.83.149 (0.007 с.) |