В России создан собственный компьютер ( надо брать )


 [ Сообщений: 351 ]  Стрaница Пред.  1 ... 12, 13, 14, 15, 16, 17, 18  След.
Автор  
 
Сообщение  
Ветеран
Аватара пользователя

Регистрация: 18.08.2014
Сообщения: 19083
Благодарил (а): 3 раз.
Поблагодарили: 367 раз.
СССР
Молотов писал(а):
pvmonster писал(а):
everfunk писал(а):
Фиг тебя поймёшь, то говоришь, что рано, то говоришь, что надо.
Ты лучше скажи, зачем драйверу многопоток?
Не многопоток, а асинхронщина. Модно. :rzach:

Ну почему модно... забыл что ли как на винде, до NT правда, дисковые драйвера работали? :rzach:

_________________
"Мы не нуждаемся в вашей признательности..."(с)

   
  
    
 
Сообщение  
Ветеран

Регистрация: 05.09.2014
Сообщения: 29614
Благодарил (а): 161 раз.
Поблагодарили: 603 раз.
Россия
pvmonster писал(а):
everfunk писал(а):
Фиг тебя поймёшь, то говоришь, что рано, то говоришь, что надо.
Ты лучше скажи, зачем драйверу многопоток?
Ой как всё запущено у "программиста на С++ и Ассемблере")))) и зачем в Linux тогда придумали всякие rmb(), wmb(), dma_rmb(), dma_wmb() и прочее. Может лучше тебе пока джаву изучить, сборщик мусора какой-нибудь, там, параллельный или jit-компилер?

_________________
"Внешние стены дома - все несущие" -- Ихорь
"я в самом что ни наесть станционном месте работаю" -- igg

   
  
    
 
Сообщение  
Ветеран
Аватара пользователя

Регистрация: 18.08.2014
Сообщения: 19083
Благодарил (а): 3 раз.
Поблагодарили: 367 раз.
СССР
Wizzor писал(а):
everfunk писал(а):
Я вообще сварщиком подрабатываю на пенсии, а младший сын у меня программер. Только он не такой религиозный в отношении ЯП, как некоторые тут (видимо в молодости научились и с тех пор новое осваивать разучились). Прикладное ПО на жабе легко переносить с одной платформы на другую. C++, ну очень спорно. Очень медленно на нём пишется, тяжело поддерживать для разных платформ. Дорогое ПО выходит, хоть и быстрое.
Ну как бы программеры разные бывают - кроссплатформенные драйверы хоть чего на джаве не написать. Да и кроссплатформенность ее… Спроси у сына сколько он знает кроссплатформенных приложений…

Да, кстати, точно спроси много он знает кроссплатформенных драйверов.
:vata

_________________
"Мы не нуждаемся в вашей признательности..."(с)

   
  
    
 
Сообщение  
Ветеран
Аватара пользователя

Регистрация: 15.08.2015
Сообщения: 57791
Откуда: г. Сочи
Благодарил (а): 722 раз.
Поблагодарили: 1089 раз.
everfunk писал(а):
Ой как всё запущено

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

_________________
"Мой родина Рязань" Чупакабр/Арарат/Fire Dragon/Рогнарек
Поржать с полоумного армяшки одно удовольствие.... Арарат

   
  
    
 
Сообщение  
Ветеран

Регистрация: 05.09.2014
Сообщения: 29614
Благодарил (а): 161 раз.
Поблагодарили: 603 раз.
Россия
Gest писал(а):
Да, кстати, точно спроси много он знает кроссплатформенных драйверов.
:vata
У тебя в телевизоре утечка горизонтальной развёртки :rzach:

_________________
"Внешние стены дома - все несущие" -- Ихорь
"я в самом что ни наесть станционном месте работаю" -- igg

   
  
    
 
Сообщение  
Завсегдатай
Аватара пользователя

