whatsapp call admin

دانلود گزارش کارآموزی کار با سیستم عامل Unix در بانک صادرات

word قابل ویرایش
55 صفحه
8700 تومان
117,000 ریال – خرید و دانلود

بخش اول : آشنایی با سیستم عامل UNIX

تاریخچه :
UNIX نام سیستم عاملی است که اولین بار توسط یک گروه تحقیقاتی در آزمایشگاههای Bell متعلق به شرکت AT&T طراحی و ایجاد گردید.این سیستم عامل ابتدا بر روی چندین مینی کامپیوتر ساخت شرکت DEC نصب شده و بتدریج با توسعه آن بر روی دیگر کامپیوترها عرضه و ارائه گردید.
چگونگی تولد و رشد سیستم عامل unix با دیگر سیستم های عامل متفاوت است.ورود این سیستم عامل به دنیای تکنولوژی از سمت دنیای تجارت نبوده و این خود دلیلی است برای همه گیر شدنش. این سیستم عامل که توسط کن تامپسون در سال ١٩۶۹طراحی شد، گروههای برنامه نویسان را در توسعه برنامه ها حمایت می کرد و در جهت ساده تر کردن نحوه ارتباط (dialogue) بین انسان و ماشین می کوشید. البته این سیسنم عامل یکباره نوشته نشد، بلکه در پاسخ به نیازهای برنامه نویسی در پروژه های خاص بتدریج تکامل یافت و تا به

امروز نیز به این سیر تکاملی ادامه داده است. در این بخش خلاصه ای از این سیر تکاملی را می بینیم.
۱۹۶۹در آزمایشگاه AT&T کن تامپسون بخاطر مسائل کامپیوتر ها و منابعی که در دست داشت. پروژه Multics را متوقف کرد و کار روی ماشین PDP-7 را شروع کرد و برای این ماشین یک فایل سیستم، یک مفسر فرمان و چند برنامه مفید دیگر طراحی نمود.

۱۹۶۹کن تامپسون و دنیس ریچی زبان B را طراحی کرده و unix را به این زبان دوباره نویسی کردند. و روی ماشین PDP-11 آزمایش نمودند.

۱۹۷۳دنیس ریچی زبان B را دوباره نویسی کرده و آن را زبان C نامید و unix را دوباره به این زبان نوشت.
۱۹۷۵ نسخه ۶از unix بعنوان اولین نسخه قابل ارائه در دسترس عموم قرار گرفت.

۱۹۷۸ نسخه هفتم unix نوشته شد.
۱۹۸۰ در دانشگاه برکلی کالیفورنیا فعالیت زیادی روی unix انجام و برنامه های مفید فراوانی برای این سیستم عامل تهیه شد. بخصوص نرم افزار مربوط به شبکه در این دانشگاه نوشته شد. نسخه هایی از unix که در این دانشگاه نوشته شدند، نام BSD گرفتند. از جمله امکانات این نسخه، termcap,csh,vi را می توان نام برد.
۱۹۸۱ اتحادیه جهانی /user/group تشکیل و کمپانی SCO با همکاری شرکت مایکروسافت نسخه xenix را تولید کرد.
۱۹۸۲ سیستم سوم از نسخه unix نوشته شد (کندترین نسخه unix)

۱٩۸۳ سیستم ۵(system 5) نوشته شد که ۳۰درصد از نسخه قبلی سریعتر است.
١٩۸۵ سیستم ۵٫۲ نوشته شد. (System 5 Relase 2)
۱۹۸۶ سیستم ۵٫۳ نوشته شد. (S5R3)
۱۹۸۷ سیستم ۵٫۴ نوشته شد. (S5R4)

اسامی نسخه های مختلف unix عبارتند از:
BSD – نسخه های نوشته شده در دانشگاه برکلی که بیشتر در زمینه های علمی و مهندسی نوشته شده اند.
Xenix – نسخه نوشته شده در کمپانی SCO که روی کامپیوترهای شخصی و سیستم های desletop قابل پیاده شدن است.

