مقدمه سيستم عامل برنامه اي است كه سخت افزاركامپيوتررامديريت مي كند.مبنايي براي برنامه هاي كاربردي است وبه عنوان واسط بين كاربروسخت افزاركامپيوترمحسوب مي شود.سيستم عامل بخش مهمي ازهرسيستم كامپيوتري است .يونيكس يكي ازانواع سيستم هاي عامل وبه جرات مي توان گفت كه قويترين آنها مي باشدحدودسي سال است كه سيستم عامل يونيكس ساخته شده است درطول اين مدت تعداداستفاده كنندگان اين سيستم عامل بسرعت افزايش يافته وهم اكنون هزاران مركزكامپيوتروموسسات مختلف درجهان بااين سيستم عامل كارمي كنند.

اين سيستم محيط بسيارگسترده اي رادردسترس استفاده كنندگانش قرارمي دهدواين گستردگي استفاده كنندگان ازسيستمهاي عامل ديگرراجذب مي كند.چگونگي تولدورشديونيكس ازديگرسيستم هاي عامل متفاوت است.
وروداين سيستم عامل به دنياي تكنولوژي ازسوي دنياي تجارت نبودواين دليلي است براي گسترشش. يونيكس گروههاي برنامه نويسان رادرتوسعه برنامه هاحمايت مي كردودرجهت ساده تركردن نحوه ارتباط انسان وماشين تلاش داشت.اين سيستم عامل بطوريكباره نوشته نشده بلكه باتوجه به نيازهادرپروژه هاي خاص بتدريج تكامل يافته واين سيرهمچنان ادامه دارد پردازشهاي پشت پرده :

پردازشهاييكه مدت زمان زيادي براي اجرا لازم دارند ، درپشت پرده [۱] اجرا مي‌شوند . به اين ترتيب ، مفسرفرمان قادراست تابرنامه وفرمان ديگري رابراي اجرا دريافت كند .
اين عمل بوسيله علامت & كه درانتهاي فرمان قرارمي‌گيرد انجام مي‌شود . مثلاً فرمان cat file & درپشت پرده اجرا مي‌شود ولي خروجي آن روي ترمينال ظاهر مي‌شود .
برنامه‌هاي پشت پرده مانند برنامه‌هاي ديگرداراي يك شماره پردازش مي‌باشند كه بااستفاده از آن مي‌توان به آن پردازش رجوع كرد . پس ازهرفرمان بهمراه علامت & شماره آن پردازش درخروجي چاب مي‌شود .

– پدروفرزند :
زمانيكه يك استفاده كننده وارد سيستم مي‌شود ، يك پردازش shell براي اوساخته مي‌شود تافرامين او رااجرا نمايد . اين پردازش (shell ) زماني ختم مي‌شود وياميميرد كه استفاده كننده ازسيستم خارج شود . بنابراين هراستفاده كننده فعال درسيستم لااقل يك پردازش درحال اجرا دارد .
شروع هرپردازش راتولد او وختم آنرا مرگ اوتلقي مي‌كنيم ( بنابه تعاريف UNIX) بنابراين درطول كارسيستم پردازشهاي بسياري متولد شده ومي‌ميرند .
اما پردازشهايي نيز وجوددارند كه باشروع كار سيستم متولدشده وباختم كارسيستم مي‌ميرند .

تنها راهي كه يك پردازش متولد مي‌شود ازطريق يك پردازش ديگر است . پردازش بوجود آورنده پردازش جديد را پدر(Parent ) وپردازش متولد شده رافرزند (child ) مي‌گويند . يك پردازش پدرمي‌تواند چندين پردازش فرزند داشته باشد . اماهرپردازش بيش ازيك پدرنمي‌تواند داشته باشد . به همين ترتيب يك پردازش فرزند خود مي‌تواند چندين فرزند داشته باشد .
اگرپردازشي يك پردازش فرزند بوجود آورد وفرزند اوخودفرزند ديگري داشته باشد ، ممكن است پردازشهاي واسط بميرند . هرپردازشي كه بميرد كليه فرزندانش مي‌ميرند .

البته مي‌توان روشهايي اتخاذ كرد كه بامرگ پردازش واسط ، فرزند اونميرد بلكه اين فرزندان به پردازش اصلي به ارث برسند . يكي از ابزاري كه اين عمل را انجام مي‌دهد ، همان nohup است كه بامرگ پردازش واسط يعني Shell فرزندان اويعني برنامه‌هاي پشت پرده به برنامه قبل از Shell منتقل مي‌كند .
دراينجام ذكر اين مطلب مهم است كه سيستم خود پردازشهايي رابوجود مي‌آورد كه عمليات خاصي را انجام مي‌دهند واگر آن اهداف نباشد ميتوان آن پردازشها رامتوقف كرد . مثلاً پردازشي بوجود مي‌آيد تاپست الكترونيكي راازماشيني به ماشين ديگر ارسال دارد وبه محض ارسال اين پردازش مي‌ميرد.
ويا spooler مربوط به چاپگر كه پردازشي است كه درطول حيات سيستم حضوردارد وسرويس چاپ راانجام مي‌دهد . به اينگونه پردازشهاي پشت پرده كه مربوط به سيستم اند ويكي ازوظايف مهم سيستم عامل راانجام مي‌دهند deamon مي‌گوييم .

