Ядра в системах с одним сокетом -, таких как ваша, имеют равный доступ к памяти через общий контроллер памяти. Они также совместно используют свой внешний кеш(4 МБ в вашем случае). Каждое ядро имеет свои собственные кэши уровня 1 и 2(64 КиБ и 256 КиБ на ядро соответственно ).
В системах, совместимых с Intel x86 -, вы столкнетесь с NUMA(не -унифицированным доступом к памяти)в более крупных системах с несколькими сокетами (технически более высокие -конечные серверные ЦП с десятью ядра или более могут также имитировать NUMA, но это не меняет их реальную архитектуру памяти ). В таких системах каждый сокет ЦП управляет набором банков памяти, и доступ к памяти занимает больше времени, если код, выполняющий доступ, выполняется на ЦП, который не управляет рассматриваемой памятью. Однако в большинстве систем типа x86 -вся память по-прежнему используется совместно — каждый ЦП может получить доступ к каждому байту ОЗУ.
Подавляющее, подавляющее большинство систем на базе x86 -являются системами с общей памятью, даже если они являются системами NUMA; распределенная память весьма необычна, и на x86 вы, скорее всего, столкнетесь с ней только в суперкомпьютерах -.
Чтобы выяснить все это, вам потребуется изучить архитектуру вашей системы, например, прочитав подробные обзоры, такие как AnandTech или даже таблицы данных Intel. Кажется, это считается настолько «общеизвестным», что о нем обычно не упоминают...
Да, и это довольно стандартная практика. Например, многие демоны запускаются со своим собственным выделенным именем пользователя/идентификатором пользователя (и, часто, с выделенным gid )-. У них нет пароля (или отключенный пароль ), и они не могут войти в систему, но процессы и задания cron могут запускаться с их UID.
Многие из них также имеют /bin/false
или /usr/sbin/nologin
или что-то подобное в качестве оболочки.
напр. в моей системе Debian,пользователи tftp
и unbound
используются для запуска tftpd
и DNS-преобразователя unbound
. У одного из них /bin/false
в качестве оболочки, у другого/usr/sbin/nologin
-в практическом плане нет никакой разницы.
$ getent passwd tftp unbound
tftp:x:182:187:tftp daemon,,,:/srv/tftp:/bin/false
unbound:x:188:210::/var/lib/unbound:/usr/sbin/nologin