| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > *NIX и Hardware > Поддерживает ли ядро Линукса 4-х ядерные процы? |
| Автор: Andrey1 4.3.2008, 10:40 |
| Думаю купить комп, и думаю, поддерживает ли ядро Линукса 4-х ядерные процы? |
| Автор: MAKCim 4.3.2008, 11:10 | ||
и даже больше |
| Автор: powerfox 4.3.2008, 15:22 |
| Модератор: перенёс в железо. |
| Автор: bilbobagginz 4.3.2008, 22:44 |
| 4 говоришь ? он и 128 может: http://members.optusnet.com.au/clausen/sgi/ не знаю насколько хорошо линь делает это чем соляра, но на данной железке соляра не побежит. |
| Автор: Стас 5.3.2008, 09:52 |
| У меня на Intel Core 2 Quad Q6600 линуксы летают! В OpenSuse 10.3 даже включилась поддержка SMP! Opensuse наверное думает, что работает на четырехпроцессорной машине! |
| Автор: MAKCim 5.3.2008, 09:58 | ||
а это не так разве? |
| Автор: Стас 5.3.2008, 10:06 | ||
По сути так. |
| Автор: Andrey1 5.3.2008, 13:12 |
Я слышал, что winXP не поддерживает больше двух ядер... А я вот посмотрел на тесты http://www.fcenter.ru/online.shtml?articles/hardware/processors/23056 и решил брать Core 2 Duo пошустрее... Добавлено через 3 минуты и 19 секунд Вот вот... и вопрос в том, проблема ли это ядра, софта или проца |
| Автор: ZeeLax 5.3.2008, 14:17 |
А причем тут WinXP? |
| Автор: powerfox 5.3.2008, 15:43 |
А как же тогда Core Quad работает на XP. Я видел, как его тестировали в XP. Но, кажется, он неправильно опредялялся (но это имеет суть?). В Linux всё поддерживается. |
| Автор: Andrey1 5.3.2008, 17:23 |
ну значит проблема есть и не все так просто... |
| Автор: ZeeLax 5.3.2008, 17:35 |
Какая проблема? ;) |
| Автор: nickless 5.3.2008, 17:38 |
У XP возможно есть, но какое отношение проблемы Windows XP имеют к линуксу? |
| Автор: MAKCim 5.3.2008, 18:20 |
а почему не должен работать? SMP - это по желанию, также как и 64-х битный режим а вообще, все это глупости нормально все у XP с многопроцессорностью по крайней мере с двумя ядрами точно |
| Автор: powerfox 5.3.2008, 20:59 | ||||
MAKCim, так я к этому и написал.
|
| Автор: bilbobagginz 5.3.2008, 22:31 |
| ребят я тут запутался. во первых ядро линукс - в контексте оперативных систем != ядро многоядерного процессора. "ядро" (core) в процессорах - это вроде как чипсет, копию которого размножили на силиконовом куске, и соединили на общей шине ввода/вывода. "ядро" (kernel) в ос-ях - это ПО, обеспечивающее работоспособность и распределение аппаратных ресурсов в комьютере. SMP, насколько мне известно, значит Symmetric MultiProcessing. т.е. симметричная многопроцессорность. т.е. ядро ОС с этим свойством может работать с более чем одним физическим процессором, распределив между процессорами (или "ядрами"-cores) задачи по надобности. "симметричное" оно, так как В отличие от ассиметричной многопроцессорности (NUMA=non uniform memory access), где не все процессоры подключены к одному и тому же основному накопителю, т.е. RAM. В SMP системах все процессоры подключаются к единой системе памяти, и есть нужда синхронизировать доступ каждого к этому модулю памяти. если у вас многоядерный ( тут имеется в виду кремневое ядро) процессор, и вы не включите SMP, то ваше линукс-ядро будет видеть 1 процессор, который будет являться процессором номер 0 в многоядерном процессоре. если у вас более одного (многоядерного) процессора, то линукс без SMP будет бежать на процессоре 0, на его ядре 0. в линуксе сo включенным SMP проблем не должно быть. удачи всем. На вопрос "что мне лучше: 4-х ядерный процессор или Core 2 Duo?" нужно просто понять устройство многоядерного процессора. в multicore процессорах обычно шина ввода-вывода - общая. это значит, что если у вас приложения интенсивно загружают ввод-вывод на "ядра" процессора, то вам скорее всего НЕ стоит покупать 4-х ядерный процессор. с др. стороны, если у вас приложение нагружает процессор, без особо большого количества данных, превышающего или напрягающего шину данных процессора (front side bus), то вам таки ДА стоит использовать 4-х ядерный процессор. Мир Вам. |
| Автор: MAKCim 5.3.2008, 22:54 | ||||||
1. чипсет - это чипсет 2. ядро - это совокупность устройств выполнения (execution engine) и регистров к устройствам выполнения относятся: АЛУ, декодеры, BTB, устройство вычисления адреса, MMU, кэш L1 и т. д
не только
на SMP-системе код ядра ОС может выполнять любой процессор (например при переходе процесса (код которого выполняет процессор) на нулевое кольцо) в то время как на AMP-системе код ядра выполняется на каком-то одном процессоре под процессором я понимаю или физическое ядро (т. к любой процессор имеет по крайней мере одно ядро), или HT-ядро в рамках физического ядра |
| Автор: vinter 5.3.2008, 23:58 | ||
Максим что то не очень понятно что ты имел ввиду, вот например виндовое ядро: когда процесс переходит в привелегированный режим и допустим начинает выполнять какое нибудь действие с повышенным IRQL, то тут какая бы ни была система, другой процессор становиться в очередь и не может выполнять код ядра. С другой стороны когда до другого проца дойдет очередь он тоже будет выполнять код ядра.. Тогда судя по твоему посту все ситсемы существующие сейчас(настольные) есть SMP? Я не спорю, я действительно не понял поста, хотелось бы более подробного объяснения, если возможно По теме: по поводу поддержки многопроцессорности можно вообще не волноваться, Хардварники всегда отстают от Софтварников, к тому же появившиеся настольные восьмиядерники еще одно тому подтверждение, раз выпустили их на рынок значит ОСи их потдерживают. |
| Автор: bilbobagginz 6.3.2008, 05:52 |
| во! начинается интересный разговор. можно ядро в контексте core назвать "библиотекой реализующей процессор типа X" а многоядерный процессор получается процессор, на котором реализованы несколько штук типа X, и соединены на общей шине данных, и частично общим кешем с L2 и выше. но это нас пока не очень колышит насчет AMP, есть вообще реализации AMP систем ? мне не приходилось читать о таких системах.... а как обстоит дело с памятью в таких системах ? нужна DSM, как и в NUMA-архитектурах ? |
| Автор: bilbobagginz 6.3.2008, 06:20 | ||||
в общем одна из самых больших проблем безопасности в многоядерных процессорах - грязный кеш. если в кеше находится информация привелегированного процесса, а пользователь вставил в тот процессор свой код, возможно при хитроумном использовании памяти он сможет получить доступ к данным предыдущего процесса. На этой штуке кирдыкнулся hyperthreading не факт. и не факт что хардварники отстают. просто по экономическим предпосылкам рынка до того как распродали все выпущенные железки предыдущей модели, не стоит вносить новые и более хитрые - народ не будет покупать старые, а это огромные деньги на ветер.
тут можно поспорить, и определение сделать более общим: если ядро - "реализация A/D преобразователя", то "единиц выполнения" там может и не быть, только память и преобразователи. core в HDL терминологии, AFAIK это "распространяемая и неизменная функциональная единица". напр. фирма Xilinx, продает пгрограммируемый чип (Virtex-5) с встроенными несколькими 32х40 DSP cores. каждый такой DSP48E умеет делать несколько базовых DSP операций. |
| Автор: MAKCim 6.3.2008, 10:37 | ||||||||||||
что такое IRQL? грубо говоря, это число, определяющее возможность выполнения определенного действия и его приоритет к примеру, каждое аппаратное прерывание имеет определенный IRQL любой процессор в любой момент времени имеет определенное значение IRQL при возникновении некоторого события ассоциированное с ним значение IRQL сравнивается с IRQL текущего процессора если оно больше, чем IRQL процессора, то событие обрабатывается, иначе не обрабатывается т. е IRQL процессора глобален для самого процессора, но локален для ОС имплементация IRQL может использовать аппаратный регистр TPR (Task Priority Register) в APIC, вместо програмной реализации
Linux, Windows и Mac на MP-системах являются SMP
с точки зрения програмного интерфейса все многоядерные процессоры для ОС одинаковы ОС, поддерживающая 2 ядра, будет поддерживать и 4, и 8 ядер другой вопрос, как хорошо поэтому для эффективной работы с большим количеством ядер, необходима некоторая модификация алгоритмов точно сказать не могу, но предполагаю, что есть
SMP и AMP - это логические организации ОС, которые поддерживают MP т. е ОС вполне может быть AMP на аппаратной UMA-архитектуре
TLB сбрасывается при каждом переключении контекста так что ОС, использующие страничную адресацию, защищены
единицы выполнения в ядре есть всегда, т. к всегда есть ALU что такое A/D преобразователь? |
| Автор: bilbobagginz 6.3.2008, 14:53 |
| analog->digital converter устройство для съема сигнала в компьютер. используется для разных целей, напр для съема данных с датчика, или напр. для записи звука в компьютерной аудио-плате. кроме чистой аналоговой электроники есть там кое-какая довольно стандартная цифровая логика, которая и предоставляется как "hdl" библиотека, или IP core. т.е. готовый спланированный и проверенный логически модуль. потом его кто-то (фирма проектирующая приложение, т.е. устройство, которому нужен A/D) покупает и на основе данного фактически кода, у нее есть модуль a/d. в принципе особенно много таковых в сфере FPGA, CPLD, т.е. программируемые камни. |
| Автор: Soldat 11.3.2008, 01:30 |
| В WinXP всё упераеться в лицензию. |
| Автор: xotey 14.3.2008, 17:59 | ||
| Обсуждение ушло в сторону от исходного. Как говорится: начали за жизнь -- кончили за упокой :) Относительно начальной темы вопроса: у меня на рабочей машине установлен Debian GNU/Linux testing (lenny) (версия ядра: 2.6.22) и используется четырехядерный процессор:
Так что по поводу поддерживаемости четырех ядер беспокоиться не надо. P.S. А еще у нас есть довольно-таки старенький монстрик под названием ALR -- на нем установлено целых 6 (!) процессоров Pentium II и работает он под управлением Debian 3.1 (ядро 2.4.24) Самое поразительное то, что все 6 процессоров видны! |
| Автор: JackYF 14.3.2008, 18:43 |
а в чём поразительность? |
| Автор: xotey 14.3.2008, 19:06 |
| Поразительно то, что сама архитектура Pentium II не подразумевает SMP из более, чем 4-х процессоров. |
| Автор: MAKCim 14.3.2008, 20:40 | ||
нет архитектура APIC для P5/P6 поддерживает до 16 процессоров |