مديريت پردازش۲-اولويت وکنترل پردازش
واحد كاردرسيستمهاي چند كاره ازجمله UNIX پردازش با Process است . پردازش ياكار درواقع برنامه‌ايست كه به اجرا درآمده است . مفسرفرماني كه آماده دريافت فرامين ازيك ترمينال است يك پردازش مي‌باشدواين پردازش زماني تمام مي‌شود كه استفاده كننده ازسيستم خارج شود (Logout ) . هرفرماني كه روي صفحه ترمينال صادرمي‌شود تازمان ختم يك پردازش است .
«باتوجه به مشکلات بروزرسانی درپرشين مجبورشدم متن عنوان رودراينجابنويسم »

– اولويت وكنترل پردازش :
پردازشها داراي شماره اولويتي هستند كه مرتبه اجراي آنها را نشان مي‌دهد . پردازشهاي realtime اولويت ۰ تاN رادارند اما UNIX ابزاري دارد كه مي‌توان اولويت پردازشي راتغيير داد . به عبارت ديگر مدت زمان دريافت سرويس ازCPU براي پردازشهاي مختلف براساس اولويتي است كه معمولاً براي همه يكسان است . افزايش اين اولويت براي يك پردازش باعث مي‌شود زمان دريافت سرويس از CPU بيشتر شده وزودتر پردازش كامل شود ودرنتيجه بقيه پردازشها كندتر مي‌شوند . بهمين دليل تنها استفاده كننده ممتاز مي‌تواند اولويت را افزايش دهد .

آقای علی رضوی
دوست عزيز جناب «آقای رضوي»: همونطور که درقسمت نگارشهای يونيکس نوشتم لينوکس نگارشیه باکارکردی مشابه يونيکس ودرواقع يک نسخه ازيونيکسه که واسه سيستمهای شخصی درست شده اين سيستم عامل توسط يک دانشجوبنام (توروالدز) ازدانشگاه هلسينکی نوشته شد. سورس باز اين سيستم عامل باعث شده که شرکتهای بزرگ کامپيوتری اونوبراساس نيازشون بازنويسی کرده ونسخه های متعددی ازاون دردسترس قراربگيره که نسخه مورداستفاده شماتوسط شرکت RedHat نوشته شده درمورديونيکس بايدخدمتتون عرض کنم که اگرشمابه خط فرمان لينوکس واردشده باشيد ميتونيد دراين خط فرمان دستورات يونيکس رواستفاده کنيد وفقط صورت ويژوال لينوکس اونو ازيونيکس متمايز کرده بطوری که شمادرلينوکس به مراتب راحتتر ازيونيکس کارخواهيد کرد .

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

مديريت پردازش۱-همزمانی دريونيکس
بيشتر ماشينهايي كه سيستم عامل UNIX دارند داراي تنهاي يك CPU براي اجراي برنامه‌ها مي‌باشند وحتي اگر بيش ازيك پردازنده هم داشته باشند روي هرپردازنده درهرلحظه تنها يك برنامه واقعاً درحال اجرا مي‌باشد . هسته اصلي UNIX كه به Kernel معروف است كنترل سرويس دادن به چندين برنامه راتوسط CPU بعهده دارد . درواقع درهرلحظه چندين پردازش توسط استفاده كنندگان توليد مي‌شود ( ازShell آنها تافرامين وبرنامه‌هاي اجرايي ) بيشتراين پردازشها تقاضاي دسترسي به CPU دارند ، Cernel كنترل نوبت دهي به پردازشها براي دريافت سرويس از CPU رابعهده دارد . يعني پس ازاجراي هرپردازش ، پردازش ديگري به CPU ارجاع مي‌شود . اين تغييرپردازش [۱] درهرثانيه لااقل يكبار انجام مي‌شود . در لحظه‌اي كه يك پردازش سرويس مي‌گيرد استفاده كننده ازتمامي امكانات سيستم برخورداراست وگمان مي‌برد كه ماشين تنها دراختيار اوست . بهمين دليل سيستمهاي چندكاره راسيستمهاي همزماني ( Time Sharing ) مي‌نامند .

درنسخ قبلي UNIX تنها نوعي كه براي پردازشها قائل بودند ، كلاس اشتراك زماني بود وپردازشها همه دراين كلاس قرار مي‌گرفتند .درنسخه جديديونيكس (SVR4 ) دونوع پردازش ديگر نيز تعريف شده ‌اند :
realtime و system
– Real time :

استفاده كننده ممتاز ياكسي كه بانام root وارد سيستم مي‌شود . مي‌تواند از systemcall [۲] ويافرمان Priocntlاستفاده كند تا برنامه‌اي باامكانات real time بوجودآورد . برنامه‌اي كه دراين كلاس اجرا مي‌شود قبل ازهمه پردازشهاي ديگر (حتي پردازشهاي مخصوص سيستم عامل ) اجرا مي‌شود وتازمانيكه يك پردازش realtime
درحال اجرا است هيچ پردازش ديگري نمي‌تواند اجرا گردد .

– system
پردازشهاي كلاس system تنها توسط سيستم قابل اجرا هستند واستفاده كنندگان نمي‌توانند پردازش دراين سطح بوجود آورده وياتغييري درآنها بدهد.
اولويت مربوط به اينگونه پردازشها درKernel مقدار گرفته ودرمقام بعد از realtime قراردارند .
يونيکس وشبکه
نيرومندي يونيكس باپيچيدگي بسياربالايي همراه است .يونيكس تقريبا همه كارهاي يك كامپيوترراانجام مي دهدوبرخلاف شهرت پيچيدگي قابليت سرويس دهي بالايي رافراهم مي كندوبه نظر بسياري ازكارشناسان بهترين سرويس كاربردي رادرميان سيستمهاي عامل شبكه داراست .اين سيستم عامل مي تواندهم بعنوان سرويس دهنده وهم بعنوان سرويس گيرنده كاركندتنهابااين تفاوت كه يك سرويس دهنده يونيكس بايدداراي سخت افزاري بسيارقوي تروباامنيت غيرقابل نفوذتري باشديونيكس براي مديريت كاربران خوداحتياج كمتري به نرم افزارديگري دارد. توليدكنندگان يونيكس تلاش كرده اندكه براي اين سيستم عامل سازگاري باينري رافراهم كنند ، سازگاري باينري يعني اينكه برنامه اي راكه يكباركامپايل شده است روي تعدادي سيستم عامل اجراشود.اين سيتم عامل اگردراختياريك مدير واردقرارگيردمي تواندهركاري راسريع وباضريب اطمينان بالاانجام دهد.

