Предположим, что мы проводим два процесса спина к спине сказать: -код обмена сегмент между двумя процессами
$ grep abc abc.txt ==> pid 100
$ grep def def.txt ==> pid 101
Я прочитал в книге «Начало программирования Linux» главы № 11 о том, что раздел кода процессов будут совместно , поскольку он только для чтения. Это так? Я думаю, что если grep будет скомпилирован как разделяемая библиотека, тогда раздел кода будет разделяться.
Еще один вопрос, в случае общих библиотек, как ОС знает, что библиотека уже загружена или нет? Предположим, если два процесса одновременно вызывают функцию общей библиотеки, то как виртуальный адрес двух процессов преобразуется в физический адрес, указывающий одно и то же местоположение в ОЗУ?