>между ними "вклиниться" нельзя. Иначе запросы выполняются в порядке их поступления
>в очередь. Как SQlite организует такую очередь без общего диспетчера ??? Программы 1 и 2 прилинкованы к библиотеке, которая при каждом их запуске может судить только о глобальном локе базы (пока файл не будет разлочен, sqlite в нем ничего не сможет поменять), там же нет отдельного хранилища для очереди запросов и для каждого процесса получается своя очередь ?
> Что касается самих данных, они кэшируются ОС и весьма эффективно - я уже приводил ссылку, где проверяется, что работа с дисковой БД не уступает по скорости операциям с кэшем в ОЗУ.
Похоже в этом и было дело, все очень зависит от типа файловой системы и организации кеширования в ОС. Насколько я помню FreeBSD кеширует только мета-данные, видимо в этом и собака порылась.