ibash.org.ru - Новый цитатник Рунета

Форум: Каким маршрутизаторам доверяете? 1 2 > [RSS]

Форум: Вход Регистрация Участники Поиск RSS

xPadla
14.06.2009 - 03:59

Собственно сабж, какие роутеры предпочитаете для офиса/дома. Ясное дело, что Cisco рулит, но если офис небольшой или для домашней сетке, то это всё равно что убивать муху из РПГ.

Кто-то
#71 - 02.07.2009 - 11:57

#69, стабильность уже не считается преимуществом? И вобще, ты уважаешь Таненбаума?)

RoadRunner
#72 - 02.07.2009 - 12:14

Считается, только, как обычно, всегда есть компромисс между производительностью и стабильностью. Правда, на стратегические объекты никто не будет ставить драйверы, приводящие к сбоям... Так что в этом плане микроядро лишается преимущества.
Да, кстати, в той же статье писалось, что одним из представителей микроядрёной архитектуры являются ОСи семейства BSD-Unix.
Таненбаума, к сожалению, не читал. Кстати, разве Таненбаум - единственное светило в области проектирования ОСей? Есть какие-либо еще?

RoadRunner
#73 - 02.07.2009 - 13:47

Еще маленько офф-топика, и завязываю.
<OFFTOPIC>
О преимуществаях микроядра Мак3 свидетельствует описание нововведений в МакОСь Х:
==========
-Внутренняя модель графического слоя Quartz хорошо взаимодействует с Portable Document Format (PDF), делая возможным вывод PDF на различные устройства.
-Полноцветные масштабируемые иконки.
-Тени вокруг окон и изолированных текстовых элементов дают ощущение глубины.
-Глобальные для приложений меню — проверка орфографии, палитра специальных символов, выбор цвета, выбор шрифта и словарь.
-Сглаживание для виджетов, текста, графики и оконных элементов.
==========
</OFFTOPIC>

Ским
#74 - 02.07.2009 - 13:50

а давно микроядро стало как-то связанно с граф. мармеладками?

unikoid
#75 - 02.07.2009 - 17:49

RoadRunner, откуда трава?
Кстати, в макоси гибридное ядро.

DdVar
#76 - 02.07.2009 - 20:51

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

unikoid
#77 - 02.07.2009 - 22:54

>один процесс нельзя разбить на несколько ядер
а как же различные pthreads и прочее? В основном, как я понял, микроядро дает стабильность и относительную независимость работы всей системы от работы конкретного модуля (драйвера, подсистемы), если этот модуль не является критичным.

DdVar
#78 - 02.07.2009 - 23:19

> а как же различные pthreads и прочее?

http://ru.wikipedia.org/wiki/POSIX_Threads
http://ru.wikipedia.org/wiki/Поток_выполнения

По последней ссылке читаем:
"Многопоточность (как доктрину программирования) не следует путать ни с многозадачностью, ни с многопроцессорностью..."

Если же я всё-таки что-то неправильно понимаю, то объясни мне, как выйти из следующего положения:
на сервере висит процесс, обрабатывающий много потоков трафика на интерфейсе (таких процессов несколько - по количеству интерфейсов). При увеличении трафика один из процессов достигает 100% загрузки одного из ядер, и больше трафик увеличиваться не может. А расширяться надо.
Как же разбить этот процесс на несколько ядер, чтоб трафик без проблем проходил?

unikoid
#79 - 03.07.2009 - 07:51

DdVar, не знаю, с темой, честно говоря, знаком мало, насчет pthreads просто предположил. Но очень часто слышу про компиляцию, кодирование видео/звука на нескольких ядрах/процессорах.

RoadRunner
#80 - 03.07.2009 - 11:04

#75
К сожалению, с вики... Кстати, получается, что нт-шное ядро тоже является гибридным. Читал, что М$ "коммерчески невыгодно" реализовывать чистое микро-ядро.
...Кстати, микро-ядро также не может быть масштабируемым, как об этом заявляется, поскольку оно тоже всего одно и размещается тоже только на одном процессоре/ядре. То, что все остальные модули могут выполняться на других процессорах/ядрах, ни о чем не говорит, поскольку они находятся в юзер-спейсе. В осях с монолитным ядром это также возможно.
Надежность в микроядрах сомнительна. Часто приводят цитату того же Таненбаума, что системы, от которых зависит жизнь и безопасность, на монолитных ядрах не делают. Но это спорный вопрос. Какой толк от ядра, если откажет/зависнет драйвер/модуль оборудования, критического к сбоям? Да, ядро может без ущерба прибить драйвер и перезагрузить его, но придется тогда заново инициализировать этот драйвер и т.д., что может повлечь за собой смерть пациента, взрыв на АЭС и т.д. Или я не прав?

Dink
#81 - 13.07.2009 - 16:44

#78,
DdVar, таки это не совсем верно - http://en.wikipedia.org/wiki/Processor_affinity
Различные нити одного процесса ( а для многих NIX это суть одно и то-же - разница только в адресном пространстве - для порождаемого ПРОЦЕССА создается его собственное пространство, а для порождаемой НИТИ - адресное пространство наследуется от родителя, т.о. они оба живут "в одной памяти" )...
кхм... Так вот...
Различные нити одного процесса могут ОДНОВРЕМЕННО исполняться на разных процессорах/ядрах в многопроцессорной/многоядерной системы если такое разрешено конфигурацией системного шедулера.

>>Как же разбить этот процесс на несколько ядер, чтоб трафик без проблем проходил?

Это можно решить в случае когда есть возможность модифицировать код приложения, обрабатывающего этот траффик, при условии что задача поддается распараллеливанию -
http://ru.wikipedia.org/wiki/Распараллеливание программ.
Тогда траффик каждого интерфейса разбивается на блоки, а эти блоки, по мере поступления, подаются в очередь обработки. Сама обработка выполняется набором нитей, (обычно их число определяется экспериментально, в моих экспериментах для грубого приближения нитей было в 2 раза больше чем ядер) каждая из которых работает над своим блоком и не беспокоит соседей. А системный шедулер обычно старается балансировать нагрузку ядер.
К списку вопросовСтраницы: 1 2 >

Быстрый ответ
Имя:      Пароль:    
Текст сообщения:

«ibash.org.ru — Новый цитатник Рунета» Почта вебмастера: imail@ibash.org.ru