61

drBatty пишет:

вот они обычно таки на асме. причём там 100500 вариантов для разных камней.

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

В принципе спасибо за дискуссию, еще раз повторюсь, извиняюсь, если кто-то принял за троллизм и разборки,
-но лишь истины для. ag

62

так вывод то какой?

ПатреГ не любит Gnome...

63

drBatty пишет:

Wolfenberg пишет:
..........
да плевать хотела ОСь на ваши прерывания.

Вот именно.
Код с вызовом прерывания компилится и даже сегфаулт не пишет потом, но вызова физичсеки не происходит.Ядро не дает и защищенный режим не дает. ...

64

redux пишет:

Это всё отговорки и размышления общего характера

почему-же? ядро ОС подменяет собой все прерывания. я вообще не очень понимаю, зачем вам это int21 из биоса?

redux пишет:

только чтобы прерывание вызвалось.

а оно и вызовется. только это будет прерывание ОС. там затычка ЕМНИП стоит.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

65

Termo пишет:

так вывод то какой?

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

Ну пример, не на прямую в порт данные а ядру их сначала. А оно уж само. Прямого доступа нет короче.

66

redux пишет:

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

модуль == программа. если кому нужен прямой доступ к железу, он пишет модуль. а в венде ему приходится извращаться по разному.

redux пишет:

Но это надо долго медитировать...

ну не так уж всё плохо на самом деле...

redux пишет:

но вызова физичсеки не происходит.Ядро не дает и защищенный режим не дает. ...

дык модуль работает вместе с ядром, это что-то вроде плагина. оттуда вызовется. только эффект будет другим, не таким как в MS-DOS.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

67

drBatty пишет:

а оно и вызовется. только это будет прерывание ОС. там затычка ЕМНИП стоит.

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

68

redux пишет:

только эффект будет другим, не таким как в MS-DOS.

Да вот же оно радимое:

asm("movb $0x05, %ah");
  asm("movb $0, %al");
  asm("int $0x10");

игнорируется ядром такое(последняя строка).

69

redux пишет:

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

ну вы-же можете использовать последнее SSE или там 64х битность, или ещё какую-нить новую фишку, которую компиляторы пока плохо поддерживают, а стандартных функций ещё нет. Если есть у вас нестандартная железяка, вы можете использовать к ней свой модуль. Зачем ещё нужен прямой доступ?

redux пишет:

если хотите низкоуровневого (т е быстрого) обращения к оборудованию

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

70

redux пишет:

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

даже если-бы подумало, было-бы не радостно. сколько, и КАКИХ режимов знает ВАШ биос? 800х600 хотя-бы знает?  :rolleyes:

redux пишет:

А чтобы что-то вызвалось то прерывание самого ядра $0x80 надо использовать. В общем дали нам тока ядро........

нет. вот ещё:
$ lsmod

+ открыть спойлер

Module                  Size  Used by
radeon                650763  2
ttm                    39060  1 radeon
drm_kms_helper         23751  1 radeon
drm                   133002  5 radeon,ttm,drm_kms_helper
i2c_algo_bit            4355  1 radeon
snd_seq_dummy           1107  0
snd_seq_oss            25580  0
snd_seq_midi_event      4620  1 snd_seq_oss
snd_seq                42857  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_pcm_oss            33917  0
snd_mixer_oss          13399  1 snd_pcm_oss
ipv6                  229909  12
snd_sb16                7672  0
snd_opl3_lib            7294  1 snd_sb16
snd_sb16_dsp            7720  1 snd_sb16
snd_sb16_csp            8325  1 snd_sb16
snd_sb_common          10358  3 snd_sb16,snd_sb16_dsp,snd_sb16_csp
snd_hwdep               5046  2 snd_opl3_lib,snd_sb16_csp
snd_mpu401_uart         5051  1 snd_sb16
snd_rawmidi            15557  1 snd_mpu401_uart
snd_seq_device          4543  5 snd_seq_dummy,snd_seq_oss,snd_seq,snd_opl3_lib,snd_rawmidi
snd_pcm                57736  3 snd_pcm_oss,snd_sb16,snd_sb16_dsp
snd_timer              15699  3 snd_seq,snd_opl3_lib,snd_pcm
snd                    43107  15 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_sb16,snd_opl3_lib,snd_sb16_dsp,snd_sb16_csp,snd_sb_common,snd_hwdep,snd_mpu401_uart,snd_rawmidi,snd_seq_device,snd_pcm,snd_timer
soundcore               4815  1 snd
snd_page_alloc          5849  1 snd_pcm
lp                      7161  0
fuse                   52401  1
ppdev                   5103  0
rtc_cmos                7838  0
thermal                10194  0
parport_pc             18027  1
via_agp                 5044  1
rtc_core               12050  1 rtc_cmos
processor              26515  1
i2c_viapro              5055  0
8139too                16866  0
thermal_sys            12086  2 thermal,processor
parport                25487  3 lp,ppdev,parport_pc
rtc_lib                 1522  1 rtc_core
psmouse                40750  0
agpgart                23773  3 ttm,drm,via_agp
button                  3934  0
hwmon                   1085  1 thermal_sys
shpchp                 27112  0
i2c_core               15279  5 radeon,drm_kms_helper,drm,i2c_algo_bit,i2c_viapro
mii                     3322  1 8139too
sg                     21214  0
serio_raw               3754  0
evdev                   6939  10

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

