سیستم عامل یونیکس(Unix OS)-بخش اول

سیستم عامل یونیکس

0 27

مقدمه

سیستم عامل یونیکس یک سیستم عامل عمومی است.

این سیستم عامل به طور گسترده در کاربردهای backend، برروی سرورها، در workstationهای قوی و … مورد استفاده قرار می‏‌گیرد.  این سیستم عامل یکی از بهترین طراحی­‌های سیستم عامل در زمان خود می‏‌باشد.

خصوصیات سیستم عامل Unix:
  1. طراحی و عملکرد ساده.
  2. قابلیت انتقال.
  3. پردازش پس زمینه(کاربردهای Database و …).
  4. سیستم سلسله مراتبی.
  5. قابلیت چند کاربره.
  6. قابلیت انجام همزمان چندین عملیات(چند وظیفه‏ای).
  7. امنیت بالا.
  8. سیستم عامل Interactive(هم کنشی).
  9. امکانات ارتباطی.
  10. سهولت استفاده.
نرم افزارهای هوشمند:
  1. ابزار دستکاری متن: cut، grep، tr و ….
  2. فیلترهای پیشرفته: sed، awk، و …..
  3. ابزار آرایش اسناد: troff، nroff، و …
  4. زبانهای برنامه نویسی مختلف: C، C++، Java و ….
  5. محاسبه‏گرهای Interactive: bc، dc و ….
  6. ابزارهای پیشرفته: lex، yacc.

تاریخچه

شروع یونیکس با پروژه MULTICS بود که اختصار سیستم محاسبه و عملکرد تسهیم شده می‏‌باشد.

پروژه MULTICS در اواسط دهه ۱۹۶۰ به عنوان پروژه مشترک توسط General Electeric، MIT و Bell Laboratories شروع شد. در سال ۱۹۶۹ ،Bell Laboratories از پروژه خارج شد.

یکی از اعضای آزمایشگاه بل“Ken Thompson” بود: او اصول پروژه MULTICS را  قبول داشت ولی احساس میکرد که پیچیده است و میتواند با گونه‏ های ساده تر نیز انجام شود.

در سال ۱۹۶۹ او اولین نسخه یونیکس را نوشت که UNIC نامیده شد. نام UNICS برگرفته از “UNI-PLEXED” Operating System است که بعدا UNIX نامیده شد.

خصایص و توانمندی­های یونیکس:
  1. توانايي حمل (transportability) : با اندكي تغيير برروي كدهاي سيستم يونيكسمي­ توان آن­ را به­ راحتي بر روي انواع سخت ­افزارها نصب كرد .
  2. توانايي چند وظيفگي (multitasking)وچنداستفادكنندگي (multiuser) : يونيكس اجراي چند كار در يك زمان را مهيا مي­ سازد و همچنين استفاده همزمان چند استفادكننده را از ترمينال­هاي مختلف فراهم مي­كند .
  3. خدمات ارتباطي و اطلاع رساني : خدمات ارسال پيام بلادرنگ را براي يك استفادكننده ، مكالمه­هاي ترمينالي ، ارسال پست­الكترونيك ، ارسال اعلاميه براي همه كاربران و… از توانايي­هاي يونيكس است .
  4. مديريت دسترسي به سيستم : قابليت حفاظت دسترسي به سيستم و منابع آن و تأمين اهداف زير از توانايي­ هاي يونيكس است :
  • تعيين ترمينال­هاي قابل دسترسي عمومي و ممتاز بين كليه ترمينال­ها
  • معرفي استفادكنندگان عادي و ممتاز در گروه­هاي مختلف جهت انجام عمليات حفاظتي
  • تعيين محدوده­هاي عملياتي و اطلاعاتي هر كاربر
  • قابليت عمليات در شرايط تك استفادكنندگي و چند استفادكنندگي
  • قابليت تغيير شخصيت يك كاربر در حين استفاده با رعايت ضوابط امنيتي
  1. تغييرپذيري محيط استفاده : براي دست يافتن كاربر به محيط دلخواه ، در يونيكس مي­توان كلي­ترين سطح يعني مفسر فرمان تا جزيي­ترين سطح يعني كليدهاي كنترلي ترمينال را به دلخواه تغيير داد و تنظيم كرد .
  2. خدمات شبكه­اي : يونيكس كليه پروتكل­هاي شبكه­اي ارتباطي استاندارد را جهت برپاسازي شبكه­هاي كامپيوتري و راه دور در جهان ، در بردارد.
  3. امكانات مديريت و مهندسي نرم­افزار : وجود ابزارهاي قدرتمند براي مديريت پروژه­هاي نرم افزاري و مهندسي نرم­افزار از ديگر اركان يونيكس است .