Unix system 5 – نسخه هایی از unix که در زمینه های اداری و مالی و تجاری نوشته شده و روی ماشین های متوسط تا کامپیوترهای بزرگ قابل پیاده شدن است.
SunOs – نسخه هایی از unix که روی ماشین های Sun پیاده می شوند دارای محیط های گرافیکی و شبکه NFs است.
S5R4 – این نسخه از unix جدیدترین و آخرین نسخه unix نوشته شده توسط AT&T است و روی بیشتر ماشین ها قابل ارائه است و بعنوان unix استاندارد شناخته شده است. این نسخه در جهت تکمیل و تصحیح نسخه قبلی نوشته شده است. بغیر از رفع مسائلی که استفاده کنندگان unix احساس می کردند، این نسخه آسانتر، سریعتر و بهتر تز نسخه قبلی عمل می نماید.

آشنایی با سیستم عامل
در یک تعریف ساده می توان گفت که سیستم عامل برنامه ای است که سخت افزار را کنترل می کند. یک سیستم عامل برنامه ای است که سهولت استفاده از کامپیوتر و نتایج آن را برای کاربران فراهم می سازد. پایه ای ترین وظیفه یک سیستم عامل مدیریت منابع (Resources) سیستم است.مهمترین منابعی که یک سیستم عامل مدیریت می کند عبارتند از:

– پردازشگر cpu
– حافظه اصلی
– حافظه جانبی
– دستگاه های ورودی و خروجی (I/O)
– داده ها (Data)

– تعریف رابط کاربری (محیطی که کاربران از طریق آن با سیستم ارتباط برقرار می کنند)
– امکان اشتراک داده ها بین کاربران مختلف
– مدیریت ورودی و خروجی
– زمانبندی منابع بین کاربران مختلف
– بازیابی سیستم پس از بروز خطا

ویژگی های سیستم عامل unix
۱- multiprogramming : چند برنامه در آن واحد روی primary storage ،Resident شده اند و پروسسور بین آنها switch می کند. علت موفقیت این مشخصه، بعنوان وسیله ای درافزایش بازدهی سیستم، تفاوت در سرعت دستگاههای ورودی و خروجی، پروسسور مرکزی است. وقتی برنامه ای تقاضای I/O می کند در حالت single user پروسسور به حالت idle در می آید. شاید در یک بار صبر کردن تا ۵۰۰۰۰سیکل پروسسور wait انجام شود. استفاده از چنین زمانی برای انجام برنامه ای دیگر توسط پردازنده مرکزی کارایی سیستم را افزایش می دهد.

۲ – Time sharing : در این روش پردازنده مرکزی جسمی است که توسط تمام کاربران و پروسس ها، استفاده می شود. به این ترتیب که زمان cpu بین پروسس های مختلف سیستم و کاربران تقسیم می شود و به هر یک کسری از زمان cpu تعلق می گیرد.
۳ – Multi user : در صورتیکه در هر لحظه بیش از یک کاربر بتواند از سیستم استفاده کند سیستم multi user یا چند کاربره نامیده می شود.
۴ – Multi Tasking : امکان اجرای برنامه به صورت fore ground و back ground

۵ – دارا بودن file system بصورت سلسله مراتبی و تامین protection برای داده های سیستم
۶ – Generality : بدین معنا که سک روش واحد بتواند اهداف چند گانه ای را برآورده کند که این امر از دو طریق حاصل شده است:
الف – وجود system callهای یکسان برای خواندن و نوشتن روی فایل ها و deviceها و بافرهای موجود بین پروسس ها
ب – نامگذاری و protection یکسان برای فایل های داده، Directory ها و Device ها

۷ – قابلیت حمل (Transportability) : سیستم عامل unix به آسانی قابل حمل است. برای یک سیستم جدید، با دستکاری اندک بر روی کدهای سیستم عامل unix می توان آن را جهت نصب آماده نمود. توانایی حمل سیستم عامل unix از یک نوع کامپیوتر به کامپیوتر دیگر دلیل اصلی موفقیت آن می باشد.

ساختار سیستم عامل unix
سیستم عامل unix شامل چهار بخش اصلی زیر است:
۱)kernel 2)file system 3)shell 4)commands
۱- kernel :