Регистрация: 23.08.2018
Сообщения: 3033
Откуда: Аксай
Благодарил (а): 116 раз.
Поблагодарили: 218 раз.
СССР
everfunk писал(а):
pvmonster писал(а):
everfunk писал(а):
Фиг тебя поймёшь, то говоришь, что рано, то говоришь, что надо.
Ты лучше скажи, зачем драйверу многопоток?
Ой как всё запущено у "программиста на С++ и Ассемблере")))) и зачем в Linux тогда придумали всякие rmb(), wmb(), dma_rmb(), dma_wmb() и прочее. Может лучше тебе пока джаву изучить, сборщик мусора какой-нибудь, там, параллельный или jit-компилер?
Наеборот, чтобы изолировать поток выполнения? Не суть, я уже нагуглил всякие glthread.
Gest писал(а):
Молотов писал(а):
pvmonster писал(а):
everfunk писал(а):
Фиг тебя поймёшь, то говоришь, что рано, то говоришь, что надо.
Ты лучше скажи, зачем драйверу многопоток?
Не многопоток, а асинхронщина. Модно. :rzach:

Ну почему модно... забыл что ли как на винде, до NT правда, дисковые драйвера работали? :rzach:
Я еще анекдот помню, про сына Билли, многозадачность и дискетку отформатировать.

--------------------------

Кстати, смотрю квочка с Кубани отряхнулась и готова к новым свершениям?..

_________________
Молодой бог. Покровитель скромности.

   
  
    
 
Сообщение  
Участник

Регистрация: 06.01.2016
Сообщения: 1450
Благодарил (а): 9 раз.
Поблагодарили: 54 раз.
everfunk писал(а):
pvmonster писал(а):
everfunk писал(а):
Фиг тебя поймёшь, то говоришь, что рано, то говоришь, что надо.
Ты лучше скажи, зачем драйверу многопоток?
Ой как всё запущено у "программиста на С++ и Ассемблере")))) и зачем в Linux тогда придумали всякие rmb(), wmb(), dma_rmb(), dma_wmb() и прочее. Может лучше тебе пока джаву изучить, сборщик мусора какой-нибудь, там, параллельный или jit-компилер?
А это точно про многопоточность, а не про генерацию компилятором кода, учитывающего
особенности конвейеров процессоров?

   
  
    
 
Сообщение  
Ветеран

Регистрация: 05.09.2014
Сообщения: 29614
Благодарил (а): 161 раз.
Поблагодарили: 603 раз.
Россия
Wizzor писал(а):
А это точно про многопоточность, а не про генерацию компилятором кода, учитывающего
особенности конвейеров процессоров?
Ну smp_wmb() и smp_rmb(), это ж наш студент знать должон, который типа системный программист.
Код:
+===============================
+EXPLICIT KERNEL MEMORY BARRIERS
+===============================
+
+The Linux kernel has eight basic CPU memory barriers:
+
+   TYPE      MANDATORY      SMP CONDITIONAL
+   ===============   =======================   ===========================
+   GENERAL      mb()         smp_mb()
+   WRITE      wmb()         smp_wmb()
+   READ      rmb()         smp_rmb()
+   DATA DEPENDENCY   read_barrier_depends()   smp_read_barrier_depends()
+
+General memory barriers give a guarantee that all memory accesses specified
+before the barrier will appear to happen before all memory accesses specified
+after the barrier with respect to the other components of the system.
+
+Read and write memory barriers give similar guarantees, but only for memory
+reads versus memory reads and memory writes versus memory writes respectively.
+
+Data dependency memory barriers ensure that if two reads are issued such that
+the second depends on the result of the first, then the first read is completed
+and the cache coherence is up to date before the second read is performed.  The
+primary case is where the address used in a subsequent read is calculated from
+the result of the first read:
+
+   CPU 1                      CPU 2
+   ===============   ===============
+   { a == 0, b == 1 and p == &a, q == &a }
+   ...
+   b = 2;
+   smp_wmb();
+   p = &b;               q = p;
+                         smp_read_barrier_depends();
+                         d = *q;
+
+Without the data dependency barrier, any of the following results could be
+seen:
+
+   POSSIBLE RESULT   PERMISSIBLE   ORIGIN
+   ===============   ===============   =======================================
+   q == &a, d == 0   Yes
+   q == &b, d == 2   Yes
+   q == &b, d == 1 No      Cache coherency maintenance delay
+   q == &b, d == 0   No      q read after a
+See the "Cache Coherency" section above.
+
+
+All memory barriers imply compiler barriers.
+
+Read memory barriers imply data dependency barriers.
+
+SMP memory barriers are reduced to compiler barriers on uniprocessor compiled
+systems because it is assumed that a CPU will be apparently self-consistent,
+and will order overlapping accesses correctly with respect to itself.
+
+There is no guarantee that any of the memory accesses specified before a memory
+barrier will be complete by the completion of a memory barrier; the barrier can
+be considered to draw a line in that CPU's access queue that accesses of the
+appropriate type may not cross.
+
+There is no guarantee that issuing a memory barrier on one CPU will have any
+direct effect on another CPU or any other hardware in the system.  The indirect
+effect will be the order in which the second CPU sees the effects of the first
+CPU's accesses occur.
+
+There is no guarantee that some intervening piece of off-the-CPU hardware[*]
+will not reorder the memory accesses.  CPU cache coherency mechanisms should
+propegate the indirect effects of a memory barrier between CPUs, but may not do
+so in order (see above).