معرفی سیستم عامل  Unix

ساختار کلی

کوچک زیباست . این اساس یونیکس است. برای درک مفهوم این جمله باید سیستم عامل­های نسل سوم را ( که یونیکس نیز از آنهاست) به یاد آورید . سیستم­های دایناسورواری بودند که برای انجام همه کار طراحی شده بودند . سیستم عامل ماشین­های IBM 360 نمونه خوبی در این مقوله است. سیستم عاملی که توان شبیه سازی تقریبا تمامی سیستم­های عرضه شده تا قبل از خود را داشت و فهرست اشکالات آن یک دفتر به قطر دفتر راهنمای تلفن را تشکیل می­داد!

ساختارهای اطلاعاتی غول آسا سیستم­های ذخیره­سازی پرونده بسیار پیچیده زبان­های برنامه نویسی چون پی ال وان و کوبول که کاربران را تنها در یک سو جهت می­داد و در کل دیکتارتوری IBM که هر استفاده کننده­ای را در شبکه­ای غول­آسا اسیر می­کرد. تیم­ های برنامه نوسی IBM که چون خدایان غیر قابل دسترسی بودند و همه جا با احترام درباره آنها صحبت می­شد. چیزی که هیچ کس حتی جرات فکر کردن درباره آن را نمی­کرد اصلاح در کاری بود که IBM و دیگر پیروان آن عرضه می­‌کردند. دورانی که یک برنامه نویس حرفه­ ای سیستم، مدت زمان درازی را فقط برای یادگیری سیستم عامل صرف می­کرد و با احساس شرم اشکالات سیستم عامل را اگر از کم هوشی خود نمی­دانست به IBM اطلاع می­داد. چه بسیار برنامه­ های بزرگ تجاری که دوباره نویسی می­‌شدند، زیرا سیستم عامل امکان اتصال برنامه‌­های دیگر را به آن­ها نمی­داد.

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

برای به دست آوردن دیدی کلی از یونیکس، شناخت عوامل زیر ضروری است:

۱- پیکر بندی سیستم عامل: هسته مرکزی سیستم  عامل یونیکس جز کوچکی از آن را تشکیل می­دهد ولی این جز از اهمیت اساسی برخوردار است که رابط کاربر و سیستم  عامل می­باشد و در شکل ۱ مشهود است.

این ساختار کلی شبیه به ساختار PC-DOS است. Kernal یا هسته مرکزی در آنجا از دو پرونده IBMBIO.sys و IBMDOS.sys تشکیل می­شود و پیوست پرونده­ای به نام command.com است. تفاوت در ویژگی­ های هسته مرکزی و قدرت بسیار بیشتر پوسته­ های یونیکس است. اولا هر سیستم  یونیکس دارای چند پوسته است که کاربر می­تواند هر کدام را که بخواهد انتخاب کند. (پوسته استاندارد، پوسته محدود، پوسته تصویری، پوستهC، پوسته UUCP) هر کدام از این پوسته ها قابلیت های متفاوتی دارند.

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

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

ساختار

سیستم عامل یونیکس

 

Kernel: در واقع قلب سیستم عامل بوده و با سخت­ افزار و بیشتر واحدهای وظیفه در ارتباط است.

Shell: بخشی است که در واقع خواسته کاربر را پردازش می­کند. وقتی­‌که کاربر در ترمینال دستوری را می­نویسد، این واحد دستور را تفسیر کرده و برنامه مورد نیاز را فراخوانی می‌­نماید.قلب سیستم عامل بوده و با سخت­ افزار و بیشتر واحدهای وظیفه در ارتباط است.

