Size: a a a

2018 May 15

D

Dima in pro.bash
Есть файл - в ос. Он открывается через дескриптор который есть число. Для каждого открытого файла есть симлинк в папке /porc/pid/fd
источник

D

Dima in pro.bash
где название файла равно дескриптору.
источник

D

Dima in pro.bash
вроде разобрался.
источник

KG

Kirill Geyzerov in pro.bash
Есть файл в ОС. Файл это либо место на диске, либо устройство, либо сокет, etc. У файла есть путь. После открытия файла ОС дает тебе дескриптор для взаимодействия с ним. Все дескрипторы можно посмотреть в /proc для каждого процесса.
источник

KG

Kirill Geyzerov in pro.bash
Ты можешь открыть один и тот же файл дважды и получить два дескриптора
источник

D

Dima in pro.bash
Kirill Geyzerov
Есть файл в ОС. Файл это либо место на диске, либо устройство, либо сокет, etc. У файла есть путь. После открытия файла ОС дает тебе дескриптор для взаимодействия с ним. Все дескрипторы можно посмотреть в /proc для каждого процесса.
для каждого процесса свой набор дескрипторов.  2 процесса могут иметь один файл под разными дескрипторами внутри себя?
источник

D

Dima in pro.bash
точно.
источник

D

Dima in pro.bash
Спасибо это просто супер.
источник

D

Dima in pro.bash
Kirill Geyzerov
Ты можешь открыть один и тот же файл дважды и получить два дескриптора
даже внутри одного процесса.
источник

D

Dima in pro.bash
понял.
источник

KG

Kirill Geyzerov in pro.bash
Как раз у меня друг недавно спрашивал про это, ему на собеседовании вопрос задавали
Есть nginx. У него несколько дочерних процессов (workers) для параллелизма. Каким образом происходит открытие соединения (кто это делает, master или workers) и запись/чтение. Там ответ такой:

master слушает входящие соединения. По приходу оного, масте открывает его, создается fd. Далее мастер посылает этот fd (обычное число) воркеру, а тот просто пишет/читает. Т.к. дажн обмен fd-шками между процессами возможее
источник

KG

Kirill Geyzerov in pro.bash
Итак мастер может кучу соединений дешево открыть и раздать воркерам в соответствии с их нагруженностью
источник

KG

Kirill Geyzerov in pro.bash
Т.е. точка входа одна, а исполнителей много
источник

D

Dima in pro.bash
в рамках одного процесса?
источник

KG

Kirill Geyzerov in pro.bash
Нет, master и куча форкнутых дочерних workers
источник

D

Dima in pro.bash
что такое сущность воркера?
источник

KG

Kirill Geyzerov in pro.bash
Открывает только мастер, а читают/пишут воркеры
источник

D

Dima in pro.bash
подожди
источник

D

Dima in pro.bash
- дескриптор нарутральное число
источник

D

Dima in pro.bash
- в процессе они от 0 и до N
источник