_________________
"Внешние стены дома - все несущие" -- Ихорь
"я в самом что ни наесть станционном месте работаю" -- igg

   
  
    
 
Сообщение  
Завсегдатай
Аватара пользователя

Регистрация: 23.08.2018
Сообщения: 3033
Откуда: Аксай
Благодарил (а): 116 раз.
Поблагодарили: 218 раз.
СССР
Я еще не системный программист, мне до ентава еще учиться надо.

_________________
Молодой бог. Покровитель скромности.

   
  
    
 
Сообщение  
Старожил

Регистрация: 18.08.2014
Сообщения: 7574
Откуда: СПБ
Благодарил (а): 220 раз.
Поблагодарили: 352 раз.
Россия
pvmonster писал(а):
Я еще не системный программист, мне до ентава еще учиться надо.
Типа, я же не настоящий сварщик?! :rzach:

_________________
Я вас предупреждал. Проклятые вы дураки. (с) Г.Уэллс 1946 г.

   
  
    
 
Сообщение  
Ветеран
Аватара пользователя

Регистрация: 15.08.2015
Сообщения: 57791
Откуда: г. Сочи
Благодарил (а): 722 раз.
Поблагодарили: 1089 раз.
pvmonster писал(а):
Я еще не системный программист, мне до ентава еще учиться надо.
parasol писал(а):
pvmonster писал(а):
Я еще не системный программист, мне до ентава еще учиться надо.
Типа, я же не настоящий сварщик?! :rzach:

а как дасалото.. как дысало!!! :rzach:

_________________
"Мой родина Рязань" Чупакабр/Арарат/Fire Dragon/Рогнарек
Поржать с полоумного армяшки одно удовольствие.... Арарат

   
  
    
 
Сообщение  
Ветеран

Регистрация: 05.09.2014
Сообщения: 29614
Благодарил (а): 161 раз.
Поблагодарили: 603 раз.
Россия
pvmonster писал(а):
Я еще не системный программист, мне до ентава еще учиться надо.
А ещё на джаву наезжает :rzach:

_________________
"Внешние стены дома - все несущие" -- Ихорь
"я в самом что ни наесть станционном месте работаю" -- igg

   
  
    
 
Сообщение  
Участник