Command and Utilities: دستورات و برنامه‏ های مختلفی هستند که کاربر در کارهای روزانه می­تواند از آن­ها استفاده نماید: cp، mv، cat و grep.

Files and Directories: تمام داده ­های در یونیکس درون فایل­ها و درون دایرکتوری­ها سازماندهی شده ‏اند. این دایرکتوری­ها به صورت یک ساختار درختی سازماندهی شده ‏اند که file system نامیده می‏شود.

مشخصات
  • چند کاربره: قابلیت چند کاربره بودن یونیکس امکان این را فراهم می­‌سازد که چند نفر هم زمان از یک کامپیوتر برای انجام کارهایشان استفاده کنند.
  • چند وظیفه ‏ای: این قابلیت امکان انجام چند عملیات به صورت همزمان را فراهم می‌­سازد. در واقع یک کاربر میتواند چند عملیات را همزمان انجام دهد.
  • سهولت برنامه نویسی: سیستم عامل یونیکس فوق العاده قابلیت برنامه ریزی دارد، واحد shell در یونیکس تمام اجزا لازم نظیر ساختارهای کنترلی و شرطی را داد.
  • امنیت: یونیکس امکان اشتراک داده را فراهم می‌­سازد. هر کاربر باید یک نام و کلمه عبور داشته باشد و دسترسی به داده دیگر کاربران بدون اجازه آن­ها امکان­پذیر نخواهد بود.
  • قابلیت حمل: یونیکس قابلیت حمل دارد زیرا در زبان سطح بالا نوشته شده و در نتیجه می­تواند در کامپیوترهای مختلف اجرا شود.
نرم افزار سیستم یونیکس

استفادكنندگان يونيكس با كمك برنامه واسط Shell كه مرتباً با كرنل در تماس است ، مي­توانند نياز خود را از سيستم برآورده سازند . شكل زير اين ارتباط را نشان مي دهد.

USER
SHELL PROGRAM
KERNEL PROGRAM
HARDWARE

 

ورود به سیستم

جهت ورود به سيستم بايستي عمل logging in را انجام داد تا :

  • يونيكس صحت مشخصات كاربر را در استفاده از سيستم بررسي نمايد.
  • يونيكس محيط مناسب را براي عمليات مورد نيازكاربر فراهم آورد .

ضمناً با توجه به زمان ورود و خروج كاربر ، عمليات حسابداري  ( accounting) كاربر نيز انجام شود .

در سيستم ­هاي چند استفاده كننده تنها كساني حق استفاده از سيستم را دارند كه username و password منحصر بفردي را از مديريت سيستم دريافت كرده ­باشند واز طريق آن مي­توانند از منابع سيستم بصورت اشتراكي استفاده كنند .

يونيكس پس از بررسي username و password كاربر، در صورتيكه اجازه استفاده از سيستم را داشته­ باشد ، پرامپت Shell خود را نشان مي­دهد  وگرنه مجدداً درخواست login جديد را مي­كند و در صورت چند مرتبه شكست  خط ارتباطي قطع خواهدشد .

login: username

  *******  :password

كاربر به­ كمك فرمان passwod مي­تواند رمز عبور خود را تغيير دهد .

خروج از سیستم

با فرمان logoff مي­ توان از سيستم خارج شد، به اين معنا كه كاربر تقاضاي ديگري از سيستم ندارد.

فرمان ها در یونیکس

شكل كلي فرمان ­ها در يونيكس به صورت زير است كه در آن اسم فرامين را بايد به حروف كوچك تايپ كرد:

