operating system

اذهب الى الأسفل

operating system

پست  beyk في الخميس 5 مارس 2009 - 12:10

سلام
من هنوز از درس جلسه پیش استاد عابد سلیمی اشکال دارم و ترجیح می دم اول اون هارو حل کنم و بعد از اون اشکالاتم تو درس جدید رو بپرسم
شید 1 خورده سئوالات زیاد شه امید دارم که حوصله تون سر نمیره!!
-اول اینکه kernel چیه؟ ایا تمام اجزای سیستم عامل چیزی جدای از کرنل است یا خیر؟
-استاد فرمودند o.s یک ماشین مجازی برای کاربر فراهم مکنه این ماشین تمام برنامه های سیستمی رو برای ما اماده میکنه و بعد فرمودند کرنل مجموعه برنامه های سیستمی که همون روتین ها باشند رو برای فرا خوانی ما اماده میکنند حالا فرق ماشین مجازی و کرنل چیه؟
-جای دیگه این بحث مطرح شد که در نسل های اولیه هدف حد اکثر بهره وری از منابع سیستمی بود اما در نسل های بعدی هدف سوم این بود کهگسترش و توسعه o.s راحت انجام بگیره و ایشون مثال زدند که مثلا یک سری سرویس پک هایی داده میشود که کاربر با اون ها کاری نداشته باشد
این سرویس پک ها چی هستند؟ با دادن اونها کاربر به چی کار نداره؟(چقدر بد سئوال می پرسم!!)
-فرق فرایند با job در چیه؟
-گفتیم jobیک بخش jcl داره که اطلاعاتی از قبیل اینکه کی هست و از چه منبعی می خواد استفاده کنه رو داره اما مگه این اطلاعات رو o.s نمیتونه با دیدن خود برنامه بدست بیاره؟ مثلا ما دستور پرینت رو داخل خود برنامه داریم یا مثلا اگه بخوایم چیزی رو fetch کنیم معلومه که باید به حافظه رجوع کرد یعنی با خود برنامه داریم میگیم که می خوایم از چه منابعی استفاده کنیم پس چه دلیلی برای وجود این بخش هست؟
-همین طور مطرح شد که jcl یک زبان برنامه نویسی برای کنترل کاره(برنامه ما هم در هر صورت با یک زبان برنامه بویسی نوشته سده غیر از اینه؟) اخه بعد از این مطلب گفته شد که ما کارمون رو از طریق زبان مشخص میکنیم... خب با همون برنامه هم که با یک زبان برنامه نویسی بود میتونستسم با o.s صحبت کنیم این طور نیست؟
-در سیستم سریال ما ناراضی بودیم چون پردازنده بیکار میموند اومدیم گفتیم در سیستم سریال کارتها رو جمع می کنیم و همه رو با هم به پردازنده می دیم
چرا تو همون سیستم سریال این کار رو نکردیم"اولین کارت رو بعد از خونده شدن به کارت ریدر میدادیم و بعد از خونده شدن تحویل پردازنده می دادیم در عین حال که پردازنده در حال پردازش اطلاعات روی کارت اول بود ما کارت دوم رو وارد کارت ریدر میکردیم این طوری کارت خونده میشد و بعد از تموم شدن کار پراسسور بهش تحویل داده میشد "پس پردازنده دیگه بیکار نبود درست میگم؟
نمی خوام حوصله تون رو زیاد سر ببرم اگه شد بقیه سئوالام رو چند سااعت دیگه میگذارم البته باز هم پیشنهاد میکنم 1 subject به این درس اختصاص داده بشه Wink

beyk

تعداد پستها : 35
تاريخ التسجيل : 2008-12-01

خواندن مشخصات فردي

بازگشت به بالاي صفحه اذهب الى الأسفل

رد: operating system

پست  Zamanian في الخميس 5 مارس 2009 - 14:35

سلام
من در حد محدودی میتونم جوابتونو بدم ولی خب مطمئنا کامل نیست در هر صورت پیشاپیش به خاطر همه کم وکاستی ها عذر میخوام
-کرنل هسته ی سیستم عامل است اون بخشی که وقتی سیستم بوت میشه در داخل حافظه اصلی قرار میگیرد.یعنی چی تمام اجزا جدا از کرنل است؟
-یکم قاطی شد!! در روش virtual machine از روی ماشین واقعی n تا ماشین مجازی ساخته میشد که این کارو کرنل سیستم عامل واقعی میکرد این از این ولی به طور کلی کرنل سیستم عامل این امکان رو برای ما فراهم میکنه که ما به جای اینکه با دستورات سخت افزار واقعی کار کنیم بتونیم با فراخوانی آنها از طریق روتین های سیستم عامل با سخت افزار ارتباط برقرار کنیم این تعریف سیستم عامله.
-در نسلهای بعدی هدف توسعه ی راحتر سیستم عامل بود به طوری که سیستم شما برای این تغییر نیاز نباشه که از کار بیفته مثلا الان در ویندوز شما میخواهید یک برنامه ای رو نصب کنید ولی باید یک patch رو بری از سایت ماکروسافت download کنی تا بتونی نصبش کنی ولی این باعث نمیشه که شما سیستمو دوباره از اول نصب کنید
-فرآیند یعنی کاری که jcl ان تفسیر شده و منابع سیستم براش آماده شده و در حافظه قرار گرفته و خلاصه آماده است تا بره توسط پردازنده پردازش بشه ولی job یک موجود غیر فعاله.
-خب لزومی نداره که حتما از این منبع یکی وجود داشته باشه اینو مطمئنم چون از استاد پرسیدم .میتونیم چند تا ورودی خروجی داشته باشیم یا مثلا شما همیشه که به یک زبان برنامه نمینوسید اینکه کدوم کامپایلر بیاد برنامه رو کامپایل کنه باید در jcl مشخص بشه.
-جوابتونو در سوال قبل دادم
-دوست عزیز منضورتون از سیستم سریال چیه؟در ضمن اینو بگم که لزوما سرعت پردازنده با سرعت I/O یکی نیست و بلکه سرعت I/O خیلی کمتر از سرعت پردازنده است پس پردازنه حتما بیکار میمونه چون فرآیند دیگری هم در حافظه نیست که بخواد روش switch کنه.