Регистрация: 06.01.2016
Сообщения: 1450
Благодарил (а): 9 раз.
Поблагодарили: 54 раз.
everfunk писал(а):
Wizzor писал(а):
А это точно про многопоточность, а не про генерацию компилятором кода, учитывающего
особенности конвейеров процессоров?
Ну smp_wmb() и smp_rmb(), это ж наш студент знать должон, который типа системный программист.
Код:
+===============================
+EXPLICIT KERNEL MEMORY BARRIERS
+===============================
+
+The Linux kernel has eight basic CPU memory barriers:
+
+   TYPE      MANDATORY      SMP CONDITIONAL
+   ===============   =======================   ===========================
+   GENERAL      mb()         smp_mb()
+   WRITE      wmb()         smp_wmb()
+   READ      rmb()         smp_rmb()
+   DATA DEPENDENCY   read_barrier_depends()   smp_read_barrier_depends()
+
+General memory barriers give a guarantee that all memory accesses specified
+before the barrier will appear to happen before all memory accesses specified
+after the barrier with respect to the other components of the system.
+
+Read and write memory barriers give similar guarantees, but only for memory
+reads versus memory reads and memory writes versus memory writes respectively.
+
+Data dependency memory barriers ensure that if two reads are issued such that
+the second depends on the result of the first, then the first read is completed
+and the cache coherence is up to date before the second read is performed.  The
+primary case is where the address used in a subsequent read is calculated from
+the result of the first read:
+
+   CPU 1                      CPU 2
+   ===============   ===============
+   { a == 0, b == 1 and p == &a, q == &a }
+   ...
+   b = 2;
+   smp_wmb();
+   p = &b;               q = p;
+                         smp_read_barrier_depends();
+                         d = *q;
+
+Without the data dependency barrier, any of the following results could be
+seen:
+
+   POSSIBLE RESULT   PERMISSIBLE   ORIGIN
+   ===============   ===============   =======================================
+   q == &a, d == 0   Yes
+   q == &b, d == 2   Yes
+   q == &b, d == 1 No      Cache coherency maintenance delay
+   q == &b, d == 0   No      q read after a
+See the "Cache Coherency" section above.
+
+
+All memory barriers imply compiler barriers.
+
+Read memory barriers imply data dependency barriers.
+
+SMP memory barriers are reduced to compiler barriers on uniprocessor compiled
+systems because it is assumed that a CPU will be apparently self-consistent,
+and will order overlapping accesses correctly with respect to itself.
+
+There is no guarantee that any of the memory accesses specified before a memory
+barrier will be complete by the completion of a memory barrier; the barrier can
+be considered to draw a line in that CPU's access queue that accesses of the
+appropriate type may not cross.
+
+There is no guarantee that issuing a memory barrier on one CPU will have any
+direct effect on another CPU or any other hardware in the system.  The indirect
+effect will be the order in which the second CPU sees the effects of the first
+CPU's accesses occur.
+
+There is no guarantee that some intervening piece of off-the-CPU hardware[*]
+will not reorder the memory accesses.  CPU cache coherency mechanisms should
+propegate the indirect effects of a memory barrier between CPUs, but may not do
+so in order (see above).
Ну да, это кусок кода ядра Линукс, обсуждаемые барьеры предупреждают ошибки при опережающем выполнении команд процессором. Причём тут многопоточность-то?

   
  
    
 
Сообщение  
Завсегдатай
Аватара пользователя

Регистрация: 23.08.2018
Сообщения: 3033
Откуда: Аксай
Благодарил (а): 116 раз.
Поблагодарили: 218 раз.
СССР
everfunk писал(а):
pvmonster писал(а):
Я еще не системный программист, мне до ентава еще учиться надо.
А ещё на джаву наезжает :rzach:
Прошу заметить не на джаву, а на "джава-господ" .
У нас только кубанская квочка читает седалищем, я там раньше писал, может из-за ее флуда не заметил?

_________________
Молодой бог. Покровитель скромности.

   
  
    
 
Сообщение  
Ветеран
Аватара пользователя

Регистрация: 15.08.2015
Сообщения: 57791
Откуда: г. Сочи
Благодарил (а): 722 раз.
Поблагодарили: 1089 раз.
Wizzor писал(а):
Ну да, это кусок кода ядра Линукс, обсуждаемые барьеры предупреждают ошибки при опережающем выполнении команд процессором. Причём тут многопоточность-то?

ну че ты, девченка хотела козырнуть познаниями.. сделала копипаст(стопудово даже не понимая) , а вы не довольны.. ну учится она еще. :crazy:

_________________
"Мой родина Рязань" Чупакабр/Арарат/Fire Dragon/Рогнарек
Поржать с полоумного армяшки одно удовольствие.... Арарат

   
  
    
 
Сообщение  
Ветеран

