یونیکس
مقدمه:
سیستم عامل برنامه ای است که سخت افزارکامپیوتررامدیریت می کند.مبنایی برای برنامه های کاربردی است وبه عنوان واسط بین کاربروسخت افزارکامپیوترمحسوب می شود.سیستم عامل بخش مهمی ازهرسیستم کامپیوتری است .یونیکس یکی ازانواع سیستم های عامل وبه جرات می توان گفت که قویترین آنها می باشدحدودسی سال است که سیستم عامل یونیکس ساخته شده است درطول این مدت تعداداستفاده کنندگان این سیستم عامل بسرعت افزایش یافته وهم اکنون هزاران مرکزکامپیوتروموسسات مختلف درجهان بااین سیستم عامل کارمی کنند.
این سیستم محیط بسیارگسترده ای رادردسترس استفاده کنندگانش قرارمی دهدواین گستردگی استفاده کنندگان ازسیستمهای عامل دیگرراجذب می کند.چگونگی تولدورشدیونیکس ازدیگرسیستم های عامل متفاوت است.
وروداین سیستم عامل به دنیای تکنولوژی ازسوی دنیای تجارت نبودواین دلیلی است برای گسترشش. یونیکس گروههای برنامه نویسان رادرتوسعه برنامه هاحمایت می کردودرجهت ساده ترکردن نحوه ارتباط انسان وماشین تلاش داشت.این سیستم عامل بطوریکباره نوشته نشده بلکه باتوجه به نیازهادرپروژه های خاص بتدریج تکامل یافته واین سیرهمچنان ادامه دارد پردازشهای پشت پرده :
پردازشهاییکه مدت زمان زیادی برای اجرا لازم دارند ، درپشت پرده اجرا میشوند . به این ترتیب ، مفسرفرمان قادراست تابرنامه وفرمان دیگری رابرای اجرا دریافت کند .
این عمل بوسیله علامت & که درانتهای فرمان قرارمیگیرد انجام میشود . مثلاً فرمان cat file & درپشت پرده اجرا میشود ولی خروجی آن روی ترمینال ظاهر میشود .
برنامههای پشت پرده مانند برنامههای دیگردارای یک شماره پردازش میباشند که بااستفاده از آن میتوان به آن پردازش رجوع کرد . پس ازهرفرمان بهمراه علامت & شماره آن پردازش درخروجی چاب میشود .
- پدروفرزند :
زمانیکه یک استفاده کننده وارد سیستم میشود ، یک پردازش shell برای اوساخته میشود تافرامین او رااجرا نماید . این پردازش (shell ) زمانی ختم میشود ویامیمیرد که استفاده کننده ازسیستم خارج شود . بنابراین هراستفاده کننده فعال درسیستم لااقل یک پردازش درحال اجرا دارد .
شروع هرپردازش راتولد او وختم آنرا مرگ اوتلقی میکنیم ( بنابه تعاریف UNIX) بنابراین درطول کارسیستم پردازشهای بسیاری متولد شده ومیمیرند .
اما پردازشهایی نیز وجوددارند که باشروع کار سیستم متولدشده وباختم کارسیستم میمیرند .
تنها راهی که یک پردازش متولد میشود ازطریق یک پردازش دیگر است . پردازش بوجود آورنده پردازش جدید را پدر(Parent ) وپردازش متولد شده رافرزند (child ) میگویند . یک پردازش پدرمیتواند چندین پردازش فرزند داشته باشد . اماهرپردازش بیش ازیک پدرنمیتواند داشته باشد . به همین ترتیب یک پردازش فرزند خود میتواند چندین فرزند داشته باشد .
اگرپردازشی یک پردازش فرزند بوجود آورد وفرزند اوخودفرزند دیگری داشته باشد ، ممکن است پردازشهای واسط بمیرند . هرپردازشی که بمیرد کلیه فرزندانش میمیرند .
البته میتوان روشهایی اتخاذ کرد که بامرگ پردازش واسط ، فرزند اونمیرد بلکه این فرزندان به پردازش اصلی به ارث برسند . یکی از ابزاری که این عمل را انجام میدهد ، همان nohup است که بامرگ پردازش واسط یعنی Shell فرزندان اویعنی برنامههای پشت پرده به برنامه قبل از Shell منتقل میکند .
دراینجام ذکر این مطلب مهم است که سیستم خود پردازشهایی رابوجود میآورد که عملیات خاصی را انجام میدهند واگر آن اهداف نباشد میتوان آن پردازشها رامتوقف کرد . مثلاً پردازشی بوجود میآید تاپست الکترونیکی راازماشینی به ماشین دیگر ارسال دارد وبه محض ارسال این پردازش میمیرد.
ویا spooler مربوط به چاپگر که پردازشی است که درطول حیات سیستم حضوردارد وسرویس چاپ راانجام میدهد . به اینگونه پردازشهای پشت پرده که مربوط به سیستم اند ویکی ازوظایف مهم سیستم عامل راانجام میدهند deamon میگوییم .