Организация записи при параллельном доступе
Если две программы выполняют запись в файл одновременно, между ними могут возникать конфликты. Например, предположим, что каждая из двух параллельных программ читает из файла первые два байта, переставляет их местами и снова записывает в файл. Если планировщик операционной системы примет решение вызвать на выполнение одну программу, а затем другую, то первая программа, допустим, переставит местами два байта и снова запишет их в файл. После этого вторая программа считывает байты, находящиеся в обратном порядке, снова переставляет их в первоначальное положение и записывает в файл. Однако если планировщик запускает на выполнение сразу две программы и позволяет каждой из них выполнить чтение из файла до того, как будет выполнена какая-либо запись, то обе программы прочитают байты, находящиеся в первоначальном порядке, а затем обе запишут эти байты в обратном порядке. Поэтому можно сделать вывод, что порядок байтов в файле зависит от того, какой принцип предоставления ресурсов процессора двум программам принят в системном планировщике. Встроенная функция анализатора спектра осциллографа ds1202ca на основе БПФ.
В системе UNIX не предусмотрен взаимоисключающий доступ и не определена организация параллельного доступа, не считая того, что файл всегда содержит данные, записанные в последней по времени операции. Ответственность за правильную организацию работы возложена на программиста. Поэтому программисты должны создавать параллельные программы таким образом, чтобы они всегда функционировали правильно и вырабатывали в любых условиях одни и те же результаты.
Имена и пути доступа к файлам
В системе UNIX определено понятие иерархической структуры имен файлов. Каждый файл и каталог в файловой системе имеет отдельное имя, которое может быть представлено строкой ASCII. Кроме того, каждый каталог или файл имеет полное составное имя, обозначающее положение файла в этой иерархии. На рис. 24.4 показаны примеры имен файлов и каталогов в иерархической файловой системе. В данном случае каталог верхнего уровня содержит два файла (а и с) и два каталога (Ь и d). На практике файлы и каталоги почти никогда не имеют односимвольных имен.
Как показано на этом рисунке, верхний каталог файловой системы, называемый корневым, имеет полное составное имя "/" (обозначается символом косой черты). Полное составное имя файла можно рассматривать как конкатенацию с именем файла цепочки имен каталогов, по которым проходит путь в иерархии от корня к данному файлу, с использованием в качестве разделителя символа косой черты (/). Например, файл с именем а, который находится в корневом каталоге, имеет полное составное имя /а. Файл с именем е, находящийся в каталоге Ь, имеет полное составное имя /b/е, а файл с именем к имеет полное составное имя /d/g/k.

В системе Linux, как и в других современных версиях UNIX, предусмотрен механизм рекомендательной блокировки, основанный на использовании функции flock. В ранних версиях этих систем использовалась схема блокировки, основанная на функции lockf, или требование по выполнению блокировки обозначалось с применением параметра 0_EXCL в вызове функции open.