[…command     [option…]  [argument

option: رفتار يك دستور را مشخص مي­كند و با علامت (- يا +)همراه است.

دسته بندی فرمان ها

فرمان های یونیکس را می توان به صورت زیر دسته بندی کرد:

اطلاع از وضعيت كنوني سيستم:

مثل فرمان­ هاي :

tty: گرفتن اسم ترمينال

date : تنظيم تاريخ سيستم

who : مشخصات كاربران جاري سيستم

pwd  : نمايش مسير جاري

مدیریت فایل ها و فهرست ها:

مثل فرمان­ هاي :

ls : نمايش ليست فايلها و فهرستها

cat: ايجاد و نمايش فايلهاي متني

cp  : كپي برداري فايلها

rm  : حذف فايلها

mv : انتقال فايلها

od  : نمايش فايلهاي باينري

find : ستجوي فايلها

ln : ايجاد پيوند براي فايل

mkdir : ساخت فهرست

rmdir : حذف فهرست

cd  : تغيير فهرست جاري

vi : ويرايشگر فايل­ها

مديريت پردازش :

مثل فرمان­ هاي :

ps      : مشخصات برنامه­هاي در حال اجرا

kill  : خاتمه دادن به اجراي فرایند

nice : تغيير الويت اجراي فرایند

فرامين ارتباطي :

مثل فرمان­ هاي :

talk : ارتباط محاوره اي با ديگري

write : ارسال پيام به ديگري

mail : ارسال نامه الكترونيك به ديگران

مدیریت فایل

مدیریت فایل در یونیکس

هسته یونیکس تمام پرونده ­ها را به صورت جریانی از بایت ­ها در نظر می­گیرد. هر گونه ساختار منطقی دخلی مخصوص کاربرد است. ولی یونیکس متوجه ساختار فیزیکی پرونده­ هاست.

چهار نوع پرونده  از هم تمیز داده ­می­شوند:

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

در این بخش اداره پرونده های عادی مورد نظر است که در اغلب سیستم  ها به عنوان پرونده  تلقی می شوند.

فايل­ها، مجموعه اطلاعاتي هستند كه بر روي حافظه كمكي ذخيره شده­ اند . فهرست­ ها نيز جهت طبقه­ بندي فايل­ ها بكار مي­ روند .مديريت فايل­ها و فهرست­ ها در يك سيستم چند استفاده ­كننده­ا از اهميت خاصي برخوردار است .

يونيكس ازمدل سلسله مراتبي و ساختار درختي در سيستم فايل­ها استفاده مي­كند و با تعيين محدوده دسترسي هر كاربر امنيت فايل­ها را تضمين مي­كند .

براي دسترسي به فايل­ها بايستي مسير آن­ها را به درستي بيان نمود كه هر مسير متشكل از اسامي فهرست­ها ميباشد كه با « / » از هم جدا شده ­اند .

يونيكس اطلاعات زير را در رابطه با هر فايل نگهداري مي­كند :

دسترسي ­هاي مجاز (access privilage)

نوع فايل

تاريخ ايجاد

تاريخ آخرين اصلاح

تاريخ آخرين دسترسي

اندازه فايل

محل دقيق فايل روي ديسك

گره های شاخص

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

خصیصه­ های پرونده و همچنین اجازه­ ها و دیگر اطلاعات کنترلی، در گره شاخص ذخیره می­شود.

تخصیص پرونده

تخصیص پرونده براساس بلوک انجام می­ پذیرد، تخصیص پویا و بر حسب نیاز است و به صورت پیش تخصیص نیست. بنابر این بلوک­ های یک پرونده روی دیسک لزوما پیوسته نیستند. از یک روش شاخص ­بندی برای دنبال کردن پرونده­ ها استفاده می­شود. بخشی از شاخص در گره شاخص پرونده ذخیره شده است. گره شاخص شامل ۳۹ بایت اطلاعات آدرس می­ باشد که به صورت  ۱۳ آدرس ۳ بایتی با اشاره­ گر سازمان یافته است. ۱۰ آدرس اول به ۱۰ بلوک داده­ های اول پرونده  اشاره می ­کنند. اگر اندازه پرونده بیش از ۱۰ بلوک باشد یک یا چند سطح دسترسی غیر مستقیم به ترتیب زیر به کار گرفته می­شود:

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

مجموع تعداد بلوک های داده ­ها در یک پرونده به ظرفیت بلوک ­های با اندازه ثابت در سیستم بستگی دارد. در unix system V طول بلوک یک کیلو بایت است و هر بلوک می­تواند مجموعا ۲۵۶ آدرس بلوک را نگه دارد. پس با این طرح حداکثر اندازه یک پرونده  بیش از ۱۶ گیگا بایت خواهد شد.

انواع فایل ها

در يونيكس فايل­ها به سه نوع اصلي تقسيم مي­شوند :

  • فايل­هاي معمولي: كاربران براي ذخيره اطلاعات از اين گونه فايل­ها استفاده مي­كنند . اين فايل­ها دو نوعند : فايل­هاي متني و فايل­هاي باينري
  • فايل­هاي فهرست : به منظور نگهداري سيستم سلسله مراتبي فايل­ها، يونيكس از فايل­هاي فهرست استفاده مي­كند . اين فايل­ها حاوي ليست فايل­ها هستند . كاربران فقط مجاز به خواندن اطلاعات اين فايل­ها هستند و فقط سيستم مجاز به نوشتن در اينگونه فايل­هاست .
  • فايل­هاي ويژه :اين فايل­ها براي ايجاد ارتباط با دستگاه­هاي سخت­افزاري مورد استفاده قرار مي­گيرند، مانند دستگاه­هاي I//O . يونيكس به هر فايل ويژه دو شماره اختصاص مي­دهد ، شماره اصلي و شماره فرعي ، كه كرنل با اين شماره­ها مشخص مي­كند كه كدام سخت افزار ورودي /خروجي بطور منطقي به كدام فايل ويژه ، متصل شده­است .اكثر فايل­هاي ويژه در فهرست /dev ذخيره شده­اند.مانند tty0x براي ترمينال و lp0 براي چاپگر خطي و…فايل­هاي ويژه واسطه­اي مابين برنامه­هاي همه منظوره كاربردي و روال­هاي داخلي كرنل هستند تا جزئيات سخت­افزاري را از ديد برنامه كاربردي مخفي كنند .مالكيت فايل­هاي ويژه در اختيار سيستم است .

عملیات بر روی فایل ها

در سيستم يونيكس سه عمل بر روي فايل انجام مي شود :

الف) خواندن

ب) نوشتن ( ايجاد ، تغيير ، حذف )

ج)اجرا كردن (بارشدن در حافظه و اجراي دستورات )

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

محافظت دستيابي فايل­ها در يونيكس به دو عامل بستگي دارد :

الف) نوع دسترسي تخصيص داده شده به فايل (خواندن ، نوشتن ، اجراكردن)

ب) كاربري كه درخواست دسترسي دارد

در ارتباط با دسترسي به فايل ، سه نوع استفاده كننده وجود دارد :

۱)مالك فايل      ۲) اعضاي يك گروه      ۳)بقيه افراد (  others)

مدير سيستم نيز تنها كاربري است كه با نام superuser از  فايل مي­تواند استفاده كند.

مالك فايل بادستور chmod مي­تواند كنترل اجازه دسترسي به فايل را در دست داشته­باشد .مالكيت فايل با دستور chown و گروه فايل با دستور chgrp تغيير مي­كند .superuser نيز مي­تواند حالت فايل­ها را عوض كند.بسياري از فايل­هاي يونيكس بوسيله چند اسم شناخته مي­شوند ، تعداد اين اسامي ،تعداد پيوند آن فايل ناميده مي شود .با فرمان ln   مي توان چندين اسم براي يك فايل ايجاد كرد .

فرمان هاي مديريت فايل

مشاهده ليست فايل ­ها:

اصلي ­ترين فرمان جهت ليست نمودن فايل­ها در يك فهرست، فرمان ls است كه با –l در آن  به عنوان option مي توان جزئيات كاملي از فايل­ها دريافت كرد:

تغيير حالت دسترسي به فايل :

با فرمان chmod مالك فايل مي ­تواند حالت دسترسي به فايل را تغيير دهد .

chmod   [who] op-code  mode  file…

who: براي مالك حرف u، براي گروه حرف g،براي ديگران حرف oو براي تمام كاربران حرف a مي­باشد .

op-code: براي اضافه نمودن اجازه (+) ،براي حذف نمودن اجازه (-) و براي انتساب اجازه (=)  مي­باشد.

mode : براي خواندن حرف r، براي نوشتن حرف wو براي اجرا حرف x مي­باشد .

مثال:

$ chmod  go-rw  poem

اجازه خواندن ونوشتن را از گروه و ديگران سلب مي­كند.

$ chmod   a=rw   readme