خط فرمان يونيكس شبيه خط فرمان DOS است ولي باقابليت انعطاف پذيري وقدرت بسياربالاتر.رابط گرافيكي يونيكس پنجره هاي X هستندكه انواع مختلفي از آنها كه دريونيكس مديران پنجره نام دارند وجودداردكه : ( Motif , FVWM , Open Look ) ازآن جمله اند.

يونيكس بعنوان يك سرويس گيرنده شبكه فوق العاده خوب كارمي كندوپروتكل پيش فرض آن TCP/IP [۱] است.TCP/IP كه همان پروتكل اينترنت است وبه عنوان يك استانداردجهاني ورايج براي اتصال انواع كامپيوترهامورداستفاده قرارمي گيرد.ويژگي اصلي پروتكل TCP/IP اينست كه مي تواندمحيط هاي گوناگون ومتفاوت رابه هم مرتبط سازداين پروتكل ازنوع پروتكل هاي قابل مسيردهي است وبه عنوان پروتكلي استانداردبراي متصل كردن شبكه ها به كارمي رود. اين پروتكل كه مقياسي است كه پروتكلهاي ديگرباآن مقايسه مي شوند(چون بسته پروتكل TCP/IP به اندازه اي كامل است كه هيچ همتايي ندارد) درواقع روي سيستمهاي يونيكس وبراي آنهاتوليدشد.

پروتكل هايي كه براي پشته پروتكل هاي TCP/IP نوشته شده اند:
SMTP [۲]: اين پروتكل براي انتقال پست الكترونيك بكارمي رود.
FTP [۳]: اين پروتكل براي انتقال فايل ها درميان كامپيوترهايي كه TCP/IP استفاده مي كنندتهيه شده است.
SNMP [۴]: پروتكلي براي مديريت شبكه

يونيكس درسطح شبكه مي تواندتقريباباهرچيزديگري كه از TCP/IP استفاده مي كندوبسياري ازسيستم هايي كه ازآن استفاده نمي كنند،بطورمتقابل كاركند. يونيكس هاردهاي حجيم رامي تواندمديريت كندوبطورقابل ملاحظه اي ازتمام سيستم هاي عامل بازارخودسريعتراست .

فايلهابراي آنكه بتواننددرشبكه مفيدباشندبايدبه اشتراك گذاشته شوند.نيازبه روشي كه به كاربران PC اجازه بدهدكه درايوهاي هاردسرويس دهنده يونيكس رابعنوان درايوهاي شبكه ببيندباعث شدتانرم افزار NFS براي PC تهيه شد.اين نرم افزاريونيكس راقادرمي كندكه به فايلهاي يك سيستم دوردست دسترسي داشته باشدبااستفاده ازآن PC درايوهاردسيستم يونيكس رابعنوان درايوديگرشبكه مي بيندوهمچنين روش فوق العاده اي رابراي به اشتراك گذاشتن منابع فايل يونيكس باكامپيوترهاي شخصي ارائه مي كندوسيستم هاي يونيكس راقادرمي سازدبراحتي بابسياري ازسيستم هاي مختلف ديگركاركند.

يكي ازامكانات يونيكس امكان استفاده اززبانهاي اسكريپتينگ [۵] است . زبانهاي اسكريپتينگ زبانهاي برنامه نويسي هستندكه دربسياري ازسيستم هاي عامل ازپيش وجوددارند.يك Shell Script اصولا يك فايل متن است شامل تعدادزيادي دستوركه بانظم كامل بدنبال هم آمده اندوطوري تنظيم مي شودكه سيستم آنرابخواندودستورات داخل آنرااجراكند. Shell Script هاشبيه به batch فايلهاي نيرومندداس وويندوز هستند.Shell Script هايي وجوددارندكه كارهايي مثل بررسي امنيت ،چاپ گزارشات براي مديران شبكه ياخودكارگرفتن نسخه پشتيبان ازسيستم راانجام مي دهند.

استفاده ازيونيكس نسبت به سيستم عاملهاي ديگرشبكه درجهان پراكنده تراست .نرم افزارهايي كه براي يك نسخه يونيكس نوشته مي شوندمعمولا درنسخه هاي ديگركارنمي كننداين فقدان سازگاري باعث كاهش بازاريونيكس شده است ودرجايي كه قابليت اطمينان مطلق اجباري باشدازآن استفاده مي شود. باوجودپيچيدگي هرنسخه يونيكس يك سرويس دهنده بسيارخوب فايل ، چاپ وبرنامه است . بدليل ۳۰سال بهسازي ،قابليت اطمينان يك سيستم يونيكس معمولا ازسيستمهاي ديگريك پله بالاتراست.

