مقدمه
سیستم عامل برنامه ای است که سخت افزارکامپیوتررامدیریت می کند.مبنایی برای برنامه های کاربردی است وبه عنوان واسط بین کاربروسخت افزارکامپیوترمحسوب می شود.سیستم عامل بخش مهمی ازهرسیستم کامپیوتری است .یونیکس یکی ازانواع سیستم های عامل وبه جرات می توان گفت که قویترین آنها می باشدحدودسی سال است که سیستم عامل یونیکس ساخته شده است درطول این مدت تعداداستفاده کنندگان این سیستم عامل بسرعت افزایش یافته وهم اکنون هزاران مرکزکامپیوتروموسسات مختلف درجهان بااین سیستم عامل کارمی کنند.
این سیستم محیط بسیارگسترده ای رادردسترس استفاده کنندگانش قرارمی دهدواین گستردگی استفاده کنندگان ازسیستمهای عامل دیگرراجذب می کند.چگونگی تولدورشدیونیکس ازدیگرسیستم های عامل متفاوت است.
وروداین سیستم عامل به دنیای تکنولوژی ازسوی دنیای تجارت نبودواین دلیلی است برای گسترشش. یونیکس گروههای برنامه نویسان رادرتوسعه برنامه هاحمایت می کردودرجهت ساده ترکردن نحوه ارتباط انسان وماشین تلاش داشت.این سیستم عامل بطوریکباره نوشته نشده بلکه باتوجه به نیازهادرپروژه های خاص بتدریج تکامل یافته واین سیرهمچنان ادامه دارد پردازشهای پشت پرده :
پردازشهاییکه مدت زمان زیادی برای اجرا لازم دارند ، درپشت پرده[1][1] اجرا میشوند . به این ترتیب ، مفسرفرمان قادراست تابرنامه وفرمان دیگری رابرای اجرا دریافت کند .
این عمل بوسیله علامت & که درانتهای فرمان قرارمیگیرد انجام میشود . مثلاً فرمان cat file & درپشت پرده اجرا میشود ولی خروجی آن روی ترمینال ظاهر میشود .
برنامههای پشت پرده مانند برنامههای دیگردارای یک شماره پردازش میباشند که بااستفاده از آن میتوان به آن پردازش رجوع کرد . پس ازهرفرمان بهمراه علامت & شماره آن پردازش درخروجی چاب میشود .
- پدروفرزند :
زمانیکه یک استفاده کننده وارد سیستم میشود ، یک پردازش shell برای اوساخته میشود تافرامین او رااجرا نماید . این پردازش (shell ) زمانی ختم میشود ویامیمیرد که استفاده کننده ازسیستم خارج شود . بنابراین هراستفاده کننده فعال درسیستم لااقل یک پردازش درحال اجرا دارد .
شروع هرپردازش راتولد او وختم آنرا مرگ اوتلقی میکنیم ( بنابه تعاریف UNIX) بنابراین درطول کارسیستم پردازشهای بسیاری متولد شده ومیمیرند .
اما پردازشهایی نیز وجوددارند که باشروع کار سیستم متولدشده وباختم کارسیستم میمیرند .
تنها راهی که یک پردازش متولد میشود ازطریق یک پردازش دیگر است . پردازش بوجود آورنده پردازش جدید را پدر(Parent ) وپردازش متولد شده رافرزند (child ) میگویند . یک پردازش پدرمیتواند چندین پردازش فرزند داشته باشد . اماهرپردازش بیش ازیک پدرنمیتواند داشته باشد . به همین ترتیب یک پردازش فرزند خود میتواند چندین فرزند داشته باشد .
اگرپردازشی یک پردازش فرزند بوجود آورد وفرزند اوخودفرزند دیگری داشته باشد ، ممکن است پردازشهای واسط بمیرند . هرپردازشی که بمیرد کلیه فرزندانش میمیرند .
البته میتوان روشهایی اتخاذ کرد که بامرگ پردازش واسط ، فرزند اونمیرد بلکه این فرزندان به پردازش اصلی به ارث برسند . یکی از ابزاری که این عمل را انجام میدهد ، همان nohup است که بامرگ پردازش واسط یعنی Shell فرزندان اویعنی برنامههای پشت پرده به برنامه قبل از Shell منتقل میکند .
دراینجام ذکر این مطلب مهم است که سیستم خود پردازشهایی رابوجود میآورد که عملیات خاصی را انجام میدهند واگر آن اهداف نباشد میتوان آن پردازشها رامتوقف کرد . مثلاً پردازشی بوجود میآید تاپست الکترونیکی راازماشینی به ماشین دیگر ارسال دارد وبه محض ارسال این پردازش میمیرد.
ویا spooler مربوط به چاپگر که پردازشی است که درطول حیات سیستم حضوردارد وسرویس چاپ راانجام میدهد . به اینگونه پردازشهای پشت پرده که مربوط به سیستم اند ویکی ازوظایف مهم سیستم عامل راانجام میدهند deamon میگوییم .
مدیریت پردازش۲-اولویت وکنترل پردازش
واحد کاردرسیستمهای چند کاره ازجمله UNIX پردازش با Process است . پردازش یاکار درواقع برنامهایست که به اجرا درآمده است . مفسرفرمانی که آماده دریافت فرامین ازیک ترمینال است یک پردازش میباشدواین پردازش زمانی تمام میشود که استفاده کننده ازسیستم خارج شود (Logout ) . هرفرمانی که روی صفحه ترمینال صادرمیشود تازمان ختم یک پردازش است .
«باتوجه به مشکلات بروزرسانی درپرشین مجبورشدم متن عنوان رودراینجابنویسم »
- اولویت و کنترل پردازش :
پردازشها دارای شماره اولویتی هستند که مرتبه اجرای آنها را نشان میدهد . پردازشهای realtime اولویت 0 تاN رادارند اما UNIX ابزاری دارد که میتوان اولویت پردازشی راتغییر داد . به عبارت دیگر مدت زمان دریافت سرویس ازCPU برای پردازشهای مختلف براساس اولویتی است که معمولاً برای همه یکسان است . افزایش این اولویت برای یک پردازش باعث میشود زمان دریافت سرویس از CPU بیشتر شده وزودتر پردازش کامل شود ودرنتیجه بقیه پردازشها کندتر میشوند . بهمین دلیل تنها استفاده کننده ممتاز میتواند اولویت را افزایش دهد .
دوست عزیز جناب «آقای رضوی»: همونطور که درقسمت نگارشهای یونیکس نوشتم لینوکس نگارشیه باکارکردی مشابه یونیکس ودرواقع یک نسخه ازیونیکسه که واسه سیستمهای شخصی درست شده این سیستم عامل توسط یک دانشجوبنام (توروالدز) ازدانشگاه هلسینکی نوشته شد. سورس باز این سیستم عامل باعث شده که شرکتهای بزرگ کامپیوتری اونوبراساس نیازشون بازنویسی کرده ونسخه های متعددی ازاون دردسترس قراربگیره که نسخه مورداستفاده شماتوسط شرکت RedHat نوشته شده درموردیونیکس بایدخدمتتون عرض کنم که اگرشمابه خط فرمان لینوکس واردشده باشید میتونید دراین خط فرمان دستورات یونیکس رواستفاده کنید وفقط صورت ویژوال لینوکس اونو ازیونیکس متمایز کرده بطوری که شمادرلینوکس به مراتب راحتتر ازیونیکس کارخواهید کرد . این دوسیستم عامل هم خانواده هستند و لینوکس مشتق شده ازیونیکسه. یونیکس بیشتربه عنوان سیستم شبکه کاربردداره ولی میشه ازاون واسه کامپیوترهای شخصی هم استفاده کرد ولی اون تنوع لینوکس رو نداره واگه دراین وبلاگ ازتنوع وقدرت این سیستم عامل خیلی نوشته میشه منظور فقط یونیکس نیست بلکه مادراینجا کلیه نگارشهای یونیکس روبه این نام میشناسیم درحال حاضر بیشترسرورهای اینترنت درجهان برروی سیستم عامل یونیکس فعالیت میکنند. ضمنا اینرو هم خدمت شما عرض کنم که لینوکس یک سیستم کامله و من فکر میکنم که شما یا بدلیل اینکه تاحالا کارنکرده بودید یا بدلیل اینکه سی دی لینوکس شما کامل نبوده نتونستید استفاده کنید والا شایدبشه گفت که لینوکس حتی از ویندوز هم متنوع تره وتقریباهرنوع برنامه کاربردی که شما لازم داشته باشید رو همراه داره.من به شماپیشنهادمیکنم که درکنارسیستمتون ازیک راهنمااستفاده کنید تا بتونید حداقل آشنایی لازم روبالینوکس پیدا کنید پس ازاون خودتون میتونید اطلاعات بیشتری ازراه تجربی کسب کنید.