Forwarded from Linux Labdon
با مفاهیم deadlock و علتهایی که ممکنه منجر بهش بشه توی این سایت بصورت عملی آشنا بشید.
#Concurrency #Deadlock #Operating #System #OS #linux #C #Race #condition
https://deadlockempire.github.io
➖➖➖➖➖➖➖➖
👑 @linux_labdon
#Concurrency #Deadlock #Operating #System #OS #linux #C #Race #condition
https://deadlockempire.github.io
➖➖➖➖➖➖➖➖
👑 @linux_labdon
Forwarded from PhiloLearn | فیلولرن
مدیریت حافظه یکی از مهمترین قسمتهای سیستم عامل هستش که مستقیما روی پرفورمنس سیستم تاثیر میذاره. سیستم عامل وظیفه داره حافظه فیزیکی و مجازی رو بین پروسسها تقسیم کنه و ازشون محافظت کنه.
توی سیستمهای مدرن، حافظه به صورت سگمنت و پیج مدیریت میشه. هر پیج معمولا ۴ کیلوبایت هستش و MMU (Memory Management Unit) مسئول ترجمه آدرسهای مجازی به فیزیکی هستش. این کار با کمک TLB یا Translation Lookaside Buffer انجام میشه که یه کش سختافزاری برای نگهداری آدرسهای پرکاربرد هستش.
وقتی یه پروسس لانچ میشه، سیستم عامل براش یه فضای آدرس مجازی میسازه که شامل چند تا سگمنت هستش: کد (text)، دیتای initialize شده، دیتای initialize نشده (BSS)، هیپ و استک. هر کدوم از این سگمنتها پرمیشنهای خاص خودشون رو دارن. مثلا سگمنت کد فقط read-only هستش تا از اجرای کد مخرب جلوگیری بشه.
سیستم عامل از تکنیکهای مختلفی مثل demand paging استفاده میکنه. با این تکنیک، پیجها فقط موقعی که بهشون نیاز هست به حافظه فیزیکی لود میشن. اگه پیجی که پروسس میخواد توی رم نباشه، page fault رخ میده و سیستم عامل اون پیج رو از دیسک به رم میاره.
برای مدیریت بهتر حافظه، سیستم عامل از الگوریتمهای page replacement استفاده میکنه. یکی از معروفترینهاشون LRU (Least Recently Used) هستش که پیجهایی که مدت زیادی استفاده نشدن رو از رم میندازه بیرون. توی لینوکس از الگوریتمهای پیچیدهتری مثل CLOCK و یا نسخههای بهبود یافته LRU استفاده میشه.
مموری منیجمنت مدرن از تکنیکهای دیگهای مثل memory mapping و copy-on-write هم استفاده میکنه. با memory mapping میشه فایلها رو مستقیم به حافظه مپ کرد و با copy-on-write میشه از کپی کردن غیرضروری دیتا جلوگیری کرد. این تکنیکها توی fork کردن پروسسها خیلی کاربرد دارن.
توی سیستمهای مدرن، مموری منیجمنت از NUMA (Non-Uniform Memory Access) هم پشتیبانی میکنه که باعث میشه پرفورمنس روی سیستمهای چند پردازندهای بهتر بشه. توی این آرکیتکچر، زمان دسترسی به حافظه بستگی به لوکیشن فیزیکی پردازنده و حافظه داره.
#Linux #OS #Memory_Management
@PhiloLearn
توی سیستمهای مدرن، حافظه به صورت سگمنت و پیج مدیریت میشه. هر پیج معمولا ۴ کیلوبایت هستش و MMU (Memory Management Unit) مسئول ترجمه آدرسهای مجازی به فیزیکی هستش. این کار با کمک TLB یا Translation Lookaside Buffer انجام میشه که یه کش سختافزاری برای نگهداری آدرسهای پرکاربرد هستش.
وقتی یه پروسس لانچ میشه، سیستم عامل براش یه فضای آدرس مجازی میسازه که شامل چند تا سگمنت هستش: کد (text)، دیتای initialize شده، دیتای initialize نشده (BSS)، هیپ و استک. هر کدوم از این سگمنتها پرمیشنهای خاص خودشون رو دارن. مثلا سگمنت کد فقط read-only هستش تا از اجرای کد مخرب جلوگیری بشه.
سیستم عامل از تکنیکهای مختلفی مثل demand paging استفاده میکنه. با این تکنیک، پیجها فقط موقعی که بهشون نیاز هست به حافظه فیزیکی لود میشن. اگه پیجی که پروسس میخواد توی رم نباشه، page fault رخ میده و سیستم عامل اون پیج رو از دیسک به رم میاره.
برای مدیریت بهتر حافظه، سیستم عامل از الگوریتمهای page replacement استفاده میکنه. یکی از معروفترینهاشون LRU (Least Recently Used) هستش که پیجهایی که مدت زیادی استفاده نشدن رو از رم میندازه بیرون. توی لینوکس از الگوریتمهای پیچیدهتری مثل CLOCK و یا نسخههای بهبود یافته LRU استفاده میشه.
مموری منیجمنت مدرن از تکنیکهای دیگهای مثل memory mapping و copy-on-write هم استفاده میکنه. با memory mapping میشه فایلها رو مستقیم به حافظه مپ کرد و با copy-on-write میشه از کپی کردن غیرضروری دیتا جلوگیری کرد. این تکنیکها توی fork کردن پروسسها خیلی کاربرد دارن.
توی سیستمهای مدرن، مموری منیجمنت از NUMA (Non-Uniform Memory Access) هم پشتیبانی میکنه که باعث میشه پرفورمنس روی سیستمهای چند پردازندهای بهتر بشه. توی این آرکیتکچر، زمان دسترسی به حافظه بستگی به لوکیشن فیزیکی پردازنده و حافظه داره.
#Linux #OS #Memory_Management
@PhiloLearn
Forwarded from DANI - Notes & Archive (Хосейн)
Display Server چیه و چرا مهمه؟
اگه تا حالا با یه سیستم گرافیکی مثل لینوکس(میزکار هاش)، ویندوز یا مک کار کردید، پشت صحنه یه چیزی به اسم دیسپلی سرور(سرور نمایش) داره همه چیز رو مدیریت میکنه.
این ابزار تمام چیزی هست که شما روی صفحه نمایش میبینید، از پنجره ها گرفته تا انیمیشن ها و حتی واکنش به حرکت موس و کیبورد.
Display Server دقیقا چیکار میکنه؟
دیسپلی سرور در واقع یه واسطه است که ارتباط بین برنامه ها و سخت افزار گرافیکی رو برقرا. میکنه.
وظایف Display Server چیه؟
نمایش رابط گرافیکی:
وقتی یه برنامه رو باز میکنید، دیسپلی سرور اون رو روی صفحه نمایش رسم میکنه. مثلا، اگه مرورگرتون رو باز کنید، سرور نمایش اندازه پنجره، محتوای داخلش و حتی سایه های اطرافش رو تنظیم میکنه.
مدیریت ورودی ها:
وقتی روی یه دکمه کلیک میکنید یا یه کلید رو روی کیبورد فشار میدید، سرور نمایش اون رو به برنامه مورد نظر ارسال میکنه. این یعنی شما با برنامه ها تعامل دارید، نه مستقیما با سخت افزار.
هماهنگی منابع:
اگه چند برنامه باز دارید(مثل مرورگر، ویرایشگر متن و موزیک پلیر)، دیسپلی سرور وظیفه داره منابع گرافیکی رو بین این برنامهها بهینه تقسیم کنه تا چیزی کند نشه یا کرش نکنه.
ساختار فنی Display Server چجوریه؟
دیسپلی سرور به بخش های مختلف تقسیم میشه:
Server: بخش اصلی که وظایف رو مدیریت میکنه.
Clients: برنامههایی که درخواست نمایش ورودی رو ارسال میکنن، مثل مرورگر شما.
Compositor: وظیفه داره که پنجره های مختلف رو ترکیب کنه و اونا رو به عنوان یه تصویر نهایی روی صفحه نمایش ارائه بده. این بخش معمولا در سرور های جدید مثل ویلند وجود داره.
چند نمونه از Display Server:
X11(Xorg):
سیستم نمایش پیشفرض در اکثر دسکتاپ های لینوکس.
بسیار منعطفه، اما قدیمی محسوب میشه.
ویژگی هاش:
پشتیبانی گسترده
گاهی پیچیدگی بیش از حد
Wayland:
جایگزین مدرن X11، طراحی شده برای کاهش پیچیدگی و افزایش کارایی.
ویژگی ها:
سریعتر و سبکتر.
امنیت بیشتر به دلیل جداسازی بهتر برنامه ها.
Windows Desktop Manager:
در ویندوز، این سرور نمایش به صورت یکپارچه با سیستم عامل طراحی شده.
Quartz Compositor:
سیستم گرافیکی مک که بهینه برای سخت افزار اپل ساخته شده.
جمعبندی:
دیسپلی سرور مثل قلب رابط گرافیکی سیستم عامل عمل میکنه. هر چقدر این بخش بهتر و مدرنتر طراحی بشه، تجربه شما در کار با سیستم عامل روانتر و لذتبخشتر خواهد بود.
#OS
@DiHoXCh
اگه تا حالا با یه سیستم گرافیکی مثل لینوکس(میزکار هاش)، ویندوز یا مک کار کردید، پشت صحنه یه چیزی به اسم دیسپلی سرور(سرور نمایش) داره همه چیز رو مدیریت میکنه.
این ابزار تمام چیزی هست که شما روی صفحه نمایش میبینید، از پنجره ها گرفته تا انیمیشن ها و حتی واکنش به حرکت موس و کیبورد.
Display Server دقیقا چیکار میکنه؟
دیسپلی سرور در واقع یه واسطه است که ارتباط بین برنامه ها و سخت افزار گرافیکی رو برقرا. میکنه.
وظایف Display Server چیه؟
نمایش رابط گرافیکی:
وقتی یه برنامه رو باز میکنید، دیسپلی سرور اون رو روی صفحه نمایش رسم میکنه. مثلا، اگه مرورگرتون رو باز کنید، سرور نمایش اندازه پنجره، محتوای داخلش و حتی سایه های اطرافش رو تنظیم میکنه.
مدیریت ورودی ها:
وقتی روی یه دکمه کلیک میکنید یا یه کلید رو روی کیبورد فشار میدید، سرور نمایش اون رو به برنامه مورد نظر ارسال میکنه. این یعنی شما با برنامه ها تعامل دارید، نه مستقیما با سخت افزار.
هماهنگی منابع:
اگه چند برنامه باز دارید(مثل مرورگر، ویرایشگر متن و موزیک پلیر)، دیسپلی سرور وظیفه داره منابع گرافیکی رو بین این برنامهها بهینه تقسیم کنه تا چیزی کند نشه یا کرش نکنه.
ساختار فنی Display Server چجوریه؟
دیسپلی سرور به بخش های مختلف تقسیم میشه:
Server: بخش اصلی که وظایف رو مدیریت میکنه.
Clients: برنامههایی که درخواست نمایش ورودی رو ارسال میکنن، مثل مرورگر شما.
Compositor: وظیفه داره که پنجره های مختلف رو ترکیب کنه و اونا رو به عنوان یه تصویر نهایی روی صفحه نمایش ارائه بده. این بخش معمولا در سرور های جدید مثل ویلند وجود داره.
چند نمونه از Display Server:
X11(Xorg):
سیستم نمایش پیشفرض در اکثر دسکتاپ های لینوکس.
بسیار منعطفه، اما قدیمی محسوب میشه.
ویژگی هاش:
پشتیبانی گسترده
گاهی پیچیدگی بیش از حد
Wayland:
جایگزین مدرن X11، طراحی شده برای کاهش پیچیدگی و افزایش کارایی.
ویژگی ها:
سریعتر و سبکتر.
امنیت بیشتر به دلیل جداسازی بهتر برنامه ها.
Windows Desktop Manager:
در ویندوز، این سرور نمایش به صورت یکپارچه با سیستم عامل طراحی شده.
Quartz Compositor:
سیستم گرافیکی مک که بهینه برای سخت افزار اپل ساخته شده.
جمعبندی:
دیسپلی سرور مثل قلب رابط گرافیکی سیستم عامل عمل میکنه. هر چقدر این بخش بهتر و مدرنتر طراحی بشه، تجربه شما در کار با سیستم عامل روانتر و لذتبخشتر خواهد بود.
#OS
@DiHoXCh
Forwarded from gooyban🦆
گیمینگ روی لینوکس از ۳ درصد گذشت!
وضعیت در اکتبر ۲۰۲۵ به این شکله:
جزئیات دیستروهای مختلف هم به این شکله (انتظار نداشتم مینت سوم باشه😅 ):
[link]
__________________________
🐧 جزئیات نمودارها
✈ اگه دوست دارید لینوکس نصب کنید اینجا همهی حالتهای ممکن را توضیح دادم.
🎮 دوره مهاجرت به لینوکس
🎮 نصب سیستمعاملها
🎮 نصب سیستمعاملها به شکل بوت دوگانه 🐧 💻
💙 گفتگو و تبادل نظر و حل مشکل در مورد لینوکس در گروه تلگرام
@gooyban #linux #os #news #migrate_to_linux #terminal
وضعیت در اکتبر ۲۰۲۵ به این شکله:
Windows 94.84% -0.75%
Linux 3.05% +0.41%
macOS 2.11% +0.34%
جزئیات دیستروهای مختلف هم به این شکله (انتظار نداشتم مینت سوم باشه
1️⃣ SteamOS Holo 64 bit - 27.18% (-0.47%)2️⃣ Arch Linux 64 bit - 10.32% (-0.66%)3️⃣ Linux Mint 22.2 64 bit - 6.65% (+6.65%)4️⃣ CachyOS 64 bit - 6.01% (+1.32%)5️⃣ Ubuntu Core 22 64 bit - 4.55% (+0.55%)6️⃣ Freedesktop SDK 25.08 (Flatpak runtime) 64 bit - 4.29% (+4.29%)7️⃣ Bazzite 64 bit - 4.24% (+4.24%)8️⃣ Ubuntu 24.04.3 LTS 64 bit - 3.70% (+3.70%)
Linux Mint 22.1 64 bit - 2.56% (-5.65%)9️⃣ EndeavourOS Linux 64 bit - 2.32% (-0.08%)1️⃣ 0️⃣ Freedesktop SDK 24.08 (Flatpak runtime) 64 bit - 2.31% (-3.98%)
1️⃣ 1️⃣ Fedora Linux 42 (KDE Plasma Desktop Edition) 64 bit - 2.12% (+0.19%)1️⃣ 2️⃣ Manjaro Linux 64 bit - 2.04% (-0.31%)1️⃣ 3️⃣ Pop!_OS 22.04 LTS 64 bit - 1.93% (-0.04%)1️⃣ 4️⃣ Fedora Linux 42 (Workstation Edition) 64 bit - 1.75% (-0.43%)
Other - 18.04% (-4.28%)
[link]
__________________________
@gooyban #linux #os #news #migrate_to_linux #terminal
Please open Telegram to view this post
VIEW IN TELEGRAM