به همه اجازه خواندن و نوشتن مي­دهد.

اگر اجازه نوشتن فايلي را حذف كنيد ، فايل قابل حذف كردن نخواهد بود و اگر اجازه خواندن را سلب كنيد ، محتويات فايل نيز قابل مشاهده نمي باشد .

تغيير مالكيت فايل :

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

chown    owner   file…

مثال:

$ chown   root  *           مالكيت تمام فايل­ها را به مدير سيستم مي­دهد

تغيير دادن گروه يك فايل :

با فرمان روبرو مي­توان فايل را به يك گروه نسبت داد.

chgrp   group   file…

group بايد يكي از گروه ­هاي معتبر كه در فايل /etc/group معرفي شده ­اند ، باشد .

تعيين نوع فايل :

به­ كمك فرمان file مي­توان نوع فايل را تشخيص داد .

file    file…

اين فرمان فايل­هاي زبان c ، زبان فرترن ، زبان اسمبلي ،فايل متني ،فايل متني انگليسي، متن با كد اسكي و فهرست­ ها را تشخيص مي­دهد .

ايجاد و ويرايش فايل­ها:

يونيكس ويرايشگري به نام vi دارد كه به­ كمك آن مي­توان فايل جديدي ساخت و يا فايل­هاي موجود را ويرايش كرد .در اين ويراستار امكانات متعددي جهت ويرايش فايل­ها موجود است كه بحث در باره آن در اين مستند ضروري بنظر نمي­ رسد .

مديريت پردازش

فرایند:

يك فرایند يك برنامه در حال اجراست . سيستم يونيكس براي كنترل نمودن فرایند­هاي در حال اجرا برنامه­ هاي مختلفي را فراهم ساخته­ است . هر فرایند با يك شماره واحد شناخته ­مي­شود كه به آن شماره PID يا شماره مشخصه مي­ گويند . فرایند­هاي باشماره مشخصه ۰ و ۱ فرایند­هاي ويژه سيستم هستند . فرایند شماره ۰ ، كرنل سيستم و فرایند شماره ۱، init process نام داردكه وظيفه بر پاسازي ساختار فرایند­ها را برعهده دارد.

هر فرایندي توسط فرایند ديگري كه فرایند پدر ناميده مي­شود ، ايجاد مي­شود .به تعبيري پدربزرگ تمام فرایند­ها،فرایند شماره ۱ مي ­باشد. شماره مشخصه بقيه فرایند­ها در محدوده ۲ تا ۳۰۰۰۰ قرار دارد.

فرمان هاي مديريت پردازش:

اطلاع از فرایندهاي فعال:

ps، مهمترين برنامه است كه وضعيت فرایند­هاي كنوني را نشان مي­دهد.اين فرمان اطلاعات كاملي از فرایند­هاي در حال اجرا به شرح زير نشان مي دهد :

F   S   UID  PID  PPID  C   PRI   NI   ADDR   SZ   WCHAN    tty   TIME    CMD

CMD: نام فرایند

TIME: زمان مصرف شده براي اجراي فرایند

tty: ترمينال كنترلي فرایند

WCHAN : اگر فرایند تقاضايي دارد كه در دسترس نيست ، بايد منتظر بماند ، علت انتظار در اين فيلد بصورت يك آدرس نوشته مي شود و اگر فرایند در حال اجرا باشد اين فيلد خالي است  .

SZ:  اندازه فرایند در حافظه

ADDR : اگر فرایند در حافظه باشد آدرس حافظه وگرنه آدرس ديسك است.

NI : عددي كه در محاسبه الويت بكار مي رود.

PRI : الويت فرایند (اعداد بزرگتر الويت كمتري دارند )

C :زمان مصرف شده cpu جهت زمان­بندي فرایند

PPID :شماره مشخصه فرایند پدر

PID : شماره مشخصه فرایند

UID : مالك فرایند

S : حالت فرایند( SLEEP,WAIT, TERMINATE,RUN,PAUSE)

F : به flagختصاص داده شده به فرایند را كه حالت اجراي آن را نشان مي­دهد.(در حافظه ، در انتظار I/O ، در حال SWAP و…)