که در قلب سیستم عامل قرار دارد و سخت افزار را کنترل می کند. تمام سیستم عامل ها یک kernel دارند و بر اساس فرامین مختلف قسمتهایی از سیستم کامپیوتری را فعال یا غیر فعال می سازد. در سیستم عامل unix سعی بر این بوده است که kernel وظایف کمتری را انجام دهد. بطوریکه اغلب وظایف سیستم عامل توسط برنامه های سودمند انجام می شود. در سیستم عامل unix هر پروسس یک برنامه در حال اجرا می باشد.

وظایف kernel عبارتند از:
a- زمانبندی پروسس ها
b- اختصاص حافظه اصلی
c- مدیریت فضای دیسک
d- نظارت بر انتقال داده ها مابین حافظه اصلی و دستگاههای جانبی
e- اختیار دادن به تقاضاها مابین حافظه اصلی و دستگاههای جانبی

پروسس ها دو حالت دارند:
– user mode
– kernel mode
در user mode پروسس های user در cpu اجرا شده و به داده های کاربر دسترسی دارند و در حالت kernel پردازنده پروسس های سیستم را اجرا کرده و به داده های سیستم دسترسی دارد. پروسس های سیستم دارای اولویت بالاتری نسبت به پروسس های کاربران هستند و سریعتر از کاربران، cpu را در اختیار می گیرند. پروسس های کاربران بر اساس زمان لازم جهت اجرا طبقه بندی می شوند.

تخصیص حافظه های اصلی و فرعی
همانطور که قبلا ذکر شد در هر لحظه مقداری پروسس در حالت اجرا در حافظه اصلی قرار دارند و فقط یکی از آن ها پردازنده یا cpu را برای اجرا در اختیار دارد.
پروسس هایی که برای اجرا آماده هستند (Ready) در حافظه فرعی قرار دارند. اگر یکی از پرویی هایی که روی حافظه فرعی قرار دارد دارای اولویت بالاتری نسبت به پروسس های موجود در حافظه اصلی باشد باید به حافظه اصلی منتقل شود و پردازنده را در اختیار بگیرد. برای انتقال یک پروسس به حافظه اصلی ابتدا فضای آزاد موجود در حافظه اصلی چک شده و در صورتیکه به اندازه کافی بزرگ نباشد (به اندازه مورد نیاز پروسس) باید یکی از پروسس های موجود در حافظه اصلی به حافظه فرعی منتقل گردد. (swap out) برای انجام این کار

پروسس هایی که زمان بیشتری در حافظه اصلی بوده اند، دارای اولویت بالاتری برای انتقال به حافظه فرعی یا swap out می باشند. اختصاص حافظه به پروسس ها از وظایف kernel بوده و عمل انتقال پروسس ها از حافظه فرعی به اصلی و بالعکس را swapping می گویند.

حافظه فرعی اصطلاحا یک swap device نامیده شده و در صورتیکه در زمان انتقال، تمام پروسس های موجود در حافظه اصلی به این device منتقل گردد، سیستم عامل یک swapping system و در صورتیکه فقط صفحه ای (یک page) ازروسس ها به این device منتقل گردد، سیستم عامل یک paging system نامیده می شود.

کنترل دستیابی به دستگاههای جانبی
در سیستم عامل unix به ازاء هر دستکاه جانبی سخت افزاری مانند ترمینال، چاپگر، دیسکت و … یک برنامه نرم افزاری (device driver) وجود دارد که ویژگیهای آن را به سیستم معرفی می کند. Device driver ها از اجزاء kernel می باشند.

برنامه معرفی هر دستگاه جدید به سیستم عامل ابتدا باید device driver آن تهیه شده و سپس این برنامه به kernel ملحق (link) شده و kernel جدید ایجاد شود.
کنترل هر دستگاه از طریق device driver متناظر و به یکی از دو شیوه زیر انجام می پذیرد:
۱- (structured I/O) Block device I/O system

برای دستگاههایی مانند دیسک سخت و فلاپی
۲- (unstructured I/O) character or raw device I/O system
برای دستگاههایی مانند ترمینال یا چاپگرهای خطی اگر دسترسی به اطلاطات دستگاه جانبی بصورت بلوک به بلوک باشد دستگاه block device نامیده می شود مانند دیسک و نوار. اینگونه دستگاهها برای انتقال اطلاعات به سیستم اصلی از مکانیزم buffering استفاده می کنند. اگر انتقال اطلاعات مابین دستگاه جانبی و سیستم اصلی بدون استفاده از buffering و حرف به حرف صورت گیرد دستگاه character device نامیده می شود.

هر دستگاه جانبی یک نام مانند نام یک فایل داشته و مانند یک فایل با آن برخورد می شود. نوع این فایل (دستگاه جانبی) با دیگر فایل های درون سیستم متفاوت بوده و آن را device special file می نامند.
نوع فراخوانی های سیستم (system calls) نظیر write، read، close و open که در مورد فایل های عادی بکار برده می شود، به همان شکل برای special file ها نیز قابل استفاده هستند.

 

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

b- super block : بلاک یک را super block می نامند. این بلاک شامل مجموعه اطلاعاتی است که وضعیت ایل سیستم را مشخص می کند. این اطلاعات عبارتند از :
– سایز فایل سیستم
– تعداد inode های موجود
– آدرس اولین بلاک حاوی اطلاعات

– تعداد کل بلاکهای موجود
– تعداد بلاکهای آزاد
– تعداد inode های آزاد
– زمان آخرین update فایل سیستم
– Device های فایل سیستم

c- ilist : این ناحیه شامل یک لیست پیوندی از inode ها می باشد. inode ساختاری به طول ۶۴ بایت می باشد و شماره آن از ۱ آغاز می شود و حاوی اطلاعات زیر می باشد:
– شماره user فایل (uid)
– شماره گروه فایل (gid)
– آدرس فیزیکی محتوای فایل روی دیسک
– سایز فایل
– زمان ایجاد فایل
– نوع فایل

– زمان آخرین دستیابی به فایل
– زمان آخرین تغییر روی فایل
– protection های فایل (مجوزهای کاربر، گروه و دیگران)
– تعداد لینکهای فایل

Inode شماره ۱ برای سیستم رزرو شده است و inode شماره ۲ مربوط به فهرست ریشه می باشد.
d- Data : فضای آزاد باقی مانده روی دیسک بصورت یک link list از بلوکهای در دسترس دیسک نگهداری می شوند.
سیستم عامل unix حداقل یک فایل سیستم روی هارد دیسک اولیه دارد. این فایل سیستم root نام دارد و با علامت / مشخص می شود. فایل سیستم root شامل برنامه ها و دایرکتوری هایی است که توسط سیستم عامل ایجاد می شود. مسیرهای معمول در unix عبارتند از:
/ : نام دایرکتوری root است
/bin : شامل اکثر دستورالعمل های مورد استفاده می باشد
/dev : شامل فایلهای ویژه (special device file) می باشد
/dev/console : فایلهای مربوط به console
/dev/tty : اطلاعات مربوط به ترمینال های سیستم در آن نگهداری می شود
/temp : محلی برای نگهداری فایل های موقت
/etc : شامل برنامه های کاربردی می باشد
/home : حاوی فهرست های مربوط به کاربران است
/mnt : برای mount کردن فایل سیستم ها به فهرست root مورد استفاده قرار می گیرد
هارد دیسک اولیه می تواند به بیش از یک فایل سیستم تقسیم شود. یکی از معمول ترین تقسیمات فایل سسیستم استفاده کننده ها از /u است که توسط آن حساب کاربران از فایل سیستم ریشه (/) اجرا می شود.فایل سیستم های جدید می تواند توسط مدیریت سیستم ایجاد و هر گاه مورد نیاز بود mount یا unmount شود.
نگهداری اطلاعات در فایل سیستم از وظایف سیستم عامل است. از دست دادن اطلاعات اتفاق نادری است زیرا فایل سیستم در برابر تخریب اطلاعات بسیار مقاوم است. سیستم عامل unix از برنامه (file system check) fsck برای تعمیر فایل سیستم خراب شده استفاده می کند.fsck در هنگام بوت، بطور اتوماتیک فایل سیستم root را چک می کند و پیامهایی که می فرستد بصورت زبر است:

Phase 1- check block and sizes
Phase 2- pathnames
Phase 3- connectivity
Phase 4- reference counts
Phase 5- check free list
هنگامی که سیستم بطور غیر معمول terminate شده باشد، fsck برای تمیز کردن فایل سیستم از مدیر سئوال می کند و در صورت تایید او، فایل سیستم تمیز می گردد.

۳- shell :
بین سیستم عامل و استفاده کننده قرار می گیرد و ارتباط دهنده این دو می باشد. وظیفه shell خواندن دستورات وارده و تفسیر آن بعنوان درخواستی جهت اجرای برنامه، دسترسی به فایل ها یا ایجاد خروجی است.

Shell همچنین دارای زبان برنامه نویسی قدرتمندی با قابلیت کنترل جریان اجرای برنامه ها (حتی بصورت شرطی) است. Shellهای رایج در سیستم عامل unix عبارتند از: rshell، jshell، kshell، cshell و shell استاندارد
۴- commands :
دستورها (commands) اسامی برنامه هایی هستند که استفاده کننده تقاضای اجرای آنها را از کامپیوتر می نماید. شکل کلی دستورات unix بصورت زیر است:

Command [-options] [arguments] [file names]

مثال :
ls -rl /home
نکته : – اضافه کردن . به انتهای نام فایل، آن را مخفی می نماید
– با اضافه کردن ; به انتهای یک دستور می توان چند دستور را در یک خط فرمان اجرا کرد.
مثال:
Data;who;ls

دریافت دستورها در Unix :
به منظور استفاده از امکانات سیستم، از یک shell استفاده می شود. Shell در واقع یک برنامه است که دستورات ورودی کاربر را گرفته و آنها را اجرا می نماید. در سیستم MS-DOS این کار توسط برنامه command.com انجام می شود. از مهم ترین انواع shell در Unix
می توان به BASH، CSH و TCSH و همچنین X Window که امکان استفاده تؤام ماوس و صفحه کلید را می دهد نام برد.

شروع و پایان کاربرد :
یک کامپیوتر با سیستم Unix در یک مرکز کامپیوتر همواره روشن نگاه داشته می شود و شروع استفاده هر کاربر از آن با وارد کردن نام و رمز عبور صورت می گیرد. و هر کاربر برای
پایان دادن به کار خود تنها دستورات logout یا exit و یا Ctel+d را وارد کرده و فقط مانیتور را خاموش می کند. از reset نمودن یا خاموش کردن یک کامپیوتر یونیکس، که مورد استفاده کاربران دیگری قرار می گیرد اکیدا” پرهیز نماید، زیرا در هر لحظه کاربران دیگری نیز از کامپیوتر یونیکسی که ظاهرا” تنها کاربر آن برروی کنسول، شما هستند، از راه دور در حال استفاده می باشند و یا در پیش زمینه دارای برنامه های در حال اجرا هستند.

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

آرگومان ها و سوییچ های دستورات :
در سیستم یونیکس، آرماگون ها یا سوییچ های یک دستور نمی تواند بلافاصله بعد از آن قرار گیرد و یک فضای خالی برای دستور و دیگر اجزا لازم می باشد. به طور مثال در دستور cd.. بین دستور cd و .. نیاز به یک فاصله خالی است. ضمن این که در یونیکس سوییچ ها پس از کاراکتر «-» قرار می گیرند. لازم به ذکر است که برای استفاده از چند سوییچ به همراه یک دستور
می توان به جای قراردادن «-» قبل از هر سوییچ یک بار آن را نوشته و هر تعداد سوییچ را در ادامه بیاوریم.

قواعد نامگذاری فایل ها :
در یونیکس پسوند آنگونه که در MS-DOS تعریف می شود معنی ندارد و طول نام فایل و یا دایرکتوری می تواند حداکثر تا ۲۵۵ کاراکتر باشد.

فرآیند پیش زمینه :
فرآیند پیش زمینه یا background process قابلیتی در یونیکس است که اجازه می دهد برنامه ای به اجرای خود حتی پس از خروج از کامپیوتر (logout) ادامه دهد.
سطوح دسترسی و علائم آن :
در سیستم یونیکس حداقل سه سطح دسترسی وجود دارد که عبارتند از :
۱- دسترسی صاحب فایل
۲- دسترسی گروه تعریف شده ای که صاحب فایل در آن گروه قرار دارد

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 8700 تومان در 55 صفحه
117,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد