#вопросы_с_собеседований
a=5; true | { true && a=10; } чему будет равно a?
Ответ будет 5. Потому что каждая команда конвейера исполняется в отдельной подоболочке
kannabis@fuse:~$ a=5; true | { true && a=10; echo $a; }
10
kannabis@fuse:~$ echo $a
5
a=5; true | { true && a=10; } чему будет равно a?
❤8🥰1
#вопросы_с_собеседований
Как процессы в системе взаимодействуют между собой?
🔹 Пайпы — связь между двумя взаимосвязанными процессами. Механизм является полудуплексным, что означает, что первый процесс связан со вторым. Для взаимодействия второго процесса с первым процессом требуется другой канал.
🔹 FIFO — Связь между двумя не связанными процессами. FIFO — это полный дуплекс, что означает, что первый процесс может взаимодействовать со вторым процессом и наоборот одновременно.
🔹 Очереди сообщений — связь между двумя или более процессами с полной дуплексной пропускной способностью. Процессы будут связываться друг с другом, отправляя сообщение и извлекая его из очереди. Полученное сообщение больше не доступно в очереди.
🔹 Совместно используемая память. Связь между двумя или более процессами достигается за счет совместного использования памяти всеми процессами. Совместно используемая память должна быть защищена друг от друга путем синхронизации доступа ко всем процессам.
🔹 Семафоры — предназначены для синхронизации доступа к нескольким процессам. Когда один процесс хочет получить доступ к памяти (для чтения или записи), он должен быть заблокирован (или защищен) и освобожден при удалении доступа. Это должно быть повторено всеми процессами для защиты данных.
🔹 Сигналы — это механизм связи между несколькими процессами посредством сигнализации. Это означает, что исходный процесс отправит сигнал (распознанный по номеру), а целевой процесс обработает его соответствующим образом.
Как процессы в системе взаимодействуют между собой?
👍11🔥2