چون سيستم هاي يونيكس ازاستانداردهاي وضع شده توسط LETF پيروي مي كنندمي توانندبدون مشكل اساسي باهمديگركاركنند.يونيكس يك توليدكننده مي تواندبا يونيكسي كه درجايي ديگرتوليدشده است براحتي مي تواندارتباط برقراركند.به همين دليل است كه سرويس هاي وب [۶] و Email اينترنتي معمولا روي سيستم هاي يونيكس يا لينوكس انجام مي شوند.

يونيكس يك سيستم عامل چندوظيفه اي [۷] است كه مي توانداولا ازطريق ترمينال ، كه درآن پردازش درسرويس دهنده يونيكس انجام مي شودوكاربرفقط ازمانيتوراستفاده مي كندو دوما ازطريق شبكه TCP/IP روي اترنت ، Token Ring [۸] ويابعضي توپولوژيهاي ديگرشبكه چندين كاربررا پشتيباني نمايد.
يونيكس با ترمينالهاارتباط برقرارمي كندودستيابي راازطريق يكسري برنامه كه همگي حروف tty كه مخفف teletype است رادرخوددارندكنترل مي كند . معروفترين ترمينال مورداستفاده دريونيكس VT100 است كه ساخت شركت Digital Equipment Corporation مي باشد.ترميناله اغلب بوسيله پورت سريال (پورت tty ) باشبكه مربوط مي شونددراين روش يونيكس همه پردازشها راانجام مي دهدوكاربرفقط اطلاعات راروي صفحه ترمينال مي بينديعني ترمينال هيچ پردازشي انجام نمي دهد.گاهي مي توان اين ارتباط راازطريق شبكه برقراركردكه به جاي tty به آن شبه ترمينال [۹] يا pty گفته مي شودنوع ديگرترمينالها ، ترمينالهاي X است كه سيستم Xwindows رااجرامي كنندمعمولا ترمينال X ،ترمينالي گرافيكي است كه مقداركمي حافظه ،صفحه گرافيكي تمام رنگ وموس دارد.ترمينالهاي X دربعضي ازمحيطها مي توانندكمي ازپردازش هاي محلي راانجام دهندوگرافيك خودرامديريت كنند.ترمينالهاي X ازطريق يكي ازانواع ارتباط اترنت به سرويس دهنده يونيكس مرتبط مي شوند.

درحال حاضرنرم افزارهاي شبيه سازترمينال زيادي براي PC واپل ها وجودداردكه كاربران مي تواننداز PC هاي خودباسيستم يونيكس كاركننددرواقع برنامه هاي زيادي از Socket Connection استفاده مي كنندوارتباط مستقيم بايونيكس برقرارمي كننددراين حالت برنامه روي PC سرويس گيرنده اطلاعات راازطريق TCP/IP به سرويس دهنده يونيكس مي فرستدوبالعكس.

ساختار۲
يونيكس فايلي داردكه با / شروع مي شودوسيستم فايل ريشه [۱] نام دارد.اين سيستم بطورمنطقي شامل همه سيستم مي شوددرايوهامنابعي هستندكه درزيرشاخه هاي سيستم فايل ريشه قراردارندومتعاقبا همه فضاي ديسك موجوددريك سيستم ازنظرتئوري براي هرسيستم فايلي موجوداست .يونيكس به سيستم هاي فايل [۲]اجازه مي دهدفضاي موجودديسك رااستفاده كنندبدون توجه به اينكه يك ديسك يا چندديسك درسيستم موجوداست.اين ويژگي باعث مي شودسيستم هاي فايل يونيكس قابليت گسترش بالايي داشته باشند.به اين صورت ازفضاي ديسك به بهترين صورت وبابالاترين كارايي استفاده مي كند.
فايل سيستم دريونيكس شكلي سلسله مراتبي ودرخت شكل دارد.يك دايركتوري [۳] درواقع محلي است كه گروهي ازفايلهارادرخودنگه مي داردهمچنين مي تواندشامل دايركتوريهاي ديگري باشد. يك فايل عبارتست ازرشته اي ازبايتهاي اطلاعاتي كه تحت شكل خاصي روي محيط ديسك يانوارمغناطيسي قرارمي گيرند.فايلهاشامل هراطلاعاتي مي توانندباشندمثل برنامه هاي فايل اجرا،فرامين ،متون، پيغامهاي پست الكترونيك [۴]،پايگاههاي اطلاعاتي ،تصاويري ازصفحه نمايش يا عكسهاوغيره .

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

هرفايل عادي يادايركتوري داراي يك نام وحروف كوچك وبزرگ ازهم متفاوتند.نام يك فايل دريك دايركتوري منحصربفرداست ولي ممكن است دردايركتوريهاي مختلف فايلهايي بااسامي يكسان پيداشود.نام مسير [۵] يك سلسله نام دايركتوري است كه به يك فايل مشخص منتهي مي شودنام هردايركتوري بايك / ازنام دايركتوري ديگرجدامي شود.اگرنام مسيربا / شروع شودمشخص مي كندكه آدرس دهي ازريشه اصلي درخت فايل سيستم يعني ازroot شروع شده است كه به آن مسيرمطلق يا كامل [۶] گويند .درغيراينصورت شروع ازدايركتوري جاري (محل كار) خواهدبودكه آنرانام مسيرنسبي [۷] مي نامند،چون نسبت به مسيرجاري مشخص مي شود.

