تصویر زیر رو هم میتونیم به عنوان یک مرور کلی از جملات شرطی در نظر بگیریم :
خب حالا میریم سراغ درک مفهوم یک متن . در اینجا یک متن از کتاب آموزش برنامه نویسی به زبان جاوا رو خواهیم دید و سعی می کنیم مفهومش رو فرا بگیریم . البته باید این نکته رو بگم که هدف ما در اینجا صرفا ترجمه ی یک متن نیست بلکه قصد داریم تا مفهوم اصلی یک متن رو که مرتبط با رشته ی خودمون هست فرابگیریم . به این ترتیب شما میتونید به راحتی از منابع اصلی برای یادگیری مباحث مرتبط با رشته ی کامپیوتر بهره ببرید . لذا همیشه نیاز به ترجمه ی لغت به لغت متون انگلیسی نداریم .
مفهوم متن :
در بحث جاوا ، تشخیص 3 مفهوم از یکدیگر دارای اهمیت هست که اونها عبارت هستن از زبان برنامه نویسی جاوا ، ماشین مجازی جاوا و پلتفرم جاوا . زبان برنامه نویسی جاوا ، زبانی هست که برنامه های کاربردی جاوا و سایر اجزا با اون نوشته میشن . وقتی که یک برنامه ی جاوا کامپایل میشه ، به کد های بیتی تبدیل میشه که زبان ماشین قابل حمل یک ساختار CPU هست و اصطلاحا به عنوان ماشین مجازی جاوا شناخته میشه . ماشین مجازی میتونه مستقیما در سخت افزار اجرا بشه اما معمولا در فرم یک برنامه ی نرم افزاری که کد های بیتی رو اجرا و تفسیر میکنه ، اجرا میشه .
پلتفرم جاوا هم از زبان جاوا و هم از ماشین مجازی جاوا متمایز هست . پلتفرم جاوا ، مجموعه ی از پیش تعریف شده ای از کلاس های جاواست که در هر راه اندازی و نصب جاوا به وجود دارن . این کلاس ها برای به کار رفتن توسط همه ی برنامه های جاوا در دسترس هستن . همچنین گاهی پلتفرم جاوا به عنوان محیط زمان اجرای جاوا یا رابط های برنامه نویسی کاربردی جاوا مورد مراجعه قرار میگیره . پلتفرم جاوا میتونه با بسته های انتخابی ، گسترش و بسط پیدا کنه . این رابط های برنامه نویسی کاربردی در برخی نسخه های جاوا وجود دارن اما در همه ی نصب ها ممکنه که وجود نداشته باشن .
⚡️بازم تاکید میکنم که در اینجا قصد نداشتیم که یک ترجمه ی دقیق از متن داشته باشیم بلکه میخواستیم که یک مفهوم کلی از متن داشته باشیم.
⚡️لغات مهم هم در متن انگلیسی با رنگ زرد مشخص شدن . بهتر هست که اونها رو هم در کنار لغات عمومی و تخصصی این جلسه ، مطالعه کنید .
در بحث جاوا ، تشخیص 3 مفهوم از یکدیگر دارای اهمیت هست که اونها عبارت هستن از زبان برنامه نویسی جاوا ، ماشین مجازی جاوا و پلتفرم جاوا . زبان برنامه نویسی جاوا ، زبانی هست که برنامه های کاربردی جاوا و سایر اجزا با اون نوشته میشن . وقتی که یک برنامه ی جاوا کامپایل میشه ، به کد های بیتی تبدیل میشه که زبان ماشین قابل حمل یک ساختار CPU هست و اصطلاحا به عنوان ماشین مجازی جاوا شناخته میشه . ماشین مجازی میتونه مستقیما در سخت افزار اجرا بشه اما معمولا در فرم یک برنامه ی نرم افزاری که کد های بیتی رو اجرا و تفسیر میکنه ، اجرا میشه .
پلتفرم جاوا هم از زبان جاوا و هم از ماشین مجازی جاوا متمایز هست . پلتفرم جاوا ، مجموعه ی از پیش تعریف شده ای از کلاس های جاواست که در هر راه اندازی و نصب جاوا به وجود دارن . این کلاس ها برای به کار رفتن توسط همه ی برنامه های جاوا در دسترس هستن . همچنین گاهی پلتفرم جاوا به عنوان محیط زمان اجرای جاوا یا رابط های برنامه نویسی کاربردی جاوا مورد مراجعه قرار میگیره . پلتفرم جاوا میتونه با بسته های انتخابی ، گسترش و بسط پیدا کنه . این رابط های برنامه نویسی کاربردی در برخی نسخه های جاوا وجود دارن اما در همه ی نصب ها ممکنه که وجود نداشته باشن .
⚡️بازم تاکید میکنم که در اینجا قصد نداشتیم که یک ترجمه ی دقیق از متن داشته باشیم بلکه میخواستیم که یک مفهوم کلی از متن داشته باشیم.
⚡️لغات مهم هم در متن انگلیسی با رنگ زرد مشخص شدن . بهتر هست که اونها رو هم در کنار لغات عمومی و تخصصی این جلسه ، مطالعه کنید .
به عنوان آخرین مطلب هم در قسمت "متفرقه" تصویری رو تقدیمتون میکنم که حاوی برخی از پیشوند های مهم هست :
خب دوستان عزیز برای این جلسه کافیه .. سعی کردیم طبق برنامه پیش بریم و مطالبی رو تقدیم حضورتون کنیم .. امیدوارم مفید بوده باشه ..
انشاءالله در جلسه ی بعدی هم طبق همین روند پیش خواهیم رفت ..
موضوع گرامر هفته ی بعد "وجه مجهول" هست
متن مربوط به درک مفهوم هم احتمالا درباره ی زبان برنامه نویسی #C خواهد بود .
مثل همین جلسه چندین لغت عمومی و تخصصی هم تقدیم حضورتون خواهد شد ..
با تشکر از همراهی شما
پیروز و سربلند باشید✋
انشاءالله در جلسه ی بعدی هم طبق همین روند پیش خواهیم رفت ..
موضوع گرامر هفته ی بعد "وجه مجهول" هست
متن مربوط به درک مفهوم هم احتمالا درباره ی زبان برنامه نویسی #C خواهد بود .
مثل همین جلسه چندین لغت عمومی و تخصصی هم تقدیم حضورتون خواهد شد ..
با تشکر از همراهی شما
پیروز و سربلند باشید✋
باسلام خدمت دوستان عزیز، وکیلی هستم با سری آموزشای سیستم عامل در خدمتتون هستم.
جلسه قبل در مورد سیستم عامل و نحوه مدیریت سخت افزار توسط سیستم عامل باهم بحث کردیم
در این جلسه مفاهیم پایه و تاریخچه پیشرفت سیستم عامل را خدمتتون ارائه می کنم.
در ابتدا یکی از مهمترین مفاهیم پایه سیستم عامل را بررسی می کنیم:
جلسه قبل در مورد سیستم عامل و نحوه مدیریت سخت افزار توسط سیستم عامل باهم بحث کردیم
در این جلسه مفاهیم پایه و تاریخچه پیشرفت سیستم عامل را خدمتتون ارائه می کنم.
در ابتدا یکی از مهمترین مفاهیم پایه سیستم عامل را بررسی می کنیم:
وقفه
گاهی رویدادی در خارج یا درون پردازنده رخ می دهد که لازم است پردازنده روند عادی اجرای دستورالعمل های برنامه جاری را موقتا قطع کرده و به رویداد اتفاق افتاده پاسخ دهد.
پس از پاسخ به رویداد به اجرای برنامه قطع شده برگشته و به ادامه روند آن می پردازد.
به این رویداد وقفه گفته می شود.
پاسخ به وقفه به معنی اجرای رویه اداره کننده وقفه (interrupt handler) یا روال سرویس وقفه ISR می باشد.هر وقفه یک isr مخصوص در سیستم عامل دارد.
گاهی رویدادی در خارج یا درون پردازنده رخ می دهد که لازم است پردازنده روند عادی اجرای دستورالعمل های برنامه جاری را موقتا قطع کرده و به رویداد اتفاق افتاده پاسخ دهد.
پس از پاسخ به رویداد به اجرای برنامه قطع شده برگشته و به ادامه روند آن می پردازد.
به این رویداد وقفه گفته می شود.
پاسخ به وقفه به معنی اجرای رویه اداره کننده وقفه (interrupt handler) یا روال سرویس وقفه ISR می باشد.هر وقفه یک isr مخصوص در سیستم عامل دارد.
به طور کلی وقفه ها دو نوع هستند:
وقفه های سخت ازاری (یا خارجی) که از سوی یک سخت افزار خارجی ازCPU به صورت یک سیگنال ناهمگام (آسنکرون: در یک لحظه تصادفی که از قبل مشخص نیست در کجای برنامه جاری به وقوع می پیوندد) به پردازنده ارسال می شود. این وقفه ها به چند دسته تقسیم می شود:
1. وقفه های I/O
2. خطای ماشین (machin chek) یا نقص سخت افزار(hardware fault )
3. وقفه ساعت (clock) زمان سنج(timer)
4. وقفه restat
5. سایر وقفه های خارجی(external )
وقفه های نرم افزاری(یا داخلی) که به صورت همگام (سنکرون) در اثر اجرای دستورالعمل خاصی از برنامه جاری، خواسته یا ناخواسته،به وقوع می پیوندد. این وقفه ها به چند دسته تقسیم می شوند:
وقفه های سخت ازاری (یا خارجی) که از سوی یک سخت افزار خارجی ازCPU به صورت یک سیگنال ناهمگام (آسنکرون: در یک لحظه تصادفی که از قبل مشخص نیست در کجای برنامه جاری به وقوع می پیوندد) به پردازنده ارسال می شود. این وقفه ها به چند دسته تقسیم می شود:
1. وقفه های I/O
2. خطای ماشین (machin chek) یا نقص سخت افزار(hardware fault )
3. وقفه ساعت (clock) زمان سنج(timer)
4. وقفه restat
5. سایر وقفه های خارجی(external )
وقفه های نرم افزاری(یا داخلی) که به صورت همگام (سنکرون) در اثر اجرای دستورالعمل خاصی از برنامه جاری، خواسته یا ناخواسته،به وقوع می پیوندد. این وقفه ها به چند دسته تقسیم می شوند:
1. فراخوانی های سیستمی(system call): این وقفه ها که فراخوان راهبردی یا سرپرستی ، فراخوان ناظر یا فراخوان هسته نیز نامیده می شود عموما وقتی رخ می دهد که برنامه سطح کاربر نیاز به استفاده از سرویس های سطح هسته سیستم عامل داشته باشد.
2. خطای برنامه (program check) یا استثا (exeption): این وقفه وقتی رخ می دهد که دستورالعمل جاری برنامه بخواهد عملی را انجام دهد که اصولا غیر مجاز است مانند خطای سرریز یا تقسیم بر صفر، یا اینکه دستورالعمل جاری برنامه سطح کاربر بخواهد عمدا یا سهوا عملی انجام دهد که در مد کاربر غیر مجاز است مانند نقص حفاظتی از قبیل مراجعه به یک آدرس نادرست یا غیر مجاز.
3. سیگنال (signal): یک وقفه نرم افزاری است که توسط یک فرآیند یا سیستم عامل یا کاربر به یک یا چند فرآیند ارسال می شود.
2. خطای برنامه (program check) یا استثا (exeption): این وقفه وقتی رخ می دهد که دستورالعمل جاری برنامه بخواهد عملی را انجام دهد که اصولا غیر مجاز است مانند خطای سرریز یا تقسیم بر صفر، یا اینکه دستورالعمل جاری برنامه سطح کاربر بخواهد عمدا یا سهوا عملی انجام دهد که در مد کاربر غیر مجاز است مانند نقص حفاظتی از قبیل مراجعه به یک آدرس نادرست یا غیر مجاز.
3. سیگنال (signal): یک وقفه نرم افزاری است که توسط یک فرآیند یا سیستم عامل یا کاربر به یک یا چند فرآیند ارسال می شود.
نکته: سیستم عامل های مدرن، مبتنی بروقفه( interrupt driven) هستند. یعنی از راه اندازی کامپیوتر توسط سیستم عامل وسپردن CPU به برنامه کاربر، سیستم عامل بارها به علت وقوع وقفه ها ی گوناگون سخت افزاری یا نرم افزاری در لابه لای اجرای فرایندهای سطح کاربر ظاهر می شود وبه وظایف خویش می پردازد.
نکته: حتی اگر کاری برای اجرا وجود نداشته باشد پردازنده یک برنامه ساده حاوی یک حلقه انتظار مشغول را اجرا خواهد کرد.
نکته: پردازنده های امروزی امکانات خاصی را در اختیار طراحان سیستم عامل می گذارد تا برای حفاظت از سیستم عامل و نیز حفاظت برنامه ها در برابر یکدیگر مورد استفاده قرار دهند.
نکته: حتی اگر کاری برای اجرا وجود نداشته باشد پردازنده یک برنامه ساده حاوی یک حلقه انتظار مشغول را اجرا خواهد کرد.
نکته: پردازنده های امروزی امکانات خاصی را در اختیار طراحان سیستم عامل می گذارد تا برای حفاظت از سیستم عامل و نیز حفاظت برنامه ها در برابر یکدیگر مورد استفاده قرار دهند.
مختصری در مورد تاریخچه سیستم عامل:
1)در نسل اول کامپیوترها (1945-1955) که از لامپ خلا برای ساخت آن ها استفاده می شد ، زبان های برنامه نویسی ابداع نشده بودند و سیستم عامل نیز اصلا وجود نداشت و برنامه نویسان تنها در یک فاصله زمانی مشخص حق استفاده از کامپیوترهای بزرگ و گران قیمت را داشتند.
2)نسل دوم سیستم عامل از ترانزیستور ساخته شدند. نحوه کار به این صورت است که کاربر برنامه را نوشته تحویل کامپیوتر میدهد کامپیوتر اجرا کرده و نتیجه را به کاربر تحویل میدهد، از این گروه می توان سیستم های offline spooling و online spooling, سیستم های دسته ای چند برنامگی، سیستم های اشتراک زمانی... نام برد.
1)در نسل اول کامپیوترها (1945-1955) که از لامپ خلا برای ساخت آن ها استفاده می شد ، زبان های برنامه نویسی ابداع نشده بودند و سیستم عامل نیز اصلا وجود نداشت و برنامه نویسان تنها در یک فاصله زمانی مشخص حق استفاده از کامپیوترهای بزرگ و گران قیمت را داشتند.
2)نسل دوم سیستم عامل از ترانزیستور ساخته شدند. نحوه کار به این صورت است که کاربر برنامه را نوشته تحویل کامپیوتر میدهد کامپیوتر اجرا کرده و نتیجه را به کاربر تحویل میدهد، از این گروه می توان سیستم های offline spooling و online spooling, سیستم های دسته ای چند برنامگی، سیستم های اشتراک زمانی... نام برد.
آموزش این هفته به پایان رسد در جلسه بعدی وارد مفاهیم اصلی سیستم عامل شده و نکات مهم و اصلی سیستم عامل را بیان میکنیم.
با تشکر از توجه شما.
با تشکر از توجه شما.