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

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

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

xPadla
14.06.2009 - 03:59

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

DdVar
#51 - 19.06.2009 - 21:39

Xenius, что такое "блобы"?

Ским
#52 - 19.06.2009 - 21:47

google://блоб/

fbb
#53 - 21.06.2009 - 10:37

Xenius ставьте pfsense. Сия урезанная фряха и создана изначально что-бы обеспечивать функции роутера и файерволла.

Xenius
#54 - 21.06.2009 - 10:59

Ее качать надо.
В общем, man ip хватит (кроме самой установки)?

Вдкъ
#55 - 27.06.2009 - 00:24

у меня Wi-fi роутер U.S.Robotics.При покупке был самый дешевый.элементарно сам его настроил и подключил.работает 3 год,никаких претензий

Вдкъ
#56 - 27.06.2009 - 00:26

#50 Таненбаум много чего считал и считает и при этом он во многом ошибся,я имею ввиду его знаменитый спор с Линусом.
хотя некоторые его изречения просто потрясны и про него можно целую тему создать=)

RoadRunner
#57 - 30.06.2009 - 09:32

Про Таненбаума вспомнил, глянув на отжираемую вистой память. Помнится мне, он говорил, что будущее - за микроядром, коего реализацию сподобились лицезреть мы в минихе и... в виндовз нт. Так вот. Микроядро. Виндовз НТ. 136 МБ, из которых 57 - невыгружаемые. МИКРО?!!

Driver
#58 - 30.06.2009 - 10:34

макро

RoadRunner
#59 - 30.06.2009 - 10:51

Именно "микро". Я недели 3 назад как раз "Just for fun" читал. Концепция такова, что якобы есть микроядро и модули, взаимодействие которых это ядро и обеспечивает. А "макро" - это как раз в линуксе, где можно вообще все модули впихнуть в ядро.

Driver
#60 - 30.06.2009 - 11:28

это был сарказм <_<

unikoid
#61 - 30.06.2009 - 12:13

Подозреваю, что nt kernel микроядром все же не является (написать можно все, что угодно). Иначе ошибка в малозначимом драйвере не приводила бы к bsod. Или я не прав?

Кто-то
#62 - 30.06.2009 - 13:10

Оно вроде как гибридное

RoadRunner
#63 - 01.07.2009 - 09:23

А вообще, чисто теоретически, загрузки одного только микроядра хватает для работы операционки или нет? И как с этим в линуксе? Насколько понимаю, там одного ядра достаточно для какой-никакой работы...

unikoid
#64 - 01.07.2009 - 10:10

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

unikoid
#65 - 01.07.2009 - 10:15

Да, рукипедия не считает nt микроядром. В 3.x ветке были некоторые микроядерные принципы, но в >= 4 отказались от них.

Xenius
#66 - 01.07.2009 - 10:16

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

Xenius
#67 - 01.07.2009 - 10:18

То есть, с веб-мордой, я так понял. При этом интернет раздается от не очень умного ADSL-модема с eth

RoadRunner
#68 - 01.07.2009 - 14:37

#64
>Помимо ядра нужна хотя бы командная оболочка
Это не имелось в виду. Имелось в виду, что для работы пользовательских программ (хотя бы некоторых) _достаточно_ загрузки ядра. Собственно, далее и был ответ на мой вопрос, спасибо.

RoadRunner
#69 - 02.07.2009 - 10:11

Ниже идет текст о микроядрах. Только я не понял, о каких преимуществах идет речь - ведь никто не мешает собрать ядро линукса, скомпилировав почти все в модулях. И получится примерно то же самое "микроядро"... А уж о быстродействии тем более речи нет - межпроцессный вызов будет дольше отрабатывать, чем вызов внутри одной программы (ака ядро).
>>>>>>>
Такая конструкция позволяет улучшить общее быстродействие системы (небольшое микроядро может уместиться в кэше процессора).[1] Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра.
>>>>>>>

unikoid
#70 - 02.07.2009 - 11:22

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

Кто-то
#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