O que são primitivos de memória no Linux?

2

Estou lendo o Docker in Action e há esta frase:

Docker creates a unique IPC namespace for each container by default. The Linux IPC namespace partitions share memory primitives such as named shared memory blocks and semaphores, as well as message queues.

Apesar dos exemplos, não consigo descobrir qual é o conceito por trás dos primitivos de memória , você poderia explicar este termo?

    
por Webman 12.09.2018 / 22:48

2 respostas

2

namespaces do homem tem uma seção sobre namespaces do IPC .

IPC namespaces isolate certain IPC resources, namely, System V IPC objects (see svipc(7)) and (since Linux 2.6.30) POSIX message queues (see mq_overview(7)). The common characteristic of these IPC mechanisms is that IPC objects are identified by mechanisms other than filesystem pathnames.

man svipc diz que tem três tipos de objetos; objetos de memória compartilhada, filas de mensagens e conjuntos de semáforos (um semáforo é um caso mais geral de um mutex ). Em vez de um caminho do sistema de arquivos, cada objeto possui um ID numérico.

E as filas de mensagens POSIX são identificadas por um nome, semelhante a um nome de arquivo. (A implementação do Linux usa arquivos virtuais acessados por meio de /dev/mqueue/ ).

O IPC do sistema V deve ser considerado obsoleto e difícil de usar.

Observe que os namespaces do Linux IPC não isolam o POSIX SHM. A implementação do Linux acessa os objetos através de /dev/shm/ , que é um sistema de arquivos tmpfs virtual. Se você deseja isolar o POSIX SHM, use os namespaces de montagem para alterar o sistema de arquivos montado em /dev/shm/ .

    
por 13.09.2018 / 01:33
0

O problema da máquina exercitará primitivos para controle de processo, gerenciamento de sinal, pipes e memória compartilhada. As primitivas no Unix estão listadas da seguinte forma:

 • Process Control
     fork:
     exec:
 • Signal Management
     sigset:
     kill:
 • Pipes and Files
     pipe:
     mknod:
     unlink:
     read/write:
 • Shared Memory
     shmget:
     shmat:
 • Semaphores (System V style)
     semget:
     semop:
 • ipcs: This command reports on the status of inter-process communication facilities. Allows you to monitor the correct use and operation of the interprocess communication primitives in your program.

• ipcrm: Remove a message queue, semaphore set, or shared memory ID. This comes in handy if your program does not clean up things correctly.

• kill: Terminate or signal a process. Comes in handy to clean up your processes.

• ps: Report on process status. This at least lists all your processes.

Referência

    
por 13.09.2018 / 00:03

Tags