بزرگی هست در دنیا خدا نام، که با یادی کند دلها چه آرام
سلام دوستان عزیز و هموطنان گرامی و ارجمند!
امروز تصمیم گرفتم ادامه بحث سیستم عامل رو بدم، پس با ما همراه باشید، انشالله کار رو تا یه جایی پیش ببریم!
از این رو که تا با مفاهیم سیستم عامل آشنا نباشیم نمیتونیم برنامه نویسی اونو درک کنیم! تصمیم گرفتم کمی هم در مورد مفاهیم سیستم عامل توضح بدم تا بیشتر بتونیم با سیستم عامل ارتباط برقرار کنیم و بیشتر با سیستم عامل آشنا بشیم!
متن زیر از ویکی پدیا کپی شده (با کمی تخلیص و تصرف)
» انواع سیستم عامل
سیستم عامل های بی درنگ: سیستم عامل های بیدرنگ یا زمان واقعی، یک سیستم عامل چند وظیفهای است که معمولاً بعنوان یک کنترل کننده در یک کاربرد خاص استفاده میشوند. سیستم در این حالت میبایست در زمانی مشخص و معین حتماً جواب مورد نظر را بدهد. سیستمهای کنترل آزمایشهای علمی، تصویربرداری پزشکی، کنترل صنعتی و برخی از سیستمهای نمایش از این دستهاند. هدف اصلی استفاده از سیستمهای بیدرنگ واکنش سریع و تضمین شده در برابر یک رویداد خارجی میباشد. سیستمهایی که در آن مهلت زمانی باید پاسخ داده شود را بیدرنگ سخت و سیستمهایی که مهلت زمانی را پشتیبانی نمیکنند بیدرنگ نرم مینامند. از کاربرد سیستمهای بیدرنگ سخت میتوان به کنترل موتور یک خودرو (پاسخ با تأخیر میتواند نتایج فاجعهباری را به همراه داشته باشد) و در سیستمهای بیدرنگ نرم میتوان به اسکن بارکد در پایانه فروشگاه (با اینکه سرعت پاسخدهی باید سریع باشد اما به حادّی سیستمهای سخت نمیباشد) اشاره کرد.
سیستمهای چند کاربره:سیستمهای چند کاربره اجازه میدهند تا کاربران متعدد بصورت همزمان به یک سیستم کامپیوتری دسترسی داشته باشند. سیستمهای اشتراک زمانی و کارساز وب را میتوان بعنوان سیستمهای چند کاربره طبقهبندی کرد. در سیستمهای اشتراک زمانی تنها یک پردازنده قرار دارد که توسط مکانیزمهای زمانبندی بین برنامههای مختلف کاربرها با سرعت زیاد سوئیچ میشود و بنابراین هر کاربر تصور میکند کل رایانه در اختیار اوست.
سیستمعامل تک پردازنده: این نوع سیستمعاملها، سیستمعاملهای نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا میشوند. از قبیل XP,Vista,98,Me که بیشتر محصول شرکت مایکرو سافت میباشند.
سیستم عامل شبکهای: سیستم عاملهایی مثل ناول نت که بیشترین استفاده و امکانات این سیستم عامل برای شبکه میباشد.
سیستمعامل توزیع شده: این سیستمعاملها خود را مانند سیستمعاملهای تک پردازنده به کاربر معرفی میکنند، اما در عمل از چندین پردازنده استفاده میکنند. این نوع سیستمعامل در یک محیط شبکهای اجرا میشود در این نوع سیستم یک برنامه پس از اجرا در کامپوترهای مختلف جواب نهایی به سیستم اصلی کاربر برمیگردد سرعت پردازش در این نوع سیستم بسیار بالاست.
خوب بحث بعدی سخت افزار ها هستند! امیدوارم بپسندید!
» سخت افزار های تشکیل دهنده کامپیوتر
پردازنده: اینو همه باهاش آشنا هستیم! اصل کار کامپیوتر با CPU هست و بقیه اجزاء معمولا با CPU در ارتباط هستند! به طور کلی CPU مغر کامپیوتر محسوب میشه!
RAM: رم حافظه موقتی هست که ترجمه تحت الفظی آلفظی اون میشه "حافظه ی دسترسی تصادفی" برای مطالعه بیشتر پیشنهاد می شود به پست "کمی بیشتر درباره رم" مراجعه کنید
کلا برای کلی نگری میتونیم بگیم اجزاء کامپیوتر به سه بخش ورودی، خروجی و پردازنده تقسیم میشه! که از جمله ورودی ها میشه به موس و صفحه کلید اشاره کرد! برای خروجی میشه به مانیتور و چاپگر اشاره کرد و پردازنده هم که کار اصلی رو میکنه و ورودی و خروجی رو تحت کنترل داره!
خوب یه بحث مهم دیگه رو میخوام باز کنم به اسم وقفه! وقفه یا Interrupt کارش خیلی جالب و مفید هست که در زیر درباره اش توضیح میدم!
» وقفه یا Interrupt
خوب متن زیر به صورت کلی درباره وقفه توضیح میده! از ویکی پدیا کپی کردم البته چیز های مهم و اصلیش رو فقط آوردم بقیش رو خودتون میتونید تو ویکی پدیا مطالعه کنید!
وقفه یا Interrupt یک سیگنال به ریزپردازنده است که به توجه و پاسخ سریع CPU نیاز دارد. هنگامی که یک وقفه رخ میدهد، پردازنده عملیات جاری خود را متوقف میکند تا به درخواست وقفه رسیدگی کند.فرض کنید که قرار است بین هارد و سی پی یو ارتباط برقرار شودو هرگاه خواندن تمام شد cpu مطلع شود اگر یک بیت برای اینکار بگذاریم و cpu دایمن چک کند هزینه بر است اما وقفه نیاز به کنترل cpu ندارد و هر وقت خواندن تمام شد هارد یک وقفه برای cpu میفرستد.
وقفه های مختلفی توی هر پردازنده وجود داره! و هر پردازنده وقفه ها و ویژگی های وقفه مربوط به خودش رو داره و اصلا نمیشه گفت وقفه ها توی پردازنده های مختلف مثل هم هستند!
توی سیستم عامل یه چیز به نام وقفه DOS وجود داره! در آینده بیشتر باهاش آشنا میشید! مثلا توی یکی از وقفه های DOS ما میتونیم مثلا یه کاراکتر رو نمایش بدیم یا اطلاعاتی رو از روی فلاپی و هارد دیسک بخونیم که بحثش مفصل هست!
» فرایند process
خوب این کلمه رو توی سیستم عامل بار ها و بارها خواهید شنید! دوباره مثل همیشه از ویکی پدیا کپی کردم که هم کاملتر هست و هم من حال نوشتن ندارم
فرایند (process) نمونهای از یک برنامه است که در حال اجرا شدن است. فرآیند علاوه بر کد برنامه، شامل یک پشته، مقدار فعلی ثباتها، منابع (مانند فایلهای بازشده)، ساختار بلاک کنترل فرایند و ... است. برنامه و فرایند با یکدیگر متفاوتند. برنامه یک نهاد غیر فعال است که بر روی دیسک وجود دارد. اما فرایند یک نهاد فعال است که در حال اجرا شدن بر روی پردازنده است.
هر فرایند دارای فضای آدرس مخصوص به خود است. فضای آدرس، یک لیست از مکانهای حافظه از یک حداقل تا یک حداکثر است که فرایند میتواند از آن فضا بخواند یا در آن بنویسد. فضای آدرس شامل برنامه اجرایی، دادههای برنامه و پشته آن است. همچنین هر فرایند برای خودش دارای یک مجموعه از رجیسترها است که شامل شمارنده، اشاره گر پشته و دیگر رجیسترهای سختافزاری میشود و نیز اطلاعات متنوع دیگری که برای اجرای برنامه مورد نیاز است.فرایند، یک برنامه کامپیوتر است که اجرای آن شروع شده است. فرایند، شامل کد برنامه و فعالیتهای جاری است. فرایند، میتواند از چند بخش کوچک در حال اجرا تشکیل شده باشد.
» وضعیتهای فرایند
متن زیر خیلی خلاصه و مفید درباره وضعیت های مختلف یک فرایند گفته که اینم کپی از ویکی پدیا است.!
در حال اجرا: فرایند توسط پردازنده در حال اجراست.
آماده: حالتی است که فرایند حافظه مخصوص به خود دارد و برای اجرا آمادهاست.
در حال انتظار: به دلیل یک فراخوان سیستمی مانند وقفه دستگاههای ورودی-خروجی یا تمام شدن زمان اختصاص داده شده به فرایند، سیستمعامل پردازنده را از فرایند میگیرد، آن را به حالت انتظار برده و پردازنده را به فرایند دیگری میدهد.
در حال انتظار و معلق: چنانچه فرایند در وضعیت در حال انتظار باشد و سیستمعامل با مشکل کمبود حافظه مواجه شود، اطلاعات فرایند به دیسک منتقل شده و وضعیت فرایند به در حال انتظار و معلق تغییر مییابد. سپس فضای فرایند در حافظه اصلی آزاد میگردد.
آماده و معلق: چنانچه فرایند در وضعیت در حال انتظار و معلق باشد و بتواند به وضعیت آماده برود، اما همچنان فضای کافی موجود نباشد، سیستمعامل وضعیت آن را به آماده و معلق تغییر میدهد. در این حالت، فرایند همچنان روی دیسک باقی میماند، ولی آماده اجرا است.
پایان یافته: وضعیتی است که پردازش فرایند به طور کامل انجام شده باشد و از سیستم بیرون برود.
خوب امیدوارم مفید بوده باشه!
حالا ، حالا ها این آموزش ادامه خواهد داشت (انشالله)
لطفا اگه از آموزش میخونید و خوشتون میاد و میخواید دنبال کنید حتما با نظراتتون ، منو دلگرم کنید تا اگه خدا بخواد بهتر و کامل تر براتون آموزش بزارم!
سوالی داشتید در حد توانم درخدمتتون هستم!
مخلصتونم فعلا یا علی مدد....!
قسمت قبل : جلسه اول قسمت بعد : جلسه سوم