<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>سیستم عامل به سبک تِرِد</title><link>https://os.cs12.ir/</link><description>Recent content on سیستم عامل به سبک تِرِد</description><generator>Hugo</generator><language>fa-ir</language><lastBuildDate>Mon, 27 Jul 2026 18:12:42 +0330</lastBuildDate><atom:link href="https://os.cs12.ir/index.xml" rel="self" type="application/rss+xml"/><item><title>باس ها</title><link>https://os.cs12.ir/threads/background/06_bus/</link><pubDate>Mon, 27 Jul 2026 18:12:42 +0330</pubDate><guid>https://os.cs12.ir/threads/background/06_bus/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&lt;strong&gt;باس (Bus)&lt;/strong&gt; مجموعه‌ای از مسیرهای ارتباطیه که بخش‌های مختلف کامپیوتر رو به هم متصل می‌کنه. پردازنده، حافظه اصلی و ماژول‌های I/O برای اینکه بتونن با هم تبادل اطلاعات داشته باشن، از باس‌ها استفاده می‌کنن. می‌شه باس رو مثل &lt;strong&gt;جاده‌ای&lt;/strong&gt; در نظر گرفت که داده‌ها، آدرس‌ها و سیگنال‌های کنترلی روی اون جابه‌جا می‌شن. &lt;br&gt;&lt;br&gt;&lt;/p&gt;&#10;&lt;p&gt;هر بار که پردازنده می‌خواد اطلاعاتی رو از RAM بخونه، داده‌ای رو داخل حافظه ذخیره کنه یا با یکی از دستگاه‌های I/O ارتباط برقرار کنه، این ارتباط از طریق باس‌ها انجام می‌شه. بدون وجود باس‌ها، هیچ‌کدوم از بخش‌های کامپیوتر نمی‌تونستن با هم ارتباط برقرار کنن 📦&lt;/p&gt;</description></item><item><title>ماژول های I/O</title><link>https://os.cs12.ir/threads/background/05_input-output/</link><pubDate>Mon, 27 Jul 2026 18:12:30 +0330</pubDate><guid>https://os.cs12.ir/threads/background/05_input-output/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;ماژول‌های &lt;strong&gt;ورودی/خروجی (I/O Modules)&lt;/strong&gt; رابط بین کامپیوتر و دنیای بیرون هستن. این ماژول‌ها باعث می‌شن پردازنده و حافظه بتونن با دستگاه‌هایی مثل صفحه‌کلید، ماوس، مانیتور، چاپگر، فلش، هارد و حتی کارت شبکه ارتباط برقرار کنن.🖱️ &lt;br&gt;&lt;BR&gt;&lt;/p&gt;&#10;&lt;p&gt;وقتی روی صفحه‌کلید کلیدی رو فشار می‌دی، اطلاعات از طریق ماژول‌های ورودی به کامپیوتر ارسال می‌شن. از طرف دیگه، وقتی پردازنده می‌خواد تصویری روی مانیتور نمایش بده یا فایلی روی هارد ذخیره کنه، این کار از طریق ماژول‌های خروجی انجام می‌شه.&lt;/p&gt;</description></item><item><title>حافظه اصلی</title><link>https://os.cs12.ir/threads/background/04_memory/</link><pubDate>Mon, 27 Jul 2026 18:11:55 +0330</pubDate><guid>https://os.cs12.ir/threads/background/04_memory/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;حافظه اصلی (Main Memory) یا &lt;strong&gt;RAM&lt;/strong&gt; یکی دیگه از مهم‌ترین بخش‌های کامپیوتره. اگر پردازنده رو مغز کامپیوتر در نظر بگیریم، RAM مثل &lt;strong&gt;میز کار پردازنده&lt;/strong&gt; عمل می‌کنه؛ جایی که اطلاعات و دستوراتی که پردازنده همین الان بهشون نیاز داره، به صورت موقت نگهداری می‌شن.📝 &lt;br&gt;&lt;/p&gt;&#10;&lt;p&gt;وقتی یه برنامه مثل مرورگر، بازی یا ویرایشگر متن رو اجرا می‌کنی، اطلاعات موردنیاز اون از حافظه ذخیره‌سازی (مثل SSD یا HDD) وارد RAM می‌شن تا پردازنده بتونه با سرعت خیلی بیشتری بهشون دسترسی داشته باشه. اگر پردازنده مجبور بود هر بار اطلاعات رو مستقیماً از هارد یا SSD بخونه، سرعت اجرای برنامه‌ها به شدت کاهش پیدا می‌کرد.&lt;/p&gt;</description></item><item><title>پردازنده</title><link>https://os.cs12.ir/threads/background/03_processor/</link><pubDate>Mon, 27 Jul 2026 18:11:40 +0330</pubDate><guid>https://os.cs12.ir/threads/background/03_processor/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;پردازنده &lt;strong&gt;(CPU)&lt;/strong&gt; یکی از مهم‌ترین قطعات سخت‌افزاری کامپیوتره، اما این به این معنی نیست که بقیه قطعات اهمیت کمتری دارن. کامپیوتر یه سیستم کامله که هر بخشش وظیفه مشخصی داره و نبود یا درست کار نکردن هر کدوم از این بخش‌ها می‌تونه عملکرد کل سیستم رو مختل کنه. &lt;br&gt;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;پردازنده مغز متفکر کامپیوتره! 🧠&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;همون‌طور که مغز انسان وظیفه کنترل بدن، تصمیم‌گیری، انجام محاسبات و تحلیل اطلاعات رو بر عهده داره، پردازنده هم مسئول اجرای دستورات و هماهنگ کردن بخش‌های مختلف کامپیوتره. هر کاری که با کامپیوتر انجام می‌دی، از باز کردن یه فایل ساده گرفته تا اجرای بازی‌ها یا نرم‌افزارهای پیچیده، در نهایت به مجموعه‌ای از دستورالعمل‌ها تبدیل می‌شه که پردازنده اون‌ها رو پردازش و اجرا می‌کنه.&lt;/p&gt;</description></item><item><title>سیستم عامل چیه؟</title><link>https://os.cs12.ir/threads/background/01_what_is_os/</link><pubDate>Sat, 27 Jun 2026 19:19:24 +0330</pubDate><guid>https://os.cs12.ir/threads/background/01_what_is_os/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;بیاید با ساده‌ترین سوالی که به ذهنمون می‌رسه شروع کنیم. 🤔&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;سیستم‌عامل&lt;/strong&gt; دقیقاً چیه؟&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;اگر بخوایم خیلی ساده به این سؤال جواب بدیم، باید بگم که:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;سیستم‌عامل نرم‌افزاری هستش که وظیفه مدیریت سخت‌افزار (مثل پردازنده، حافظه، I/Oها و&amp;hellip;) رو به عهده داره! البته این تمام ماجرا نیست؛ وظایفی از جمله اجرای برنامه‌ها، رسیدگی به نیازهای هر برنامه، مدیریت فایل‌سیستم و همچنین سازمان دادن سیستم هم از وظایف اصلی سیستم‌عامل هستش. 💡&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>مقدمه</title><link>https://os.cs12.ir/threads/background/00_get_started/</link><pubDate>Sat, 27 Jun 2026 19:04:36 +0330</pubDate><guid>https://os.cs12.ir/threads/background/00_get_started/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;خیلی خوش اومدین به اولین فصل از کورسمون 🎉&lt;/p&gt;&#10;&lt;p&gt;توی این فصل با مباحث ابتدایی سیستم عامل آشنا میشیم. مباحثی که تا پایان کورس بهش نیاز پیدا میکنید! &lt;br&gt;&lt;/p&gt;&#10;&lt;h3 id="فهرست-مطالب"&gt;فهرست مطالب&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;سیستم عامل چیه؟ &lt;a href="https://os.cs12.ir/threads/background/01_what_is_os/"&gt;[+]&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Basic Elements | مفاهیم پایه ای &lt;a href="https://os.cs12.ir/threads/background/02_basic_elements/"&gt;[+]&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Processor | پردازنده (CPU) &lt;a href="https://os.cs12.ir/threads/background/03_processor/"&gt;[+]&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Main Memory | حافظه اصلی &lt;a href="https://os.cs12.ir/threads/background/04_memory/"&gt;[+]&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;I/O Modules | ماژول های ورودی و خروجی &lt;a href="https://os.cs12.ir/threads/background/05_input-output/"&gt;[+]&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;!-- 6. Bus | باس ها [[+]](https://os.cs12.ir/threads/background/06_bus/)&#10;7. Instruction Execution | اجرای دستورالعمل ها [[+]](https://os.cs12.ir/threads/background/07_instruction_execution/)&#10;8. Interrupts | وقفه ها [[+]](https://os.cs12.ir/threads/background/08_interrupts/)&#10;9. Interrupt Processing | پردازش وقفه ها [[+]](https://os.cs12.ir/threads/background/09_interrupt_processing/)&#10;10. Memory Hirarchy | سلسله مراتب حافظه (هرم مموری) [[+]](https://os.cs12.ir/threads/background/10_memory_hierarchy/)&#10;11. Cache Memory | حافظه نهان (کش) [[+]](https://os.cs12.ir/threads/background/11_cache_memory/)&#10;12. Direct Memory Access | دسترسی مستقیم به حافظه [[+]](https://os.cs12.ir/threads/background/12_direct_memory_access/) --&gt;&#10;&lt;h3 id="در-پایان-فصل-انتظار-میره"&gt;در پایان فصل انتظار میره:&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;درباره المنت های پایه ای سیستم عامل بدونید&lt;/li&gt;&#10;&lt;li&gt;درک خوبی از وقفه ها داشته باشید و نجوه اجرا شدندشون رو بدونید&lt;/li&gt;&#10;&lt;li&gt;درباره انواع حافظه ها و Cache اطلاعات کافی داشته باشید&lt;/li&gt;&#10;&lt;li&gt;نحوه اجرای دستورالعمل های هر پراسس رو بدونید&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;موفق باشین :) 🌴&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>دسترسی مستقیم به مموری</title><link>https://os.cs12.ir/threads/background/12_direct_memory_access/</link><pubDate>Tue, 23 Jun 2026 08:22:55 +0330</pubDate><guid>https://os.cs12.ir/threads/background/12_direct_memory_access/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&lt;strong&gt;DMA&lt;/strong&gt; مکانیزمی هستش که به دستگاه های I/O این اجازه رو میده که بدون نیاز به دخالت CPU بتونن با مموری (RAM) در ارتباط باشن!&lt;br&gt;&#10;بزارید یا یه مثال ساده براتون توضیح بدم :) &lt;br&gt;&#10;فرض کنید شما یه انبار (RAM) ، یه مدیر انبار (CPU) و یه کامیون به همراه بارش دارید (Storage Device + 5GB). فرض میگیرم این ۵ گیگ دیتا میشه ۱۰۰۰ تا جعبه!‌&lt;br&gt;&#10;در حالت معمولی مدیر انبار باید بیاد دونه دونه جعبه ها رو از کامیون برداره و ببره بذاره تو انبار !‌ وقتی دیتا حجیم باشه تعداد جعبه ها هم افزایش پیدا میکنه و در نتیجه مدیر انبار کار دیگه ای نمیتونه انجام بده. 📦&lt;br&gt;&lt;BR&gt;&#10;اینجا CPU میاد و یه کارگر (DMA) استخدام میکنه و بهش میگه &lt;strong&gt;&amp;ldquo;جعبه ها رو از کامیون بردار، ببر بذار تو انبار!&amp;rdquo;&lt;/strong&gt; و خودش میره به بقیه کار ها رسیدگی میکنه. هر وقت کار DMA تموم شد میاد و میگه: &lt;strong&gt;&amp;ldquo;رئیس کار انجام شد!🖐️&amp;rdquo;&lt;/strong&gt; این همون &lt;strong&gt;interrupt&lt;/strong&gt; خودمونه که بعد از اتمام کار از طرف DMA صادر میشه!&lt;/p&gt;</description></item><item><title>حافظه نهان (کش)</title><link>https://os.cs12.ir/threads/background/11_cache_memory/</link><pubDate>Mon, 22 Jun 2026 10:18:51 +0330</pubDate><guid>https://os.cs12.ir/threads/background/11_cache_memory/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;همونطور که توی ترد دوم گفتیم در طول &lt;strong&gt;Instruction cycle&lt;/strong&gt; پردازنده حداقل یک بار برای Fetch کرد دستورالعمل ‍(&lt;code&gt;Fetch stage&lt;/code&gt;) به مموری مراجعه میکنه!&lt;/p&gt;&#10;&lt;p&gt;سرعت اجرای دستورالعمل ها نسبت به سرعت &lt;strong&gt;Memory cycle&lt;/strong&gt; (عملیات خوندن یا نوشتن روی مموری) به وضوح بیشتره و باعث محدود شدن پردازنده میشه! این محدودیت به خاطر عدم تطابق سرعت مموری و پردازنده همیشه یه مشکل مهم بوده! در طول سال ها سرعت پردازنده بیشتر از سرعت دسترسی به مموری شده. تو این حالت مموری ها (رم ها) باید با تکنولوژی رجیستر ها ساخته بشن که از نظر سرعت دسترسی با پردازنده تطابق بیشتری دارن ولی از نظر هزینه ای اصلا به صرفه و منطقی نیست. &lt;br&gt;&lt;/p&gt;</description></item><item><title>سلسه مراتب حافظه (هرم مموری)</title><link>https://os.cs12.ir/threads/background/10_memory_hierarchy/</link><pubDate>Mon, 22 Jun 2026 09:10:45 +0330</pubDate><guid>https://os.cs12.ir/threads/background/10_memory_hierarchy/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;حافظه ها انواع متفاوتی دارند برای همین با استفاده از یه ساختار سلسله مراتبی اون هارو دسته بندی میکنن!&#10;قبل از هر چیزی باید با انواع حافظه ها آشنا شیم! &lt;br&gt;&#10;حافظه ها اصولا دو نوع هستند!‌&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Memory&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;مموری ها که از اسمشون مشخصه حافظه های فرار هستند و دیتا تا وقتی که برق توی مدار سیستم در جریان باشه توشون میمونه. اما استوریج ها کاملا برعکس عمل میکنن و برای ذخیره دائمی اطلاعات طراحی شدن! 💾&lt;br&gt;&#10;&lt;div class="c-box"&#13;&#10;data-modal&#13;&#10;data-modal-type='video'&#13;&#10;data-src="https://www.youtube.com/embed/7J7X7aZvMXQ?si=QlpOgc36aA-ZhHjE"&#13;&#10;data-modal-title="?How computer memory works"&#13;&#10;data-modal-text="اینم یه ویدیوی خیلی کامل و تخصصی که نحوه کار کردن مموری کامپیوتر رو توضیح میده :) فقط حواست باشه فیلترشکنت روشن باشه!"&#13;&#10;&gt;&#13;&#10;&lt;div class="svg-cont"&gt;&#13;&#10; &lt;svg&gt;&#13;&#10; &lt;use href="#_VIDEO_ICON" xlink:href="#_VIDEO_ICON"&gt;&lt;/use&gt;&#13;&#10; &lt;/svg&gt;&#13;&#10;&lt;/div&gt;&#13;&#10;&#13;&#10;&lt;/div&gt;&#13;&#10;&lt;/p&gt;</description></item><item><title>نحوه پردازش وقفه ها</title><link>https://os.cs12.ir/threads/background/09_interrupt_processing/</link><pubDate>Sat, 20 Jun 2026 09:48:01 +0330</pubDate><guid>https://os.cs12.ir/threads/background/09_interrupt_processing/</guid><description>&lt;hr&gt;&#10;&lt;h4 id="وقفه-ها-اینجوری-اجرا-میشن"&gt;وقفه ها اینجوری اجرا میشن❗&lt;/h4&gt;&#10;&lt;p&gt;شاید بگید مگه وقفه یه &lt;strong&gt;سیگنال&lt;/strong&gt; نیست!؟‌ اجرا شدن داره مگه؟ باید بگم خود وقفه یه سیگناله ولی وقتی ارسال میشه CPU باید یه کار هایی بکنه دیگه! :) مراحل اجرای وقفه به ترتیب زیر انجام میشه:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;mark&gt; وقفه توسط یکی از ۴ مورد که تو بیشتر بدونید ترد قبل گفتم تولید و ارسال میشه.&lt;/mark&gt;&lt;/li&gt;&#10;&lt;li&gt;پردازنده اجرای برنامه (دستورالعمل) فعلی رو متوقف میکنه.&lt;/li&gt;&#10;&lt;li&gt;وقفه توسط پردازنده بررسی میشه. نوع و وجودش تایید میشه و در نهایت سیگنال تایید به منبع وقفه ارسال میشه که اجازه میده وقفه رو حذف کنه.&lt;/li&gt;&#10;&lt;li&gt;حالا پردازنده باید کنترل رو به &lt;strong&gt;Interrupt routine&lt;/strong&gt; (یا &lt;code&gt;Interrupt handler&lt;/code&gt;) منتقل کنه.&lt;br&gt;&#10;برای شروع, اطلاعات دستورالعمل فعلی که تو رجیستر PSW ‍(یا &lt;code&gt;Program status word&lt;/code&gt;) ذخیره شده و همچنین مقدار PC به علاوه تمامی اطلاعاتی که برای از سرگیری مجدد برنامه فعلی نیاز داره رو تو کنترل استک &lt;strong&gt;(Control stack)&lt;/strong&gt; ذخیره میکنه.&lt;/li&gt;&#10;&lt;li&gt;بسته به نوع وقفه, سیستم عامل Interrupt handler اونو فراخوانی میکنه. Interrupt routine اجرا میشه.&lt;/li&gt;&#10;&lt;li&gt;بعد از اتمام کار handler و پردازش وقفه, اطلاعات برنامه که توی کنترل استک ذخیره شده بود به رجیستر ها برمیگرده و استک خالی میشه.&lt;/li&gt;&#10;&lt;li&gt;اجرای برنامه دقیقا از همون نقطه ای که متوقف شده بود از سر گرفته میشه :)&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&lt;details class="box readMore" &gt;&#13;&#10; &lt;summary&gt;یکم بیشتر بدونید&lt;/summary&gt;&#13;&#10; &lt;div class="box-content"&gt;&#13;&#10; Program Status Word یا PSW یکی از رجیستر های مهم CPU هستش! &lt;BR&gt;&#10;توی این پردازنده اطلاعات برنامه در حال اجرا مثل Execute mode, IDE ها و Flag ها توش ذخیره میشه!&lt;br&gt;&#10;نگران مواردی که گفتم نباشید توی فصل دوم بهش میرسیم!&#13;&#10; &lt;/div&gt;&#13;&#10;&lt;/details&gt;&#13;&#10;&#10;&lt;p&gt;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&lt;details class="box info" &gt;&#13;&#10; &lt;summary&gt;کنترل استک کجاست؟&lt;/summary&gt;&#13;&#10; &lt;div class="box-content"&gt;&#13;&#10; کنترل استک تو حافظه اصلی هستش (RAM) . اصولا هر جا نامی از استک هستش تو اکثر مواقع به رم اشاره میشه.&#13;&#10; &lt;/div&gt;&#13;&#10;&lt;/details&gt;&#13;&#10;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&lt;details class="box info" &gt;&#13;&#10; &lt;summary&gt;اطلاعات داخل PSW دقیقا چیه؟&lt;/summary&gt;&#13;&#10; &lt;div class="box-content"&gt;&#13;&#10; این اطلاعات خیلی زیاد و متنوع هستن ولی اصلی ترینشون شامل Flag ها,Execution mode ,IDE و &amp;hellip; هستن که همه اینها +‌ کد دستورالعمل به علاوه مقدار PC همگی به کنترل استک منتقل میشن.&#13;&#10; &lt;/div&gt;&#13;&#10;&lt;/details&gt;&#13;&#10;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&lt;details class="box info" &gt;&#13;&#10; &lt;summary&gt;Interrupt handler دقیقا چیه؟&lt;/summary&gt;&#13;&#10; &lt;div class="box-content"&gt;&#13;&#10; Interrupt handler یه برنامه سیستمی هستش که داخل سیستم عامل وجود داره و وظیفش رسیدگی به وقفه و اجرای اونه. هر سیستمی بسته به معماریش میتونه یک یا چند تا handler داشته باشه❗&#13;&#10; &lt;/div&gt;&#13;&#10;&lt;/details&gt;&#13;&#10;&lt;/p&gt;</description></item><item><title>وقفه ها</title><link>https://os.cs12.ir/threads/background/08_interrupts/</link><pubDate>Sat, 20 Jun 2026 09:40:58 +0330</pubDate><guid>https://os.cs12.ir/threads/background/08_interrupts/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;فرض کنید توی کلاس نشستید و استاد برای اینکه بدونه سوالی دارید یا نه دونه دونه اسم هارو میخونه و میپرسه که سوال دارید یا نه. میتونید حدس بزنید که چقدر این کار زمان بره.&lt;/p&gt;&#10;&lt;p&gt;ولی اگر استاد بهتون بگه هر کس سوال داره دستشو ببره بالا چی؟ این روش هم سرعت خیلی بالاتری داره و هم انرژی و منابع کمتری مصرف میکنه.&lt;/p&gt;&#10;&lt;p&gt;ما دقیقا نمونه این مثال رو تو عملکرد سیستم عامل داریم. &lt;br&gt;&#10;&lt;strong&gt;Interrupt&lt;/strong&gt; یا وقفه، سیگنالی هستش که برای تغییر وضعیت به &lt;strong&gt;CPU&lt;/strong&gt; (پردازنده) ارسال میشه.این سیگنال میتونه از یه ماژول I\O , نرم افزار یا سخت افزار ارسال بشه و انواع متفاوتی هم داره.&lt;/p&gt;</description></item><item><title>نحوه اجرای دستوالعمل ها</title><link>https://os.cs12.ir/threads/background/07_instruction_execution/</link><pubDate>Fri, 19 Jun 2026 07:41:41 +0330</pubDate><guid>https://os.cs12.ir/threads/background/07_instruction_execution/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;برای اجرای هر برنامه (&lt;strong&gt;Process&lt;/strong&gt;) ما نیاز به توالی از دستورالعمل ها (&lt;strong&gt;Instructions&lt;/strong&gt;) تو مموری داریم! این یعنی هر برنامه شامل کلی دستورالعمل میشه که تو مموری ذخیره شده 🔁 &lt;br&gt;&#10;به این عملیات &lt;strong&gt;Instruction Execution&lt;/strong&gt; گفته میشه. این عمل به وسیله مکانیزمی به نام &lt;strong&gt;Instruction Cycle&lt;/strong&gt; انجام میشه! &lt;br&gt;&#10;این مکانیزم شامل ۲ استیج مهم به نام &lt;strong&gt;Fetch stage&lt;/strong&gt; و &lt;strong&gt;Execute stage&lt;/strong&gt; هست.&lt;br&gt;&#10;&lt;strong&gt;Fetch stage:&lt;/strong&gt; لود اینستراکشن از مموری و ذخیره اون تو رجیستر IR&lt;br&gt;&#10;&lt;strong&gt;Execute stage:&lt;/strong&gt; اجرای دستورالعمل (برای هر دستورالعمل متفاوته)&lt;br&gt;&lt;/p&gt;</description></item><item><title>مفاهیم پایه ای سیستم عامل</title><link>https://os.cs12.ir/threads/background/02_basic_elements/</link><pubDate>Thu, 18 Jun 2026 18:55:44 +0330</pubDate><guid>https://os.cs12.ir/threads/background/02_basic_elements/</guid><description>&lt;hr&gt;&#10;&lt;br&gt;&#10;این ترد خیلی مهمه، چون توش با مفاهیمی آشنا می‌شید که تا آخر این کورس بهشون نیاز خواهید داشت. پس اگر آماده‌اید، شروع کنیم.&#10;&lt;h3 id="-processor-پردازنده"&gt;🧠 Processor (پردازنده):&lt;/h3&gt;&#10;&lt;p&gt;کمتر کسی هست که اسم پردازنده به گوشش نخورده باشه. سخت‌افزاری که وظیفه پردازش دستورالعمل‌ها، کنترل مسیر اجرای برنامه‌ها و اعمال تغییرات روی دیتاها رو داره. تو اکثر مواقع، منظور از پردازنده صراحتاً &lt;strong&gt;Central Processing Unit&lt;/strong&gt; یا &lt;strong&gt;CPU&lt;/strong&gt; هستش. &lt;br&gt;&lt;/p&gt;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;&lt;details class="box readMore" &gt;&#13;&#10; &lt;summary&gt;یکم بیشتر بدونید&lt;/summary&gt;&#13;&#10; &lt;div class="box-content"&gt;&#13;&#10; &lt;p&gt;کامپیوترهای امروزی با معماری &lt;code&gt;John von Neumann&lt;/code&gt; (فون نویمان) ساخته می‌شن. این معماری پردازنده رو به سه بخش تقسیم می‌کنه: &lt;br&gt;&lt;/p&gt;</description></item><item><title>چطور پیش میریم؟</title><link>https://os.cs12.ir/threads/site/02/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://os.cs12.ir/threads/site/02/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;خب سلام به همگی :) &lt;br&gt;&#10;من فرزادم و قراره تو این مجموعه از Threadها مباحث سیستم‌عامل رو با هم یاد بگیریم. سیستم‌عامل موضوعی هستش که هم توی دانشگاه بهش برمی‌خورید و هم به‌عنوان یه مهندس کامپیوتر، برنامه‌نویس یا حتی یه گیک کامپیوتری انتظار میره درک خوبی ازش داشته باشید. &lt;br&gt;&lt;/p&gt;&#10;&lt;p&gt;اینجا قرار نیست با سیستم‌عامل‌های مختلف و بخش‌هاش آشنا بشید؛ بلکه قراره سفری عمیق به پایین‌ترین لایه‌های یکی از مهم‌ترین نرم‌افزارهای ساختهٔ دست بشر داشته باشیم و با نحوهٔ کارکرد اون آشنا بشیم. 🚀 &lt;br&gt; &lt;br&gt;&lt;/p&gt;</description></item><item><title>نحوه کار با این سایت</title><link>https://os.cs12.ir/threads/site/01/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://os.cs12.ir/threads/site/01/</guid><description>&lt;p&gt;درود خیلی خوش اومدید به پروژه تِرِد ها، کامیونیتی CS12 تصمیم گرفته که مطالب آموزشی مختلفی رو به شکل تِرِد بیس آموزش بده&amp;hellip;&lt;/p&gt;&#10;&lt;p&gt;برای طراحی این شکل از آموزش از مفهوم Divide and conquer و model of computations وام گرفتیم&amp;hellip; به این شکل که هر مبحث رو تا اونجایی که بتونیم به primitive ترین حالت ممکن میرسونیم تا بتونیم به صورت ریز ریز و در هر پست کوتاه آموزش بدیم&amp;hellip;&lt;/p&gt;</description></item></channel></rss>