Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sveta-1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
109.57 Кб
Скачать

2.3 Создание потоков

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

Поток может породить другой поток - потомок. При завершения потока-родителя используются разные алгоритмы. Асинхронное завершение предполагает продолжение выполнения потоков-потомков после завершения потока-родителя. Синхронное завершение потока-родителя приводит к завершению всех его потомков.

Пример создания потоков в Windows (object Pascal):

T=TThread.Create(false)

Пример удаления потока:

T.Suspend; T.Terminate; T.Free

Глава 3.Сравнение

3.1 Сходства потоков и процессов

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

3.2 Различия между потоками и процессами

Основное различие между потоками и процессами состоит в том, что каждый процесс имеет собственное адресное пространство, а потоки — нет. Если процесс создает множество потоков, то все они будут содержаться в его адресном пространстве. Вот почему они так легко разделяют общие ресурсы, и так просто обеспечивается взаимодействие между ними. Сыновние процессы имеют собственные адресные пространства и копии разделов данных. Следовательно, когда процесс-потомок изменяет свои переменные или данные, это не влияет на данные родительского процесса. Если необходимо, чтобы родительский и сыновний процессы совместно использовали данные, нужно создать общую область памяти. Для передачи данных между родителем и потомком используются такие механизмы межпроцессного взаимодействия, как каналы и FIFO-очереди. Потоки одного процесса могут передавать информацию и связываться друг с другом путем непосредственного считывания и записи общих данных, которые доступны родительскому процессу.

Заключение

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

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

Была так же выполнена поставленная задача - формирование новых символов, разработка команд для их загрузки в оперативную память принтера и программы, реализующей вывод данных символов на печать - выполнена путем разработки начертания символов, составляющих мои инициалы (Е.Ю.), и реализации необходимых программных кодов на языке BASIC.

Список используемой литературы

1. Современные операционные системы. Э. Таненбаум, 3-е изд. -СПб.: Питер, 2010.

2. В.Г. Олифер, Н.А. Олифер «Сетевые операционные системы» Серия: Учебник для вузов. Издательство: Питер, 2008 г. ISBN 978-5-91180-528-9

3. Уинзор Дж. SOLARIS. Руководство системного администратора. 3-е изд. -- СПб.: Питер, 2003.-- 448 с.

4. Системное программное обеспечение./В.М. Илюшечкин, А.Е. Костин.,2-е, перераб. И доп. - М.: Высш.шк.,1999 г.

5. Экономическая информатика: учеб. пособие /В.В. Евсюков-Тула: изд. «Гриф и К»,2003.

6. Работа на компьютере. Коржинский С. - СПб.: ПИТЕР. 2005

7.http://www.k2x2.info/kompyutery_i_internet/parallelnoe_i_raspredelennoe_programmirovanie_na_s/p6.php

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]