مورداستثنايي درساختارسلسله مراتبي فايل سيستم قانون اتصال [۸] فايلهاست .يك اتصال درواقع فايلي است كه به فايل يادايركتوري ديگري اشاره مي كند.هراتصال نامي داردومحلي دردرخت دايركتوريها. بعبارت ديگردقيقا مثل يك فايل عادي است بااين تفاوت كه محتوي نداردوفقط به فايل ديگري اشاره مي كند.
بعضي ازدايركتوريهاي مهم وشناخته شده يونيكس عبارتنداز:
/ : ريشه اصلي
/usr : محل نگهداري دايركتوريهاي مهم سيستم
/dev : محل نگهداري فايلهاي مخصوص
/lib : محل نگهداري فايلهاي معروف به Library
/etc : محل نگهداري پايگاههاي اطلاعاتي مورداستفاده سيستم
/bin : محل نگهداري فرامين اصلي سيستم
/tmp : محل ساختن فايلهاي موقتي سيستم
/home : محل نگهداري دايركتوري استفاده كنندگان
/usr/bin : محل نگهداري فرامين اصلي سيستم
/usr /sbin : محل نگهداري فرامين اصلي سيستم
/stand : قسمتهايي ازkernel كه براي راه اندازي ماشين استفاده مي شوند
/shlib : قسمتهايي ازسيستم عامل كه library مربوط به برنامه هاي كاربردي راشامل مي شود.

ساختار۱
يونيكس ازيك نظام فايلي سلسله مراتبي استفاده مي كندبنابراين حفظ هماهنگي وصحت پارامترهاي آن بسيارآسان است وكارايي سطح بالايي راباعث مي شودازطرف ديگرفايلهارابايك شكل وسازمان جايگذاري مي كندوبدينوسيله برنامه نويسي كاربردي راراحت مي نمايد.همچنين سخت افزارراازاستفاده كننده مخفي مي سازدبنابراين امكان استفاده ازهرگونه ترمينال ،چاپگر،حافظه جانبي … براحتي وبدون محدوديت امكان پذير است.

يونيكس كليه مولفه هاي سخت افزاري رابصورت نرم افزارارائه وبيان مي كندبنابراين محيطي هماهنگ ويكدست بوجودمي آيد.به عبارت ديگرهمه چيزدريونيكس يك فايل است ،چه درايوهارد،چه پورت سريال يايك فايل ،همه يك فايل است پس مي توانيدآن رابخوانيدوروي آن بنويسيدبنابراين وقتي روي درايومي نويسيدنرم افزارمي پنداردكه درحال نوشتن دريك نوع فايل خاص بنام Block Device است چون هردفعه بلاكهاي ديسك رامي خواند.

يونيكس داراي ورودي استاندارداست كه آنرا Redirection يادوباره مسيردادن مي نامند.ازديديونيكس ورودي وخروجي استانداردبه معناي زنجيركردن برنامه هابه يكديگروقراردادن خروجي يك فايل به عنوان ورودي برنامه بعدي موجوددرزنجيرمي باشد.همه عمليات ورودي وخروجي مربوط به دستگاههاي سخت افزاري ازطريق نوشتن روي يك فايل انجام مي شوداين فايل بدليل خصوصيات ذاتي اش بافايلهاي عادي فرق داردونام آن (نام مسيرآن ) درنهايت به يك كانال ورودي /خروجي (بجاي محلي روي ديسك) ختم مي شود.

نگارشهای يونيکس
نگارشهاي متفاوت يونيكس درهمه جاموجوداست .سولاريس [۱] براي ايستگاههاي كاري سان وكامپيوترهاي شخصي مبتني براينتل ، Unix Ware ازناول ولينوكس [۲] كه نگارشي است باكاركردي مشابه يونيكس كه بصورت رايگان دردسترس مي باشدوبراي كامپيوترهاي شخصي نوشته شده است .
برخي نسخه هاي شناخته شده يونيكس عبارتنداز:
BSD : طراحي شده دردانشگاه بركلي ومورداستفاده درزمينه هاي علمي ومهندسي.
XENIX : طراحي شده دركمپاني SCO وقابل پياده سازي روي كامپيوترهاي شخصي وسيستمهاي Desktop .
Unix System V : جهت استفاده درموارد اداري ، مالي ، تجاري .قابل استفاده درماشينهاي متوسط تاكامپيوترهاي بزرگ.
SUNOS : مورداستفاده روي ماشينهاي SUN وداراي محيط گرافيكي وشبكه NFS .
SVR 4 : جديدترين وآخرين نسخه يونيكس طراحي شده توسط AT&T كه برروي بيشترماشينهاقابل ارائه مي باشدوبعنوان Unix استانداردشناخته شده است ودرواقع جهت تكميل وتصحيح نسخه هاي قبل نوشته شده است وآسانتروسريعتروبهترازآنان عمل مي كند.
[۱] Solaris
تاريخچه
درسال ۱۹۶۹ كن تامپسون درآزمايشگاه بل بازي ( Space Travel ) رابراي سيستم عامل MULTICS طراحي كرد.سپس بدليل اينكه بازي فوق روي كامپيوتربزرگ GE بخوبي اجرانمي شدوهزينه هنگفتي رادربرداشت تامپسون به همراه دنيس ريچي به بازنويسي بازي پرداختندتابتوانندآن رابرروي كامپيوتر ( DEC PDP-7 ) كه درآن زمان بي استفاده بوداجراكنندبراي انتقال بازي به DEC تامپسون مجبورشدسيستم عامل جديدي طراحي كندكه برايان گرنيكان ديگرمحقق آزمايشگاه به اين سيستم عامل لقب UNICS راداد.
درسال ۱۹۷۳ تامپسون وريچي يونيكس راباC بازنويسي كردندواين كارباعث شديونيكس به سيستم عاملي تبديل شودكه مي توانست برروي انواع متفاوتي ازكامپيوترهااجراگردد. يونيكس بين سالهاي ۱۹۷۴ تا۱۹۷۹ درواقع يك محصول تحقيقاتي بودكه دردانشگاهها به منظورمقاصدآموزشي محبوبيت يافته بوددراين سالهابرنامه هاي كمكي وابزارهاي بسياري به يونيكس افزوده شد.درهمان زمان نيزصنعت كامپيوتربه سرعت رشدپيداكرد.
توسعه يونيكس ديگربه آزمايشگاههاي بل و AT&T محدودنمي شدودر۱۹۷۴ دانشگاه بركلي كاليفرنيافعاليت خودراروي يونيكس شروع كردو BSD راطراحي كردكه شامل برنامه هاي كمكي متداول مانندويرايشگرمتن VI وپوسته C بودكه اين تحقيقات هنوز ادامه دارد.

