Главная страница
Навигация по странице:

  • Модель Характеристики

  • Защиты не существует

  • Элементы процесса Элементы потока

  • Процессы. Процессы и потоки. Процессы и потоки


    Скачать 0.73 Mb.
    НазваниеПроцессы и потоки
    АнкорПроцессы
    Дата09.03.2023
    Размер0.73 Mb.
    Формат файлаppt
    Имя файлаПроцессы и потоки.ppt
    ТипПрограмма
    #975992
    страница4 из 8
    1   2   3   4   5   6   7   8

    Использование потоков (пример) (2)








    Способ организации web-сервера:
    Один поток, называемый диспетчером, считывает приходящие по сети запросы;
    После этого он находит свободный (то есть блокированный) рабочий поток и передает ему запрос, скажем, записывая указатель сообщения в специальное слово, связанное с каждым потоком;
    Затем диспетчер активизирует ждущий поток, переводя его из состояния блокировки в состояние готовности.




    Использование потоков. WEB-сервер. Модель сервера.





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

    Использование потоков. Пример (3) Сервер обработки данных.





    Способы конструирования сервера:


    Модель


    Характеристики


    Потоки


    Параллелизм, системные запросы с блокировкой


    Процесс с одним потоком


    Нет параллелизма, системные запросы с блокировкой


    Конечный автомат


    Параллелизм, системные запросы без блокировки, прерывания

    Классическая модель потоков




    Модель потока





    Модель процесса, базируется на двух независимых концепциях:
    группирование ресурсов;
    выполнение программы.

    Модель потока. Группировка ресурсов.





    Процесс можно рассматривать как способ объединения родственных ресурсов в одну группу.
    У процесса есть адресное пространство, содержащее текст программы и данные, а также другие ресурсы.
    Ресурсами являются:
    открытые файлы;
    дочерние процессы;
    необработанные аварийные сообщения;
    обработчики сигналов, и м. д.
    Гораздо проще управлять ресурсами, объединив их в форме процесса.

    Модель потока. Выполнение программы.





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

    Модель потока (2)




    Модель потока (3)





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

    Модель потока (4)





    Элементы процесса


    Элементы потока


    Адресное пространство


    Счетчик команд


    Глобальные переменные


    Регистры


    Открытые файлы


    Стек


    Дочерние процессы


    Состояние


    Необработанные аварийные сигналы


    Сигналы и их обработчики


    Информация об использовании ресурсов

    1   2   3   4   5   6   7   8


    написать администратору сайта