Обновить
2
0.1

Пользователь

Отправить сообщение

Для load'ов да, plain load будет seq-cst если store с lock-префиксом. gcc генерирует XCHG для записи, эта инструкция с неявным префиксом lock.

Но собственно, это ничего в моем ответе не меняет.

Есть бит RFLAGS.AC, который вызывает исключение #AC при невыравненном доступе. Им пользоваться невозможно, потому что почти все компиляторы (не только C) генерируют код, нарушающий это правило.

В сравнительно новых интеловских процессорах появился MSR_MEMORY_CTRL.SPLIT_LOCK_DISABLE, разрешение которого приводит к #AC при невыравненных locked доступах.

В вашем примере это бы сработало из-за иначе ненужного seq-cst режима. Если бы использовался relaxed или acq/rel, то на x86 они обычно моделируются простыми load и store, и split lock detection бы не сработал.

P.S. Явление называется 'torn writes' и в дикой природе встречается начиная с Core2 (~2008 г).

И чем же ib проприетарный?

Отличное наблюдение. Вот если бы компилятор умел аннотировать код разрешением (lowering ?) в непосредственно используемые сущности. Т.е. написать полный тип вызываемой функции или метода в точке использования перегрузки, и тому подобное.

Это не компилятор в C, и не чтение сгенерированного ассемблера. Именно аннотации всех точек разрешения имен.

И даже не упомянули SGI. Хоть бы больше 10 минут потратили на статью.

А fcgiwrap + fcgi вы даже не упомянули. И это работает (должно) на всех форках nginx.

На всех современных архитектурах стек растет вниз. При push-е указатель стека декрементируется.

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

Таким образом, фраза выше имеет место ровно наоборот.

А что за сисколл, который пачкой запрашивает?

Речь ведь очевидно шла про C.

Но даже про фортран, первый дековский фортран для PDP-11 (FORTRAN II) генерировал шитый код. Про дековские компиляторы паскаля/бейсика/кобола я никогда не слышал.

Оригинальный компилятор Ричи выдавал ассемблер, как раз потому что адресное пространство на PDP-11 было ограничено 64/128KB. И даже это делалось в два прохода, каждый из которых был отдельной программой. В три, когда появился препроцессор.

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

Вышеописанное различие я считаю ключевым в сравнении систем. Из своего опыта работы с Видовсами, Линуксами, OS/2 в том числе, я могу утверждать, что ничего подобного ни в одной другой системе, включая мейнфреймовские, я не видел.

Т.е. паники в unixе или bug-checks (синие экраны) в винде вы не увидели.

В Unix-вариантах существенно ограничен набор квалификаторов процессов и целей. Характер целей тоже совсем иной. Это в случае Unix будет в основном количество CPU, памяти, предоставляемыми тем или иным процессам.

Просто потому что одинаковый термин означает разные вещи. Процесс в MVT скорее похож на cgroup в Linux, или на job в windows.

zOS невероятно старая и дремучая. У меня есть теория, почему IBM гадит Hercules (это sw эмулятор железа, умеет запускать старые версии OS/370). Я считаю, что они таким образом прячут это безобразие от публики, пытаясь поддерживать репутацию чего-то большого и недосягаемого. А так, если иметь с ним опыт, и сравнить с любой современной системой - гуано.

Под линками я имел ввиду ссылки на позиции товаров.

Я и хочу готовый внешний корпус с ретаймерами, со свитчем (для нескольких слотов), с блоком питания, и с oculink для апстрима.

Thunderbolt 3 и 4, он туннелирует pcie.

Можете набросать линков на oculink-карты? Вообще было бы идеально что-то наподобие корпуса расширения со слотами PCIe, втыкаемого в oculink или tb. Это звучит как корпус для внешней видеокарты, и в принципе им и является. Но вот приличных устройств на али я не находил (нужно не для видео).

Можете объяснить, как "разбить шину на несколько корневых контроллеров"? И что такое корневой контроллер? Если вы имеете ввиду pci(e) host bridge/root port, то как вы собираетесь добавлять кусочки в io hub на процессоре?

Практический вопрос, где вы берете карты расширения с oculink? Те как из мини-pc с oculink сделать расширяемую машину. Такой же вопрос про tb 3/4.

musl библиотека, а не компилятор

И в C11 появилась модель памяти. Atomics/fences были следствием ее определения.

Основным нововведением в C89, по сравнению с K&R, были прототипы функций.

Использование текста без указания первоисточника называется плагиатом.

Я ни слова не говорил о "расписывании каждой функции", только обратил внимание на то, что вы копировали нерабочий код.

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

Вывод: вы понятия не имеете о репутации.

Информация

В рейтинге
4 356-й
Зарегистрирован
Активность