بيل جوي يكي ازطراحان BSD درشركت سان ميكروسيستم روي يونيكس تحقيقاتي راشروع نمودو SUNOS راكه تقريبا نگارش بسط يافته BSD است بوجودآورد. پس ازآن چندشركت ديگرنيزبه اين كارپرداختندونگارشهاي خودراازيونيكس گسترش دادند: (AIX ازآي بي ام، ULTRIX از DEC وHP-UX ازهيولت پاكاردنمونه هايي ازيونيكس نيمه اختصاصي وبرخي ديگرمثل : Coherent از Mark Williams Company فقط نرم افزارهايي هستندكه مثل يونيكس واقعي به فرمانهاي آن پاسخ مي دهند) .

درسال ۱۹۸۰ مايكروسافت زينكس راكه نگارش كاهش يافته يونيكس بودرامنتشركردوبدين ترتيب يونيكس دردسترس كاربران ريزكامپيوترها نيزقرارگرفت.
درفرآيندتوسعه يونيكس ناسازگاريهايي درنگارشهاي گوناگون به وجودآمدكه همين امرطراحي وتوسعه يكنواخت نرم افزارراتاحدي مشكل كردوباتوجه به اينكه هرچقدرهم سيستم عامل خوب باشددرنبودبرنامه هاي سودمندكاربردي هيچ كس تصميم به خريداري واستفاده ازسيستم عامل نخواهدگرفت به همين دليل (Unix System V Release 4) توسط AT&T معرفي گرديد.

يونيكس و لينوكس در برابر حملات مهاجمين مقاوم نيستند
ايلنا: يونيكس ، يكى از سيستم هاى عامل رايج در جهان است كه امروزه در سطح بسيار وسيعى استفاده مى شود و تاكنون حملات متعددى به سيستم هايى كه از يونيكس (نسخه هاى متفاوت) به عنوان سيستم عامل استفاده مى شود، صورت گرفته است. بنا به اين گزارش، براى كاهش ميزان آسيب پذيرى اين سيستم هاى عامل، بايد نسخه BIND اين سيستم را به روز و حفره هاى موجود در سيستم را PATCH (ترميم) كرد. همچنين، راه هاى ديگرى براى كاهش ميزان آسيب پذيرى چون غيرفعال كردن BIND deamon ،محدود كردن BIND وجود دارد. لازم به ذكر است، BIND يكى از نقاط آسيب پذير يونيكس و لينوكس است و نقاط ديگرى چون، PPC ، سرور وب ، سرويس هاى خطى ، ارسال نامه ، پروتكل مديريت شبكه ساده (SNMP) ، لايه محافظ و غيره در اين سيستم وجود دارد.