Регистрация: 05.09.2014
Сообщения: 29614
Благодарил (а): 161 раз.
Поблагодарили: 603 раз.
Россия
Wizzor писал(а):
Ну да, это кусок кода ядра Линукс, обсуждаемые барьеры предупреждают ошибки при опережающем выполнении команд процессором. Причём тут многопоточность-то?
А ты точно программист? Или английским не владеешь? :rzach:
Цитата:
SMP memory barriers are reduced to compiler barriers on uniprocessor compiled
systems because it is assumed that a CPU will be apparently self-consistent,
and will order overlapping accesses correctly with respect to itself
.
А вот на многоядерных - нет.
Или ты считаешь, что уж чтение-то данных записанных одним потоком и читаемых другим бывает без сюрпризов?
Мне эта тема как бывшему электронщику интересна, и мы с сыном обсуждаем разные моменты, поскольку он в как бы в теме.

_________________
"Внешние стены дома - все несущие" -- Ихорь
"я в самом что ни наесть станционном месте работаю" -- igg


Последний раз редактировалось everfunk 01.06.20, 18:49, всего редактировалось 1 раз.
   
  
    
 
Сообщение  
Участник

Регистрация: 06.01.2016
Сообщения: 1450
Благодарил (а): 9 раз.
Поблагодарили: 54 раз.
Крамольник писал(а):
Wizzor писал(а):
Ну да, это кусок кода ядра Линукс, обсуждаемые барьеры предупреждают ошибки при опережающем выполнении команд процессором. Причём тут многопоточность-то?

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

   
  
    
 
Сообщение  
Ветеран

Регистрация: 16.08.2014
Сообщения: 26572
Благодарил (а): 696 раз.
Поблагодарили: 826 раз.
Gest писал(а):
Ну почему модно... забыл что ли как на винде, до NT правда, дисковые драйвера работали?


Там они паскудно работали из-за нереентерабельности. :)

   
  
    
 
Сообщение  
Участник

Регистрация: 06.01.2016
Сообщения: 1450
Благодарил (а): 9 раз.
Поблагодарили: 54 раз.
everfunk писал(а):
Wizzor писал(а):
Ну да, это кусок кода ядра Линукс, обсуждаемые барьеры предупреждают ошибки при опережающем выполнении команд процессором. Причём тут многопоточность-то?
А ты точно программист? Или английским не владеешь? :rzach:
Цитата:
SMP memory barriers are reduced to compiler barriers on uniprocessor compiled
systems because it is assumed that a CPU will be apparently self-consistent,
and will order overlapping accesses correctly with respect to itself
.
А вот на многоядерных - нет.
Или ты считаешь, что уж чтение-то данных записанных одним потоком и читаемых другим бывает без сюрпризов?
Мне эта тема как бывшему электронщику интересна, и мы с сыном обсуждаем разные моменты, поскольку он в как бы в теме.
Два потока ядра - это как два главнокомандующих в армии. Это было во-первых.
А во-вторых, в данном конкретном случае речь идёт о чтении памяти в кэше процессора. Там вообще ни о каких потоках речи быть не может. Пусть сын про speculative execution в cpu почитает.
В многопотоковых процессах своих механизмов хватает - сигналы, флаги, семафоры…


Последний раз редактировалось Wizzor 01.06.20, 19:02, всего редактировалось 1 раз.
   
  
    
 
Сообщение  
Завсегдатай
Аватара пользователя

Регистрация: 23.08.2018
Сообщения: 3033
Откуда: Аксай
Благодарил (а): 116 раз.
Поблагодарили: 218 раз.
СССР
Wizzor писал(а):
Крамольник писал(а):
Wizzor писал(а):
Ну да, это кусок кода ядра Линукс, обсуждаемые барьеры предупреждают ошибки при опережающем выполнении команд процессором. Причём тут многопоточность-то?

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

Ой, зря я написал. Кубанская квочка опять будет что-то верещать...

_________________
Молодой бог. Покровитель скромности.

   
  
    
 [ Сообщений: 351 ]  Стрaница Пред.  1 ... 12, 13, 14, 15, 16, 17, 18  След.




[ Time : 0.145s | 17 Queries | GZIP : Off ]