خاتمه دادن به فرایند:

اگر به برنامه در حال اجرا ديگر نيازي نيست ،با سيگنال quit نمي ­توان آن را خاتمه داد، چون shell فرایند­هاي در حال اجرا را از سيگنال­ها محافطت مي­كند .ولي با فرمان kill مي­توان فرایند را خاتمه داد.

kill   [-signal_no] PID

PID ، شماره مشخصه فرایند است كه به محض اجراي فرایند توسط shell نشان داده مي­شود ( با فرمان ps نيز مي توان PID فرایند را بدست آورد) .به كمك شماره signal_no مي توان نحوه خاتمه دادن به برنامه را تنظيم كرد.

محافظت فرایند از سيگنالهاي quit و hangup :

معمولاً به هنگام خروج از يونيكس با فرمان logoff ، كرنل سيگنال hungup را به تمام فرایند­هاي در حال كار ازسال مي كند تا به وسيله اين سيگنال خاتمه يابند . اين كار براي مواردي كه خط ارتباطي بصورت غير عمد قطع مي­شود ، مطلوب نيست .يونيكس به­ كمك فرمان nohup ، امكان اجراي برنامه­ها ، حتي در صورت logoff را فراهم مي­ آورد.اين فرمان مانع از ارسال سيگنال خاتمه يافتن به برنامه مورد نظر مي­شود .

nohup   command

command  برنامه ­اي است كه به هنگام logoff يا قطع ناخواسته ارتباط باز هم بكار خود ادامه مي­دهد.اين فرمان خروجي­ هاي برنامه فوق را در فايلي به نام nohup.out در فهرست جاري ذخيره مي ­كند .

کاستن الویت فرآیند

اجراي يك فرایند توسط cpu انجام مي­‌شود و cpu قطعاتي از زمان (time slice) را به هر فرایند اختصاص مي­دهد . اندازه time slice تحت تأثير الويتي است كه كرنل به هنگام زمانبندي به فرایند نسبت مي دهد . هر چه الويت برنامه بيشتر باشد time slice هاي بزرگتري به برنامه اختصاص مي يابد.

اگر اولويت كمتري به برنامه اختصاص دهيم ، برنامه كندتر از ديگر برنامه ها اجرا مي شود . برنامه هايي كه بيشتر از منابع سيستم استفاده مي كنند، بهتر است با اولويت كمتري اجرا شوند تا كمتر باعث كند شدن سيستم شوند.

فرمان nice  باعث كاهش اولويت يك فرایند مي شود :

nice [-increment] commandline

محدوده آرگومان increment ،  یک الي نه مي باشد . مقدار اين آرگومان به مقدار nice  فرضي فرایند ها كه عدد ۲۰ مي باشد ، اضافه مي شود و بدين ترتيب كميت nice فرایند افزايش يافته و اولويت فرایند كم مي شود .

اگر از آرگومان فوق استفاده نشود مقدار پيش فرض ۱۰ در نظر گرفته مي شود و كميت nice فرایند بربر ۳۰ خواهد شد . كاربران عادي تنها مي توانند الويت برنامه هاي خود را كاهش دهند ولي superuser (كسي كه با نام root از سيستم استفاده مي كند) مي تواند الويت برنامه هاي خود را افزايش دهد ، در اينصورت بايد increment را بصورت عدد منفي وارد كرد.

نیازمندی های سخت افزاری

RAM: دارای ۲۵۶ مگابایت

 Hard Derive: حداقل ۱۰ و حداکثر مقدار بستگی به نیاز کاربر دارد.

Video : حداقل ۸۰۰*۶۰۰

Mouse : موس هر موردی میتواند باشد.

REMOVAL MEDIA : اکثرا SCSI

 PRINTER : تقریبا هر پرینتر موازی یا سریال میتواند استفاده شود.

MODEM : اکثرا سریال، ولی هر موردی که DOS بتواند از آن استفاده کند یونیکس هم می تواند.

NIC : موارد Intel,HP,Novell,3Com می توانند استفاده شوند ولی Clones پیشنهاد نمی شوند.

 

 

 

 

شما همچنین ممکن است مانند بیشتر از نویسنده

ترک یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.