⭐️ مفهوم Namespaces در لینوکس
🔹در سیستمعامل لینوکس، مکانیزم Namespace یکی از بنیادیترین قابلیتهای ایزولاسیون (Isolation) است که به هر گروه از پردازهها اجازه میدهد دیدگاه جداگانهای نسبت به منابع سیستم داشته باشند.
به بیان سادهتر، هر Namespace مثل یک “جهان کوچک” درون کرنل است که قوانین خودش را برای منابعی مانند پردازهها (PIDs)، شبکه (Network)، سیستم فایل (Mounts)، کاربران (Users) و فضای بینپردازهای (IPC) دارد.
🔹وقتی یک پردازه درون Namespace خاصی ایجاد میشود، فقط منابع همان Namespace را میبیند؛ بهعنوان مثال، اگر دو container روی یک ماشین در حال اجرا باشند، هر دو میتوانند پردازهای با PID=1 داشته باشند، بدون اینکه تداخلی بین آنها پیش بیاید.
🔹این ویژگی، یکی از پایههای اصلی فناوریهای Containerization مانند Docker و LXC (Linux Containers) است. Namespaceها با استفاده از پرچمهای clone() یا فراخوان سیستمی unshare() ساخته میشوند و از طریق ترکیب چند نوع Namespace، میتوان محیطهای کاملاً ایزوله (مانند container) ایجاد کرد.
مطالعه پست کامل
🔹در سیستمعامل لینوکس، مکانیزم Namespace یکی از بنیادیترین قابلیتهای ایزولاسیون (Isolation) است که به هر گروه از پردازهها اجازه میدهد دیدگاه جداگانهای نسبت به منابع سیستم داشته باشند.
به بیان سادهتر، هر Namespace مثل یک “جهان کوچک” درون کرنل است که قوانین خودش را برای منابعی مانند پردازهها (PIDs)، شبکه (Network)، سیستم فایل (Mounts)، کاربران (Users) و فضای بینپردازهای (IPC) دارد.
🔹وقتی یک پردازه درون Namespace خاصی ایجاد میشود، فقط منابع همان Namespace را میبیند؛ بهعنوان مثال، اگر دو container روی یک ماشین در حال اجرا باشند، هر دو میتوانند پردازهای با PID=1 داشته باشند، بدون اینکه تداخلی بین آنها پیش بیاید.
🔹این ویژگی، یکی از پایههای اصلی فناوریهای Containerization مانند Docker و LXC (Linux Containers) است. Namespaceها با استفاده از پرچمهای clone() یا فراخوان سیستمی unshare() ساخته میشوند و از طریق ترکیب چند نوع Namespace، میتوان محیطهای کاملاً ایزوله (مانند container) ایجاد کرد.
مطالعه پست کامل
👍8