71

drBatty пишет:

нет. вот ещё:
$ lsmod

да я имел в виду ядро в целом - с модулями. Оно, ж по сути есть модули, если не монолитное. Если брать по смыслу "ядро без модулей" , то я не знаю о чем тогда разговор вести.

drBatty пишет:

даже если-бы подумало, было-бы не радостно. сколько, и КАКИХ режимов знает ВАШ биос? 800х600 хотя-бы знает? 

Для некоторых вещей хватило бы и этого. И меньшего. Для всякого спец оборудования например.
720 на 400 биос хнал еще 15 лет назад. В таких режимах больше и не надо.

72

drBatty пишет:

я сомневаюсь, что вы сможете нарисовать картинку на NVIDIA быстрее самой nvidia, даже имея прямой доступ и на нулевом кольце.

Ну тут вопрос особый, на нее документации нет открытой.

73

redux пишет:

да я имел в виду ядро в целом - с модулями. Оно, ж по сути есть модули, если не монолитное. Если брать по смыслу "ядро без модулей" , то я не знаю о чем тогда разговор вести.

ну это как вы соберёте. можете с модулями, можете монолитное. Последнее кстати побыстрее немножко.

redux пишет:

Для некоторых вещей хватило бы и этого. И меньшего. Для всякого спец оборудования например.
720 на 400 биос хнал еще 15 лет назад. В таких режимах больше и не надо.

для спец-оборудования как раз и пойдёт спец ядро, из которого выкинули всё лишнее, и сделали монолитным (без модулей вообще).

кстати, собирать ядра просто - мышкой тыкаете, потом собираете. только тыкать долго.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

74

drBatty пишет:

для спец-оборудования как раз и пойдёт спец ядро, из которого выкинули всё лишнее, и сделали монолитным (без модулей вообще).

кстати, это и будет "самый быстрый Linux".

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

75

drBatty пишет:

кстати, собирать ядра просто - мышкой тыкаете, потом собираете. только тыкать долго.

В смысле GUI уже для этого какой-то есть?
Всегда только  в консоли  собирал.

76

redux пишет:

В смысле GUI уже для этого какой-то есть?

да уже тыщу лет как есть - ещё в 10 слаке ЕМНИП был. Сам в шоке  oO

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

77 (24.02.2011 19:03:03 отредактировано BigKvak)

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

Я Новичек,
Не серчайте за тупые вопросы...

78 (24.02.2011 19:08:13 отредактировано drBatty)

BigKvak пишет:

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

ага. такой можно и на свой десктоп сделать. только 2 минуса:
1) красноглазить долго. хотя гентушникам нравится.
2) при апгрейде чего угодно (иногда даже мышки) дешевле выкинуть всю эту рухлядь вместе с этим "сверхбыстрым" линухом.
ab

а, этот "сверхбыстрый" комп через год станет тормозным. абгрейд-то делать нельзя....

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

