اخبار

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

مقدمه

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

این سیستم عامل به طور گسترده در کاربردهای 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 پیشنهاد نمی شوند.

 

 

 

 

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا