انجمن علمی ریکا – Telegram
انجمن علمی ریکا
2.06K subscribers
1.69K photos
101 videos
146 files
791 links
انجمن علمی ریاضی و علوم کامپیوتر دانشگاه اصفهان

جادویی که دنبالشی درون کاریه که از اون اجتناب می‌کنی...

انتقادات و پیشنهادات👇🏻
📎 https://app.epoll.pro/31821200
اطلاعات بیشتر👇🏻
📎 https://rika.yek.link
ارتـبــاط بـا مـا👇🏻
📎 @AMCSSup
Download Telegram
خب اینم از بحث گرامر در این جلسه . همونطور که عرض کردم ، برای سرعت بخشیدن در ارائه ی مطالب و همچنین ارائه ی بهتر ساختار ها از تصاویر از قبل تهیه شده و آماده شده استفاده کردم .


حالا در این بخش مطالبی رو به انگلیسی میبینید که بعدش مفهوم کلی اونها به نمایش در میاد . دقت کنید که لغات مهم هر متن با رنگ زرد در تصویر مشاهده میشن . سعی شده متونی انتخاب بشه که در عین کوتاه بودن دارای لغات تخصصی و مهم زیادی باشه .
مفهوم متن 1 : در این بخش شما چگونگی ایجاد و استفاده از متغیر ها را مشاهده نمودید و درباره ی برخی از انواع معمول داده های در دسترس برای متغیر های C# یاد گرفتید . شما درباره ی شناسه ها یادگرفتید و به علاوه ، شماری از عملگرها را برای ساخت عبارات استفاده نموده اید و اینکه چگونه اولویت بندی و وابستگی عملگر ها ، نحوه ی ارزیابی عبارات را مشخص می کنند را فرا گرفته اید .
مفهوم متن 2 : یک متد ، دنباله ای از توضیحات است . اگر شما قبلا با استفاده از یک زبان مانند C و C++ یا ویژوال بیسیک برنامه نوشتید ، خواهید دید که یک متد شبیه یک تابع یا زیر روال است . یک متد دارای یک نام و یک بدنه است . نام یک متد باید یک شناسه ی معنا دار باشد که هدف کلی متد را نشان می دهد . بدنه ی متد شامل توضیحات واقعی برای اجرا شدن در زمان فراخوانی متد است . علاوه بر این متد ها می توانند داده هایی برای پردازش بگیرند و اطلاعاتی را برگردانند که معمولا نتیجه ی پردازش است . متد ها یک مکانیزم اساسی و قدرتمند هستند.
به عنوان آخرین مبحث این جلسه ، تصویر زیر رو هم تقدیم حضورتون می کنم :
خب برای این جلسه کافیه . انشاءالله در جلسه ی بعدی ، به ارائه ی مطالب گوناگون زبان انگلیسی برای شما دوستان می پردازم .
با تشکر از همه ی شما و خدا یار و نگهدارتان.
فردا پنجشنبه 19 فروردین
اولین جلسه کلاس acm برگزار می شود.
مکان:سایت مرکزی دانشگاه
زمان: ساعت 9صبح
برگزار کننده:انجمن علمی acm

علاقه مندان به کسب آمادگی برای مسابقات acm، در کلاس شرکت کنند.
@AMCSUI
با سلام خدمت دوستان عزیز، وکیلی هستم با سری آموزش های سیستم عامل در خدمت شما می باشم.

در جلسات قبل با مفاهیم پایه سیستم عامل و تاریخچه ای مختصر از روند پیشرفت سیستم عامل آشنا شدیم.

در این جلسه مفاهیم اصلی سیستم عامل را شروع می کنیم.


فرآیند:
مهمترین مفهوم هر سیستم عاملی فرآیند است، می توان گفت که فرآیند شامل یک برنامه متشکل از دستورات یا به عنوان دیگر یک برنامه در حال اجرا می باشد.
مفهوم job با فرآیند متفاوت است، job شامل برنامه و داده های ورودی می باشد ولی فرآیند برنامه در حال اجرا است. وقتی که یک فرآیند ایجاد می کنیم یک فریم با یک قالب دارد که عناصر فرآیند در آن مشخص است که به آن process context گفته می شود
فرآیند از سه بخش تشکیل می شود:
کد (متن)
قسمت اجرایی
منابع
فرآیندها به صورت درخت می باشند یعنی یکی از فرآیندها ریشه و مابقی فرآیندها فرزندان و نوادگان ریشه هستند به عنوان مثال در unix فرآیند ریشه init نام دارد که هنگام روشن کردن سیستم شروع می شود.
فرآیند ها وضعیت های مختلفی دارند که در سه دسته اصلی : در حال اجرا، مسدود و آماده جای میگیردند.

حالت اجرا شامل فرآیندهایی است که داده ها را دریافت کرده و منتظر هستند تا پردازنده بی کار شده و آنها را اجرا کند.

فرآیندهای درحال اجرا فرآیندهایی هستند که توسط پردازنده اجرا می شود .

