بارها بحثش انجام شده.. سیستمعامل مجموعهی کرنل و نرمافزارهای سیستمیای هست که مستقیما با کرنل کار میکنن.. پس مجموعهی گنو و لینوکس باهم به سیستمعامل رو تشکیل میدن.. حالا این که اسمش چی باشه مساله است. درستش اینه که بگیم گنو، چون لینوکس هم یه کرنل برای سیستمعامل گنو هست.. ولی از اونجا که وقتی میگیم گنو، معلوم نیست منظورمون گنو با کدوم کرنل هست، استالمن خواسته که به جای گنوی خالی، بگیم گنو/لینوکس، گنو/هرد، گنو/تریکس، گنو/مینیکس، گنو/کیفریبیاسدی و..
سلام دوستان.
من ی بار متن آقای بهزادی رو کپی میکنم و بعد بعضی جاهاش رو رنگی میکنم...
بارها بحثش انجام شده.. سیستمعامل مجموعهی
کرنل و
نرمافزارهای سیستمیای هست که مستقیما با
کرنل کار میکنن.. پس مجموعهی گنو و لینوکس باهم به سیستمعامل رو تشکیل میدن.. حالا این که اسمش چی باشه مساله است. درستش اینه که بگیم گنو، چون لینوکس هم یه کرنل برای سیستمعامل گنو هست.. ولی از اونجا که وقتی میگیم گنو، معلوم نیست منظورمون گنو با کدوم کرنل هست، استالمن خواسته که به جای گنوی خالی، بگیم گنو/لینوکس، گنو/هرد، گنو/تریکس، گنو/مینیکس، گنو/کیفریبیاسدی و..
آقای بهزادی عزیز میتونی منظورتون از این دوتا کرنلی که بالا رنگی کردم رو به طور مشخص بگی؟
و میتونی بگی که نرم افزار سیستمی با نرم افزار کاربردی چه فرقی دارن؟
(البته شاید هم اشتباه تایپی بوده و من ی کم وسواس به خرج دادم.)
من منتظر جوابتون هستم ولی قبلش میخواستم ی سری تعریفهای مهم در مورد سیستم عامل رو اینجا یاد آوری کنم.
-------------------------------------------
خوب بریم سر تعریفها:
کتاب: طراحی و پیاده سازی سیستم های عامل (ویرایش سوم)
نویسنده: اندرو اس. تنن باوم - آلبرت اس. وودهال
ترجمه: دکتر ابوالفضل طرقی حقیقت
----
توی این کتاب ی کم طولانی توضیح داده پس من میرم تو صفحه ی ۷۵ کتاب و بخش خلاصه رو برای شما میگم:
میتوان از دو دیدگاه به سیستم عامل نگاه کرد ۱- مدیریت منابع ۲- ماشین توسعه یافته
از دیدگاه مدیر منابع وظیفه ی سیستم عامل مدیریت کارآمد بخشهای مختلف سیستم است. از دیدگاه ماشین توسعه یافته وظیفه ی سیستم عامل تهیه ی یک ماشین مجازی برای کاربر است که استفاده از آن خیلی راحت تر از ماشین واقعی است.------------------------------------------
کتاب: سیستم های عامل (با رویکرد حل مسائل)
نویسنده: ابوالفضل طرقی حقیقت
انتشارات: پارسه
----
تعریف ۱ - صفحه ی ۱: سیستم عامل واسط بین کاربر و برنامه های سطح کاربر از یک سو و سخت افزار کامپیوتر از سوی دیگر است.
تعریف ۲ - صفحه ی ۳۱: سیستم عامل اساسی ترین برنامه ی سیستمی است که کامپیوتر رو راه اندازی کرده و تا هنگامی که کامپیوتر روشن است مدیریت تمام منابع سیستم را بر عهده میگیرد و زمینه و واسطی را فراهم میسازد که برنامه های کاربردی میتوانند به راحتی روی اون اجرا شوند.------------------------------------------
خوب حالا بریم سر وظایف سیستم عامل:
کتاب: سیستم های عامل (با رویکرد حل مسائل)
نویسنده: ابوالفضل طرقی حقیقت
انتشارات: پارسه
----
صفحه ی ۳۳:
به طور کلی حوزه های مدیتی سیستم عامل عبارت اند از:
۱- مدیریت فرایندها
۲- مدیریت حافظه
۳- مدیریت I/O (شامل مدیریت دستگاه های جانبی , مدیریت دیسک و مدیریت شبکه)
۴- مدیریت فایل ها و دایرکتوری ها-------------------------------------------
نظر من:
پس هر برنامه ای که از این چهار مورد خارج بشه میشه گفت که برنامه ی سیستمی نیست و برنامه ی کاربردیه. چون طبق تعریف استاد طرقی حقیقت (سیستم عامل اساسی ترین برنامه ی سیستمی است)
توی رشته ی مهندسی نرم افزار تقریبا میشه گفت که ترتیب درسهای مربوط به کامپیوتر به شکل زیره (اکثر دانشگاه ها هم به همین ترتیب پیشنیاز و هم نیاز برای درسهاشون تعریف میکنن):
۱- مبانی برنامه نویسی
۲- برنامه سازی پیشرفته ۱
۳- برنامه سازی پیشرفته ۲
۴- ساختمان گسسته و سخت افزار و مهندسی نرم افزار۱ (با هم توی یک ترم میتونی برشون داری)
۵- ساختمان دادها و ذخیره و بازیابی اطلاعات و طراحی الگوریتم و مهندسی نرم افزار (با هم توی یک ترم میتونی برشون داری)
۶- پایگاه داده ها و هوش مصنوعی (با هم توی یک ترم میتونی برشون داری) (آز پایگاه و ایجاد بانک های اطلاعاتی اختیارین و بعد از پایگاه داده ها میتونی برشون داری)
۷- زبان ماشین اسمبلی
۸- معماری کامپیوتر و آز معماری و شبکه های کامپیوتری (با هم توی یک ترم میتونی برشون داری)
۹- سیستم های عامل و آز سیستمهای عامل (فکر کنم اکثر جاها آز سیستمهای عامل اختیاری باشه)اینها درسهای مهم و کاربردی رشته ی نرم افزارن
با ترتیبی که بالا گفتم اگر دقت کرده باشید سیستم عامل آخرین درسیه که باید بردارید.
پس شما باید با خیلی از مفاهیم کامپیوتر آشنا باشید تا درس سیستم عامل رو شروع به یادگیری کنید.
--------------------------------------------
نکته ی مهم صحبت هام:
شاید یکی از دلائلی که برای بعضی ها جواب این سوال (پاسخ : گنو یا لینوکس ! مسئله این است ... ) ی کم پیچیده هست و نمیتونن با قاطعیت در مورد این دو اسم تصمیم بگیرن این باشه که پیشنیاز های بالا رو نگذروندن.
(هیچ عیبی نداره چون شاید ربطی به رشتشون نداشته باشه و کامپیوتری ها هم خیلی چیزای دیگه از رشته های دیگه نمیدونن.)و ی مسئله ی دیگه هم اینه که نوشتن یک خط از یک الگوریتم سیستم عامل هزار برابر سخت تر از نوشتن ی برنامه ی کاربردیه.