عنوان صفحه
پیش گفتار ۳
سرگذشت یونیکس ۴
ویژگیهای سیستم عامل یونیکس ۶
ساختار سیستم عامل یونیکس ۸
فایلهای سیستم عامل یونیکس ……………………………………………. ۱۳
فرمان هاي سيستم عامل يونيكس ………………………………………………………….. ۱۴

سیستم عامل یونیکس با سایر سیستم عاملهای دیگر تا اندازه ای متفاوت می باشد زیرا در اصل این سیستم برای برنامه نویسی تهیه گشته است.
واز یک سو چگونگی تولد و رشد سیستم عامل یونیکس با دیگر سیتم های عامل متفاوت است . آمدن این سیستم عامل به جهان تکنو لوﮋی از سمت جهان بازرگانی (تجارت) نبوده است واین خود دلیلی است برای همه گیرشدنش .

البته این سیستم عامل نوشته نشده است بلکه در پاسخ به نیازهای برنامه نویسی در پروژه های خاص بتدریج تکامل یافت وتا به امروز نیز به این سیر تکاملی ادامه داده است .
ما در این نوشته با سرگذشت و ساختار وفرمانهای سیستم عامل یونیکس آشنا خواهیم شد.

unix نام سیستم عاملی است که نخستین بار توسط یک گروه تحقیقاتی در آزمایشگاههای bell متعلق به شرکت AT&T طراحی وایجاد گردید .این سیستم عامل نخست برروی چند مینی کامپیوتر ساخت شرکت DEC نصب شده وبتدریج با توسعه آن بر روی دیگر کامپیوترها عرضه وارائه گردید.
در سال ۱۹۶۹ در آزمایشگاه AT&T کن تامپسون بخاطر مسائل کامپیوترها ومنابعی که در دست داشت . پروژه Multics را متوقف کرد وکار روی ماشین PDP-7 را شروع کرد وبرای این ماشین یک فایل سیستم یک مفسر فرمان و چند برنامه مفید دیگر طراحی نمود .
اما در سال ۱۹۷۰ کن تامپسون و دنیس ریچی زبان B را طراحی کرده و unix را به این زبان دوباره نویسی کردند . وروی ماشین PDP-11 آزمایش نمودند .
سال ۱۹۷۳ دنیس ریچی زبان B را دوباره نویسی کرده و آن را زبان C نامید و unix را دوباره به این زبان نوشت .
سال ۱۹۷۵ برای نخستین بار نسخه ای از یونیکس (نسخه ۶ ) در دسترس همه گان قرار گرفت . و در سال ۱۹۷۸نسخه هفتم آن به بازار عرضه گرديد.
بين سال هاي ۱۹۸۰- ۱۹۷۹ در دانشگاه برکلی کالیفرنیا فعالیت زیادی روی یونیکس انجام و برنامه های مفید فروانی برای این سیستم عامل تهیه شد . بخصوص نرم افزار مربوط به شبکه در این دانشگاه نوشته شد. نسخه هایی از یونیکس که دراین دانشگاه نوشته شدند به نام bsd معرفي گرديدند.

۱۹۸۱ اتحادیه جهانی /usr/group تشکیل و کمپانی sco با همکاری شرکت مایکروسافت نسخه xenix را تولید کرد.
در سال ۱۹۸۲ سیستم سوم از نسخه یونیکس نوشته شد (کند ترین نسخه یونیکس )
۱۹۸۳سیستم V (system v ) نوشته شد که ۳۰ درصد از نسخه پیشین تندتر بود.
درسال ۱۹۸۵ سیستم v.2 (system v relase 2) نوشته شد.
ودرسال ۱۹۸۶ سیستم v3 (system v relase 3) به بازار عرضه گرديد.
وپس از سال ۱۹۸۶ هر ساله برامکانات این سیستم عامل و همچنین بر کاربران آن افزوده شده است چنانچه که امروزه کاربران یونيکس را در سراسر جهان بین ۱۰ تا ۲۰ میلیون نفر برآورد می کنند.

۱-multiprogramming : چند برنامه در آن واحد روی resident,primary storage مي شوند وپروسسور بین آنها switch می کند . دلیل موفقیت این مشخصه , به نشان وسیله ای در افزایش بازدهی سیستم , تفاوت در تندی دستگاهای درون روی وبرون روی پروسسور مرکزی است
۲- Time sharing : در این روش پردازنده مرکزی جسمی است که توسط تمام کاربران و پروسس های مختلف سیستم و کاربران تقسیم می شود وبه هر یک کمی از زمان cpu داده مشود .
۳- Multi user : در صورتیکه در هر لحظه بیش از یک کاربر بتواند از سیستم استفاده کند سیستم Multi user یا چند کاربره نامیده می شود .
۴- Multi Tasking : امکان اجرای برنامه بصورت back ground وfore ground
5- دارا بودن file system بصورت سلسله مراتبی وتامین protection برای داده های سیستم
۶- Generality : بدین معنا که یک روش واحد بتواند اهداف چند گانه ای را برآورده کند این کار از دو راه بدست می آید .
الف . system call های یکسان برای خواندن و نوشتن روی فایل ها و device ها و بافرهای موجود بین پروسس ها.
ب. نامگذاری وprotection یکسان برای فایلهای داده , Directory ها و Device ها
۷- توان جابجایی ((Trans portability
سیتم عامل unix به آ سانی قابل جابجایی است . برای یک سیتم نو با دستکاری اندک بر روی کدهای سیستم عامل unix می توان آنرا جهت نصب آماده کرد . توانایی جا بجایی سیستم عاملی unix از یک گونه رایانه به رایانه دیگر دلیل اصلی موفقیت آن می با شد .

 

سیستم عامل یونیکس دارای چهار بخش اصلی زیر است.
۱) kernel 2) file system 3) shell 4) commands
1- kernel : که در دل سیستم عامل قرار دارد و سخت افزاررا کنترل می کند . تمام

