کارگاه سیستم عامل
درس متنی
جلسه 1 نرم افزارهای متن باز )Source Open ،)معرفی سیستم عامل لینوکس،
نکات کلیدی برای تدریس:
تأکید بر مفهوم متنباز: فراتر از رایگان بودن، بر آزادی، همکاری و شفافیت کد منبع تأکید شود.
تمایز هسته و سیستمعامل: توضیح اینکه لینوکس تنها هسته است و توزیعها آن را کامل میکنند.
کاربردهای لینوکس: برجسته کردن نقش لینوکس در سرورها، ابرکامپیوترها، دستگاههای اندرویدی (که از هسته لینوکس استفاده میکنند) و اینترنت اشیاء.
قدرت خط فرمان: تشویق دانشجویان به یادگیری دستورات پایه خط فرمان برای مدیریت مؤثرتر سیستم.
انتخاب توزیع: راهنمایی دانشجویان برای انتخاب توزیعی که با نیازها و سطح آشنایی آنها مطابقت دارد.
مقدمه: نرمافزارهای متنباز (Open Source Software)
- تعریف: نرمافزاری که کد منبع آن در دسترس عموم قرار دارد و کاربران مجاز به مشاهده، استفاده، تغییر و توزیع آن تحت شرایط خاص (معمولاً مجوزهای متنباز) هستند.
- اهمیت: ترویج همکاری، شفافیت، نوآوری، کاهش هزینهها، و جلوگیری از وابستگی به یک فروشنده خاص.
- مدلهای کسبوکار: توضیح مختصر مدلهایی مانند پشتیبانی پولی، خدمات سفارشی، یا نسخههای تجاری.
۲. معرفی سیستمعامل لینوکس
- هسته (Kernel): لینوکس در اصل نام هسته سیستمعامل است که توسط لینوس توروالدز توسعه یافته است.
- سیستمعامل کامل: ترکیب هسته لینوکس با ابزارهای سیستمی GNU و نرمافزارهای دیگر که یک سیستمعامل کامل را تشکیل میدهند (اغلب به آن GNU/Linux گفته میشود).
- فلسفه: تأکید بر آزادی نرمافزار، انعطافپذیری، و قدرت.
۳. پیدایش و تاریخچه لینوکس
- ریشهها: الهام از سیستمعامل یونیکس.
- توسعه: شروع پروژه توسط لینوس توروالدز در سال ۱۹۹۱.
- نقش جامعه: توسعه گسترده و همکاری جهانی توسعهدهندگان.
- رشد: تبدیل شدن به یکی از محبوبترین سیستمعاملها در سرورها، سیستمهای نهفته، و دسکتاپ.
۴. مقایسه لینوکس با ویندوز
- مدل توسعه: متنباز در مقابل بسته (Proprietary).
- هزینه: رایگان در مقابل تجاری.
- امنیت: معماری امنیتی متفاوت، کمتر هدف حملات ویروسی گسترده (به دلیل تنوع و سهم بازار کمتر در دسکتاپ).
- انعطافپذیری و سفارشیسازی: لینوکس بسیار انعطافپذیرتر است.
- رابط کاربری: تنوع بسیار زیاد در لینوکس (محیطهای دسکتاپ) در مقابل یکپارچگی نسبی در ویندوز.
- سازگاری نرمافزاری: ویندوز دارای اکوسیستم نرمافزاری گستردهتری برای کاربردهای عمومی است، اما لینوکس در حوزههای خاص (مانند توسعه نرمافزار، سرورها، محاسبات علمی) بسیار قدرتمند است.
- مدیریت سیستم: استفاده از خط فرمان (Command Line Interface - CLI) در لینوکس قدرتمندتر و رایجتر است.
۵. ویژگیهای کلیدی لینوکس
- چند کاربره و چند وظیفهای (Multi-user & Multi-tasking): قابلیت اجرای همزمان چندین کاربر و چندین برنامه.
- پایداری و قابلیت اطمینان: عملکرد بالا در طولانی مدت بدون نیاز به راهاندازی مجدد مکرر.
- امنیت: مجوزهای دسترسی دقیق فایلها و دایرکتوریها، سیستم قدرتمند کاربر و گروه.
- خط فرمان قدرتمند: ابزارهای متنوع و قدرتمند برای مدیریت سیستم و اتوماسیون وظایف.
- سیستم فایل سلسله مراتبی: ساختار منظم دایرکتوریها (مانند
/home,/etc,/var). - مدیریت بستههای نرمافزاری: سیستمهای مدیریت بسته (مانند APT, YUM/DNF) که نصب، بهروزرسانی و حذف نرمافزار را آسان میکنند.
- محیطهای دسکتاپ متنوع: GNOME, KDE Plasma, XFCE, LXQt و … که ظاهر و تجربه کاربری متفاوتی را ارائه میدهند.
۶. معرفی انواع توزیعها و نسخههای لینوکس
- توزیع (Distribution): بستهای شامل هسته لینوکس، ابزارهای GNU، محیط دسکتاپ، و نرمافزارهای کاربردی که توسط یک سازمان یا جامعه خاص ارائه میشود.
- دستهبندی توزیعها:
- مبتنی بر دبیان (Debian-based): مانند Ubuntu, Linux Mint. معروف به سیستم مدیریت بسته APT.
- مبتنی بر فدورا/RHEL (Fedora/RHEL-based): مانند Fedora, CentOS Stream, Rocky Linux, AlmaLinux. معروف به سیستم مدیریت بسته YUM/DNF.
- مبتنی بر Arch Linux: مانند Arch Linux, Manjaro. معروف به سادگی، بهروز بودن (Rolling Release) و ابزار Pacman.
- توزیعهای مستقل: مانند Slackware, Gentoo.
- نسخهها:
- نسخههای دسکتاپ: مناسب برای کاربران عادی و توسعهدهندگان (مانند Ubuntu Desktop, Fedora Workstation).
- نسخههای سرور: بهینهسازی شده برای محیطهای سرور (مانند Ubuntu Server, RHEL, CentOS Stream).
- نسخههای سبک (Lightweight): مناسب برای سختافزارهای قدیمی یا سیستمهای نهفته.
- نسخههای تخصصی: مانند Kali Linux (امنیت) یا Raspbian (برای Raspberry Pi).
- چرخه انتشار (Release Cycle):
- انتشار با پشتیبانی طولانی مدت (LTS - Long Term Support): تمرکز بر پایداری و دریافت بهروزرسانیهای امنیتی برای مدت طولانی (معمولاً ۵ سال).
- انتشار معمولی: دریافت منظم قابلیتهای جدید، اما دوره پشتیبانی کوتاهتر.
- انتشار غلتان (Rolling Release): بهروزرسانی مداوم نرمافزارها به آخرین نسخهها بدون نیاز به ارتقاء سیستمعامل به صورت دورهای.
نکات کلیدی برای تدریس:
- تأکید بر مفهوم متنباز: فراتر از رایگان بودن، بر آزادی، همکاری و شفافیت کد منبع تأکید شود.
- تمایز هسته و سیستمعامل: توضیح اینکه لینوکس تنها هسته است و توزیعها آن را کامل میکنند.
- کاربردهای لینوکس: برجسته کردن نقش لینوکس در سرورها، ابرکامپیوترها، دستگاههای اندرویدی (که از هسته لینوکس استفاده میکنند) و اینترنت اشیاء.
- قدرت خط فرمان: تشویق دانشجویان به یادگیری دستورات پایه خط فرمان برای مدیریت مؤثرتر سیستم.
- انتخاب توزیع: راهنمایی دانشجویان برای انتخاب توزیعی که با نیازها و سطح آشنایی آنها مطابقت دارد.
دروس متنی
#1
جلسه 1 نرم افزارهای متن باز )Source Open ،)معرفی سیستم عامل لینوکس،
#2
جلسه 2معرفی انواع محیط های کاربری گرافیکی و خط فرمان لینوکس و
#3
جلسه 3 معرفی انواع محیط های کاربری گرافیکی و خط فرمان لینوکس و نحوه اتصال و کار با آنها
#4
جلسه 4 بررسی نیازهای سخت افزاری سخت افزار برای نصب لینوکس و نصب و راه اندازی
#5
جلسه 5 معرفی محیط های خط فرمان لینوکس، نحوه نامگذاری محیطهای خط فرمان،
#6
جلسه 6آشنایی با نرمافزارهای ویرایشگر متن مانند: vim ،nano و ... کار با فرامین پردازش متن
#7
جلسه 7ساختار یک بسته نرمافزاری لینوکس، مدیریت بستههای نرمافزار لینوکس.
#8
جلسه 8 مدیریت پراسس ها و انواع پراسس ها در لینوکس،
#9
جلسه 9 مجوزهای فایل ها و نحوه کار با فرامین chmod ،umask ،chattr
#10
جلسه 10فرامین ایجاد، فرمت و مدیریت پارتیشن، مانند: df ،du ،mkfs ،mount
#11
جلسه 11مدیریت کاربران و فرامین groupadd ،passwd ،useradd
#12
جلسه 12 فرامین پشتیبان گیری و فشرده سازی مانند: cpio ،tar ،zip ،gzip ،bzip و ...
#13
جلسه 13 نحوه پیکربندی کارت شبکه در لینوکس و کار با فرمان ifconfig ،ping
مشاهده دروس کامل
بررسی صفحه یادگیری دوره