79

bobr пишет:

Стало быть, вообще любой. Любой дистр можно целиком загрузить в оперативу. Точнее говоря, просто смонтировать / в tmpfs

Эта мысль мне кажется продуктивной - наверное, поэтому так шустры кноппикс и паппи. Зато у них тормозная загрузка - с оптики загрузка быстрой быть не может. Тогда очередной вопрос - а почему в других дистрах этот способ не рассматривается? - ведь сегодня это не так тяжко, как тогда, когда РАМ считали не гигами, а мегами. Дело к тому, что скоро будут считать сотнями гигов. Использование мемори оставляет желать лучшего даже при 2гб. Вот бы их туда и пристроить.
Где прочесть про такую загрузку - причем понятно для виндейца?

пс. Не ожидал, что вопрос про асм приобретет такой оборот, но получилось очень интересно. Надеюсь, все тоже получили удовольствие. Не от ругани, конечно, а от углубления в тему - думаю, такое полезно ЗНАТЬ.

друзья, давайте заменим чсВ на ЧСД!
Проблемы. Глюки. Красные глаза. Так будет с каждым, кто не хочет сменить Ubuntu на минт-росинку9
Знаю, что росинка - внучка убунты, значит, неизбежны родимые пятна. Но бабулька-то куда страшнее!
Но наш слакварь стоит на запасном пути. Он ждет своего часа. Может, когда док вернется из бана?

80

drBatty пишет:
redux пишет:

В смысле GUI уже для этого какой-то есть?

да уже тыщу лет как есть - ещё в 10 слаке ЕМНИП был. Сам в шоке  oO

их даже два !
зовут братьев - "make xconfig" и "make gconfig" , первый для кедов , второй для GTK ...только пускаются они из графического рута  ac

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

81

gramozeka пишет:

зовут братьев - "make xconfig" и "make gconfig" , первый для кедов , второй для GTK ...только пускаются они из графического рута  sad

угу. видимо предполагается, что у администратора имеется отключённая от сети машина, на которой он всё собирает.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

82

yxma пишет:

Где прочесть про такую загрузку - причем понятно для виндейца?

Все просто, достаточно запихать все возможное в initramfs и после загрузки с этим рамдиском не делать switchroot в реальный корень на жестком диске. Для этого достаточно поредактировать /sbin/init рамдиска.
Или просто сделать рамдиск полностью с содержимым  / из нормальной системы на винчестере, думаю, это тоже будет работать.

Йа тьомный эльф

83

gramozeka пишет:

drBatty пишет:

    redux пишет:

        В смысле GUI уже для этого какой-то есть?

    да уже тыщу лет как есть - ещё в 10 слаке ЕМНИП был. Сам в шоке  blink

их даже два !
зовут братьев - "make xconfig" и "make gconfig" , первый для кедов , второй для GTK ...только пускаются они из графического рута  sad

Этих я знаю, (не знать их собирая ядра не возможно, ибо они во всяких статьях сразу с menuconfig  упомянуты). Я думал, по контексту, что что-то новое появилось, ведь вопрос стоял широко: "о сборке", а не о конфигурации. Ну да ладно, я все равно такие вещи максимум на ncurses использую или вообще в сам .config хоть там и написано что руками ни-ни.

84 (01.03.2011 18:54:14 отредактировано redux)

gramozeka пишет:

только пускаются они из графического рута  sad

я могу конечно и на свою память погрешить (ибо последний раз вядро пересобирал на ленине с полгода назад), но рут здесь не обязателен при сборке и при конфигурировании(как любого, собственно, софта из сорцов, а не только ядра). Либо права на папку со сборкой дайте, либо у себя в каталоге собирайте. Под рутом только установка. Причем если в дебе, как вы конечно, знаете, под рутом необходимость только пакет собранный через dpkg накатить.

85

redux пишет:

ведь вопрос стоял широко: "о сборке", а не о конфигурации.

где вы видели графическую СБОРКУ????  oO  :O

redux пишет:

но рут здесь не обязателен при сборке и при конфигурировании

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

86 (01.03.2011 19:27:24 отредактировано redux)