سیستم عامل ها یک kernel دارند وبر اساس فرامین قسمتهایی از سیستم کامپیوتری را فعال یا غیر فعال می سازد . در سیستم عامل یونیکس تلاش بر این بوده است که kernel کارهای کمتری را انجام دهد . بطوریکه بیشتر کارهای سیستم عامل توسط برنامه های سودمند انجام می شود . در سیستم عامل یونیکس هر process یک برنامه در حال اجراء می باشد .
وظایف kernel :
a ) زمانبندی پروسس ها
b ) اختصاص حافظه اصلی
c ) مدیریت فضای دیسک
d ) نظارت بر جابجایی داده ها , بین حافظه اصلی و دستگاهها ی جانبی
e ) اختیار دادن به تقا ضاها بین از برکننده اصلی و دستگاههای جانبی

پروسس ها دو حالت اجرا دارند . ۱) user mode
2) kernel mode
2- فایل سیستم (file system ):
فایل سیستم ساختمانی برای ذخیره و بازیابی اطلاعات ارائه میدهد . هر فایل سیستم دیسک را به چهار بخش تقسیسم می کند:
a) boot block b) super block c) ilist d) data

a ) boot block :
نخستین بلاک از برکننده جانبی برای استفاده سیستم رزرو می شود حاوی داده های لازم جهت راه اندازی سیستم می باشد . این بلاک به نام boot block شناخته شده است
b )super block :
بلاک یک را سوپر بلاک می نامند . این بلاک شامل مجموعه داده ها است ک

ه جایگاه فایل سیستم را مشخص می کند . این داده ها عبارتند از:

۱- سایزفایل سیستم
۲ – تعداد inode ها
۳- تعداد بلاکهای آزاد
۴ – آدرس نخستین بلاک حاوی داده ها
۵- تعداد کل بلاکها
۶- تعداد inode های آزاد
۷- device های فایل سیستم
۸ – آیا فایل سیستم به طریق درست close شده است یا خیر؟
۹- آیا فایل سیستم mount شده است ؟
۱۰- اندازه هر بلاک ( b 512 یا byte 1024 (
c) ilist :
این بخش شامل یک لیست پیوندی ار inode ها می باشد . inode ساختاری به درازای ۶۴ بایت می باشد و شماره آن از ۱ شروع می شود و حاوی داده های زیر می باشد.
— شماره user فایل .(uid )
—- شماره گروه فایل (gid )
—– آدرس فیزیکی محتوای فایل روی دیسک

—— اندازه فایل
——- زمان ایجا د فایل
——– گونه فایل
——— زمان دستیابی به فایل پایانی
———- protection های فایل (مجوزهای کاربر گروه و دیگران )
———— تعداد لینکهای فایل

d ) data :
فضای آزاد باقی مانده روی دیسک بصورت یک link list از بلوکهای دردسترس دیسک نگهداری می شوند .
سیستم عامل یونیکس یک فایل روی هارد دیسک نخستین دارد. این فایل سیستم root نام دارد ویا با نشانه (/) مشخص می شود . فایل root شامل برنامه ها و دایرکتوری هایی است که توسط سیستم عامل ایجاد می شود .

۳- shell: بین سیستم عامل و استفاده کننده قرار می گیرد و ارتباط دهنده این دو می باشد . وظیفه shell خواندن فرمانهای داده شده و تفسير آن به نشانه درخواستي جهت اجراي برنامه دسترسي به فايلها يا ايجاد بروني است shell همچنین دارای زبان برنامه نویسی نیرومندی با توانایی کنترل جریان اجرای برنامه ها (حتی بصورت شرطی )است . shell های رایج در سیستم عامل یونیکس عبارتند از : rshell , jshell, kshell ,cshell و sh

ell استاندارد.
۴- commands : فرمانهای (commands) نامهایی هستند که استفاده کننده تقاضای اجرای آنها را از کامپیوتر می نماید . شکل کلی فرمانهای یونیکس به صورت زیر است .
Command [-options] [Arguments] [file names]
مانند :
$ls – rl /home
$grep -v ‘the’ file

 

نکته : ۱- اضافه کردن به شروع نام فایل آن را مخفی می نماید.
– اضافه کردن $ به پایان خط فرمان , فرمان رادر back ground اجرا خواند کرد .
– با اضافه کردن ; به پایان یک فرمان می توان چند فرمان را در یک خط فرمان اجرا کرد .