فایل LOCK چیست؟
فایل LOCK یک فایل تغییر نام یافته است که توسط برنامه ها و سیستم عامل ها برای علامت گذاری یک فایل یا دستگاهی به عنوان قفل شده استفاده می شود. این به سایر برنامهها میگوید که از فایل استفاده نکنند مگر اینکه از برنامهای که از آن استفاده میکند آزاد باشد. در بیشتر موارد، این فایل های قفل خالی هستند، اما در موارد دیگر، ممکن است حاوی اطلاعات مربوط به قفل مانند ویژگی ها و تنظیمات باشند.
گاهی اوقات، فایل lock توسط مایکروسافت دات نت فریم ورک برای ایجاد کپی های قفل شده از یک فایل پایگاه داده استفاده می شود. در چنین حالتی یک کپی از فایل پایگاه داده با پسوند lock باز می شود. این به کاربر اجازه نمیدهد فایل را در زمانی که کاربر دیگری از آن استفاده میکند، تغییر دهد.
فرمت فایل LOCK - اطلاعات بیشتر
یک فایل LOCK توسط هر برنامه ایجاد می شود و فرمت فایل آن مخصوص برنامه است. این فایل های قفل را می توان در هر دو فرمت متنی و همچنین باینری ذخیره کرد.
وجود فایل های قفل مانع از دسترسی همزمان یک منبع به چندین فایل در تلاش برای دسترسی به آن منبع می شود. یک کپی از فایل اصلی با پسوند lock پسوند نام آن ایجاد می شود. این به برنامه های دیگر می گوید که دسترسی فقط خواندنی به فایل داشته باشند. برای مثال، resource.dat تبدیل به resource.data.lock خواهد شد.
برای زبان برنامه نویسی Ruby، ممکن است با فایل gemfile.lock روبرو شوید. این جایی است که باندلر نسخه های دقیق نصب شده را ثبت می کند. بنابراین، هنگامی که یک پروژه/کتابخانه به ماشین دیگری منتقل می شود، بسته نرم افزاری در حال اجرا به Gemfile برای نسخه دقیق مربوطه نگاه می کند.
قفل کردن فایل در لینوکس
لینوکس از دو نوع قفل فایل پشتیبانی می کند: قفل های مشاوره ای و قفل های اجباری.
قفل های مشورتی: نوع قفلی که اجرا نمی شود. در این مورد، فرآیندهای شرکت کننده به طور صریح با یکدیگر همکاری می کنند و قفل ها را به دست می آورند. اگر این امکان پذیر نباشد، قفل های مشاوره نادیده گرفته می شوند.
قفل اجباری: در صورت قفل اجباری، سیستم عامل با جلوگیری از خواندن یا نوشتن فایل توسط فرآیندهای دیگر، قفل فایل را اعمال می کند. این نیازی به همکاری بین فرآیندها ندارد.
قفل اجباری نیازی به همکاری بین فرآیندهای شرکت کننده ندارد. هنگامی که یک قفل اجباری روی یک فایل فعال می شود، سیستم عامل از خواندن یا نوشتن فایل توسط سایر فرآیندها جلوگیری می کند.