drBatty пишет:

redux пишет:

    ведь вопрос стоял широко: "о сборке", а не о конфигурации.

где вы видели графическую СБОРКУ????  blink  ohmy

Я то ее как раз не видел (графическую), я думал, что вы видели ab , раз написали, что мышью кликать...

drBatty пишет:

redux пишет:

    но рут здесь не обязателен при сборке и при конфигурировании

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

Странно конечно, но , видимо, причина в том , что " одним скриптом". Но все равно ведь можно классикой(для софта вообще):
под юзером
.configure
make
под рутом
make install
(ну ясно, что пакетным менеджером не учтется, но тут уже stow/xstow  или paco можно использовать, чтоб потом легко выскрести или заменить...) Я это к тому, что слака всё равно бинарный дистр, и из сорцов для нее все одно не родное ab, так что кошерно любой способ сборки? Нет?

87

redux пишет:

Странно конечно, но , видимо, причина в том , что " одним скриптом".

удобнее.

redux пишет:

.configure
make
под рутом
make install

redux пишет:

(ну ясно, что пакетным менеджером не учтется, но тут уже stow/xstow  или paco можно использовать, чтоб потом легко выскрести или заменить...) Я это к тому, что слака всё равно бинарный дистр, и из сорцов для нее все одно не родное smile, так что кошерно любой способ сборки? Нет?

сейчас расскажу из чего состоит скрипт:

1) распаковка сырцов
2) configure с кучей разных опций.
3) make
4) make DESTDIR=$PKG install
тут программа ставится, но не в корень, а во временный каталог.
5) установка необходимых прав доступа. вот для этого и нужны права рута.
6) запуск скрипта /sbin/makepkg
Этот скрипт упаковывает каталог в архив.

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

способ make install не кошерен, и быстро превращает ОС в помойку. Поставить-то можно, но как обновлять/удалять в общем случае непонятно. Проще и быстрее всего сделать список файлов, а потом просто удалить файлы по списку. Именно так и сделано в слаке.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

88

Зачем "make install", если в Debian/Ubuntu уже давно придуман make-kpkg (make-kpkg -j2 --initrd --append-to-version=-686 --revision "1" --us --uc kernel_image kernel_headers)

89

drBatty пишет:

способ make install не кошерен, и быстро превращает ОС в помойку. Поставить-то можно, но как обновлять/удалять в общем случае непонятно. Проще и быстрее всего сделать список файлов, а потом просто удалить файлы по списку. Именно так и сделано в слаке.

Сам по -себе = да. Но префиксами сконфигурить установку в /usr/local/stow/имя  (так и дебиановские доки говорят для самосборного софта), и =никакой помойки. Всё по полочкам. И хранить папку сборки для удаления не надо.

Я , вообще говоря, подумывал перейти (из ленни )в слаку вместо сквиза, ибо наслышан о менее строгих в ней зависимостях. Но меня остановили две вещи:
1. Патрик изменил формат пакетов. (Ясно, что всё это дело обоснованно, но уже не так как раньше, в общем мне такое не понравилось, сам факт).
2. Проблемы типа "как удалить еволюшн или епифана из гнома и при этом чтобы сделать это самим аптом" для меня преодолены.То есть, как вывод, я в дебиане, что мне не нравится всё-равно пересобиру или выпилю. При этом, что всю ось как в сорц-дистре бересобирать не надо, мне-то почти всё нравится. (Ну ясно, что ,  на это требуется время, но мне это интересно).

90 (01.03.2011 20:23:10 отредактировано redux)

Darth Revan пишет:

Зачем "make install", если в Debian/Ubuntu уже давно придуман make-kpkg (make-kpkg -j2 --initrd --append-to-version=-686 --revision "1" --us --uc kernel_image kernel_headers)

Дело в том, что я например, могу хотеть две версии софта одновременно в системе. Кроме того , собирать из сорцов в пакет, значит использовать потом менеджер пакетов,  а в нем то будут конфликты, даже например имен, это даже если вы выпилили зависимости.(я говорю вообще про софт , а не про ядро, ядро да= лучше в пакет.)
Для преодоленния такого и сделан stow и иже с ним.