Что такое примитивы памяти в Linux?

С zsh:

$ echo ${${${=test}#*/}%%/*}
2 5 8

Иначе можно сделать:

$ printf '%s\n' "$test" | sed 's|[^ /]*/\([^/]*\)[^ ]*|\1|g'
2 5 8
2
13.09.2018, 00:39
2 ответа

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

 • 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.

Ссылка

0
27.01.2020, 22:08

man namespaces имеет раздел пространства имен 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говорит, что у него есть три типа объектов; объекты разделяемой памяти, очереди сообщений и наборы семафоров (семафор является более общим случаем мьютекса). Вместо пути к файловой системе каждый объект имеет числовой идентификатор.

Очереди сообщений POSIX идентифицируются по имени, похожему на имя файла. (Реализация Linux использует виртуальные файлы, доступ к которым осуществляется через/dev/mqueue/).

System V IPC следует считать устаревшей и сложной в использовании.

Обратите внимание, что пространства имен Linux IPC не изолируют POSIX SHM. Реализация Linux обращается к объектам через /dev/shm/, которая представляет собой tmpfsвиртуальную файловую систему. Если вы хотите изолировать POSIX SHM, вы используете пространства имен монтирования для изменения файловой системы, смонтированной в /dev/shm/.

3
27.01.2020, 22:08

Теги

Похожие вопросы