Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
ТЕХНОЛОГИИ ДОСТ... 62892
Имитационное мо... 58280
Реклама
Сейчас на сайте
Гостей: 3
На сайте нет зарегистрированных пользователей

Пользователей: 13,091
новичок: avegraf
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Моделирование работы аэропорта на GPSS + Пояснительная записка
Файл записей с выводом обратного заголовка на Turbo Pascal
Моделирование литейного цеха на GPSS + Пояснительная записка

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Оптимизация работы в Mach
Главным достоинством продолжений можно назвать сокращение количества стеков в ядре системы. Продолжения также позволяют провести ряд важных оптимизаций. Представьте, что при переключении контекста ядро обнаружило, что предыдущая и последующая нити используют продолжения.


Также может иметь смысл заглянуть на сайт carbide-tools.com.tw, ведь именно там можно узнать много нового на тему http://carbide-tools.com.tw/relevant_page/. Тема матрицы, пуансоны, волоки из Тайваня может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт carbide-tools.com.tw, и тема матрицы, пуансоны, волоки из Тайваня начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема матрицы, пуансоны, волоки из Тайваня очень подробно представлена на сайте carbide-tools.com.tw. Трудно найти более детальное освещение темы матрицы, пуансоны, волоки из Тайваня чем это сделано на сайте carbide-tools.com.tw. Спасибо сайту carbide-tools.com.tw за такое доскональное преподнесение темы матрицы, пуансоны, волоки из Тайваня.



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

Помимо исключения перегрузок, которые бы происходили при выделении нового стека, такой подход помогает сократить кэш-промахи
и буферы ассоциативной трансляции (translation lookaside buffer, TLB, см. подробнее в разделе 13.3.1), ассоциированные с переключением контекста, так как используется та же область памяти.


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


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



Если получатель находится в режиме ожидания, то процедура пересылки может быть оптимизирована при помощи продолжений. Когда отправитель обнаружит, что получатель находится в режиме ожидания, он передаст свой стек получателю и заблокируется на функции продолжения mach_msg_ continue(). Получающая нить восстановит свою работу, используя при этом стек отправителя, который уже содержит всю необходимую информацию о передаваемом сообщении. Такой подход предотвращает перегрузку, возникающую при помещении в очередь и извлечении из нее сообщения, а также ощутимо увеличивает скорость обмена сообщениями. После ответа сервера происходит передача его стека клиентской нити и возобновление работы клиента описанным выше способом.
Анализ производительности


Механизм продолжений системы Mach показал себя очень эффективным. Так как его применение не является обязательным, нет необходимости менять программную модель целиком, и его использование может быть наращиваемым. Механизм продолжений очень сильно сокращает количество запросов, размещаемых в памяти ядра. Измерения производительности показали [10], что в среднем в системе, которой требуется 2002 байт стека в ядре на каждый процессор, пространство ядра для каждой нити сокращается с 4664 до 690 байт.


Операционная система Mach 3.0 очень неплохо подходит для продолжений, так как обладает микроядром, имеющим небольшое количество базовых элементов и предлагающим скромный интерфейс. В частности, та часть кода, которая сохраняла совместимость системы с UNIX, была удалена из ядра, и ее реализация состоялась в виде серверов прикладного уровня [12]. В результате оказалось только 60 потенциальных мест, в которых ядро может блокировать выполнение, а 99% всех случаев блокирования происходит в шести «горячих точках». При концентрировании внимания на них обеспечивается определенное преимущество, заключающееся в уменьшении усилий, затрачиваемых на разработку приложений. В противоположность Mach, традиционные системы UNIX могут производить блокирование в сотнях мест, при этом не имея ни одной так называемой «горячей точки».
Опубликовал katy July 03 2015 19:07:57 · 0 Комментариев · 1495 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
MxProtector
Rotolabel
Run
Реализация ЭЦП по...
Время загрузки ...
Основы программир...
Факториал [Исходн...
Разработка клиент...
NetGraph [Исходни...
ComboBox97
Калькулятор [Исхо...
WinAmp
Профессиональное ...
Краснов М. - Open...
PHP/MySQL для нач...
C# 2005 и платфор...
Паскаль и Дельфи....
Allsubmitter 4.7 ...
Быстрое создание ...
Image Browser [Ис...

Топ загрузок
Приложение Клие... 100476
Delphi 7 Enterp... 87794
Converter AMR<-... 20082
GPSS World Stud... 13384
Borland C++Buil... 12040
Borland Delphi ... 8663
Turbo Pascal fo... 7048
Visual Studio 2... 5005
Калькулятор [Ис... 4894
FreeSMS v1.3.1 3545
Случайные статьи
16-2)
3.1. Обработка спе...
Toolbox
Связывание — это с...
Как это может рабо...
Драйверы для много...
ВВЕДЕНИЕ
Большинство програ...
11.2. Более сложн...
Заказ услуг хостинга
Моделирование случ...
Желонка для скважины
Сборка. Продолжение
Добавляем к титлам...
Чего мы хотим от п...
Пятнашки на Strawb...
Базовая программа ...
Система Mach
Успешная проверка
Спам поисковых машин
Как быть, если мас...
Метод-шаблон
Легальный заработок
Тонкости дизассемб...
Правила определени...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?