فرآیندهای مسدود فرآیندهایی هستند که اجرا شده و به خاطر درخواست پدر و یا نیاز به داده های وردودی خروجی به خالت مسدود درآمده اند تازمانی که درخواستشان اجرا شود و دوباره وارد حالت آماده شوند.

اگر بخواهیم حالت های فرآیند ها را به صورت جزیی تر بررسی کنیم می توان سه حالت بیان شده را به شش حالت جزیی تر تعمیم دهیم
مراحل جزیی تری که در شکل می بینید شامل مراحل: ایجاد(جدید) ، آماده، درحال اجرا، آماده-معلق، مسدود-معلق، مسدود و خاتمه می باشد.

وقتی یک فرآیند شروع می شود در حالت شروع قرار می گیرد تا زمانی که داده ها را دریافت کرده و آماده اجرا شود در صورتی که در فضای مربوط به حالت آماده جا باشد به حالت آماده انتقال میابد در غیر این صورت تا زمانیکه فضا باز شود در حالت شروع می ماند.

فرآیندهای در قسمت آماده داده های خود را دریافت کرده و منتظر هستند تا پردازنده به آنها تخصیص یابد و در صورت تخصیص پردازنده به حالت اجرا می روند. همانگونه که میدانیم پردازنده برنامه ها را به صورت زمانبندی انجام میدهد و وقتی که زمانبندی پردازنده برای یک فرایند به پایان می رسد فرایند مجددا از حالت اجرا به حالت آماده بر می گردد اگر در حالت آماده فضای کافی نباشد به حالت تازه ایجاد شده بر میگردد.
فرآیندهایی در حالت مسدود قرار می گیرند که منتظر یک رویداد می باشند و اگر پردازنده بیکار بماند بازهم نمی توانند اجرا شوند.
ایجاد فرآیندها :
1.توسط سیستم عامل و در هنگام راه اندازی
2.ایجاد فراخوان سیستمی توسط فرایندهای دیگر مانند فراخوان سیستمی fork در unix
3.درخوات کاربر برای ایجاد فرایند جدید
4.آغاز کار دسته ای ( که این حالت فقط در سیستم های دسته ای کاربرد دارد)

اتمام فرایندها:
1.خروجی عادی: زمانیکه کار فرایند تمام می شود (اختیاری)
2.خروجی با خطا: زمانیکه فرایند یک خطا را کشف کرده و اتمام می یابد (اختیاری)
3.خطای مهلک: مانند درخواست دسترسی به حافظه سایر فرایند ها (اجباری و توسط پردازنده)
4. کشته شدن توسط سایر

فرآیندها: مانند اتمام فرایند پدر
شاید برای همه این سوال پیش بیاید که پردازنده چگونه فرایندهای آماده را تشخیص میدهد: برای جواب این سوال باید گفت که ما برای هرکدام از حالت ها یک صف در نظر می گیریم و پردازنده فرآیندها را از صف حالت آماده بنا به زمانبندی که پردازنده توسط آن برنامه ریزی شده انتخاب می کند.

در گذشته فرایندها از یک بنده ساخته شده و با یک دستور بلوکه کننده کل فرایند به حالت مسدود می رفت اما با استفاده از تکنیک نخ این مسئله پایان یافت به این صورت که برنامه نویسان بدنه برنامه را به گونه ای طراحی می کردند شامل چندین زیر برنامه باشد که بتوانند به صورت همروند اجرا شوند و مسدود شدن یکی از زیر برنامه ها که در حین اجرا به نخ معروف شده اند فقط همان نخ را مسدود کرده و مابقی نخ ها به اجرا شده و به کار خود ادامه می دهند.

پردازنده خود نقش انتخاب و تعویض فرایند ها را بر عهده دارد که باعث سربار برای پردازنده می باشد.
برای نخ ها 3 حالت داریم : سطح کاربر ، سطخ هسته و ترکیبی.

نخ های سطح کاربر توسط فرآیند برای اجرا انتخاب و تعویض می شوند و پردازنده از وجود آنها بی خبر است . مزیت آنها سبک بودن و نداشتن سربار است و عیب آن این است که فراخوانی بلوکه توسط یکی از نخ ها منجر به مسدود شدن کل فرایند می شود.

نخ های سطح هسته دقیقا مقابل نخ های سطح کاربر قرار دارند و مزیت آنها این است که چون توسط پردازنده تعویض می شوند بلوکه شدن یکی از نخ ها باعث مسدود شدن سایر نخ ها نمی شود و ایراد وارده این است که برای پردازنده سربار همراه دارد.

اما نخ های ترکیبی به این صورت است که در یک فرایند نخ هایی که شامل دستورات ورودی خروجی یا فراخوانی فرایند های دیگر می باشد به صورت سطح هسته تعریف شده و سایر نخ ها به صورت سطح کاربر تعریف می شوند. به این صورت مزیت های هردو نوع سطح کاربر و سطح هسته را به ارث می برد.