ترفيع، بهبود امكانات، ارتقاء upgrade
1- فرآيند نصب يك نگارش جديدتر و قوى تر. به عنوان مثال ممكن است به يك نگارش جديدتر و با توانائيهاى بيشتر از يك بسته نرم افزارى، يا به يك ديسك سخت بزرگ تر ارتقاء پيدا كند. در مورد سخت افزار ارتقاء اغلب كيت ارتقاء (upgrade kit) نيز ناميده مى شود.
۲- يك نگارش جديد و قوى تر از نرم افزار (نامى كه خود نرم افزار بهبود يافته اشاره دارد.
كامپيوتر ترفيع پذير، كامپيوتر قابل ارتقاء upgradeble computer

يك سيستم كامپيوترى كه با بالارفتن سطح تكنولوژيك قابليت پيشرفت دارد. كتمپيوترهاى ترفيع پذير در مقدارى از مدار كامپيوترى كه در هنگام انجام ارتقاء بايد تعويض شود، و همچنين نحوه انجام عمل ارتقاء با يكديگر تفاوت دارند.
كابل زوج به هم تابيده بدون حفاظ unshielded twisted pair cable
با حروف اختصارى UTP، كابلى شامل دو زوج سيم مسى به هم تابيده يا بيشتر.

UPS
1- مختصرuninterruptable power supply (به مفهوم منبع تغذيه وقفه ناپذير) كه به صورت “يو-پى-اس” تلفظ مى شود. منبع جايگزين نيرو معمولا شامل مجموعه اى از باطريها، كه در هنگام ايجاد وقفه در سرويسى توان مصرفى عادى يا افت برق به زير سطوح قابل قبول، به منظور تأمين توان مصرفى كامپيوتر استفاده مى شود. يك UPS داخل خط به طور پيوسته بر جريان برق در واحد نظارت دارد و آن را اصلاح مى كند. در صورت قطعى برق، به فراهم نمودن برق تنظيم شده ادامه مى دهد. يك UPSخارج از خط بر سطح ACنظارت دارد، اما تنها در هنگام افت برق به زير يك سطح از پيش تعيين شده تغيير وضعيت مى دهد، بنابراين احتمال يك تأخير زمانى كوچك وجود دارد. چون يك سيستم UPSگران است، معمولا براى حياتى ترين ابزارها در شبكه، مانند سرويس دهنده ها، مسيرگردانه، دروازه ها، و ديسك هاى سخت مستقل به كار مى رود.
كاربر user

هر فردى كه امكان دستيابى به سيستم كامپيوترى يا شبكه را دارد.
UNIX
باتلفظ “يونيكس”، يك سيستم عامل چند منظوره كه در سال ۱۹۶۹ توسط AT&T براى استفاده در مينى كامپيوترها ابداع گرديد. يونيكس شكلها و نگارشهاى متنوعى دارد. يك سيستم عامل قوى بوده و چون به زبان C نوشته شده، نسبت به سيستم هاى عامل ديگر قابليت حمل و جابجايى بيشترى بين سيستم هاى مختلف دارد. يونيكس در شكلهاى مرتبط متعددى وجود دارد كه از جمله آنها مى توان ALX كه توسط IBM (براى اجرا در ايستگاههاى برپايه RISC) طراحى شده نام برد.
نوسازى، به روز رسانى ، به هنگام سازى ، نگارش اصلاحى update
به عنوان فعل ، تغيير سيستم يا فايل داده ها به منظور منعكس كردن آخرين تغييرات در آن مى باشد. به عنوان اسم ، به مفهوم نگارش جديد يك نرم افزار موجود است.

uplink
ارتباط مخابرهاى از يك ايستگاه زمينى به يك ماهواره ارتباطاتى.
upload
در ارتباطات، روند ارسال يك كپى از فايل موجود در كامپيوتر آن طرف خط ارتباطى با استفاده از مودم يا شبكه مى باشد.
حروف بزرگ uppercase
شكل بزرگ حروف مانند X، Y و Z.

USENET
يك شبكه جهانى از سيستم هاى يونيكس كه تحت سرپرستى متمركزى قرار نداشته و توسط گروههايى كه علايق مباحثه اى ويژه مشتركى دارند براى مخابره پيامها و پست الكترونيكى مورد استفاده قرار مى گيرد.
خوش كار، سهل الاستفاده user friendy
صفتى است كه به سهولت قابليت فراگيرى يا به كارگيرى دلالت مى كند.
گروه كاربران، انحمن كاربران user group
گروهى از كسانى كه علاقه مشتركى در مورديك سخت افزار يا نرم افزار كامپيوتر دارند.
رابط كاربر user interface

بخشى از برنامه كه كاربر با آن رابطه برقرار مى كند. اگر كاربر فرمانهايى را در صفحه كليد وارد كرده و برنامه نيز با عملكرد خاصى به آنها پاسخ دهد، گفته مى شود كه برنامه مزبور يك رابط خط فرمانى دارد. اگر فرمانها از طريق فهرستهاى گزينشى (منوها) در اختيار كاربر قرار گيرند، به رابط مزبور، رابط گزينشى گفته مى شود. برنامه اى كه اطلاعات را به طور گرافيكى نشان داده و براى برقرارى رابطه با كاربر به يك وسيله اشاره اى نياز داشته باشد، گفته مى شود كه يك رابط گرافيكى كاربر دارد.

نام كاربر user name
نامى كه يك شخص در شبكه ارتباطاتى بهوسيله آن شناخته شده و مورد خطاب قرار مى گيرد.
user profile
اطلاعاتى كه در مورد يك كاربر مجاز در سيستم كامپيوترى چند كاربره نگهدارى مى شود. اين اطلاعات جهت اهداف امنيتى و دلايل ديگر مورد استفاده قرارگرفته و حاوى مواردى چون سطح محدوديت دستيابى كاربر به منابع شبكه، محل صندوق پستى، نوع پايانه و غيره مى باشد.
برنامه يوتيليتى، برنامه كمكى utility program .

همانطور كه مي‌دانيد مي‌توان نسخه‌هاي متعددي از يونيكس را يافت كه بر روي سخت‌افزارهاي اينتل و AMD قابل اجرا بوده و در ضمن مجاني نيز باشند. لينوكس سيستم عاملي است كه به هنگام بحث در مورد آيندة يونيكس در دنياي كامپيوترهاي شخصي (PC)، همه بي اختيار از آن صحبت مي‌كنند. اما در واقع سيستمهاي يونيكس ديگري نيز براي استفاده در دنياي PCها وجود دارند كه شايد مشهورترين آنها سيستمهاي مشتق شده از يونيكس BSD باشند. شايد بهتر باشد براي ورود به بحث در اين مورد به تاريخچه مختصري در مورد يونيكس اشاره شود.

هركس كه حتي كمي با يونيكس سروكار داشته باشد، حتماً از آزمايشگاههاي Bell چيزهايي شنيده است. اين آزمايشگاهها كه در واقع بخشي از AT&T بودند، نخستين نسخه يونيكس را در سال ۱۹۷۱ بوجود آوردند. در سال ۱۹۷۶ نسخه ۶ يونيكس منتشر شد كه بازنويسي شدة نسخه‌هاي قديميتر با زبان C بود. اين سيستم روي بسته‌هاي سخت افزاري مختلفي پيداسازي شده و توجه زيادي را در دنيا، بخصوص در محيطهاي آكادميك، به خود معطوف كرد.
طبق قوانين ايالات متحده، AT&T از فروش مستقيم نرم افزار منع شده بود، لذا مجوز توسعه و نيز استفاده از كد يونيكس را به گروههاي مختلفي واگذار نمود كه يكي از معروفترين و برجسته‌ترين آنها CSRG (Computer Science Research Group) يا گروه تحقيقاتي علوم كامپيوتر در دانشگاه بركلي بود. به زودي يونيكس اين گروه با نام (Berkeley Software Distribution)BSD معروف شد.

همزمان با توسعه يونيكس در AT&T، عموميت و محبوبيت يونيكس BSD هم افزايش يافت واسط C (shell) امكانات حافظه مجازي (Virtual Memory) و ويرايشگر VI به آن افزوده شد و پس از تهيه امكانات شبكه و اضافه شدن آنها به BSD بازهم بيشتر مورد توجه قرار گرفت. اين امكانات جديد كه توسط CSRG تهيه شده بود، مجموعه‌اي از پروتكلهاي جديد بود كه TCP/IP ناميده شد و در سال ۱۹۸۲ در نسخة BSD 4.2 به بازار عرضه گشت.
در اين زمان محدوديت‌هاي AT&T برطرف شد و سيستم يونيكس تجاري آن به نام System V توليد شد. حتي در اين زمان نيز تعداد زيادي از تهيه كنندگان نرم افزار، نسخه‌هاي يونيكس خود را مي‌فروختند و از آنجايي كه BSD از امكانات زيادي در قياس با System V برخورد بود، بيشتر اين يونيكس‌ها نيز مبتني بر BSD بودند.

در اواخر دهه ۸۰ و بدنبال آشكار شدن تفاوتهاي آشكار BSD و SystemV، AT&T به دنبال تلفيق تفاوتها و جبران ضعفها برآمده و نسخه ۴ از SystemV (SVR4) را ارائه نمود. در SVR4 بسياري از ابزارها و امكانات BSD از جمله TCP/IP گنجانده شد و بدنبال عرضه آن، بسياري از توليدكنندگان به تهيه يونيكسهاي مبتني بر SVR4 (SystemV Release4) مي‌پرداختند. تا اين زمان نسخه‌هاي BSD بدليل استفاده از قسمتهايي از كد نسخه ۶ يونيكس مجبور به پرداخت هزينه‌هاي بالايي به AT&T بودند، هرچند بيشتر كدهاي BSD4.3 خارج از AT&T تهيه شده بود. اين هزينه‌هاي بالا توليدكنندگان BSD را بر آن داشت تا به هر قيمتي شده خود را از دست اين كدها خلاص كنند.

در اين زمان بود كه لينوس توروالدز پروژه‌اي را به منظور تهيه يك هسته (Kernel) شبيه به يونيكس آغاز كرد كه از كدهاي AT&T استفاده نمي‌كرد و طبعاً با مشكلات BSD هم روبرو نمي‌شد. اين هسته از ابزارها و كتابخانه‌هاي (GNU is Not Unix!)GNU كه خود نيز يك پروژه مشابه يونيكس بود، سود مي‌جست.
همزمان با توسعه پيشرفت سيستم GNU/Linux، دعوا و ستيزه در دنياي يونيكس نيز ادامه يافت. گروه CSRG در دانشگاه بركلي با كمبود سرمايه و پشتيباني مواجه بود و بنابراين BSD به صورت كد باز (Open Source) عرضه شد. اين نسخه كه به Net-2 معروف شد، فاقد كدهاي انحصاري AT&T بوده و در نيتجه يك سيستم غيرقابل استفاده بود. براي جايگزين كردن اين كدهاي حذف شده، سريعاً پروژه‌هايي آغاز گشت كه مشهورترين آنها NetBSD و FreeBSD بودند. نهايتا‏ً تمام مشتقات BSD مبناي خودرا براساس نسخه BSD 4.4 كه به ۴٫۴ BSD Lite مشهور بوده و فاقد كدهاي AT&T است،‌ قرار دارند.

در حال حاضر ۳ پروژة كد باز يونيكس بر مبناي ۴٫۴ BSD Lite فعال مي‌باشند. FreeBSD، NetBSD و پروژه‌اي جديدتر بنام OpenBSD . از آنجايي كه مبناي هر سه اين پروژه‌ها يكي است، تفاوت فني چنداني بين آنها وجود نداشته و تنها تمركز آنها روي زمينه‌هاي متفاوتي مي‌باشد:
FreeBSD: اين عمومي‌ترين نسخه BSD است كه بيشتر بر بازده و كارايي بالا روي پردازنده‌هاي Intel/AMD متمركز است. وب سايتهاي بسياري از جمله Yahoo و سرويس Hotmail شركت مايكروسافت! از آن استفاده مي‌كنند. يك نكته با مزه و جالب آن است كه شركتهاي مايكروسافت و Unisys اقدام به تهيه يك سايت ضديونيكس كردند (www.wehavethewayout.com) كردند كه از FreeBSD و سرويس‌دهندة وب Apache استفاده مي‌كند!

(http://news.com.com/2100-1001-872266.html)
NetBSD: توجه اين سيستم بيشتر به قابليت پورت شدن روي بسته‌هاي متفاوت بوده و بيشتر از هر سيستم عامل ديگري اين شرط را داراست. از NetBSD بيشتر در كارهاي تحقيقاتي استفاده مي‌شود.
OPenBSD: اين سيستم با استفاده از NetBSD ايجاد شده اما روي بسته‌هاي كمتري پورت شده است. تمركز و توجه OpenBSD بيشتر روي امنيت (Security) بوده و در جايي كه امنيت مهم باشد، OpenBSD تنها انتخاب خواهد بود! ابزار OpenSSH (كه در شماره‌هاي قبل مورد بررسي قرار گرفت) توسط تيم پروژه OpenBSD تهيه شده است.