امیدوارم قانع شده باشید
avatar
Zamanian

تعداد پستها : 60
تاريخ التسجيل : 2008-11-27

خواندن مشخصات فردي

بازگشت به بالاي صفحه اذهب الى الأسفل

رد: operating system

پست  beyk في الخميس 5 مارس 2009 - 16:40

سلام
-منظورم اينه که يه سيستم عامله و يه کرنل؟يا سيستم عامل بخش ديگه اي هم داره؟
-متوجه نمي شم هر job که وارد سيستم ميشه بايد يک بخش با عنوان jcl داشته باشه که اين بخش مشخص ميکنه که اين برنامه از چه منابعي مي خواد استفاده کنه
حال منظورتون اين بود که سيستم عامل نميتونه تشخيص بده که اين برنامه مثلا به چه زباني نوشته شده يا حتي از چيزايي که داخل برنامه نوشته شده با خبر نيست که بفهمه برنامه مون از چه منابعي مي خواد استفاده کنه؟
(منظورتون از اينکه" لزومي نداره که حتما از اين منبع يکي وجود داشته باشه نمي فهمم(ببخشيد من اين قدر پرت سئوال مي پرسم)
-سيستم سريال همون سيستم هاي نسل اول هستش البته شما درست مي گيد اما من ميگم مي تونستيم بعد از اين که کارت اول رو داديم واسه پردازش کارت دوم رو بخونيم و اماده بگذاريم
البته با توجه به حرف شما ممکن بود کمي پردازنده معطل بمونه منتها مي خوام بدونم تو همون سيستم هاي نسل اول همين کار رو مي کردن يا کاملا بعد از تموم شدن پردازش کارت اول کارت دوم خونده ميشد؟يا همين کاري که من ميگم انجام ميشده؟

beyk

تعداد پستها : 35
تاريخ التسجيل : 2008-12-01

خواندن مشخصات فردي

بازگشت به بالاي صفحه اذهب الى الأسفل

رد: operating system

پست  Zamanian في الجمعة 6 مارس 2009 - 6:34

سلام
-از اونجایی که کرنل هسته ی سیستم عامله پس مسلما سیستم عامل بخش های دیگه ای هم داره ولی کرنل بخش بسیار مهمه اونه.
-دقیقا منظورم همینه. همین الان هم سیستم عامل اونقدر هوشمند نیست که شما برنامتونو توی محیط text بنویسید وبعد بدون اسم کامپایلر بهش بگید کامپایل کنه و اون هم کامپایل کنه! درسته؟ ما در کامپایلر c مثل بورلند یا ماکروسافت برنامه رو مینویسیم وبعد کامپایلش میکنیم یا در assembly اسم masm رو می اریم .منظورم از اینکه از منابع دیگه لزومی نداره که یکی باشه این بود که مثلا شما چندتا ورودی خروجی داشته باشید.
- فکر میکنم حرف شما انجام میشده ولی باز سرعت کم بوده
موفق باشید
avatar
Zamanian

تعداد پستها : 60
تاريخ التسجيل : 2008-11-27

خواندن مشخصات فردي

بازگشت به بالاي صفحه اذهب الى الأسفل

رد: operating system

پست  beik في الجمعة 6 مارس 2009 - 12:10

سلام دوست عزیز
مرسی از جواب های واضح و قانع کننده تون
-می خواستم ببینم بالاخره دقیقا فرق بین multi programming و multi tasking چیه؟ استاد فرمودند taskها کوتاه هستند و هر task میتواند یک task دیگر را بوجود اورد و "موازی"با هم کار کنند
اخه چطور ممکنه؟یعنی چطور ممکنه که یک task به صورت همزمان با task ای که خودش می خواد به وجود بیاره پراسس بشوند؟ یعنی این اتفاقی که میگم هیچ وقت رخ نمیده( یک task به صورت همزمان با task ای که خودش می خواد به وجود بیاره پراسس بشوند ) مگر این که task حاصل از task اول به وجود اومده باشه تا بتوتنن هم زمان پردازش بشوند؟
-اگه خیلی خلاصه destributed system رو کسی توضیح بده ممنون میشم در واع این که چطوری پیچیدگی های o.s و سخت افزار پنهان میشند رو متوجه نمیشم
متشکرم

beik
مهمان


بازگشت به بالاي صفحه اذهب الى الأسفل

رد: operating system

پست  david2007 في الجمعة 6 مارس 2009 - 13:57

با سلام
فکر میکنیم بین multi programming و مولتی تسکینگ فرقی نیست و مولتی تسکینگ تعمیم یافته مولتی پروگرام است .
همون کاری که multi programming انجام میداد مولتی تسکینگ هم داره انجام میده .. اما الان مولتی تسکینگ داره روی خود برنامه کار میکنه و اون رو به قطعات کویک تر تقسیم میکنه . به نظر من هیچ فرقی ندارن . البته همشون اگر ما یک پردازنده داشته باشیم به صورت سریال هستند ولی چون سرعت بالاست فکر میکنم موازی انجام میگرند .
چرا نمیشه یه برنامه خودش تسک تولید کنه . مثلا یه حلقه for بی نهایت رو در نظر بگیرید که میتونه چندین تسک رو اجرا کن . (شاید) .
پیشنهاد میکنم یدونه تاپیک سیستم عامل رو ادمین تو صفحه اصلی سایت بزارند . ممنون

david2007

تعداد پستها : 126
تاريخ التسجيل : 2008-12-02

خواندن مشخصات فردي http://haminazdki.blogfa.com

بازگشت به بالاي صفحه اذهب الى الأسفل

رد: operating system

پست  beik في الجمعة 6 مارس 2009 - 15:38

سلام
حرف من این نیست که " نمیشه یه برنامه خودش تسک تولید کنه"
منظور من اینه که چطور ممکنه یه taskهم زمان با task ای که خودش به وجود اورده اجرا بشه؟.
با توجه به گفته های شما تنها فرق مالتی پروگرامینگ با سینگل پروگرامینگ در اینه که در سیستم مالتی همزمان چند تا job در حافظه هست که پردازنده روی اون ها switch می کنه اما در سینگل فقط یک job در حافظه موجود است؟

beik
مهمان


بازگشت به بالاي صفحه اذهب الى الأسفل

رد: operating system

پست  Zamanian في السبت 7 مارس 2009 - 13:32

سلام
چیزی که من از مالتی پروگرامینگ فهمیدم این بود که ما وقتی میگیم مالتی پروگرامینگ که پردازنده وقتی به i/o برسه سوییچ کنه ولی در time sharing پردازنده در فواصل زمانی خاصی سوییچ میکنه واین همون multi tasking است ولی در هردو ما چندتا job و یا task در حافظه داریم.
avatar
Zamanian

تعداد پستها : 60
تاريخ التسجيل : 2008-11-27

خواندن مشخصات فردي

بازگشت به بالاي صفحه اذهب الى الأسفل

//

پست  david2007 في السبت 7 مارس 2009 - 14:06

سلام .. به نظرم ماتی تسکینگ شکل پیشرفته تری از مالتی پروگرامینگ است . البته مالتی پروگرامینگ روی resource ها عملیاتی میشد در زمان قدیم تا مشکل موازی بودن رو حل کنه و لی نمیتونست باعث بشه که دوتا برنامه با هم کارکنند(باهم که هیچ وقت نمیشه چون یه پردازنده داریم و همه به صورت سریال هستند و. همانطور که خانم زمانیان گفتند بحث time sharing به وجود میاد که اینارو باهم به کار بندازه البته پشت سر هم . ) این جا هم وقتی میگم مالتی تسکینگ یعنی خود برنامه به قطعات کوچکتنر تقسیم میشه . مثلا شما اگر در ویژوال ها کارکنید میبنید که دارای timer هستند .. این تایمر چند تا باشه و هر کدام از تایمر های یک جاب تولید کند ودر این صورت یک برنامه چند تا کار داره میکنه . مثلا توی برنامه شما ممکنه ساعت وجود داشته باشه . یه کانکشن شبکه وجود داشته اشه . یه قسمت برای پرینتر باشه که داره کار میکنه.

david2007

تعداد پستها : 126
تاريخ التسجيل : 2008-12-02

خواندن مشخصات فردي http://haminazdki.blogfa.com

بازگشت به بالاي صفحه اذهب الى الأسفل

رد: operating system

پست  beyk في الإثنين 9 مارس 2009 - 17:36

سلام
متشکرم از جواب هاتون خوشحالم که ابهامی که تو ذهنم بود برطرف شد Very Happy
فقط من این ترم واسه گرفتن صدای اساتید مشکل دارم اگه امکانش باشه و دوستان محبت کنند صدای اقای عابد سلیمی رو بگذارند ممنون میشم Wink

beyk

تعداد پستها : 35
تاريخ التسجيل : 2008-12-01

خواندن مشخصات فردي

بازگشت به بالاي صفحه اذهب الى الأسفل

بازگشت به بالاي صفحه


 
صلاحيات هذا المنتدى:
شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد