ویرگول
ورودثبت نام
امیرحسین ناظوری
امیرحسین ناظوری📕 عاشق یادگیری و به اشتراک‌گذاری دانش -- آیدی من تو شبکه های اجتماعی : mrNazouri13
امیرحسین ناظوری
امیرحسین ناظوری
خواندن ۵ دقیقه·۴ ماه پیش

همه چیز راجب لینوکس

ویدیو مربوط به این مقاله: (کلیک کن)

لینوکس یه سیستم عامله.
اما صبر کن! سیستم عامل چیه؟
سیستم عامل، نرم‌افزاری هست که روی کامپیوتر نصب میشه تا بتونیم با کامپیوتر کار کنیم.
خب، کامپیوتر چیه؟ 🤨

خوش اومدید به مقاله‌ایی که قراره لینوکس رو از پایه ترین حالت ممکن بهتون آموزش بده.

کامپیوتر (Computer) چیه؟
کامپیوتر در ساده‌ترین حالت ممکن یه دستگاه الکترونیکیه که فقط یه کار بلده:
اطلاعات رو بگیره، روشون یه کاری انجام بده، و نتیجه رو بهت نشون بده.
کامپیوتر یه موجود عجیب و غریبه که خودش هیچ چیزی نمیفهمه، ولی اگه بهش بگی دقیقا چیکار کنه، با سرعت زیاد انجامش میده.
اگه بخوای دقیق‌تر بشی، کامپیوتر از چند بخش اصلی درست شده:
ورودی (Input): جایی که اطلاعات وارد کامپیوتر میشه، مثل کیبورد، ماوس، میکروفون، دوربین و...
پردازنده (CPU): مغز کامپیوتره. همه دستورها و محاسبات اینجا انجام میشه. CPU در واقع یه چیپ الکترونیکیه که میلیاردها ترانزیستور داره (ترانزیستور یعنی یه کلید کوچیک که میتونه خاموش یا روشن باشه).
حافظه (Memory): تو کامپیوتر دو نوع حافظه داریم...
RAM: حافظه موقته. وقتی سیستم خاموش بشه، همه چیزش پاک میشه.
Storage (مثل SSD یا HDD): حافظه دائمیه، فایل هات همیشه اونجا میمونن.
خروجی (Output): جاییه که نتیجه‌ی کار بهت نشون داده میشه، مثل مانیتور، اسپیکر یا چاپگر.


سیستم عامل چیه؟
سیستم عامل مثل مترجم بین انسان و سخت افزاره. چون کامپیوتر زبان ما رو نمیفهمه، سیستم عامل میاد وسط و ارتباط بین ما و اون سخت افزارها رو برقرار میکنه.
درنتیجه، سیستم عامل کار اصلیش اینه که بهت اجازه بده بدون اینکه لازم باشه با قطعات سخت افزاری مستقیم حرف بزنی، ازشون استفاده کنی. یعنی چی؟
یعنی تو وقتی کلیک میکنی روی یه فایل تا باز بشه، در واقع داری به سیستم عامل میگی:
این فایل رو از حافظه بخون و بیارش رو صفحه.
سیستم عامل اون دستور رو میگیره، میفرسته به حافظه، با CPU هماهنگ میشه، داده ها رو میخونه و در نهایت نتیجه رو روی مانیتور نشونت میده.
تو از این همه اتفاق فقط یه کلیک دیدی.


سیستم عامل چطور ساخته میشه؟
سیستم عامل از ترکیب چند بخش مهم ساخته میشه و هرکدوم یه وظیفه خاص دارن:
Kernel (هسته): این مغز سیستم عامله. مستقیم با سخت‌افزار کار میکنه و کنترل RAM، CPU، حافظه و... رو به عهده داره. مثلا تصمیم میگیره کدوم برنامه چقدر RAM استفاده کنه.
User Interface (رابط کاربری): چیزی که میبینی و باهاش کار میکنی. مثل دسکتاپ، آیکن ها، منوها و پنجره ها.
Shell (پوسته): رابط بین کاربر و Kernelعه. همون جاییه که تو باهاش دستور میدی (مثل ترمینال در لینوکس یا Command Prompt در ویندوز).
File System: مسئول ذخیره و نظم دادن به داده هاست. مثلا توی ویندوز درایو C و D داری ولی تو لینوکس ساختارش فرق داره.

این اجزا چطوری ساخته میشن؟
برنامه نویس ها سیستم عامل رو با زبانهای سطح پایین (مثل C و Assembly) مینویسن تا بتونه مستقیم با سختافزار حرف بزنه. چون سیستم عامل باید خیلی سریع، دقیق و نزدیک به قطعات کار کنه، به همین خاطر از زبان های سطح بالا استفاده نمیشه.

سیستم عامل ها انواع مختلفی دارن:
سیستم عامل دسکتاپ (Desktop OS): برای کامپیوترهای شخصی. مثل:
Windows
macOS
Linux
سیستم عامل موبایل (Mobile OS): برای گوشی ها و تبلت ها. مثل:
Android
iOS
سیستم عامل سرور (Server OS): برای مدیریت سرورها، شبکه ها و سرویس ها. مثل:
Linux (مثل Ubuntu Server, CentOS, Debian)
Windows Server
سیستم عامل تعبیه شده (Embedded OS): داخل دستگاه هایی مثل مودم، تلویزیون هوشمند، خودپرداز و... نصب میشه. مثال:
Embedded Linux
FreeRTOS
سیستم عامل های مخصوص ابر (Cloud OS) یا مجازیسازی: برای کنترل ماشین های مجازی و زیرساخت های ابری، مثل VMware ESXi یا Proxmox.

حالا برسیم به قهرمان ما: لینوکس (Linux)
بریم به دهه‌ی 1960 میلادی. اون زمان کامپیوترها به بزرگی اتاق بودن و فقط شرکتهای بزرگ و دانشگاه‌ها داشتنشون. کار کردن باهاشون خیلی سخت بود، هر سیستم برای خودش یه نرم افزار خاص داشت، و هیچ استانداردی وجود نداشت.
یه تیم از برنامه نویس ها تو شرکت AT&T تصمیم گرفتن یه سیستم عامل بسازن که هم ساده باشه و هم بتونه روی هر نوع کامپیوتری اجرا بشه. اون سیستم عامل شد: UNIX.
یونیکس خیلی باهوش طراحی شده بود! یه هسته داشت برای کنترل سخت افزار، ابزارهای کوچیک و کاربردی برای انجام کارهای مختلف، و یه رابط متنی ساده (خط فرمان).
اما یه مشکل بزرگ وجود داشت...
UNIX رایگان نبود...
یه محصول تجاری بود که فقط شرکت ها و دانشگاه‌ها میتونستن بخرنش.
اینجا بود که جرقه‌ی آزادی نرم‌افزار تو ذهن یه نفر زده شد. اوایل دههی 1980، یه نفر به اسم Richard Stallman (ریچارد استالمن) توی MIT کار میکرد.
اون از وضعیت نرم‌افزارها خسته شده بود. اون زمان شرکت‌ها سورس‌کد نرمافزارها رو قفل کرده بودن و کسی اجازه نداشت تغییرشون بده. استالمن باور داشت که نرم‌افزار باید آزاد باشه. آزاد نه به معنی رایگان، بلکه به معنی آزادی استفاده، تغییر و به اشتراک گذاری.
برای همین در سال 1983 پروژه‌ایی به اسم GNU رو شروع کرد. هدفش چی بود؟
ساخت یه نسخه‌ی آزاد از یونیکس.
ابزارهای لازم مثل کامپایلر، شل، و کلی برنامه‌ی پایه رو ساخت. اما یه چیز حیاتی کم بود! Kernel.
پروژه‌ی GNU تقریبا کامل بود، اما بدون مغز اصلیش، هسته‌ای که کل سیستم رو مدیریت کنه، ناقص مونده بود.

سال 1991، یه نفر به اسم Linus Torvalds (لینوس توروالدز) توی دانشگاه هلسینکی فنلاند داشت با سیستم عامل کوچیکی به نام Minix کار میکرد. Minix یه نسخه‌ی آموزشی از یونیکس بود که برای درس خوندن ساخته شده بود، نه استفاده واقعی. محدودیت زیاد داشت و لینوس اعصابش خورد شده بود. پس تصمیم گرفت یه پروژه‌ی شخصی راه بندازه. یه روز نشست پشت کامپیوترش و گفت: میخوام یه سیستم عامل مخصوص خودم بسازم، فقط برای سرگرمی.
شروع کرد به نوشتن یه Kernel با زبان C و اسمبلی.
اولش فقط برای خودش بود. اما بعد، تصمیم گرفت اونو با بقیه به اشتراک بذاره.
یه ایمیل نوشت توی یه گروه برنامه‌نویسی و گفت: سلام! من یه سیستم عامل آزاد نوشتم، فقط برای سرگرمی. فعلا بزرگ نیست، ولی شاید به دردتون بخوره.
اون سیستم عامل کوچیک، هسته لینوکس بود.

یادت هست پروژه‌ی GNU یه عالمه ابزار داشت ولی هسته نداشت؟
و لینوس یه هسته ساخته بود ولی ابزار نداشت؟
جامعه‌ی برنامه‌نویسا اومدن ابزارهای GNU رو با هسته‌ی لینوس ترکیب کردن.
نتیجه شد یه سیستم عامل کامل، آزاد و قدرتمند.
و اینجوری GNU/Linux متولد شد.
بعضیا فقط میگن Linux، ولی واقعیت اینه که بخش بزرگی ازش از GNU میاد.

چون لینوکس Open Source بود، هرکسی میتونست سورس کدش رو ببینه، تغییر بده و نسخه خودش رو بسازه.
همین باعث شد هزاران نفر از سراسر دنیا بهش کمک کنن.
کم کم توزیع‌های مختلفی (بهشون میگن Distro) ساخته شد:
Debian
Ubuntu
Fedora:
Kali Linux
امروز، لینوکس روی همه‌چیز هست:
از گوشیهای اندرویدی گرفته تا سرورهای گوگل، فیسبوک، آمازون، و حتی ابرکامپیوترهای ناسا.
تقریبا هر جایی که قدرت و امنیت مهمه، لینوکس پادشاهه.

درنهایت، کلمه Linux به Kernel اشاره میکنه. به سیستم عاملی که هدف ماست گفته میشه GNU/Linux ولی خب عموم مردم همون کلمه Linux رو براش استفاده میکنن.

تو مقاله های بعدی در مورد این سیستم عامل جذاب بیشتر مینویسم 👍

لینوکسlinuxسیستم عاملویندوزwindows
۲
۰
امیرحسین ناظوری
امیرحسین ناظوری
📕 عاشق یادگیری و به اشتراک‌گذاری دانش -- آیدی من تو شبکه های اجتماعی : mrNazouri13
شاید از این پست‌ها خوشتان بیاید