• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
تعداد مطالب : 431
تعداد نظرات : 166
زمان آخرین مطلب : 5088روز قبل
کامپیوتر و اینترنت

(Collection Grabage) کنترل منابع
کاملاً با جمع آوری زباله ھمراه است. تجربه شھودی بیان می کند که تعداد زیادی D تخصیص حافظه در
برای کنترل رھاسازی حافظه لازم است . با جمع آوری زباله زبان بسیار ساد هتر C++ از خصوصیات
می شود.
حکمی ھست که م یگوید جمع آوری زباله برای جوجه برنامه نویسھا و تنب لھا است. من به یاد دارم
قابل C نیست که در C++ گفته می شد. بعد از ھمه ھیچ چیز در C++ زمانی را که این حرف در مورد
انجام نباشد یا در اسمبلر برای آن منظور.
C++ و C خصوصیات جمع آوری زباله کد خسته کننده پیگیری تخصیص حافظه ھای مستعد خطا که در
لازم است را حذف می کند. این نه تنھا بدین معناست که گسترش برنام هھا سریعتر انجام م یگیرد و
ھزینه ھای نگھداری کاھش می یابد بلکه برنامه به میزان زیادی در دفعات اجرا سریعتر است.
کنترل حافظه ساده و واضح
می توانند در کلاسھای delete و new یک زبان دارای جمع آوری زباله است ، اعمال D با وجود اینکه
خاص اجرا شوند ھمانگونه که یک تخصیص دھنده سفارشی به کار م یرود.
RAII
از D ، یک تکنیک پیشرفته گسترش نر مافزار برای کنترل تخصیص منابع و آزادسازی آنھا است RAII
در یک روش کنترل شده قابل پیش بینی که مستقل از چرخه جم عآوری زباله است پشتیبانی RAII
می کند .
کارایی
توده سبک وزن
و نیز C را پشتیبانی م یکند ھم برای سازگاری با ساختمان داد هھای C ساختمان ھای سبک ساده D
به خاطر اینکه آنھا در جاھایی که قدرت کامل کلاسھا کارایی ندارد مفیدند.
Assembler Inline
درایور سخت افزار ، کاربردھای سیستمی با کارایی بالا ، سیستم ھای تعبیه شده و کدھای خصوصی
شده بعضی وقتھا نیاز به غرق شدن در زبان اسمبلی دارند تا کار انجام شود . در حالی که پیاده سازی
نیاز به کارگیری اسمبلر خطی ندارند ، این خصوصیت تعریف شده و قسمتی از زبان است . D ھای
اغلب نیازھای کد اسمبلی به وسیله این بخش قابل برآوری است که نیاز به اسمبلرھای جداگانه و
ھا را مرتفع می سازد . DLL
از پردازش درگاھھای C توابع اصلی را شبیه به پشتیبانی ذاتی D ھمچنین بسیاری از پیاده سازی ھای
ورودی خروجی ، دسترسی مستقیم به عملیاتھای ممیز شناور و … پشتیبانی می کند .
قابلیت اعتماد
یک زبان پیشرفته باید برنامه نویس را در رفع تمامی اشکالات از کد یاری کند . این کمک به چندین
صورت می تواند ارائه شود . از آسان سازی کاربرد تکنیکھای قدرتمند تر ، تا گوشزد کردن کد غلط
آشکارا توسط کمپایلر و کنترل زمان اجرا .
( Contracts ) معاھدات
یک تکنیک انقلابی برای کمک به مطمئن شدن از صحت ( B.Meyer طراحی به وسیله کنترات ( ساخته
شامل پیش شرطھای توابع ، پس شرطھای توابع ، یکسانی ھای D زبان DBC برنامه است و نسخه
کلاس و کنتراکتھای ثابت کننده است .
آزمایش واحد
آزمایش قسمتھا می تواند به یک کلاس افزوده شود طوری که به صورت خودکار در لحظه شروع اجرای
برنامه اجرا شوند . این در ھشدار دادن اینکه پیاده سازی کلاس در ھر بار ساخته شدن ، سھو اً با
شکست مواجه نشده است مفید است آزمایش واحد قسمتی از کد کلاس را تشکیل می دھد . ایجاد
آنھا یک قسمت طبیعی پر دارد گسترش کلاس خواھد شد برخلاف پشت گوش انداختن کد تمام
شده از گروھھای آزمایش.
آزمایش واحد در دیگر زبانھا قابل انجام است اما نتیجه جالب از آب در نمی آید زیرا این زبانھا با این فکر
است . برای توابع کتابخانه ای به خوبی D عجین نیستند . آزمایش واحد یک خصوصیت اصلی و بارز در
عمل می کند ھم ضمانت می کند که تابع حقیقتاً کار می کند و ھم با مثال بیان می کند که تابع
موجود در اینترنت برای C++ چگونه کار می کند . خیل کثیر کدھای منشاء کاربردی و کتابخانه ھای
دانلود را در نظر بگیرید . چه تعداد از آنھا با تستھای کلی ھمراه است ( تست واحد را ھم در نظر
نگیرید ) ؟ کمتر از یک درصد . روش معمول این است که اگر کامپایل شده اجرا ھم می شود و شگفت
زده خواھیم شد اگر ھشدارھای کامپایلر اشکالات واقعی باشند .
را به مراتب به بھترین زبان برای نوشتن قابل اعتماد و D ، در کنار طراحی با کنتراکت ، آزمایش واحد
کاربردھای سیستمی قدرتمند تبدیل می کند.
خصوصیات و شرح اشکال زدایی
که در زمان کامپایل قابل فعال یا غیر فعال . ( debug ) اکنون اشکال زدایی بخشی از املای زبان است
یک قابلیت تشخیص سازگار debug شدن است بدون کاربرد دستورات پیش پردازنده یا ماکروھا . املای
- استوار و قابل حمل و قابل فھم را فعال می کند که آیا کد منبع حقیقی قابل ایجاد در کامپایل اشکال
زدایی و کامپایل نھایی ھست ؟
پردازش استثناء
به کار رفته است . نیاز نیست که اشیای try – catch به جای مدل فقط finally – try – catch مدل برتر
پیاده سازی کنیم . ( destructor ) زائد ایجاد کنیم فقط برای اینکه معناھای نھایی را توسط مخرب
ھماھنگی و ھم زمانی
مبناھایی برای ساخت برنامه ھای چند رشته ای D برنامه سازی چند رشته ای متداولتر می شود و
فراھم می کند . ھم زمان سازی می تواند ھم در سطح متد و ھم در سطح شیئی انجام شود .
{.} ( ) synchronize int func
توابع ھمزمان شده ( سنکرون شده ) در ھر زمان فقط به یک رشته اجازه می دھند که آن تابع را اجرا
در اطراف قطعه ای از عبارات احاطه می کند و دسترسی به وسیله شیئی synchronix\ze کند . عبارت
یا به صورت عمومی را کنترل می کند .
پشتیبانی تکنیکھای قدرتمند
آرایه ھای دینامیک به جای اشاره گر ھا
متغییرھای ارجاعی به جای اشاره گر ھا
اشیای ارجاعی به جای اشاره گرھا
جمع آوری زباله به جای کنترل واضح و دستی حافظه
مبانی موجود برای ھمزمانی رشته ھا
عدم وجود ماکرویی که به طور غیر عمدی به کد آسیب بزند .
به جای ماکروھا inline توابع
کاھش وسیع نیاز به اشاره گرھا
سایز انواع مرکب واضح و مشخص است
عدم شک در مورد علامت دار بودن کاراکتر ھا
header عدم نیاز به دوبار اعلان در کد منبع و فایلھای
پشتیبانی واضح از تجزیه و تحلیل برای افزودن کد اشکال زدایی
قسمت چھارم D آشنایی با زبان
کنترل ھای زمان کامپایل
کنترل نوع قوی تر
• انتساب مقادیر به صورت واضح مورد نیاز است
• مجاز نبودن متغییرھای محلی به کار نرفته
• عدم ؛ خالی در بدنه حلقه ھا
• انتساب ؛ مقادیر بولی بر نمی گرداند
ھای متروک API • نپسندیدن
کنترل زمان اجرا
( ) assert • عبارات اثبات صحت
• کنترل مرزھای آرایه
switch تعریف نشده در استثنای case •
• استثنای خارج از حافظه
• ورودی ، خروجی و طراحی یکسان کلاس به وسیله کنتراکت
سازگاری
تقدم عملگر و قوانین سنجش
و قوانین تقدم آنھا را حفظ می کند ھمچنین ترتیب قوانین سنجش و قوانین تقدم . این C عملگرھای D
از اشکالات ریز که از ابتدای برنامه نمایان می شود جلوگیری می کند .
C ھای API دسترسی مستقیم به
را فراھم می سازد . C دارد ھمچنین دسترسی مستقیم به توابع C نوع داده ھای مطابق با D نه تنھا
ھیچ نیازی نیست که توابع بسته بندی شده نوشته شود یا کدی برای کپی کردن اجزای متراکم یک
توده به صورت یک به یک
C پشتیبانی از تمام نوع داده ھای
٩٩ را در بر می C ممکن است . این پشتیبانی تمام انواع C و یا کد کتابخانه ای C زبان API ارتباط با ھر
شامل توانایی صف بندی اعضای ساختمان است برای مطمئن شدن از سازگاری با فرمتھای D . گیرد
داده خارجی .
پردازش استثنای سیستم عامل
متصل به روشی است که سیستم عامل در سطح زیرین استثناھا را D مکانیسم پردازش استثناھای
در یک کاربرد پردازش می کند .
ابزارھای موجود را به کار می گیرد .
ایجاد می کند که باعث امکان استفاده از اسمبلرھا ، لینکرھا Object کد را در فرمت استاندارد فایل D
و دیگر تحلیل کننده ھای استاندارد به خوبی لینک exe فشرده سازھای ، ( debugger ) ، اشکال زداھا
کردن کدی که دیگر زبانھا نوشته شده است می شود.
کنترل پروژه
نسخه سازی
و # if # تکنیک D . به صورت درونی امکان ایجاد نسخه ھای متعدد از یک برنامه یا ھمان متن را دارد D
را جایگزین می کند . C پیش پردازنده ی end if
نبود ھشدار
ھشدارھایی برای کدھای نامطمئن تولید نمی کنند . کد یا توسط کامپایلر قابل قبول D کامپایلرھای
است یا نیست . این ھر گونه بحثی در این زمینه که آیا ھشدار خطایی صحیح است یا نه و نیز ھر
بحثی در این باره که با چه کنیم را از بین می برد . نیاز برای ھشدار کامپایلر نشان هی طراحی ضعیف
زبان است .
استھلاک
ھمان طور که در طول زمان رشد می کند بعضی کدھای کھنه کتابخانه با نو تر و نسخه بھتر جایگزین
می شود . نسخه قدیمی باید برای پشتیبانی کدھای به جا مانده از قبل موجود باشد اما می توانند
لقب مستھلک بگیرند . کدھایی که نسخه ھای مستھلک را به کار می گیرند به وسیله تعویض کمپایلر
برچسب غیر قانونی م یخ ورند که برای ابقای برنامه نویس برای نشان دادن ھر وابستگی به خصوصیات
مستھلک باعث آسانی است .
غربال اراتستن واحد اول ) ) D نمونه برنامه
import c.stdio ;
bit [8191] flags ;
int main ()
{ int i , count , prime , k , inter ;
print f(“ 10 iterations \n” );
for ( iter = 1 ; iter<=10 ; iter ++ )
{ count = 0 ;
flags [ ] = 1 ;
for ( i = 0 ; i < flags . length ; i ++ )
{ if ( flags [i] )
{ prime = i + i +3
k = i + prime
while ( k < flags . length )
{ flags , [ k] = 0 ;
k + = prime ;}
count + = 1}
print f ( “ % d primes” , count ) ;
return 0;
قسمت پنجم D آشنایی با زبان
مقادیر واسطه ممیز شناور
در بسیاری کامپیوترھا ، اعمال با دقت بالاتر بیشتر از اعمال با دقت کمتر وقت نمی گیرند .این باعث می
شوند که مفاھیم شمارشی بالاترین دقت ممکن را برای اعمال داخلی موقتی به کار ببرند . فلسفه
مورد بحث این است که زبان را به پائین مقسوم علیه سخت افزاری محدود کنیم بلکه آن را قادر به
بھره برداری از بھترین توانایی ھای سخت افزار مورد نظر نماییم .
برای اعمال ممیز شناور و مقادیر واسطه عبارت یک دقت بالاتر از نوع عبارت می تواند به کار رود . تنھا
حداقل دقت توسط نوع عملوندھا مشخص می شوند نه حداکثر دقت . نکته پیاده سازی : در ماشین
٨۶ برای نمونه انتظار می رود ( اما لازم نیست ) که محاسبات واسطه ای در دقت کامل x ھای اینتل
ھستاد بیتی که توسط سخت افزار پیاده سازی می شود انجام شود .
امکان دارد که در مسیر استفاده از مقادیر موقت و زیر عبارات معمول ، کد بھینه شده یک جواب دقیقتر
از کد بھینه نشده فراھم سازد .
الگوریتم ھا باید طوری نوشته شود که براساس حداقل دقت محاسبات کار کند . آنھا نباید در مواقعی
برخلاف float یا double که دقت واقعی بالاتر است از نظر عملکرد تنزل یابند یا شکست بخورند . انواع
نوع گسترش یافته فقط باید در موارد زیر به کار رود :
• کاھش مصرف حافظه برای آرایه ھای بزرگ .
. C • داده ھا و آرگومان ھای توابع سازگار با
انواع موھومی و مختلط
در زبان ھای موجود ، یک تلاش عجیب برای به زور جا دادن انواع مختلط در تسھیلات تعریف نوع موجود
مانند قالب ھا ، ساختمان ھا و … وجود دارد و تمام اینھا معمولاً در نھایت با شکست مواجه
می شوند .
شکست می خورند چون مفاھیم اعمال مختلط می تواند بسیار دقیق باشد و کامپایلر نمی داند که
برنامه نویس در تلاش برای انجام چه کاری است بنابراین نمی تواند پیاده سازی معنایی را بھینه نماید .
تمام این کارھا برای اجتناب از اضافه کردن یک نوع جدید انجام شده است . اضافه کردن یک نوع جدید
بدین معناست که کامپایلر می تواند تمامی مفاھیم اعمال مختلط را دقیق پیاده کند . پس برنامه نویس
می تواند بر یک پیاده سازی صحیح ( یا حداقل دارای ثبات ) اعداد مختلط اعتماد کند .
ھمراه بودن با یک بسته نوع مختلط برای یک نوع موھومی مورد نیاز است .یک نوع موھومی برخی از
پیامدھای ظریف معنایی را حذف می کند و کارآیی را بھبود می بخشد بدون اینکه مجبور به انجام
می i اعمال اضافی روی قسمت حقیقی واضح صفر ، باشیم . الفاظ موھومی دارای یک پسوند
باشند .
; i ١٫٣imaginary j =
ھیچ املای خاص لفظ مختلط وجود ندارد فقط یک نوع حقیقی و موھومی را با ھم جمع کنید :
; i٢+ ۴٫۵complex c=
افزودن دو نوع جدید به زبان کافی است از این رو انواع مختلط و موھومی دارای دقت توسعه یافته
ھستند . ھیچ نوع اعشاری مختلط و موھومی یا نوع دابل مختلط یا موھومی وجود ندارد ( توجه : راه
برای افزودن آنھا در آینده باز است اما مطمئن نیستیم مورد نیاز باشد ) .
اعداد مختلط دارای دو صفت خاصه ھستند :
re. . قسمت حقیقی را به عنوان گسترش یافته بدست می دھد
im. . قسمت موھومی را به عنوان عدد موھومی بدست می دھد
برای مثال :
c . re is 4.5
c . im is 2i
کنترل گرد کردن
املایی D . ٧۵۴ شامل توانایی تنظیم کردن چھار روش گرد کردن است IEEE حسابگر ممیز شناور
[ blah , blah , blah ] : خاص برای دسترسی به آنھا افزوده است
پرچمھای استثناء
٧۵۴ می تواند پرچمھای مختلف را براساس آن چه در یک محاسبه رخ داده IEEE حسابگر ممیز شناور
Reset / SET این پرچمھا می توانند به وسیله املای زبان .[ blah , blah , blah ] : است تنظیم نماید
شوند .
مقایسه ھای ممیز شناور
تعداد بیشتری که خاص D علاوه بر عملگرھای مقایسه معمولی < , < = , > , >= , == , != زبان
اعداد ممیز شناور است اضافه می کند .
مدیریت حافظه
ھر برنامه غیر جزیی نیاز به تخصیص و آزاد سازی حافظه دارد . ھر چه پیچیدگی ، اندازه و کارآیی برنامه
اختیارات متعددی در زمینه مدیریت D . ھا افزایش می یابد تکنیکھای مدیریت حافظه مھمتر می شوند
حافظه پیشکش می کند .
: D سه روش پایه تخصیص حافظه در
١- داده استاتیک : در سگمنت داده پیش فرض تخصیص می یابند .
تخصیص می یابند . CPU ٢- داده پشته : در پشته برنامه
جمع آوری زابله تخصیص می یابند . heap ٣- داده زباله جمع آوری شده : به صورت پویا در
این قسمت بعدی تکنیکھا را برای استفاده از آنھا توضیح می دھد به ھمراه برخی قابلیت ھای
پیشرفته:
copy – on – write ( رشته ھا ( و آرایه ھا
فرستادن یک آرایه به یک تابع را در نظر بگیرید و احتما لاً تغییر دادن آرایه و برگرداندن آرایه جدید . از آنجا
که آرایه ھا با ارجاع فرستاده می شوند نه با مقدار ، یک پیامد وخیم این است که محتویات آرایه از آن
کیست ؟ برای مثال تابعی که آرایه ای از کاراکترھا را به حروف بزرگ برمی گرداند .
char [] toupper ( char [] S )
int i ;
for ( i =0 ; i < S . length ; i ++ )
char ( ‘a’ <= c && c<=’z’ )
S[i] = c – ( cast (char) ‘a’ – ‘A’ );
Return S;
که فراخوانی شد تغییر ھم کرد شاید این اصلاً آن چیز مورد توقع نبود یا بدتر []S توجه کنید که نسخه
ممکن است تکه ای از حافظه فقط خواندنی باشد . []S آنکه
ھمواره توسط تابع ساخته می شد به طور ناکارا و بدون لزوم زمان حافظه برای S اگر یک کپی از
حروفی که خودشان بزرگ ھستند مصرف می شد .
است که یعنی یک کپی ساخته می شود اگر رشته ھا نیاز به copy – on – write راه حل پیاده سازی
تغییر دارند بعضی زبان ھای پردازنده رشته ھا این عمل را به عنوان پیش فرض انجام می دھند اما
ھزینه بسیار سنگین است .
۵ مرتبه بوسیله تابع کپی می شود. برای اینکه از این قرارداد به نحوی با abcdwF” “ در نتیجه آن رشته
حداکثر کارآیی استفاده شود باید به صورت واضح در کد ظاھر شود .
char [] toupper (char [] s)
int changed ;
int i ;
changed = 0 ;
for i=0 ; i <S-length ; i ++ )
char c – S[i ] ;
if (‘a’ <= c && c<= ‘z’ )
if ( ! changed )
char [] r = new char [ S.length] ;
r []= S ;
changed = 1 ;
S [i] = c – ( cast ( char ) ‘a’ – ‘A’ );
return S ;
phibo پروتکلی است که به وسیله توابع پردازش آرایه ھا در کتابخانه زمان اجرای copy – on – write
پیاده سازی شده است . D زبان
جمع آوری زباله
زبانی دارای جمع آوی زباله کامل می باشد . بدین معنی که ھیچ وقت نیاز به آزادسازی حافظه D
نیست . فقط به ھنگام نیاز حافظه را تخصیص دھید و جمع آور زباله به طور دوره ای تمام حافظه بی
استفاده را به توده حافظه آزاد برمی گرداند .
که به کنترل دستی حافظه ھنگام تخصیص و آزاد سازی آن عادت دارند C ++ , C برنامه نویسان
احتمالاً مزایا و تأثیر جمع آوری زباله یقین ندارند . تجربه ی پروژه ھای جدید که با در نظر گرفتن جمع
آوری زباله نوشته شده اند ھمچنین پروژه ھای موجود که به سبک جمع آوری زباله برگردانده شده اند
نشان می دھد که :
• برنامه ھای دارای جمع آور زباله سریعتر ھستند . این واضح است اما دلایلی قابل بیان است .
• شمارش در جاعات یک روش معمول برای حل مسائل تخصیص حافظه آشکار است . کد پیاده سازی
اعمال اضافه و تفریق ھر جا که انتساب صورت می گیرد یکی از دلایل کندی است .
• پنھان کردن کد مذکور در پس کلاسھای اشاره گر ھوشمند به افزایش سرعت کمک نمی کند .
( روش شمارش ارجاعات به ھیچ وجه راه حل عمومی نیست جایی که ارجاعات حلقه ای ھرگز حذف
نمی شوند . )
• مخرب ھای کلاس برای آزادسازی منابع مورد نیاز یک شیئی به کار می رود . برای اغلب کلاسھا این
منابع ، حافظه تخصیص یافته است . با جمع آوری زباله اغلب مخرب ھا خالی می شوند و در نھایت
می توانند دور انداخته شوند .
• تمام مخرب ھایی که حافظه را آزاد می کنند می توانند معنی دار شوند در مواقعی که اشیاء ، بر روی
پشته تخصیص حافظه می یابند . برای ھر کدام مکانیزمی باید در نظر گرفته شود طوری که اگر یک
استثناء رخ داد تمام مخربھا از ھر چارچوب فراخوانی شوند تا ھر حافظه تخصیص یافته برای آنھا را رھا
کنند . اگر مخرب ھا نامربوط شوند ھیچ نیازی برای در نظر گرفتن چارچوب ھای خاص پشته برای
پردازش استثناھا نیست در نتیجه کد سریعتر اجرا می شود .
• تمام کدھای لازم برای مدیریت حافظه می تواند برای تکامل جزیی اضافه شود . برنامه بزرگتر کمتر در
حافظه اصلی و بیشتر آن در حافظه مجازی قرار می گیرد و آرامتر و کندتر اجرا می شود .
جمع آور حافظه ھنگامی صورت می گیرد که حافظه تنگ و کم شود . تا وقتی حافظه جا ××××× •
دارد برنامه در حداکثر سرعت ممکن اجرا می شود و ھیچ وقتی برای آزاد کردن حافظه ، صرف نمی
کند .
• جمع آورنده ھای زباله مدرن ، اکنون به مراتب پیشرفته تر از قبلی ھا و کندترھا ھستند . جمع آورنده
ھای تولید کننده و کپی کننده قسمت عمده ناکارایی الگوریتم ھای جارو کردن و اختصاص دادن را حذف
می کنند .
• جمع آورنده ھای زباله مدرن فشرده سازی توده حافظه را انجام می دھند . فشرده سازی توده
مراقب است که تعداد صفحاتی که به طور فعال به وسیله یک برنامه ارجاع شده اند را کاھش دھد
بدین معنی که دسترسی ھای حافظه احتمالاً بیشتر به حافظه می رسند تا به مبادله حافظه .
• جمع آورنده ھای زباله حافظه استفاده شده را اصلاح می کنند . بنابراین به رخنه ھای حافظه – که
باعث می شوند برنامه ھای با اجرای طولانی مدت آن قدر حافظه مصرف کننده تا سیستم ھنگ کند -
تن در نمی دھد .
• برنامه ھای دارای جمع آور زباله دارای اشکالات کمتر یافتن اشاره گرھا می باشند به این خاطر که
ھیچ ارجاع سرگردان به حافظه آزاد شده نمی ماند .
• برنامه ھای دارای جمع آور زباله برای گسترش و اشکال زدایی سریعترند . چون ھیچ نیازی برای
گسترش ، اشکال زدایی ، امتحان ، یا ابقاء که آزاد سازی آشکار وجود ندارد .
• برنامه ھای دارای جمع زباله به طور معنی داری کوچکترند چون ھیچ که آزادسازی حافظه وجود ندارد
و از این رو نیازی به پردازشگرھای استثناھا برای آزاد سازی حافظه وجود ندارد .
• جمع آوی زباله یک نوشداروی ھم کاره نیست بعضی اشکالات ھم دارد :
• وقتی یک مجموعه برنامه ھمزمان اجرا می شود قابل پیشگویی نیست بنابراین برنامه به طور دلخواه
می تواند مکث کند.
• زمانی که برای اجرای یک مجموعه منصرف می شود نامحدود است با اینکه در عمل بسیار کوتاه
است اما ضمانتی وجود ندارد .
• تمام رشته ھای اجرا به غیر از رشته جمع آوری زباله در حالی که جمع آوری در جریان است باید
مکث کند .
نحوه برقراری ارتباط اشیای دارای جمع آوری زباله با کد بیرونی:
جمع آور زباله به دنبال ریشه ھا د سگمنت داده ایستا و پشته ھا و محتویات رجیستر ھر رشته ی اجرا
می گردد. اگر تنھا ریشه یک شیئی بیرون از آنھا باشد ، جمع آور زباله آن را از بین می برد و حافظه
را آزاد می سازد.
برای اجتناب از این واقعه باید:
ریشه دسترسی به یک شیئی را در جایی ابقا کنیم که جمع آور زباله در آن جا به دنبال ریشه می
گردد .
C به شیئی مجدداً توسط تخصیص دھنده که خارجی یا کتابخانه ھای زمان اجرای
حافظه تخصیص دھیم . ، ( ( malloc/free
اشاره گرھا و جمع آور زباله
الگوریتم ھای جمع آوری زباله بستگی دارد به اشاره گرھایی که به چیزی در حال اشاره اند و غیر
غیر معمول نیستند C اشاره گرھا که به چیزی اشاره نمی کرده اند . بدین منظور دستورات زیر که در
از آنھا خودداری شود : D باید به دقت در
شده حقه ی لیست xor کردن آنھا با مقادیر دیگر مخفی نکنید مانند اشاره گر xor ١) اشاره گرھا را با
برای جا به جا کردن مقادیر دو اشاره گر استفاده نکنید . xor از حقه ی . C پیوندی در
یا دیگر حقه ھا ذخیره نکنید چون جمع آوری زباله انواع cast ٢) اشاره گرھای به مقادیر صحیح را توسط
غیر اشاره گر را برای یافتن ریشه ھای دسترسی بررسی نمی کند .
٣) از مزیت ھم ترازی اشاره گرھا برای ذخیره فلگھای بیتی در بیتھای سطح پائین یا بیتھای سطح بالا
استفاده نکنید .
۴) مقادیر صحیح را در اشاره گرھا نگھداری نکنید و
. null ۵) مقادیر سحر آمیز را در اشاره گرھا ذخیره نکنید به غیر از
۶) اگر شما باید یک مکان نگھداری خاص را بین انواع اشاره گر و غیر اشار هگر به اشتراک بگذارید از
استفاده کنید تا جمع آور زباله تکلیف خودش را در آن مورد بداند . union
دارای خصوصیات است که نشان می D . در حقیقت تا جایی که می شود از اشاره گرھا استفاده نکنید
دھد که اغلب اشاره گرھای آشکارا ، متروک و بلااستفاده خواھند بود . مانند اشیاء مرجع ، آرایه ھای
و بعضی کارھای کیمیاگرانه پدید C ھای API پویا و جمع آوری زباله . اشاره گرھا برای ارتباط موفق با
آمده بودند .
ساختمانھا و یونیون ھا
Aggregate Declaration
کار می کنند با تفاوتھای زیر : C شبیه
١) بدون فیلد ھای بیت
٢) ھم ترازی به طور آشکار قابل مشخص کردن است .
٣) بدون فضای نام برچسب جداگانه – نام برچسب ھا در حوزه کنونی می باشند .
; ABC x : مجاز نیستند بنویسید ; struct ABC x ۴) اعلان ھایی مانند
۵) ساختمانھا یا یونیون ھای بی نام می توانند عضوی از ساختمانھا یا یونیون ھای دیگر باشند .
۶) انتساب دھنده ھای پیش فرض اولیه برای اعضا پشتیبانی می شود .
٧) توابع عضو و اعضای استاتیک مجاز است .
ساختمانھا و یونیون ھا به معنی اجتماع ساده داده ھا یا راھی برای رنگ و آب دادن به یک ساختمان
سیستم API داده می باشد ، علاوه بر سخت افزار یا یک نوع خارجی ، انواع خارجی می توانند توسط
عامل یا یک فرمت فایل تعریف شوند . خصوصیات شیئی گرا نیز با نوع داده کلاس فراھم شده اند .
انتساب اولیه استاتیک ساختمان ھا
به اعضای ساختمان استاتیک به طور پیش فرض مقدار صفر انتساب داده می شود و به مقادیر ممیز
اگر یک انتساب دھنده اولیه ی استاتیک فراھم شود ، اعضا به وسیله نام عضو ، . NAN شناور مقدار
کولوم و املای عبارت انتساب اولیه می شوند . در ضمن ممکن است اعضا به ھر نحو انتساب اولیه
شوند .
struct X { int a; int b; int c; int d = 7;}
static X x = { a:1, b:2}; // c is set to 0, d to 7
static X z = { c:4, b:5, a:2 , d:5}; // z.a = 2, z.b = 5, z.c = 4, d = 5
انتساب اولیه ی استاتیک یونیون ھا
یونیون ھا به طور آشکار مقدار دھی اولیه می شوند :
union U { int a ; double b ; }
static U u = { b : 5.0 } ; // u.b = 5.0
دیگر اعضای یونیون که انتساب دھنده را جای می گذارند ولی فضای بیشتری اشغال می کنند مقدار
صفر می گیرند .
Enums
Enum اعلان
اعضا { enum identifier {
اعضا { enum {
enum identifier ;
را با ثبات ھای تعریف جایگزین می کنند . define # ھا کاربرد معمولی ماکروھای Enum
ھا ھمچنین می توانند بی نام باشند که در آن مورد به سادگی ثابت ھای مجتمع را تعیف می Enum
کنند و یا دارای نام باشند که مقدمه یک نوع جدید خواھند بود .
enum بدون نام {A,B,C } enum ٠ ثابتھای , A= ١, b= ٢C =
٠ و X.A = با مقادیر x نوع جدید {enum X { A,B,C دارای نام Enum را تعریف می کند . در حالی که
٢ تعریف می کند . X.C = ١ و = X.B
یک عبارت ریاضی فراھم شده Enum ھا باید حداقل دارای یک عضو باشند . اگر برای یک عضو Enum
دارای ارزش عضو قبلی به علاوه Enum باشد ارزش عضو مذکور برابر حاصل عبارت است و عضو بعدی
یک است .
Enum { A , B = 5 + 7 , C, D = 8 , E }
٩, E = ٨, D = ١٣, C = ١٢B = , ٠ = A داریم
Enum صفات
min کوچکترین عضو
max بزرگترین عضو
size سایز نگھداری ارزش عضو
Enum مقدار دھی
دارای مقدار اولین عضو است . Enum در غیاب یک مقدار دھنده به صورت آشکار ، یک متغیر
Enum X { A = 3 , B,C }
; X x . برابر ٣ می شود X مقدار
سه شنبه 15/4/1389 - 15:38
کامپیوتر و اینترنت
قسمت دوم D زبان برنامه نویسی
C/C++ برای چه کسانی مناسب نیست؟ ١.به طور واقع بینانه ، ھیچکس قصد تبدیل میلیونھا خط از D
اشاره مناسب apps برای D را کامپایل نم یکند C/C++ کد منبع اصلاح نشده D ندارد و از آنجا که D به
ھای ارث را به خوبی پشتیبانی م یکند). ٢.برنامه ھای خیلی کوچک : CAPF ، D نیست. (به ھرحال
احتمالاً مناسبتر است. ٣.به عنوان Perl , Dmdscript , Python یک زبان اسکریپتی یا دارای مفسر مانند
برای برنامه نویسان D مناسبتر است java یا Python زبان برنامه نویسی برای شروع: برای مبتدی ھا
یک زبان . D متوسط تا پیشرفته یک زبان دوم عالی است . ۴.زبان به کاربرد کلمات صحیح وسواس دارد
عملی است و ھر خصیصه از آن ترجیحاً قابل مقایسه و ارزیابی در ھمان حداست تا در حد ایده آل . به
ساختارھا و مفاھیمی دارد که به طور مجازی نیاز به اشاره گرھا را برای امور پی شپا افتاده D طور مثال
ازبین م یبرد. به طور مشابه تغییر نوعھا ھنوز وجود دارد برای آن جایی که سیستم نوع نیاز به نادیده
را در دسته ھای C) نسبت به D( این قسمت برخی خصوصیات جالب تر D گرفتن دارد .خصوصیات اصلی
از کلاسھا آغاز D مختلف طبقه بندی م یکند. برنامه نویسی شیءگرا کلاسھا : طبیعت شیءگرای
می شود. مدل وراثت ، وراثت یگانه است که با روابط تقویت م یشود. شیء کلاس در ریش هی شجره
وراثت می نشیند. بنابراین تمام کلاسھا یک مجموعه متداول تابعی را اجرا می کنند. کلاسھا به وسیله
ارجاع معرفی می شوند و چنان کد پیچیده ای برای آنکه پس از استثناھا پاک شود نیاز نیست. تعریف
مجدد عملگرھا: می توان کلاس را برآن واداشت که با استفاده از عملگرھای موجود ، سیستم نوع را
برای پشتیبانی نوعھای جدید گسترش دھند. مثلاً ایجاد کلاس اعداد بزرگ و سپس تعریف مجدد
عملگرھای (/,*,_,+) برای توانایی استفاده از آنھا در املای عبارات جبری معمولی.
پیمانه ھا : فایلھای منبع دارای ارتباطی ی کبه یک با پیمانه ھا ھستند. به جای ( Productivity) فراوری
می نماییم. ھیچ نگرانی در مورد import نمودن یک فایل از اعلان ھا فقط پیمانه را include#
یا ifndef# با header ھای متعدد از ھمان پیمانه نیست ھمچنین نیازی به پوشاندن فایلھای import
معمولاً نیاز دارد که توابع و C++ و از این قبیل نیست. اعلان در برابر تعریف pragma once # یا endif#
صورت می گیرد و تعریف که در فایل منبع با header کلاسھا دوبار اعلان شوند یک اعلان که در فایلھای
این یک روند مستعد خطا و کسل کننده است . به طور واضح برنام هنویس فقط نیاز دارد “C.” . پسوند
که یک بار آن را بنویسید و سپس کامپایلر باید داده ھای اعلان را بسط دھد و برای وارد کردن نمادین در
می کند: مثال D دسترس قرار دھد. دقیقاً آن گونه که
class ABC { int func() { return 7; } static int z = 7; } int q;
ھا یا املاھایی مانند زیر نیست : extern ، دیگر نیاز به تعریف جدای توابع عضو، اعضای استاتیک
int ABC::func() { return 7; } int ABC::z = 7; extern int q;
ھم نوشته می شوند اما توابع inline به صورت {;return توابع جزیی مانند { 7 C++ تذکر : البته در
پیچیده نه. علاوه برآن اگر یک ارجاع بعد از آن موجود باشد تابع نیاز به الگو دارد که از قبل موجود باشد
کار نمی کند . C++ مثال زیر در
class Foo { int foo(Bar *c) { return c->bar; } }; class Bar { public: int bar() { return اما ;{ { ; 3
کد ھم ارز در D کار می کند : class Foo { int foo(Bar c) { return c.bar; } } class Bar { int bar()
{ return 3; } }
است یا نه توسط تنظیمات بھینه ساز قابل کنترل است . قالب ھا inline به صورت D اینکه یک تابع
روشی واضح برای پشتیبانی برنام هسازی عمومی ھمراه با قدرت اختصاصی سازی به صورت D قالبھای
قسمت به قسمت ، پیشنھاد می کند. آرایه ھای شرکت پذیر آرایه ھای شرکت پذیر آرای هھایی ھستند با
یک نوع داده قراردادی (اختیاری) به عنوان ایندکس به جای آنکه به یک ایندکس از نوع اعداد صحیح
ھستند. این آرایه ھا ساختن سریع ، کارا و hash محدود باشند. در اصل آرایه ھای شرکت پذیر جدولھای
در C++ و C خالی از اشکال جدول ھای سمبل را آسان می نماید. تعریف نوعھای واقعی تعریف نوعھای
تعریف ،. D حقیقت نام مستعار نوع ھستند طوریکه ھیچ نوع جدیدی به طور واقعی مطرح نمی شود
نوعھای واقعی پیاد هسازی می کند جایی که :
;type def int handle
ایجاد می کند . بر کنترل نوع تأکید شده است و تعریف نوعھا handle به طور واقعی یک نوع جدید به نام
در تعریف مجدد توابع شریک می شوند. برای مثال :
int foo(int i); int foo(handle h);
دارد . این امر بیش از ھمه در ساخت bit یک نوع داده با نام D نوع داده پایه بیت است و bit نوع
آرایه ھایی از بیتھا مفید است :
;bit [ ] foo
، inline توقع پشتیبانی از توابع معمول از جمله توابع عمومی ، توابع مجدد تعریف شده ، توابع D توابع
توابع عضو ، توابع مجازی ، اشاره گرھا به توابع و … را داشته است علاوه برآن : توابع تودرتو توابع
و تکنیکھای بسته بندی locality می توانند درون توابع دیگر قرار گیرند. این امر در ساخت کد ، خاصیت
توابع بی نام می توانند به طور مستقیم در یک Functionliterals توابع بسیار مفید است. لفظ ھای توابع
دینامیک توابع محصور شده و توابع عضو کلاس بوسیله وکالت (Closure) عبارت جای داده شوند. وکالت
شدن برنامه سازی type safe می توانند ارجاع داده شوند که این باعث آسانتر شدن و (delegate)
عمومی می شود. پارامترھای ورودی، خروجی ، ورودی خروجی این خصوص یسازی نه تنھا کمک
می کند که توابع خود مستندتر شوند بلکه بسیاری از موارد لزوم اشار هگرھا را بدون قربانی کردن ھیچ
چیز حذف و امکاناتی را برای کمک بیشتربه کامپایلر در پیدا کردن اشکالات کد فراھم م یکند. بدین
ھای بیگانه ارتباط برقرار API این امکان فراھم میشود که مستقیماً با یک بازه وسیعتری از D ترتیب برای
C کند. و ھیچ نیازی برای کارھای جانبی مانند زبانھای تعریف ارتباطات وجود ندارد. آرایه ھا آرایه ھای
اشتباھات متعددی دارند که م یتوانند تصحیح شوند. 1 :اطلاعات بعد با آرایه ھمراه نیست و بنابراین باید
ھستند که به argr و argc ذخیره شده و جداگانه ارسال شود . مثال کلاسیک این مورد پارامترھای
فرستاده می شوند . main
main (int argc , char*argv[])
2آرایه ھا اشیاء سطح اول نیستند .وقتی یک آرایه به عنوان پارامتر به یک تابع فرستاده می شود به یک .
اشاره گر برگردانده می شود حتی با اینکه الگوی تابع به طور گیج کنند های می گوید که این آرایه است.
قابل تغییر اندازه C وقتی این برگرداندن انجام می شود تمام اطلاعات نوع آرایه گم م یشود. 3 .آرایه ھای
نیستند . این بدان معنی است که حتی چیزھای ساده ،انبوه و متراکم م یگردد مانند یک پشته که
قابل کنترل نیست چون اصلاً مرز C نیازدارد به عنوان یک کلاس پیچیده ساخته شود. ۴.مرز یک آرایه
آرایه مشخص نیست. ۵.آرایه ھا با علامت [ ] پس از شناسه اعلان می شوند . این به یک املای بی خود
و گیج کننده در اعلان اشیایی مانند اشاره گر به یک آرایه م یانجامد :
int (*array ) [3];
اعلان . int [3] * array ; علامت [ ] در سمت چپ قرار م یگیرد که فھم آن بسیار ساده تر است D در
تابعی که آرایه ای از اعداد Long [ ] func (int x); یک اشاره گر به یک آرایه سه تایی از اعداد صحیح
در چھار نوع می آیند : اشاره گرھا ، آرایه ھای استاتیک ، D صحیح بلند را برمی گرداند آرایه ھای
آرایه ھای دینامیک و آرای هھای شرکت پذیر ، قسمت آرایه ھا را ببنید ! رشته ھا پردازش رشت هھا آن قدر
زمخت و بدترکیب) که نیازمند پشتیبانی مستقیم در زبان برنامه C++ و C متداول است (و آن قدر در
الحاق رشته ھا ، کپی کردن و … را در دست می گیرند . ، D سازی است. زبانھای مدرن از جمله
رشته ھا رھاورد مستقیم پردازش بھینه شده آرایه ھا ھستند.
سه شنبه 15/4/1389 - 15:36
کامپیوتر و اینترنت

قسمت اول D زبان برنامه نویسی
یک زبان D . یک زبان برنامه سازی سیستمی و کاربردی ھمه منظوره است D ؟ چیست D چشم انداز
ھای سیستم API است اما توانایی نوشتن کدھای قدرتمند و تعامل مستقیم با C++ سطح بالاتر از
به خوبی برای نوشتن برنامه ھای متداول و برنام هھای بزرگ چند D. عامل و سخت افزار را حفظ می کند
به آسانی قابل آموختن است ، توانائیھای D . میلیون خطی با تیمھای برنامه نویسی مناسب است
زیادی را برای کمک به برنامه نویس فراھم می کندوبه خوبی برای فناوری پرتکاپوی بھینه سازی کامپایلر
نیست. ھمچنین دارای (interpreter) یک زبان اسکریپتی(متنی) یا دارای مفسر D . مناسب است
ماشین مجازی ، مذھب خاص یا فلسفه برتری جویی نمی باشد. بلکه یک زبان عملی است برای
برنامه نویسان حرفه ای که نیاز به انجام سریع و قابل اعتماد پروژه دارند و به کد قابل فھم آسان نیاز
اوج چند دھه تجربه به کارگیری کامپایلرھایی از D . دارند و مسئول عملکرد صحیح برنامه ھستند
از زبانھای دیگر D . زبانھای گوناگون و تلاش برای بنانھادن پروژه ھای بزرگ توسط آن زبا نھا است
واقعاً ؟ D الھام م یگیرد و آن را با تجربه و کاربرد به معنای واقعی درھم می آمیزد. چرا C++ مخصوصاً
C چرا؟ چه کسی زبان برنامه نویسی دیگری نیاز دارد؟ صنعت نرم افزار راه درازی از زمان اختراع زبان
افزوده شد. اما سازگاربا C تعداد زیادی مفاھیم جدید به زبان C++ تاکنون پیموده است. به وسیله
تلاشھای . C در آن ادامه یافت ، شامل سازگاری با تقریباً تمام ضعفھای طراحی اصلی زبان C گذشته
زیادی برای برطرف ساختن آن ضعفھا تاکنون صورت گرفته است اما در پی حفظ سازگاری با گذشته
دستخوش یک رشد پیوسته خصوصیات جدید شده اند. C++ و C خنثی شده است. در ضمن ھر دوی
این خصوصیات جدید باید به دقت و بدون نیاز به بازنویسی کد قدیمی به ساختار موجود خورانده شود.
استاندارد حدود ٧۵٠ C++ استاندارد تقریباً ۵٠٠ صفحه است و C ؛ نتیجه نھایی بسیار پیچیده است
این است که کامپایلرھای اندکی به طور مؤثر استاندارد را ++C صفحه ! حقیقت شلوغی کامپایلر
گرایش می یابند که در جزایر خاصی از زبان برنامه ++C دست نخورده به کار م یگیرند. برنامه نویسان
بسازند و در نظر م یگیرند کاربرد بسیار خوب بعضی خصوصیات را در حالی که از دیگر مجموع هھا
اجتناب م یکنند . با وجود اینکه کد از یک کامپایلر به کامپایلر دیگر قابل حمل است م یتواند مشکل
این است که ++C باشد که از برنامه نویسی به برنامه نویسی دیگر منتقل شود. توانایی بزرگ
می تواند تعداد زیادی سبکھای اصلی برنامه نویسی را پشتیبانی کنند . در کاربرد طولانی مدت سبکھای
دارای اشتراک و متناقض یک مانع و در نتیجه سبب تأخیر ھستند. ناامید کننده است که زبانی چنین
++C قدرتمند ، اعمال پایه ا ای مانند تغییر اندازه آرایه ھا و الحاق رشته ھا را انجام نم یدھد.البته
توانایی برنامه نویسی قدرتمند برای پیاده سازی آرایه ھای قابل تغییر اندازه و رشته ھا را فراھم
اما به ھرحال چنین خصوصیات بنیادی ، بایستی جزء قسمتھای . ( STL می کنند (مانند نوع بردار در
قابل گسترش ، طراحی مجدد و پیاده سازی به یک زبان ساده ، ++C زبان باشد. آیا قدرت و قابلیتھای
وارتگنال (متمایز و مستقل )و کاربردی می باشد؟ آیا تمامی آنھا می تواند داخل بسته ای قرار گیرد که
برای کامپایلرنویسان به آسانی قابل پیاد هسازی صحیح باشد و کامپایلرھا را قادر کند که به نحوی کارا ،
کدھای بھینه شده و پرتکاپو ایجاد کند؟ فناوری پیشرفته کامپایلر به نقط های رسیده است که
خصوصیاتی از زبان که به منظور جبران کردن فناوری ابتدایی کامپایلر وجود دارند ، می توانند حذف شوند.
باشد ، مثالی ظریفتر ماکروی پیش پردازنده در C در ”Register“ (مثالی ازاین نمونه می تواند واژه کلیدی
است) . ما م یتوانیم به فناوری پیشرفت هی بھینه سازی کامپایلر اعتماد کنیم تا دیگر به خصوصیاتی C
از زبان که برای دست یافتن به کیفیت کد قاب لقبول (جدای از کامپایلرھای ابتدائی) لازم است نیاز
درنظر دارد که ھزینه ھای گسترش نرم افزار را حداقل % ١٠ کاھش دھد توسط افزودن D . نداشته باشیم
خصوصیات بھینه سازی بالابرنده میزان سودمندی و تولید و ھمچنین با تعدیل کردن خصوصیات زبان ، به
منظره ++C/C طوری که اشکالات وقت گیر متداول از ابتدا حذف م یشوند. خصوصیات حفظ شده از
و انتقال کد به آن را آسانتر م یکند. گذر از D است . این موضوع آموختن ++C و C شبیه D کلی
باید طبیعی حس شود و برنامه نویس مجبور نخواھد بود که یک راه کاملاً جدید D به سوی ++C/C
به این معنا نیست که برنامه نویس به یک ماشین مجازی خاص D انجام کارھا را فراگیرد. استفاده از
وجود ندارد یک D ھیچ ماشین مجازی . Smalltalk زبان اجرا محدود شود مانند ماشین مجازی جاوا یا
به سیستم عامل متصل D . تولید می کند (Link) ھای قابل پیوند Objectfile کامپایلر سرراست است که
گنجانده D مستقیماً در برنامه نویسی ”MAKE“ ابزارھای آشنای متداول مانند . C می شود دقیقاً مانند
ابقا خواھد شد . ھمان املای جبری به کار ++C/C شده است. ١.منظره عمومی و احساس موجود در
C ھم به سبک D خواھد رفت و اغلب عبارات و فرمھای دستورات و طرح بندی عمومی. ٢.برنامه ھای
برای چه D . نه شیءگرا) یاترکیبی از ھردو قابل نوشتن است ) ++C (توابع و داده ھا) و ھم در سبک
کسانی مناسب است؟ ١.برنامه نویسانی که به طور مداوم از ابزارھای تجزیه و تحلیل کد استفاده
می کنند تا خطاھا را حتی قبل از کامپایل شدن ازبین ببرند. ٢.افرادی که عمل کامپایل را با بالاترین
سطح ھشدارھا انجام می دھند یا از کامپایلر می خواھند که ھشدارھا را به منزله خطا تلقی کند.
٣.مدیران برنامه نویسی که مجبورند به راھنماییھای سبک برنام هنویسی برای اجتناب از اشکالات
به خاطر ++C اعتماد کنند. ۴.افرادی که براین باورند که وعده ھای سبک شیءگرای C معمول
لذت م یبرند اما به خاطر ++C پیچیده گیھایش برآورده نمی شود. ۵.برنامه نویسانی که از قدرت بیانگر
نیاز به صرف تلاش زیاد برای اداره حافظه و یافتن اشکالات اشاره گرھا ، ناامید شد هاند. ۶.پروژه ھایی که
نیاز به تست ھمراه و تصدیق و تأیید دارند. ٧.برنامه نویسانی که فکر می کنند زبان باید دارای خصوصیات
کافی باشد . برای رفع نیاز دائمی اداره دستی و مستقیم اشاره گرھا. ٨.برنامه نویسان محاسبات
دارای خصوصیات زیادی برای پشتیبانی مستقیم اعمال مورد نیاز برنامه نویسان محاسبات D . عددی
NAN’S می باشد ، مانند پشتیبانی مستقیم از نوع داده مرکب و اعمال تعریف شده برای ب ینھایت و
از D نه) ٩.بخش تجزیه لغوی و تجزیه نحوی ++C ٩٩ اضافه شد ولی در C (این خصوصیات در استاندارد
یکدیگر در نھایت مجزا ھستند و ھمچنین از تجزی هگر معنایی. این بدین معناست که نوشتن ابزارھای
در سطح عالی آسان است بدون اینکه مجبور به ساختن یک کامپایلر D ساده برای اداره کردن کد منبع
ھا token کامل باشیم . ھمچنین بدین معناست که کد منبع ،برای کاربردھای خاص قابل انتقال به فرم
است.

سه شنبه 15/4/1389 - 15:35
کامپیوتر و اینترنت

شبكه های ATM

 

فهرست مطالب:

مقدمه ای در ارتباط با به وجود آمدن پروتكل ATM

ATM و بانكداری

ATM و امور بانكی

امنیت و ATM

1- 1مفهوم ATM و شبكه های مبتنی بر ATM

2- 1مد انتقال آسنكرون یا ATM

3- 1مفهوم ATM

4-1شبكه های مبتنی بر ATM

5-1اجزای ساختار شبكه ATM و مشخصات آن

6-1دورنمای ATM

7-1همایش ATM

8-1فرمت سلول ATM

1-8-1عنوان سلول UNI (UNI CEEL HEADER)

2-8-1عنوان سلول NNI (NNI CELL HEADER)

9-1مقایسه پكت ATM با پكت IP4 وIP6

10-1انواع روشهای انتقال اطلاعات

11-1مقایسه شبكه ATM با اترنت گیگا بیت

12-1شبكه های اتصال گرا

13-1اتصالات منطقی ATM

14- 1استفاده های اتصال كانال مجازی

15-1خصوصیات مسیر مجازی_ كانال مجازی

16-1سیگنالینگ كنترل

17-1انواع ارتباطات ATM

مصاحبه با اقای نواب كاشانی مدیرامورطرح وبرنامه بانك صادرات ایران درباره ی سیستمهای ATM ووضعیت بانكداری الكترونیكی درایران

 

مقدمه ای درارتباط با به وجود امدن پروتكل ATM

 

با ورودبه قرن 21اینترنت به عنوان زیرساخت اصلی جهان ارتباطات درامده است درحال حاضرپروتكلTCP/IPبستراصلی جابه جایی دادههادراینترنت بوده وكلیه سخت افزارهاونرم افزارهای شبكه جهانی اینترنت براساس این پروتكل طراحی وساخته شده اندولی باتوجه به نقاط ضعف فراوان پروتكل فوق پروتكل های جدیدتری مانندATMبرای جایگزینی با ان طراحی شده اندلیكن مشكل عمده دراینجااست كه درصورت تصمیم درجهت جایگزینی TCP/IPبادیگرپروتكل هاویاحتی اگربخواهیم نسخه جدیدتری رابه جای ان بكاربگیریم مستلزم ان است كه كلیه نرم افزارهاوسخت افزارهای موجوددرسراسرجهان بامدهای جدیدترتعویض شوندواین یعنی میلیاردهادلارهزینه.

(درتكنولوژی ATMمی توان كیفیت سرویس راتضمین نمود)

 

ATMوبانكداری الكترونیكی

 

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

باگسترش فناوری انواع سیستم های بانكداری الكترونیكی نیزایجادشده است كه هریك ازانهاابعادی تازه رادرزمینه تبادل اطلاعات میان كاربروبانك ارایه

می كنند ATMنخستین سیستم شناخته شده ای است كه برای اسانی دسترسی كاربران به فعالیت های بانكی خودمعرفی گردیدوبه كمك یك رابط گرافیكی كاربر(UGI2)كاربرمی تواندبرخی ازاین كارهارا اجراكندواین عملیات به سیستم كامپیوترمركزی بانك منتقل می گردد.پركاربردترین راه ارتباط بابانك برای كاربری كه یك كامپیوترشخصی بااتصال شبكه داردازطریق یك مرورگر وب برای كاربانكی بربسترشبكه جهانی(WWW)یابانكداری اینترنتی (وبی) است .

دراین حالت پروتكل استاندارد برای ارتباط میان مرورگرو وب سروربانك به كارخواهدرفت این پروتكل استانداردhttp است كه بالای لایه ی امنیت جای دارد.http زبان ارتباطی شبكه جهان است.یك بانك اغلب به امنیتی بیش ازانچه كه مرورگرهای معمولی فراهم می اورندنیازدارد بانك بایدنرم افزارموردنیازمشتری رافراهم كندزیرابه مرورگرهای نصب شده روی كامپیوترمشتری اعتمادچندانی نیست. برای دوری ازمسایل مرتبط به توزیع ونصب نرم افزارهای اضافه كامپیوترمشتری بانك اغلب یك راه حل مناسب راپیش می گیردیك مرورگرعادی روی كامپیوترمشتری نصب می گردد.امابرای افزایش ضریب امنیت دلخواه یك قطعه برنامه جاوا ازسایت بانك روی كامپیوترمشتری كپی می شوداین برنامه یك نرم افزاركوچك است كه درهنگام فعال شدن مرورگربه كارافتاده امنیت دلخواه راتامین می كند.بزرگترین امتیازاین روش این است كه سروربانك می تواندنرم افزارمشتری راپشتیبانی وروزامدكند.

ATMواموربانكی

بانك هادرایران چك های یكدیگر(چه چك های عادی وچه چك های مسافرتی) راقبول نمی كنندالبته به تازگی سیستم یكپارچه بانكی كشور (سیبا) در حال راه اندازی است. از ان گذشته سیستم بانكهای اتوماتیك (ATM) مانند خود پرداز ملت ملی كارت عابربانك سپه و…باهم سازگارنیستند.دراكثركشورهای جهان شركت های ارایه دهنده این خدمات ازبانكها جداهستند.انهابابانك ها قراردادمی بندندوشعبات ATM رادرجاهای مختلف نصب می كنند.    ضمنا تمام انهاازیك پروتكل برای ارتباط استفاده می كنند.به همین خاطرشمامی توانیدكارتATM خودرابدون درنظرگرفتن بانكی كه دران حساب داریددرهرATM استفاده نمایید پشت سراین كاریك سیستم مرتبط ویكپارچه بانكی است كه در كشور ماوجود ندارد . همچنین كارت اعتباری هنوزدرسیستم بانكی ماایجادنشده است. علت ان هم احتمالا مشكلی است كه این سرویس باسیستم بانكداری اسلامی دارد.به هر حال دردنیای تجارت الكترونیك كارت های اعتباری وسیستم های یكپارچه بانكی حرف اول رامی زنند.بستراین سرویس هادرسیستم بانكداری ماایجادنشده است وبه همین علت مانمی توانیم واردتجارت الكترونیك شویم.

كارت اعتباری یك كارت پلاستیكی است كه روی ان نام صاحب كارت وشماره ان به صورت برجسته وجودداردوپشت كارت یك نوارمغناطیسی دیده می شود كه درون خودبرخی اطلاعات مهم مثل هویت وادرس دارنده كارت راذخیره كرده است.سیستم های مالی كامپیوتری ماننددستگاههای خودپردازATM ازاین اطلاعات هنگام احرازهویت فردبه منظوربرداشت پول استفاده می كنند.یك كارت اعتباری استانداردشامل یك عدد16رقمی نیزهست كه حاوی اطلاعات مهمی درباره نوع كارت بانك صادركننده ی ان واطلاعات دیگراست.این شماره برای دارنده هركارت منحصربه فرداست ازاین شماره برای شناسایی دارنده كارت هنگام انجام معاملات الكترونیكی روی اینترنت نیز استفاده می شود درسیستم كارت اعتباری بانكی كه امروزه نیزمورداستفاده است صادركننده كارت دراصل یك بانك است وهریك ازدارندگان كارت اعتباری نزدبانك یك حساب دارندهنگامی كه كالایاخدماتی توسط دارنده كارت(مشتری)خریداری می شوداین پول بلافاصله به حساب فروشنده(كه خودنزدبانك حسابی دارد)واریز می شود.

تمامی مشتركان تلفن ثابت دارای قبض تلفن باداشتن حساب نزدباكهای عامل طرف قرارداد بامخابرات(شامل بانكهای صادرات-ملی-مسكن-توسعه-صادرات پارسیان-اقتصادنوین-تجارت وكشاورزی میتوانند از طریق ATM (خود پرداز) مبادرت به پرداخت غیرحضوری قبوض نمایند.

امنیت وATM

مامجبور هستیم كه تعدادزیادی پسوردداشته باشیم مثل سایتهای وب ایمیل هاو…همه ماسعی می كنیم كه همه این پسوردهای مختلف رابه خاطربیاوریم كه این كارغیر ممكن است بنابراین یاباید انهاراكف دستمان بنویسیم یاازیك برنامه نگهداری پسورداستفاده كنیدیااین كه فقط وفقط ازیك پسورداستفاده كنیم كه دراین صورت اگرپسوردكشف شودوضعیت فاجعه باری برایمان پیش می اید پسورهاراه مطمئنی برای شناسایی نیستند.هركس نام كاربری وپسوردمن راداشته باشدمی تواند به منابع مختص من دسترسی پیداكنددرحالی كه خودمن نیست گذشته ازاینهاپسوردیك رشته ازحروف می باشندحال چگونه می توان ازاین رشته هاپی به هویت واقعی طرف مقابل برد همچنین داده های موجوددربانك الكترونیكی من نیزتوسط همین رشته ازكاراكترهاحفاظت می شود.حال اگرشمابتوانیدانرابدست بیاوریدیاحدس بزنیدیابدزدیددیگرهمه چیزبرای من تمام است دیگراین حساب متعلق به شماست یاهمینطورصندوق پست الكترونیكی ویا…

ایااسم این رامی توان حفاظت ازاطلاعات گذاشت؟

راه های بهتری هم وجوددارد.سیستم های بانكیATM واقعاباامنیت هستندچون برای تعیین هویت ازدوفاكتوراستفاده می كنند یكی چیزی است كه بایدداشته باشید(كارتATM)ودیگری چیزی است كه بایدبدانید(پسورد)اگردیگران هم پسوردشمارابدانندمهم نیست چون برای استفاده ازسیستم بایدكارت هم موجودباشدكه این مانع بزرگی برای سواستفاده گران بشمارمی رود.به جای اینكه ازكاربربخواهیم پسوردخوداحفظ كندبااستفاده ازیك كارت ویك اثرانگشت

هم كارراخیلی راحت می كنیم هم مطمئن می شویم كه تعیین هویت درست انجام شده است.


مفهوم ATM وشبکه های مبتنی بر ATM

1-1)

معماری ATM به منظور انتقال بسیار سریع داده ، صدا و تصویر بر روی خطوط انتقال عمومی ( سیم مسی و فیبر نوری ) طراحی و پیاده سازی شد. بر خلاف بسیاری از شبکه هایی که با آن آشنا هستیم ATM شبکه ای مبتنی بر سوئیچ است. بدین ترتیب در ATM برای انتقال اطلاعات باید ابتدا یک ارتباط هماهنگ بین مبدأ و مقصد و سوئیج های میانی برقرار شود به این ارتباط مدار مجازی گفته می شود . ATM می تواند اطلاعات را به روش ” بدون اتصال” یا Connection less ارسال کند ولی از این قابلیت به ندرت استفاده می شود و نیز قادر به انتقال مؤثر داده ها بر روی خطوط عمومی (فیبر) تا نرخ 1Gbps است. تکنولوژی بکار رفته در شبکه های امروزی از جمله عمومی ترین آن یعنی IP از نوع بدون اتصال است. در پروتکل های بدون اتصال ، مشکل اساسی و اجتناب ناپذیر آنست که هیچ تضمینی در رسیدن داده ها به مقصد مورد نظر وجود ندارد ولیکن ATM پروتکلی اتصال گراست و قبل از هرگونه مبادله داده یک “مدارمجازی”یا به اصطلاح یک “نشست” از طریق سوئیچ ها برقرار می کند پس از آنکه داده ها مبادله شد ، مدار مجازی که حاصل هماهنگی قبلی سوئیچها است از بین خواهد رفت . ATM تنها معماری مبتنی بر انتقال اتصالگرای داده ها نیست . در حقیقت همتا و مکمل IPیعنی TCP نیز پروتکلی اتصالگراست. بدون شک ATM بهترین مثال مطمئن و اتصالگرای داده هاست. عامل مؤثر و کلیدی در سرعت بسیار بالای ATM قالب داده ها و ساختار فریم ها در این معماری است. تمام پروتکلهای مسیریابی بسته هایی را مسیریابی و هدایت می کنند که اندازه ثابت و مشخصی ندارند یک بسته IP می ماند از 20 بایت تا 64 کیلو بایت متغیر باشد . در این پروتکل ها گیرنده بسته ابتدا سرایند آن را پویش می کند تا حجم و اندازه دقیق بسته را استخراج نماید. زمان پردازش یک بسته بنا به اندازه آن متغیر است . در مقابل ATM داده ها را در قالب بسته هایی کوچک و با اندازه ثابت که سول نامیده می شودانتقال می دهد. سلولهای ATM فارغ از آنکه چقدر داده در خود حمل می کنند هرکدام 53 بایت هستند. در هر سلول 53 بایتی 5 بایت سرایند (Header) و 48 بایت بخش حمل داده (PayLoad) است. اگرچه سلولهای ATM دارای اندازه ثابت هستند ولی با این وجود قطعاً به داشتن سرایند نیازمندند. سرایند هر سلول ATM مبدأ و مقصد سلول را مشخص می کند . طول ثابت و کوچک سلولها باعث شده تا معماری ATM روشی بسیار کارامد و مؤثر برای انتقال صدا و تصویر دیجیتال باشد عمل دیگرموفقیت و سرعت ATM طراحی آسنکرون آن است .آسنکرون بودن ATM بدین معناست که سوئیچها قادرند سیگنالهای حامل داده را بطور همزمان هم بفرستند و هم بگیرند و هیچ هماهنگی خاصی بین سیگنالهای ارسال و دریافت نیاز نخواهد بود ماهیت آسنکرون بودن ATM از قالب ثابت سلولها ناشی می شود از آنجایی که سلولها دارای اندازه 53 بایتی هستند هر سوئیچ دقیقاً می داند که دریافت یک سلول چقدر طول می کشد و بدین ترتیب در خلال ارسال سلولها یک سوئیچ می تواند از سوئیچ دیگر سلولی را دریافت نماید.

 

2-1) مد انتقال آسنکرون یا ATM

مد انتقال آسنکرون یا ATM نسل بعدی فن آوری شبکه است که سرعت مبادله اطلاعات را افزایش خواهد داد و حتی گفته می شود که ممکن است این نوع شبکه در آینده جایگزین پروتکل حاکم براینترنت شود و نیز برخی دیگر اعتقاد دارند که این شبکه نسخه بالاتر و بهینه شده ISDN ( پروتکل مخابراتی معروف که صحبت های افراد را پکت پکت می کرد و ارسال می نمود و تقریباً همسن پروتکل IP جاری می باشد که سرعت آن حدود 155Mbps می رسید) است. در ضمن این شبکه به دلیل سرعت بسیار بالا و قابلیت هایی که دارد در بسیاری از کشورهای توسعه یافته برای سیستم های صوتی و تصویری و امکانات فوق شبکه ای مورد استفاده قرار گرفته است. با این فن آوری اطلاعات با حجم بسیار وسیعی مبادله خواهند شد . برای مثال صوت، داده ها، تصاویر ، CAT Scans ، تصاویر MRI و کنفرانس ویدئویی . این فن آوری شبکه های خصوصی و عمومی را پشتیبانی خواهد کرد و صوت ، ویدئو و داده ها در مداری به طور مشترک مبادله خواهند شد . ATM پهنای باند را بر حسب سرعت نیاز نوع اطلاعاتی که می خواهد از طریق آن مبادله شود ارائه می کند. سرعت تبادل اطلاعات 1.5Mbps و سریعترین حالت به 2Gbps می رسد. با استفاده از فن آوری ATM انواع مختلف شبکه ها ، از LAN گرفته تا WAN و از backbone تا Desktop می تواند به هم مرتبط شوند. علاوه براین ATM یک پروتکل انتقال برای B_ISDN است. در واقع شبکه ATM به جای شبکه TCP/IP پیشنهاد شده و حدود 80 تا 90 % معایب TCP/IP را حل می کند. این شبکه در 8 سال اخیر ارائه شده و 20 سال از تکنولوژی TCP/IP پیشرفته تر است و امنیت و سرعت انتقال اطلاعات را تضمین می کند.

 

 

شکل 1-1 هر دو شبکه ATM اختصاصی و عمومی می توانند صدا و تصویر و داده انتقال دهند.

 

3-1) مفهوم ATM

در ATM واژه ناهمزمان ، به روش انتقال فیزیکی اشاره ندارد که در B_ISDN در واقع همزمان است ( برای مثال در SDH/SoNET ). کلمه همزمان به روشی اشاره می کند که در آن , عرض باند میان اتصالات و کاربران پخش می شود. عرض باند در شیارهای زمانی با طول ثابت تقسیم می شود. این شیارهای زمانی در صورت نیاز کاربر ، در اختیار او قرار می گیرد و به همین دلیل ، مو قعیت زمانی از پیش تعیین شده ای را ندارد مد انتقال نشان دهنده نوعی روش چند تافت سازی و سوئیچینگ است.

مفهوم ATM با چند اصل تعریف می شود :

 

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

     

  4. کارکرد اصلی سرایند سلول ، شناسایی سلولهای متعلق به اتصال مجازی یکسان است.

     

  5. برچسب های شناسایی فقط معنای محلی دارند ( لذا آدرس های صریحی نیستند) و در هر سوئیچ ترجمه می شوند.

     

  6. حوزه اطلاعات بطور شفاف حمل می شود به عنوان مثال هیچگونه عمل کنترلی خطایابی بر روی این حوزه صورت نمی گیرد.

     

  7. جریانهای سلولی ، بطور نا همزمان تحت عمل چندتافت سازی با تقسیم زمانی قرار می گیرند.

     

    مشاهده می شود که ATM روشی است برای یکپارچه سازی تمامی ترافیک در سطوح انتقال ، دسترسی کاربر و سوئیچینگ.

    مهمترین مزیت ATM برای UNI آن است که تخصیص پویای باند را در تمامی موارد امکان پذیر می کند. یعنی عرض باند را در موقع نیاز به منابع ترافیک واگذار می کند. وقتی واگذاری عرض باند ATM را با روش انتقال همزمان (STM) مقایسه می کنیم که در آن شیارهای زمانی متناوب برای اتصالات ذخیره می شود، می بینیم که در STM واسط به نرخهای غیرقابل انعطاف و ثابتی محدود می شود. ATM به واسط های با نرخ بیت متغیر اجازه می دهد بدون آنکه برای واسط های با نرخ بیت ثابت مانعی باشد. ATM به عنوان نوعی روش چندتافت سازی بطور بالقوه می تواند از تسهیلات انتقالی ، بطور کارامدتری نسبت به TDM همزمان استفاده کند. در TDM همزمان ، یک قاب متناوب مرکب از شیارهای زمانی کوتاه ( معمولاً به اندازه یک بایت) روی یک پیونده انتقال تعریف می شود) و اتصالاتی که در آن پیونده سهیم هستند موقعیتهای ثابت شیار زمانی در هر قاب ، برایشان ذخیره شده است. در TDM ناهمزمان می توان از این عدم کارایی جلوگیری کرد زیرا در آن شیارهای زمانی ، در هنگام نیاز به اتصالات واگذار می شوند اما یک برچسب پیشوندی هم برای هر شیار زمانی مورد نیاز است تا اتصال را مشخص و شناسایی نماید.در نتیجه ، شیارهای زمانی بزرگتر از بایتها هستند تا برچسبها بتوانند کسر کوچکی از کل عرض باند را مصرف کنند. همچنین برای هر شیار زمانی ، یک عمل پردازش نیز مورد نیاز است و ذخیره سازی در یک حافظه موقتی لازم است تا تنازع را برطرف کند . ATM نمونه ای از این روش TDM ناهمزمان و برچسب داراست که در آن برچسب های شناسایی واقع در سرایند سلول ، فقط اهمیت محلی دارند نه اهمیت سراسری از انتها تا انتها.

    ATM به عنوان نوعی روش چندتافت سازی ، از امکان بالقوه استفاده مؤثر انگیزه گرفته است به عنوان یک روش سوئیچینگ در مقایسه با STM ( یا سوئیچینگ مداری با نرخ چندگانه) مزیت اصلی آن است که ضرورتی برای اختصاص حداگثر نرخ ندارد . در حالی که STM دارای ضرورت است. اختلاف دیگر آن است که در ATM ، سلولها بصورت شبکه ای پردازش می شوند در حالیکه STM ترافیک را بطور شفاف از شبکه عبور می دهد . از نظر بارپردازشی ، این نوعی عیب به شمار می رود اما این امکان را می دهد که شبکه کنترل بیشتری روی مسیریابی ، کنترل خطا ، کنترل جریان نسخه سازی و اولویتها داشته باشد. مثلاٌ با در نظر گرفتن اولویتها ، شبکه می تواند روی رفتار ترجیحی برای یک کلاس ترافیکی نسبت به کلاس دیگر در سطوح اتصالات مجازی یا سلولهای انفرادی ، کنترل داشته باشد. از اینرو ATM به عنوان نوعی روش سوئیچینگ که توانایی کنترل جزئی و قابل انعطاف ترافیک شبکه را دارد، می تواند انگیزه بالاتری ایجاد نماید اساساً دو نتیجه نامطلوب از ماهیت ناهمزمان ATM ناشی می شود. از آنجا که منابع شبکه رزرو نمی شود لذا وقتی ترافیک بسیار زیادی بسوی منابع حافظه موقتی محدود هجوم می آورد ، امکان تراکم ترافیک ایجاد می شود که ضرورتاً سبب ازدست رفتن سلولها می شود.نتیجه دیگر ، تأخیرهای متغیر سلولی در گذر از شبکه است که بیشتر ناشی از تأخیرهای تصادفی صف بندی در هر سوئیچ است . از این رو ، مفهوم کیفیت سرویس (QOS )بر حسب تأخیرهای سلول و نرخ تلفات سلولی، در بحثهای ATM اساسی است. قرار است B_ISDN کلاسهای کیفیت سرویس چندگانه اتصالات مجازی را برای گستره ای از انواع ترافیک با الزامات QOS متفاوت ، پشتیبانی نماید. پشتیبانی از چند کلاس ترافیکی و حفاظت از QOS آنها در حالی که به طور همزمان اشتراک آماری و استفاده از منابع شبکه را به حداکثر برساند ، مشکل ترین چالشی است که در پیاده کردن ATM وجود دارد.

     

    4-1) شبکه های مبتنی بر ATM

    دو نوع شبکه مبتنی بر ATM وجود دارد :

  8. عمومی (Public )
  9. اختصاصی (Private)

    شبکه های عمومی ATM را که در اختیار کلیه متقاضیان عادی قرار می گیرد ، شرکت های مخابراتی تأسیس و مدیریت می کنند در حالی که شبکه های اختصاصی با اهداف خاص توسط یک سازمان یا مؤسسه پیاده سازی می شوند. البته مرز تفکیک شبکه های عمومی و اختصاصی ATM چندان روشن و شفاف نیست زیرا ممکن است برای برقراری ارتباط بین دو شبکه ATM اختصاصی از یک شبکه ATM عمومی استفاده شود در این حالت نمی توان به کل چنین شبکه ای به صورت یک کمیت واحد نگریست و آنرا عمومی یا اختصاصی تلقی کرد. طراحی شبکه های مبتنی بر ATM نسبتاً ساده است در حالیکه تکنولوژی ساخت پیچیده ای دارد و در آن از روشها و الگوهای پیشرفته سوئیچینگ بسته (Packet Switching)استفاده شده است . هر ابزار موجود در شبکه ATM یکی از دو حالت زیر را دارد یا یک سوئیچ ATM است یا یک سیستم پایانی. سوئیچ ATM ابزاری است که مجموعه ای از شبکه ها را بهم متصل و مرتبط می کند یعنی داده ها از یک شبکه به شبکه دیگر منتقل و هدایت می کند و یک سیستم پایانی ATM که به اختصار ES نامیده می شود ابزاری است که به شبکه ATM متصل است ولی سوئیچ نیست . ES ها تولید کننده یا مصرف کننده اطلاعات هستند در حالیکه سوئیچ های ATM هدایت کننده آنها محسوب می شوند.

     

     

     

    شکل2-1 واسط های ویژه ATM که بین شبکه های عمومی و خصوصی فرق می گذارد.

     

     

سه شنبه 15/4/1389 - 15:35
کامپیوتر و اینترنت
  1. 1) اجزاء ساختار شبکه ATM و مشخصات آن
  2. اجزاء شبکه ATM عبارتند از : کارت شبکه ATM ، سوئیچ ATM ( به منظور ارسال هر سلول به مقصدش) و یک نرم افزار.
  3. مهمترین مزایای ATM عبارتند از :
  4. پهنای باندی دارد که اندازه آن وابسته به نیاز کاربر است.
  5. سرویس ارتباط گرا (Connection Oriented ) دارد.
  6. سوئیچهای ATM از مالتی پلکس کردن آماری استفاده می کنند.
  7. سرویس هایی با کیفیت بالا ارائه می دهد.
  8. از رسانه انتقال متفاوت مثل کابل نوری یا UTP پشتیبانی می کند.
  9. حجم وسیعی از اطلاعات را مدیریت می کنند.
  10. این فن آوری با شبکه های LAN و WAN فعلی کار می کند و از پروتکلهای متداول اخیر مثل TCP/IP پشتیبانی می کند.
  11. و بالاخره از مهمترین و بارزترین مزایای شبکه ATM که باعث جلب توجه به آن شده است سرعت بسیار بالای آن است که از مرز کیلو و مگابیت در ثانیه فراتر رفته و در حد گیگا بیت در ثانیه است. اما در کنار این مزایا یک عیب نیز وجود دارد و آن پرهزینه بودن تجهیزات و مشکل بودن پیاده سازی و نصب این نوع شبکه و نیز عدم سازگاری آن با تجهیزات فعلی مخابرات کنونی به دلیل مدرن بودن این نوع شبکه است.

    بطور کلی می توان گفت که ساختار شبکه ATM از سه قسمت عمده تشکیل شده است :

    الف- دستگاههای واسط خاصی بنام Switch of ATM که کاملاً دیجیتالی پیشرفته اند.

    ب- کابل فیبر نوری که به عنوان رسانه انتقال دیتا عمل می کند.

    ج- مجموعه ای از کامپیوترها در شبکه ATM یا به عبارت کلی End Point ها.

    در اینجا منظور از End Point ، در واقع جایی است که کاربران با آن سروکار دارند و از آن نقطه به شبکه متصل می شوند مانند رایانه و …

     

     

    شکل 3-1یک شبکه ATM همراه با سوئیچ ها و EndPoint ها

     

    برای پیاده سازی شبکه ATM و ارتباط آن باسایر شبکه ها از دستگاههایی بنام Gateway استفاده می شود که پروتکل ها و سخت افزار های مختلف را بهم تبدیل می کند مثلاً برای اتصال یک PC به یک رایانه Mainframe که دارای سخت افزار مختلف اند از این دستگاه استفاده می شود به خاطر پرهزینه بودن این نوع از شبکه و گران بودن سخت افزار آن معمولاً به کمک نرم افزارهای شبیه ساز ابتدا آن را تست و امتحان کرده و بعد به صورت واقعی آن را پیاده سازی می کنند.

    مشخصات ATM به شرح زیراند:

     

  12. سوئیچینگ سلول (Cell Switching) : یک سلول حامل اطلاعاتی در مورد مسیریابی جهت انتقال داده ها می باشد. سوئیچ این اطلاعات را خوانده و مسیر مناسب را انتخاب می کند.

     

  13. انتقال ارتباط گرا( Connection_Oriented transmission) : بدین معنی است که قبل از مبادله داده ها بین دو ایستگاه باید بین آن دو ارتباط برقرار شود.
  14. اندازه سلول (Cell Size ) : اندازه سلول همواره ثابت بوده و برابر 53 بایت است.5بایت آن به عنوان یا Header تعلق دارد و 48 بایت دیگر به PayLoad متعلق است.

     

  15. تأخیر (Delay ) : تأخیر بین ارسال و دریافت بسیار کوتاه است.

     

  16. سوئیچینگ (Switching) : عمل سوئیچینگ با سرعت بسیار زیادی انجام می شود.

     

    6-1) دورنمای ATM

    ATM پروژه ای است که توسط صنعت تلفن کشف شد زیرا پس از اترنت بطور گسترده مورد استفاده قرار گرفت. صنعت کامپیوتر در صدد استاندارد سازی تکنولوژی شبکه ای با سرعت بالا نبود شرکت های تلفن این خلأ را با ATM پرکردند. گرچه ATM توانایی تحویل اطلاعات را به تمام نقاط با سرعت بیشاز 1Gbps نوید می دهد این ادعا ساده نیست ATM اساساً راهگزین بسته ای با سرعت بالا است . ATM یک رابط انتقال بسته کارامد است که از بسته هایی با اندازه ثابت به نام سلولها استفاده می کند. استفاده از اندازه ثابت و قالب ثابت ، باعث ایجاد طراحی کارامد برای انتقال از طریق شبکه های با سرعت بالا می شود. رسانه انتقال ATM فیبر نوری است اما برای فواصل کمتر از 100 متر می توان از کابل هم محور یا زوج سیم های بهم تابیده شده استفاده کرد.

     

    7-1) همایش ATM

    همایش ATM در سال 1991 با مشارکت چهار شرکت عرضه کننده شبکه و کامپیوتر تشکیل شده. امروزه همایش ATM بیش از 1000 عضو دارد . این همایش تعاریف، مشخصات و ویژگی های فن آوری ATM را به رشته تحریر در می آورد سپس آن را به منظور تأیید به ITU تقدیم می کند . سازمان استاندارد ITU_I با همایش ATM همکاری نزدیکی دارد.

     

     

    8-1) فرمت سلول ATM

    ATM در سرعت های بالا از فن آوری VLSI برای سگمنت کردن داده ها به منظور تبدیل آنها به سلول استفاده می کند . هر سلول شامل 53 بایت می باشد که 5 بایت آن به عنوان Header تعلق دارد و 48 بایت دیگر به PayLoad تعلق می گیرد.

    شکل زیر فرمت سلول ATM را نشان می دهد.

     


    شکل4-1 فرمت سلول ATM

     

    استفاده از سلولهای با اندازه ثابت و کوچک چندین فایده دارد . اول ، استفاده از سلولهای کوچک می تواند باعث کاهش تدخیر انتظار در صف برای سلولی با اولویت بالا شود زیرا اگر کمی بعد از سلولی با اولویت کمتر برسد که منبعی برای مثال فرستنده را در اختیار گرفته است ، کمتر منتظر می شود. دوم ، به نظر می رسد سلولی با اندازه ثابت می توانند به صورت کارامدتری سوئیچ شوند که برای سرعت های قبلی بالای ATM بسیار مهم است. با سلولهایی با اندازه ثابت ، پیاده سازی مکانیزم سوئیچینگ در سخت افزار آسانتر است.

     

    شکل 5-1 انواع فرمت Header در ATM

    ATM دو نوع فرمت برای عنوان (Header) تعریف می کند. یکی برای عنوان سلول UNI و دیگری برای عنوان سلول NNI .

     

    1-8-1) عنوان سلول UNI (UNI Cell Header)

    عنوان سلول UNI چگونگی برقراری ارتباط بین ایستگاههای پایانی ATM (ایستگاههای کاری یا مسیریاب ها ) و سوئیچهای ATM را تعیین می کند. شکل 6-1 فرمت header سلول UNI را نشان می دهد.

     

    Field Length in bits

    4 8 16 3 1 8

    HEC 

    CLP

    PT

    VCI 

    VPI 

    GFC 

    شکل 6-1 فرمت Header سلول UNI

     

    فیلدهای عنوان سلول UNI و NNI همانطور که در شکل 6-1 و 7-1 نشان داده شده را شرح می دهیم.

  17. فیلد GFC(Generic Fhow Control) یا کنترل جریان عمومی :

    در سراید سلول داخلی شبکه ظاهر نمی شود ، اما در رابط کاربر _ شبکه وجود دارد. در این صورت می تواند برای کنترل جریان در رابط کاربر _ شبکه محلی استفاده شود و مهیا کننده وظایف محلی باشد. این فیلد می تواند در کنترل جریان ترافیک برای دستیابی به کیفیت های سرویس متعدد ، به کاربر کمک کند. در هر صورت ، مکانیزم GFC برای کاهش شرایط پرباری کوتاه در شبکه استفاده می شود. این فیلد از 4 بیت تشکیل شده و مشخص می کند که چند ایستگاه از یک رابط ATM منفرد بطور اشتراکی استفاده می کنند.

     

  18. فیلد VPI(Virtual Path Identifier) یا شناسه مسیر مجازی :

    شامل فیلد مسیریابی برای شبکه است . این فیلد شامل 8 بیت در رابط کاربر _ شبکه و 12 بیت در رابط شبکه _ شبکه می باشد و به همراه VCI برای تعیین مقصد بعدی یک سلول هنگام عبور از مجموعه ای از سوئیچ های ATM بکار می رود.

  19. فیلد VCI(Virtual Channel Identifier) یا شناسه کانال مجازی :

    این فیلد از 16 بیت تشکیل شده و به همراه VPI برای تعیین مقصد بعدی یک سلول هنگام عبور از مجموعه ای از سوئیچ های ATM بکار می رود. VPI مسیر مجازی خاصی را انتخاب می کند و VCI مدار مجازی خاصی را در این مسیر مجازی انتخاب شده بر می گزیند.

     

  20. فیلد PT (PayLoad Type ) یا فیلد نوع محموله :

    این فیلد مشخص کننده نوع دیتا در پکت می باشد و از 3 بیت تشکیل شده است. اولین بیت تعیین می کند که آیا PayLoad شامل اطلاعات است یا شامل داده های کنترلی. دومین بیت نشان دهنده وجود و تراکم ازدحام است و بیت سوم نشان می دهد که آیا این سلول آخرین سلول از مجموعه سلولهایی است که بیانگر فریم AAL5 است یا خیر .در جدول 1-1 مقادیر فیلد PTI آمده است.

     

    جدول 1-1 مقادیر فیلد PTI

    نوع ظرفیت 

    مفهوم 

    000 

    سلول داده کاربر ،عدم ازدحام ، نوع سلول 0

    001 

    سلول داده کاربر ، عدم ازدحام ، نوع سلول 1

    010 

    سلول داده کاربر ، دچار ازدحام ، نوع سلول 0

    011 

    سلول داده کاربر ، دچار ازدحام ، نوع سلول 1

    100 

    نگهداری اطلاعات بین راه گزینهای مقصد 

    101 

    نگهداری اطلاعات بین راه گزینهای منبع و مقصد  

    110 

    سلول مدیریت منبع  

    111 

    برای کاربردهای آینده رزرو شده است. 

     

  21. فیلد CLP (Congestion Less Priority) یا فیلد اولویت حذف سلول :

    به منظور هدایت شبکه در شرایط ازدحام استفاده می شود. به عبارت دیگر این فیلد تک بیتی نشان می دهد که اگر سلولی با تراکم ترافیک روبرو شود باید حذف گردد. این بیت برای افزایش کیفیت سرویس یا (Quality of Service) QOS بکار می رود. مقدار صفر در این بیت سلولی با اولویت بالا را نشان می دهد که نباید صرف نظر شود ، مگر راه دیگری وجود نداشته باشد . مقدار یک نشان می دهد که این سلول می تواند در شبکه صرف نظر شود. کاربر می تواند این بیت را طوری به خدمت بگیرد که سلولهای اضافه ( بیشتر از سرعت توافق شده ) با مقدار CLP برابر یک ، در شبکه قرار گیرند و اگر ازدحام در شبکه وجود نداشته باشد به مقصد تحویل شوند. شبکه می تواند این فیلد را برای هر سلول داده ای که توافقات مربوط به پارامترهای ترافیک بین کاربر و شبکه را نقص نماید ، بایک مقداردهد. در این حالت سوئیچی که این مقداردهی را انجام می دهد ، می داند که این سلول از پارامترهای ترافیک توافق شده تجاوز می نماید ، اما این سوئیچ قادر به اداره کردن این سلول می باشد. در نقطه دیگری در شبکه ، اگر ازدحام تشخیص داده شود این سلول برای صرف نظر شدن ، اولویت بالاتری نسبت به سلولی دارد که در محدوده های ترافیک توافق شده قرار دارد.

     

  22. فیلد HEC ( Header Error Control ) یا کنترل خطای سرایند :

    این فیلد شامل 8 بیت است که ارزش های بیتی دو عنوان (Header ) را به منظور خطایابی با یکدیگر جمع می کند. این یک فیلد CRC هشت بیتی است که می تواند کلیه خطاهای منفرد در بیت ها را تعیین و اصلاح کند به عبارت دیگر وظیفه خطایابی ، کشف و اصلاح آن را در بخش هدر به عهده دارد.

     

    2-8-1) عنوان سلول NNI (NNI Cell Header )

    رابطه شبکه به شبکه یا NNI چگونگی برقراری ارتباط بین سوئیچ های ATM را تعیین می کند. فرمت Header سلول NNI در شکل نشان داده شده است اندازه فیلد VPI برابر 12 بیت است ، بنابراین به سوئیچ های ATM اجازه می دهد که مقادیر بزرگتری را به VPI واگذار کنند.

     

     

     

     

     

    Field Length in bits

    12 16 3 1 8

    HEC 

    CLP

    PT 

    VCI 

    VPI 

     

    شکل 7-1 فرمت Header سلول NNI

     

    نوع محموله 

    PT : 

     

    کنترل جریان عمومی 

    GFC : 

    اولویت حذف سلول 

    CLP : 

     

    شناسه مسیر مجازی 

    VPI :

    کنترل خطای سرایند 

    HEC : 

     

    شناسه کانال مجازی 

    VCI :

     

     

    9-1) مقایسه پکت ATM با پکت IP4 و IP6

    بطور خلاصه می توان مهمترین برتری های پکت ATM را نسبت به پکت IP4 و IP6 در موارد زیر دانست :

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

    2- ثابت بودن هر دو قسمت Header و Data در پروتکل ATM که سبب می شود سرعت پردازش اطلاعات افزایش یابد زیرا دیگر نیاز به چک نمودن اندازه پکت در Header نیست. این ویژگی سبب ایجاد ارتباطات زنده می شود و تأخیر در ارسال و دریافت اطلاعات از بین خواهد رفت.

    3-نحوه خطایابی در قسمت Header ، همانطور که در ساختار پکت های IP4 و IP6 نشان داده شده ، مشاهده می شود که اصلاً در هدر IP6 فیلدی نام کنترل کننده خطای هدر وجود ندارد و علت آن این است که دراین نوع پروتکل فرض بر این است که وظیفه خطایابی به هیچ وجه به عهده لایه Network نیست پس برای پروتکل IP آن فیلدی بدین قصد منظور نشده است و این وظیفه به سایر لایه های شبکه محول شده است.اما در مقایسه بین ATM و IP4 هر دو فیلد کنترل خطای هدر را دارند. باید گفت که این فیلد در ATM بهیه تر شده و بسیاربهتر عمل می کندزیرا خطایابی در IP4 به روش Check Sum صورت می گیرد که تنها قادر به کشف خطا بوده و به هیچ وجه نمی تواند آنرا اصلاح یا به اصطلاح Recovery کند در صورتیکه در ATM عمل خطایابی بوسیله کد همینگ (Hamming Code ) انجام می شود که علاوه بر تشخیص خطا می تواند آنرا اصلاح کند و این خود در کاهش ترافیک (Congestion) شبکه بسیار مفید است و حتی اگر هم نیازی به ارسال مجدد باشد فقط باید 53 بایت را دوباره ارسال کند.

     

     

    شکل8-1 ساختار پکت ATM

     

    اما در مورد ثابت بودن پکت و مقایسه آن با پروتکلهای IP4 و IP6 همانگونه که در شکلها بطور کامل مشخص شده است IP6 از این نظر نسبت به IP4 بهتر شده ، زیرا بخش هدر که قبلاً در Ip4 اندازه آن متغییر بود در Ip6 به صورت ثابت در آمده و حتی از نظر تعداد فیلد کمتر شده پس تا حدی توانسته است در ابن موارد خود را بصورت بهینه در آورد. اما این جنبه در ATM به اوج درجه بهینه سازی رسیده است یعنی در آن هر دو بخش هدر و دیتا ثابت شده اند . پس کامپیوتر های واسط (IMPS ) در شبکه با سرعت بیشتری می توانند بسته های اطلاعاتی را خوانده و مسیردهی کنند زیرا که ثابت بودن این بخشها خود یک عامل در کاهش تعداد فیلدهای مورد استفاده در هدر است.

    نکته قابل توجه آن است که بر خلاف ساختار پکت در IP4 و IP6 ، در ساختار پکت های ATM فیلدهای آدرس گیرنده و فرستنده دیده نمی شود علت این موضوع را می توان در ماهیت این نوع شبکه جستجو کرد یعنی در این نوع شبکه برخلاف پروتکلهای اینترنتی که عموماً به روش Connection Less عمل می کنند این شبکه ماهیت ارتباط گرا یا Connection Oriented دارد زیرا به محض اتصال یک Device مثل کامپیوتر به شبکه سریع یک مسیر ثابت بین آن کامپیوتر و نزدیکترین سوئیچ ایجاد می شود و در واقع می توان گفت مرحله call setup بطور اتوماتیک انجام می شود و مسیر برقرار شده در حافظه سوئیچ نگهداری می شود .حتی الگوریتم مسیریابی در این نوع شبکه نیز یکی از ساده ترین انواع الگوریتم های مسیریابی است.

     

     

     

     

     

    شکل10-1 ساختار پکت در IP6

     

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

     

     

    با توجه به شکل بسته اطلاعاتی در پروتکل ATM می توان موارد زیر را استنباط نمود:

  23. حداکثر مسیرهای مجازی (VP) در یک کابل نوری در ATM برابر دو به توان هشت یا 256 می باشد.
  24. حداکثر تعداد کانالهای مجازی (VC ) هر مسیر مجازی در شبکه دو به توان 16 می باشد .
  25. تعداد کل ارتباطات بین دو سوئیچ در شبکه ATM برابر 256 * 2 ^ 16 است.

     

    10-1) انواع روشهای انتقال اطلاعات

  26. Connection Oriented یا اتصال گرا : در این روش ارتباط ابتدا ایجاد می شود و سپس انتقال اطلاعات صورت می گیرد. با استفاده از فیبر نوری پهنای باند 1000 برابر میزان فعلی است و برای شبکه ATM مناسب است . همچنین مشکل کمبود آدرس نیز با ایجاد آدرسهای نسبی نه مطلق حل می شود و بی نهایت آدرس خواهیم داشت. با شبکه ATM دیگر به سرویس مخابرات و فضا احتیاج نخواهد بود زیرا با کشیدن یک فیبر نوری به هر خانه می توان براحتی به انتقال اطلاعات پرداخت . در شبکه ATM در عرض یک هزارم ثانیه برنامه مگابیتی در کامپیوتر Down Load می شود . ایده ATM توسط مخابراتی ها بوجود آمد و بوسیله آن خواستند انواع مودم ، فکس ، دوربین و هر وسیله دیجیتالی را بهم متصل کنند.

     

  27. Connection Less یا بدون ارتباط : اگر مسیری رزرو نشود و بدون هیچ هماهنگی بین فرستنده و گیرنده ، اطلاعات انتقال یابد را Connection Less گویند. مانند پست نمودن نامه.

     

     ATM سرعتهای متفاوتی را برای انتقال اطلاعات فراهم می كند:

    1.سرعت كم: برای تلفن و فاكس

    2.سرعت متوسط : برای تلفن تصویری

    3.سرعت زیاد : برای كیفیت بالای تصویری و كتابخانه تصویری

     

     

     

    جدول 2-1مقایسه بین شبكه ATM و شبكه معمولی و شبكه مخابرات

    ATM

    شبكه معمولی

    مخابرات

    انتقال صوت ، Data ،تصویر به صورت زندهData Stream

    انتقال Data

    انتقال صوت

    اطلاعات بصورت Cell منتقل میشود.

    اطلاعات بصورت پكتها با اندازه متغییر منتقل میشود.

    پكت وجود ندارد انتقال  اطلاعات بصورت امواج سینوسی است.

    Connection Oriented 

    Connection Less 

    Connection Oriented 

    ضمانت مسیر برای انتقال اطلاعات زنده صوتی تصویری و اولویت بندی پكت ها

    مسیر انتقال اطلاعات ضمانت نمی شود.

    مسیر انتقال اطلاعات از زمان برقراری ارتباط تا قطع ضمانت مطلق می شود.

     

  28. مقایسه شبکه ATM با اترنت گیگابیت

    شبکه ATM را می توان برای شبکه های محلی LAN و شبکه های گسترده WAN مورد استفاده قرار داد. استفاده از ATM برای شبکه های محلی متداول نیست چراکه شبکه های ATM پیچیده و گرانقیمت می باشند.اغلب طراحان شبکه ترجیح می دهند که از اترنت گیگا بیت برای شبکه های محلی استفاده کنند. اما به هر حال ، ATM برخلاف اترنت گیگا بیت از سرعت ثابت ارسال بیتی برای مبادله داده های صوتی و تصویری ، مبادله بلادرنگ داده ها و کیفیت بالای سرویس (QOS )پشتیبانی می کند. با استفاده از پروتکل QOS (IEEE 802.1Q) در لایه بالاتر از اترنت گیگا بیت می توان بسته ها را اولویت بندی کرد. در نتیجه به بسته هایی که باید بلادرنگ مبادله شوند اولویت بالایی داده شده و به بسته هایی که نسبت به زمان حساس نیستند اولویت پایینی داده خواهد شد. اترنت گیگابیت بقدری سریع رشد کرده که به یکی از مشهورترین شبکه های LAN تبدیل شده است، در حالیکه ATM به شکل گسترده ای در شبکه های WAN مورد استفاده قرار می گیرد.

     

     

    12-1) شبکه های اتصال گرا : ATM , Frame , Relay , X.25

    اولین شبکه اتصال گرا که وارد سرویس عمومی شد ، شبکه X.25 بود . این شبکه در اوایل دهه 1970 و در زمانی طراحی شد که شرکتهای تلفن بصورت انحصاری عمل می کردند و هر کشور شبکه ملی خاص خود را داشت . برای استفده از X.25 ، ابتدا کامپیوتر مبدأ با ماشین مقصد تماس تلفنی برقرار می کرد . از آنجائیکه در آن واحد تماسهای مختلفی می توانست وجود داشته باشد ، به هر تماس تلفنی یک شماره داده می شد. بسته های داده بسیار ساده بودند : یک سرایند 3 بایتی و بدنه ای متشکل از 128 بایت . سرایند تشکیل می شد از یک شماره تماس 12 بیتی ، یک شماره ترتیب بسته (Packet Sequence Number ) و چند بیت متفرقه.

    شبکه های X.25 به مدت نزدیک به یک دهه با موفقیت نسبی کار کردند.در دهه 1980 شبکه های X.25 جای خود را به نوع جدیدی از شبکه های اتصال گرا بنام Frame Relay (رله فریم) دادند. این شبکه جدید اساساً هیچ نوع کنترل خطا و کنترل جریانی نداشتند و بسته ها به همان ترتیب دریافت در مقصد تحویل می شدند البته اگر به مقصد می رسیدند . این سه خصوصیت ( فقدان کنترل خطا ، فقدان کنترل جریان و تحویل ترتیبی بسته ها ) شبکه های Frame Relay را بسیار شبیه یک LAN بزرگ می کند و در واقع بزرگترین کاربرد آن هم همین است : اتصال چند LAN دور از هم ، ایجاد یک LAN بزرگ.

    شبکه های ATM یا مد انتقال آسنکرون که به نام رله سلولی نیز شناخته می شود از قابلیت اطمینان و کیفیت امکانات دیجیتال مدرن بهره می گیرد تا سوئیچینگ بسته ای سریعتر X.25 را فراهم نماید و از جهتی مشابه سوئیچینگ بسته ای با استفاده از X.25 و Frame Relay می باشد. مانند سوئیچینگ بسته ای و Frame Relay و ATM شامل انتقال داده ها در دسته های مجزا است . و همچنین مانند س.ئیچینگ بسته ای و Frame Relay امکان مالتی پلکس نمودن چندین اتصال منطقی را بر روی یک رابط فیزیکی دارد . در ATM جریان اطلاعات در هر اتصال منطقی به صورت بسته هایی با اندازه ثابت به نام سلولها سازماندهی شده است. ATM یک پروتکل کارامد با حداقل توانایی های کنترل جریان و کنترل خطا می باشد. این عمل ، سربار پردازش سلولهای ATM و تعداد بیت های سربار لازم برای هر سلول را کاهش می دهد ، بنابراین باعث می شود ATM با سرعت انتقال داده بالایی عمل نماید. علاوه بر آن استفاده از سلولهایی با اندازه ثابت ، پردازش لازم در هر گره ATM را ساده می نماید و استفاده از ATM را در سرعت های انتقال داده بالا حمایت می کند.

     

    13-1) اتصالات منطقی ATM

    اتصالات منطقی ATM ، اتصالات کانال مجازی (VCCs) نامیده می شود. یک شبکه VCC مشابه مدار مجازی در X.25 می باشد و واحد اصلی سوئیچینگ در شبکه ATM است. یک VCC بین دو کاربر انتهایی ، از طریق شبکه و جریانی Full_Duplex با سرعت متغیر از سلولهایی با اندازه ثابت که از طریق این اتصال مبادله می شوند ، آماده سازی می گردد. VCC ها بریا تبادل بین کاربر _ شبکه (سیگنالینگ کنترل) و تبادل شبکه _ شبکه ( مدیریت شبکه و مسیریابی ) استفاده می شوند. یک اتصال مسیر مجازی (VPC ) دسته ای از VCC ها را دنبال می کنند ، در یک VPC با هم سوئیچ می شوند. مفهوم مسیرمجازی در پاسخ به تمایل برای شبکه های سرعت بالا توسعه داده شد که در آنها ، هزینه کنترل شبکه نسبت به هزینه کل شبکه بسیار زیاد است. تکنیک مسیر مجازی ، با گروه بندی اتصالاتی که مسیرهای مشترکی را از طریق شبکه ، به یک واحد بطور مشترک استفاده می کنند, به کاهش هزینه کنترل کمک می کند . سپس اعمال مدیریت شبکه می توانند بر روی تعداد اندکی از گروههای اتصالات بکار گرفته شوند، به جای اینکه روی تعداد زیادی از اتصالات مجزا عمل نماید. چند فایده استفاده از مسیرهای مجازی عبارتند از :

  29. معماری شبکه ساده شده : توابع انتقال شبکه می توانند به دو گروه تفکیک شوند : آنهایی که مربوط به هر اتصال مجزای منطقی هستند ( کانال مجازی ) و آنهایی که مربوط به گروهی از اتصالات منطقی می باشند (مسیر مجازی) .

     

  30. افزایش کارایی و قابلیت اطمینان شبکه : شبکه با موجودیت های تجملی کمتری روبرواست.

     

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

     

  32. سرویس های ارتقاء یافته شبکه : مسیرهای مجازی در داخل شبکه استفاده می شود. اما برای کاربر نهایی نیز قابل رؤیت است . بنابراین ، کاربر می تواند گروههای کاری مجتمع ، یا شبکه ای از دسته های کانال مجازی را تعریف کند.

     

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

     

  34. به منظور آماده سازی یک کانال مجازی ، ابتدا باید یک اتصال مسیر مجازی به گره مقصد با ظرفیت قابل دسترسی کافی به منظور حمایت این کانال مجازی ، با کیفیت سرویس مطلوب وجود داشته باشد . یک کانال مجازی ، با ذخیره اطلاعات مورد نیاز آماده سازی می شود.( تصویر نمودن کانال مجازی به مسیر مجازی )

     

    14-1) استفاده های اتصال کانال مجازی

    نقاط انتهایی VCC می توانند کاربران نهایی ، موجودیت های شبکه یا یک کاربر نهایی و یک موجودیت شبکه باشند. در همه موارد جامعیت دنباله سلول ،در VCC حفظ می شود که عبارت است از تحویل سلولها به همان ترتیبی که ارسال می شوند . اینک مثالهایی از این سه کار بر VCC را در نظر می گیریم :

  35. بین کاربران نهایی : می تواند به منظور حمل داده های کاربر از انتها به انتها استفاده شود همچنین می تواند به منظور حمل سیگنالینگ کنترل بین کاربران نهایی استفاده گردد. یک VPC بین کاربران نهایی ، ظرفیت کلی را برای آنها فراهم می نماید. سازماندهی VPC ها در VCC برعهده این دو کاربر می باشد، در صورتیکه مجموعه VCC ها از ظرفیت VPC تجاوز ننماید.

     

  36. بین کاربران نهایی و یک موجودیت شبکه : به منظور کنترل سیگنالینگ بین کاربر _ شبکه استفاده شده است . یک VPC برای کاربر _ شبکه می تواند به منظور جمع آوری ترافیک کاربر نهایی با یک مرکز تبادل شبکه یا سرویس دهنده شبکه استفاده شود.
  37. بین دو موجودیت شبکه : به منظور مدیریت ترافیک شبکه و توابع مسیریابی استفاده می شود. یک VPC برای شبکه به شبکه می تواند به منظور تعریف مسیر مشترکی برای تبادل اطلاعات مدیریت شبکه مورد استفاده قرار گیرد.

     

    15-1) خصوصیات مسیر مجازی _ کانال مجازی

    توصیه I.150 از ITU_T خصوصیات زیر را برای اتصالات کانال مجازی لیست نموده است :

  38. کیفیت سرویس : به یک کاربر VCC باید کیفیت سرویس داده شده که توسط پارامترهای مانند اتلاف سلول ( نسبت سلول های گم شده به سلول های ارسال شده ) و تغییر در تأخیر سلول مشخص می شود.

     

  39. اتصالات کانال مجازی سوئیچینگ و نیمه دائمی : یک VCC سوئیچینگ ، اتصال بر مبنای تقاضا می باشد که نیازمند سیگنالینگ کنترل مکالمه برای آماده سازی و خاتمه دادن است یک VCC نیمه دائمی ، مدتی طولانی دارد و با اعمال پیکربندی یا مدیریت شبکه آماده سازی می شود.

     

  40. جامعیت دنباله سلول : دنباله سلولهای ارسال شده در VCC نگهداری می شود.

     

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

    I.150 خصوصیات VPC ها را نیز لیست می نماید . اولین چهار خصوصیت لیست شده، مشابه موارد مربوطه به VCC ها می باشد یعنی کیفیت سرویس ، VPC های سوئیچینگ و نیمه دائم ، جامعیت دنباله سلول و مبادله پارامتر ترافیک و نظارت بر استفاده ، همگی از خصوصیات VPC نیز هستند . چند دلیل برای این تکرار وجود دارد: اول ، این عمل باعث انعطاف در نحوه مدیریت سرویس شبکه بر نیازهای مربوط به آن می شود. دوم ، شبکه باید به تمامی نیازهای یک VPC توجه داشته باشد و در یک VPC ، ایجاد کانالهای مجازی با پارامترهای داده شده را انجام دهد. درنهایت ،پس از آماده سازی VPC برای کاربران نهایی ، امکان ایجاد VCC های جدید وجود دارد. علاوه بر آن ، خصوصیت پنجم لیست شده برای VPC ها عبارتند از :

  42. محدودیت شناسه کانال مجازی در VPC : یک یا چند شناسه کانال مجازی ممکن است برای کاربر VPC قابل دسترس نباشد اما برای استفاده شبکه رزرو شده باشند مثالهای آن عبارتند از VCC های استفاده شده برای مدیریت شبکه .

     

    16-1) سیگنالینگ کنترل

    در ATM ، مکانیزمی برای ایجاد و حذف VPC ها و VCC ها لازمست. تبادل اطلاعات موجود در این فرایند ، سیگنالینگ کنترل نامیده می شود و توسط اتصالات مجزا از آنهایی که در حال مدیریت شدن هستند، انجام می گیرد. برای VCC ها ، توصیه I.150 چهار روش را برای فراهم نمودن امکان ایجاد _ حذف مشخص کرده است. یکی از این روشها یا ترکیبی از آنها در هر شبکه خاص استفاده خواهد شد :

    1- VCC های نیمه دائم می توانند برای تبادل کاربر به کاربر استفاده شوند در این حالت سیگنالینگ کنترل لازم نیست .

     

    2- اگر کانال سیگنالینگ کنترل مکالمه از قبل ایجاد نشده باشد ، یکی باید آماده سازی شود. برای این منظور ، تبادل سیگنالینگ کنترل باید بین کاربر و شبکه بر روی یک کانال انجام شود . در این صورت نیاز به کانالی دائمی است احتمالاً با سرعت انتقال داده کم که بتواند برای آماده سازی VCC های کنترل مکالمه استفاده شود. چنین کانالی، کانال Meta _ Signling است و برای آماده سازی کانالهای سیگنالینگ مورد استفاده قرار می گیرد.

    3- کانال Meta _ signling می تواند برای آماده سازی یک VCC بین کاربر و شبکه برای تمام سیگنالینگ کنترل استفاده شود . این کانال مجازی سیگنالینگ کاربر به شبکه می تواند برای آماده سازی VCC ها برای حمل داده های کاربر استفاده شود.

     

    4- کانال Meta _ Signling می تواند به منظور آماده سازی کانال مجازی سیگنالینگ کاربر به کاربر استفاده گردد چنین کانالی باید یک VPC از قبل ایجاد شده آماده سازی شود. سپس می تواند استفاده شود تا به کاربران نهایی امکان دهد بدون دخالت شبکه ، VCC های کاربر به کاربر را برای حمل داده های کاربر ، ایجاد و حذف نمایند. برای VPC ها ، سه روش در I.150 تعریف شده است :

    1- یک VPC می تواند به صورت نیمه دائمی بر اساس توافق قبلی ایجاد شود . در این حالت سیگنالینگ کنترل مورد نیاز نیست.

     

    2- ایجاد – حذف یک VPC می تواند از طریق مشترک کنترل شود. در این حالت مشتری یک سیگنالینگ VCC را بری درخواست VPC از شبکه ، استفاده می نماید.

     

    3- ایجاد – حذف VPC می تواند از طریق شبکه کنترل شود . در این حالت مشتری یک سیگنالینگ VPC را برای اهداف خود ایجاد می کند این مسیر می تواند از شبکه به شبکه یا از کاربر به کاربر باشد.

     

    17-1) انواع ارتباطات ATM

    ATM دو نوع ارتباط را پیش نهاد می کند :

  43. ارتباط مجازی دائمی یا PVC (Permanent Virtual Connection) تنظیم و قطع ارتباط PVC توسط مدیر شبکه بطور دستی انجام می شود . مجموعه ای از سوئیچ های شبکه بین منبع و مقصد در ATM با ارزش های از قبل تعیین شده را برای VPI/VCI برنامه ریزی شده اند. مبادله اطلاعات در این روش برقراری ارتباط قابل اعتماد است.

    2- ارتباط مدار مجازی سوئیچ شده SVC( Switched Virtual Circuit ) : SVC ارتباطی است که توسط یک پروتکل ATM signaling بطور اتوماتیک تنظیم می شود. SVC نسبت به PVC کاربرد بیشتری دارد زیرا به تنظیم دستی نیاز ندارد . اما از درجه اعتماد نسبت به PVC برخوردار است.

     

    18-1) شناسه های ارتباطی (Connection Identifiers)

    دو شناسه ارتباطی در عنوان (Header)یک سلول ATM وجود دارد که عبارتند از :

    VPI(Virtual Path Identifiers) و VCI (Virtual Path Identifiers) .

    VPI و VCI به منظور مسیریابی و شناسایی سلولها مورد استفاده قرار می گیرد . VPI و VCI بیانگر آدرس مقصد نیستند بلکه بیان کننده ارتباطی هستند که به مقصد مورد نظر مشخص می شود. یک VPI ممکنست شامل چندین VCI باشد . به شکل 11-1 نگاه کنید .

    شکل 12-1 نمایشی از VCI و VPI می باشد.

    VPI شبیه شماره ریل و VCI مشابه شماره واگن در یک قطار می باشد. هر ریل می تواند چندین واگن را منتقل کند و هر واگن شماره ای منحصر بفرد دارد که توسط VCI نمایش داده می سود . هنگامی که یک سلول وارد سوئیچ می شود ، سوئیچ می تواند یک شماره جدید VCI به آن سلول واگذار کند.

     

     

     

     

    گفتگو با اقای نواب كاشانی مدیرامورطرح وبرنامه بانك صادرات ایران درباره ی سیستمهای ATM ووضعیت بانكداری الكترونیكی درایران

     

    زمانی كه میان كامپیوتروارتباطات هماهنگی ایجادگردیدواین دوفناوری پروتكل های یكدیگرراپذیرفته دریك راه قرارگرفتند ارتباطات كامپیوتری شكل گرفت وبه دنبال ان تحولی بزرگ دربخش ITونیز تاریخ زندگی بشررخ داد تحولی كه دوره ای به نام موج چهارم رابه روندتكاملی دوره های زندگی بشری افزود.دراین عصرنوین كه به عصرمجازی هاهم مشهوراست نوع فعالیت ها نگرش ها نواوری هاوسیستم هادگرگون شده سرعت چرخش زمان نیزتندوشتابان گشته است تغییردرماهیت كار تغییردرماهیت ارتباط تغییردرماهیت اموزش و… گوشه هایی ازاین دگرگونی هستند.بانكداری الكترونیكی نیزدست اورداین پیشرفت هااست بدین منظوركه هرمشتری بتواندازراه دور خدمات بانكی دلخواه خودمانندنقل وانتقال وجه وبررسی حساب راانجام دهد. ازاین روخدمات الكترونیكی نوین بانكی مطرح گردیده وامكانات وقابلیت هایی برای مشتریان فراهم شده كه درچارچوب انهابهره گیری از خدمات بانكی ازدورامكان پذیرباشد.یكی ازابزارهای اصلی كه یك بانك برای برپایی بانكداری الكترونیكی نیازداردATM (بانكداری تلفنی – كارت اعتباری) امابه نظرمن كشورمابه دلیل نداشتن ابزارهای لازم دربرپایی بانكداری الكترونیكی ناكام مانده است همانگونه كه می دانیددرگذشته هریك ازبانكهابرای پیاده سازی سیستم های انفورماتیكی خودمستقل عمل كرده اندواین كارهم هزینه های بیشتری داشته وهم باعث سردرگمی مشتریان گردیده است.برای نمونه هربانك یاموسسه مالی درهرفروشگاه یك دستگاهPOS نصب می كردواین كارمشتریان رابه هنگام استفاده ازدستگاه هاسردرگم می ساخت ازاین روبرای حل این مشكل ونیز صرفه جویی درهزینه های ملی مركزشتاب كه این بانك درایجادان نقشی بنیادین داشته است شكل گرفت وهم اكنون 5 بانك عضومركزشتاب هستند و3 بانك صادرات ایران توسعه صادرات ایران وكشاورزی باپرداخت كارمزدازدستگاههای ATM وPOS یگدیگربهره می برند.

     

     

    نویسنده : مهدی ثابت

سه شنبه 15/4/1389 - 15:34
کامپیوتر و اینترنت

 

روش تایپ 10 انگشتی با صفحه کلید

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

ارزش و اهمیت تایپ ده انگشتی

مدت دوره آموزش تایپ حرفه ای، به طور معمول در آموزشگاه های فنی و حرفه ای 4 ماه است كه گاهی بیشتر نیز می شود. اما معتقدم كه جهت آموزش این مهارت به افرادی كه واقعاً انگیزه و پشتكار یادگیری آن را داشته باشند، یك جلسه نیز كافی بوده و بعد از آن در صورتی كه تمرین مرتب و مكرر كنند، به مرور زمان در حد تایپیست های حرفه ای آموزش دیده ظاهر خواهند شد.

قدم اول

به صفحه كلید نگاه كنید. دو تا از دكمه های صفحه كلید روی خود برجستگی های كوچكی دارند كه وجود آنها كمك می كند تا موقعیت این دو دكمه را حتی در تاریكی یا بدون نگاه كردن نیز بتوان پیدا كرد. دكمه های مذكور، حروف F و J می باشند. انگشت اشاره دست راست خود را روی حرف F و انگشت اشاره دست چپتان را روی حرف J بگذارید.

قدم دوم

دو انگشت سبابه خود را روی دكمه SPACE مستقر نموده و 6 انگشت باقیمانده را به ترتیب روی دكمه های كنار حروف F و J بگذارید. (البته بدون فشردن دكمه ها) با مستقر شدن دستتان در این حالت، موقعیت تمامی دیگر كلیدها، نسبت به این  8 كلید ردیف وسط، قابل دسترس می باشد. این 8 دكمه را كلیدهای خانه (HOME KEYS) می نامند.

لازم به یادآوری است كه علت مرتب نبودن دكمه های صفحه كلید به ترتیب الفبایی، آرایش آنها به ترتیب میزان كارایی است. 8 كلید خانه، پركاربردترین حروف صفحه كلید به شمار می روند.

قدم سوم

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

شروع تایپ سرعتی به روش صحیح:

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

الف) تمرین با حروف ردیف وسط:

سم، كشك، گك، ات، لب، شك،

بات،بابا ،الب، شبی، یاس، سال، لاك،

كمال، شیما، مینا، امشب، لك لك، نم نم

ب) تمرین با حروف ردیف وسط و بالا:

ضش، صس، ثی، قب، فب، چك، جك، حك، خم، هن، عت، غت

ضامن، صبا، ثمین، قلیان، فلفل، چنگك، جنگل، خلاص، همیشه، علما، غلام

فسنجان، فسقلی، فكستنی، ثنایی، قلقلی، قشنگ، عقاب، خفن، خنك

پ) تمرین با حروف ردیف های وسط، بالا و پایین:

ظش، طس، زی، رب، ذب، /ك، .م، ون، ئت، دت، زكی، رشت، دادار

ظله، طشت، زورو، رب انار، بند رخت، ظالم، طالبی، زنبور، روزی، ذلیل، دهكده، نائب،آبله

(نكته1: جهت نوشتن حرف آ كلیدهای SHIFT+H را بفشارید.)

(نكته2: كلید SHIFT همواره با انگشت كوچك دست مخالف دستی كه حرف مربوطه را می زند فشرده می شود)

ملاحظه، كبوتر، آشكار

قدم چهارم :

در شروع كار، ممكن است اجرای این روش، كمی برایتان دشوار بوده و یا احساس كنید روش كندی است. اما فراموش نكنید كه به مرور زمان آنقدر در این كار ماهر خواهید شد كه سرعت نوشتنتان با صفحه كلید چندان فرقی با سرعت نوشتن با خودكار نخواهد داشت.

تمارین مربوط به كلیدهای اعداد، در اینجا آورده نشده، اما جهت اطلاع از انگشت متناظر با هر عدد، به رنگ دكمه ها در شكل زیر دقت نمایید. (كلیدهای همرنگ با انگشت مشابهی فشرده می شوند)

ممكن است با بلند شدن یك انگشت، انگشت دیگری نیز به طور غیر ارادی از جای خود بلند شود، اما این موضوع ایرادی نداشته و مهم این است كه حتماً پس از فشار دادن دكمه مورد نظر، هر دو انگشت به جای اولیه خود باز گردند.

كلیات ماجرا

كلیات ماجرا همین بود. اما یادتان باشد كه میزان سرعت و مهارت شما در تایپ كامپیوتری فقط و فقط بستگی به میزان تمرین و تجربه تان خواهد داشت. چنانچه زمانی برسد كه بتوانید 180حرف در دقیقه تایپ كنید (با احتساب كسر 5حرف به ازای هر غلط) یعنی شایستگی دریافت مدرك بین المللی این رشته را داشته و از نظر سازمان فنی و حرفه ای كشور، یك تایپیست حرفه ای به شمار می آیید.

با مراجعه بهاین لینک می توانید نرم افزارهای مرتبط با تایپ را دانلود نمایید.

منبع : یزد فاوا و وب سایت فن آوری اطلاعات

سه شنبه 15/4/1389 - 15:31
کامپیوتر و اینترنت


 

ا استفاده از دانش نانوتكنولوژی دانشمندان توانسته‌اند نانوروبات‌های زیستی طراحی كنند كه در بدن انسان قرار می‌گیرند و نقش محافظ و درمانگر را ایفا می‌كنند. این ریزماشین‌های هوشمند قادرند چندین نسخه از خودشان تهیه كنند و جایگزین بافت‌های فرسوده یا آسیب‌دیده نمایند.

 

«در آینده نانو روبات‌های هوشمند در مغز و بدن هر انسانی به تعداد زیاد وجود خواهند داشت و انسان را از ابتلا به انواع بیماری‌ها مصون می‌دارند حتی روند پیر شدن بشر را به تعویق می‌اندازند و نیز قدرت جسمانی و حافظه او را تقویت می‌كنند.» شاید در نگاه اول این جمله تداعی‌كننده پیش‌گویی‌های «آرتور سی‌كلارك» در رابطه با دنیای آینده باشد ولی جالب اینجاست كه این پیش‌بینی از دكتر «كورزویل» متخصص علوم كامپیوتر و عضو موسسه ملی مهندسی در امریكاست. او هم اكنون به همراه گروهی از متخصصین، در زمینه كاربرد نانو روبات‌ها در زندگی آینده بشر تحقیقاتی انجام می‌دهد و قرار است نتایج مطالعات این گروه به صورت فیلمی با عنوان «داستان واقعی زندگی در آینده» در اواخر سال جاری میلادی ارائه شود.

 

بر اساس این گزارش با استفاده از نانوتكنولوژی دستیابی به انرژی خورشیدی امكانپذیر خواهد شد. انرژی خورشیدی قابل تبدیل و استفاده به اشكال مختلف انرژی می‌باشد و بشر را از منابع دیگر انرژی بی‌نیاز می‌كند. نانوروبات‌ها ماشین‌های كوچكی هستند كه برای انجام عملیاتی خاص و بعضا تكرارشونده با دقت بسیار بالا طراحی شده‌اند. نانو( nano-) به معنی یك بیلیونیوم یا یك میلیاردم است. قطر موی سر انسان یك دهم میلیمتر است درنظر بگیرید، یك نانومتر صدهزار برابر كوچك‌تر از آن است .9-10 =1 nanometer (nm) . مكعبی با ابعاد 5/2 نانومتر ممكن است حدود 1000 اتم را در خود جای دهد. با استفاده از دانش نانوتكنولوژی دانشمندان توانسته اند نانوروبات‌های زیستی طراحی كنند كه در بدن انسان قرار می‌گیرند و نقش محافظ و درمانگر را ایفا می‌كنند. این ریزماشین‌های هوشمند قادرند چندین نسخه از خودشان تهیه كنند و جایگزین بافت‌های فرسوده یا آسیب‌دیده نمایند این فرایند را خود تكثیری می‌نامند. آنها نه تنها قادر به تشخیص محل دقیق سرطان خواهند بود بلكه داروی مناسب برای از بین بردن سلول‌های سرطانی را تزریق می‌كنند.

 

امروزه تحقیقات وسیعی در زمینه درمان بیماری‌هایی چون دیابت، بیماری‌های قلبی و ایدز در حال انجام است. نانوروبات‌ها دارای امكانات بالقوه‌ای هستند كه با اجتماع و قرارگیری به صورت كلونی قادرند بطور موشكافانه و دقیق از سیستم حفاظت كنند. در واقع با ساختاری اتمی و یا مولكولی در یك فرایند شناخته شده قرار داده می‌شوند تا چرخه‌ای را كامل نمایند. تكنولوژی نانوروباتیك آنقدر سریع در حال پیشرفت است كه به یقین زندگی انسان از اواسط قرن جاری بكلی متحول خواهد شد. این تغییرات شامل از بین رفتن بسیاری از بیماری‌ها، كاهش عوامل و عوارض بسیاری از امراض و حتی جراحی‌ها می‌باشد. یكی از مهمترین برنامه‌های گسترش علوم روباتیك در جهان بیشتر كردن عمر بشر و مبارزه با پیری و عواقب آن است. از دهه 80 میلادی تا كنون كوچك‌سازی (مینیاتورسازی) از اهم فعالیت‌ها در زمینه علوم كامپیوتری بوده است.

 

طبق گزارشات اعلام شده سرعت رشد تكنولوژی هر بیست سال دو برابر خواهد شد، در نتیجه تكنولوژی در سال 2050 حدود 32 برابر از سال 1950 جلوتر خواهد بود. یكی از شاخه‌هایی كه رشد تكنولوژی در آن بسیار چشمگیر است، دانش پزشكی است. با ساخت ابزار و وسایل پزشكی در آینده روند پیر شدن كند می‌شود و مبارزه با بیماری‌ها آسان‌تر و مطمئن‌تر خواهد شد. در زمینه كالبدشناسی از نانوروبات‌ها به منظور تعیین محل دقیق آسیب استفاده خواهد شد. در شرایطی استفاده از نانو ربات‌های زیستی ضروری به نظر می‌رسد كه امكان دسترسی به عضو موردنظر دشوار بوده یا امكانپذیر نباشد یا حتی در مواردی كه عواقب دردناك و دشواری توسط پزشك پیش‌بینی شود. برای طراحی یك نانوروبات دانشمندان از مدل‌های طبیعی مثل ساختار رشته‌های DNA بهره می‌گیرند. با بهره‌گیری از دانش نانو تكنولوژی دانشمندان قادر به ساخت حسگرهای زیستی در ابعاد یك میلیاردم هستند.

 

هم اكنون نانو روبات‌هایی كه در مراكز تحقیقاتی ساخته می‌شود به اندازه‌ای كوچك هستند كه هنگام عطسه همراه با گرد و غبار به بیرون پرتاب می‌شوند. یكی از اولین ریزروبات‌هایی كه برای كمك به علم پزشكی ساخته شد «سلئو» نام داشت. این میكروروبات برای جاسازی در داخل روده انسان طراحی شده بود. سئلو مجهز به یك چنگال و چند حسگر بود. حسگرها بدین منظور تعبیه شده بودند تا مانع برخورد با موانع شوند، وظیفه چنگال نیز برداشتن نمونه از سطح روده می‌باشد. این ریزماشین می‌توانست یا خود حركت كند یا توسط پزشك با یك كنترل دستی به حركت درآید. اسلوب كار نانوروبات‌هایی كه در داخل بدن كار گذاشته می‌شوند، شبیه‌سازی از محیط، در فضایی سه بعدی است و تجزیه و تحلیل اطلاعات در آنها بر مبنای روش‌های عددی می‌باشد. نانوروبات‌ها مانند انسان به اطلاعات اطرافشان نیاز دارند.

 

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

 

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

 

مراحل آزمایشگاهی نانوروبات‌های زیستی در یك محیط واقعی با كنترل‌ها و سنجش‌های شیمیایی و حرارتی در مسیر مطلوبی قرار دارد. طراحی نانوروبات‌ها بر پایه و اساس نانوبیوالكترونیك می‌باشد و حسگرهای ویژه‌ای به نام نانوبیوسنسورها عملگرهایی هستند كه به روشی خاص عمل می‌كنند و كاربرد آنها در جهت اهداف پزشكی و تحویل دارو به سلول‌ها می‌باشد. این پژوهش‌ها باعث پیشرفت‌های خارق‌العاده‌ای در زمینه نانو داروهای هوشمند شده است. از دیگر وظایف تعریف شده در نانوروبات‌ها عملكرد آنها به عنوان antibady است. antibady به معنی ماده‌ایی است كه در بدن تولید می‌شود و به مقابله با بیماری‌ها می‌پردازد. موضوع جالب این است كه سیستم ایمنی بدن با نانوروبات‌های زیستی سازش می‌كند و در جهت رفع بیماری با آنها همكاری می‌نماید. از دیگر قابلیت‌های تعریف شده در نانوبیوسنسورها بررسی زمان است، به عبارتی بررسی تشخیص بهترین زمان برای تزریق دارو به سلولهاست.

 

نانو روبات‌های هوشمند قادر به تجزیه و تحلیل منطقی شرایط زیستی سلول می‌باشند، زیرا تزریق دارو به سلول‌ها اگر در زمان و موقعیت مناسب انجام شود به طور یقین تاثیر مطلوب خواهد داشت و در غیر این صورت نه تنها به بهبود وضعیت بیمار كمك نخواهد شد بلكه دارای عواقب خطرناكی نیز هست. تجزیه تحلیل‌های گوناگونی كه از بررسی محیط بدست می‌آید بسیار مهم و حساس است، از طرفی ابعاد بسیار كوچك یا مینیاتوری این ریزماشین‌ها محدودیت‌هایی را ایجاد خواهد كرد. مسئله بسیار مهم دیگر تامین انرژی لازم برای گرفتن اطلاعات و تجزیه و تحلیل آنهاست. Adriano Cavalcanti یكی از پیشگامان درگسترش تكنولوژی نانو یا مهندسی اتوماتیكی مولكول‌های زیستی است، همچنین او رئیس CAN (Center for Automation in Nanobiotech) می‌باشد. او به همراه گروهی از متخصصین این رشته توانسته است دستگاه‌ها، وسایل و تجهیزات پزشكی مجهزی با استفاده از نانوروبات‌های زیستی تولید كند و گام‌های موثری در درمان بیماری‌هایی چون دیابت، انواع سرطان‌ها، كاردیولوژی (بیماری‌های قلب) و نیز معالجه انوریسم (اتساع غیرطبیعی شریان‌ها) انجام دهد.

 

آدرس‌های اینترنتی www.nanorobotdesign.com , www.canbiotechnems.com برای دسترسی به اطلاعات بیشتر و آشنایی با نحوه كار این گروه می‌باشد. مراحل كلی ساخت نانوروبات‌ها دارای دو بخش اصلی است ابتدا طراحی و ساخت تراشه‌های زیستی، به عبارتی ساخت تراشه‌هایی كه با ساختار ژنتیكی انسان سازگار بوده و براساس مدل ژنوم انسان طراحی شده باشند. در مراحل بعدی كه از حساسیت ویژه‌ای برخوردار است تست و انجام مراحل آزمایشگاهی به منظور بررسی واكنش بدن و چگونگی تاثیرگذاری نانوروبات‌هاست. یكی از اهداف ابداع این گونه روش‌ها مقابله با بیماری‌های صعب‌العلاج و همچنین انواع سرطان‌ها است. طراحان نانوروبات‌های زیستی معتقدند كه درمان بیماری‌هایی به ویژه سرطان با این روش موثرتر و همچنین ریسك خطرپذیری در آن بسیار كمتر است، زیرا این نانوروبات‌های زیستی بدون تاثیرگذاری روی سلول‌های سالم، سلول‌های بیمار و سرطانی را مورد هدف قرار می‌دهد.

 

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

 

اما متاسفانه دست موردنظر همه قابلیت‌های اولیه را نخواهد داشت، زیرا هنوز اطلاعات لازم برای اتصال اعصاب و بافت‌های جدا شده كه مطابق حالت طبیعی باشد به دست نیامده است. از طرفی داروهایی كه برای درمان انواع بیماری‌ها ساخته شده است، خود آسیب‌های دیگری به سلامت بدن انسان وارد می‌سازند زیرا كه محیط و هدف خود را به طور دقیق نمی‌شناسند و می‌تواند مولد زیان‌هایی حتی بزرگ‌تر از مشكلات اولیه باشد. از طرفی ظهور بیماری‌هایی نظیر ایدز با ویروس مرموز HIV كه روش‌ها و داروهای كنونی از شناسایی و نابود كردن كامل آن عاجزند، خود دلیلی بر متحول شدن دنیای پزشكی است. دانش نانوتكنولوژی تولید و ساخت تجهیزاتی در مقیاس نانومتریك را ممكن می‌سازد. تجهیزاتی در ابعاد اتم یا مولكول با ویژگی‌ها و خواص شیمیایی كاملا” منحصر به فرد و شناخته ‌شده. در واقع متخصصین با دستكاری اتم‌ها بطور جداگانه و جای دادن دقیق آنان در مكانی خاص قادرند ساختار دلخواه و مطلوبی را تولید كنند.

 

پژوهش‌های انجام شده ساختاری را ارائه می‌كند كه می‌تواند پیشرفت‌های حیرت‌انگیزی را در صنعت دارو و درمان بیماری‌ها و آسیب‌های زیستی ایجاد نماید. نانوبیوروبات‌ها سیستم‌هایی هستند كه شناساگر، تحلیل‌كننده، ترمیم‌كننده، متحرك و بسیار دقیق می‌باشند كه قادرند بخش عظیمی از مشكلات پزشكی امروز را برطرف سازند. این ماشین‌ها با اطلاعات كامل از ساختار بدن و حتی اجزای سلول‌های بدن به راحتی قادر به حفاظت افراد در برابر باكتری‌ها، میكروب‌ها و ویروس‌های بیماری‌زا می‌باشند. با استفاده از اینگونه روش‌های درمانی محققان قادر به ساخت بافت‌های بسیار مقاومی برای بدن انسان هستند كه حتی با افتادن از ارتفاع زیاد هم كوچك‌ترین خدشه‌ای در عملكردشان وارد نشود و سلامت خود را حفظ كنند. آینده علوم و مهندسی چند گرایشی (Multi- Disciplinary) است و هر روزه به سمت تولید ماشین‌های مولكولی سوق داده می‌شود تا در نهایت بتواند مجموعه‌هایی از ﭘیوندهای ارگانیك و سایبریك را عرضه كند.

 

با پیشرفت در نانوتكنولوژی دانشمندان قادرند تا نانوحسگرهای ویژه‌ای با كاربردهای نانوبیوالكترونیك و بیولوژیكی برای عملیاتی خاصی ابداع كنند. برخی معتقدند «نانوتكنولوژی روند زیان‌بار ناشی از انقلاب صنعتی را معكوس خواهد كرد.» از طرفی برخی اعتقاد دارند كه پیش‌بینی‌هایی كه در رابطه با سرعت پیشرفت تكنولوژی صورت گرفته است تا حدی اغراق‌آمیز و خوشبینانه می‌باشد. زیرا با درنظر گرفتن سرعت گرم شدن زمین، اثرات گلخانه‌ای، گسترش بیماری های عفونی و بعضا ناشناخته، آلودگی زمین و هوا، كمبود مواد غذایی و بسیاری از موارد دیگر، تعیین زمان اینگونه پیش‌گویی‌ها بسیار خوشبینانه است.

 

 

 

● رباتیک و کشور های صنعتی

 

کشور ها صنعتی به این حقیقت رسیده اند ، که کشوری پیشرفت نمی کند مگر این که در تمام علوم پیشرفت کند . بنابراین ، با توجه به این که رباتیک یکی از علوم اصلی سرنوشت ساز قرن است و به آن احساس نیاز می کنند . در این راستا فعالیت های بسیاری را انجام داده اند. آن ها آن قدر پیشرفت کرده اند که هدف خود را اینگونه ذکر می کنند ” در سال ۲۰۵۰ ربات هایی خواهیم ساخت شبیه انسان که بتواند با قوی ترین تیم فوتبال انسان ها بازی کند و بدون انجام خطا ، انسان ها را شکست دهد .”

 

آن ها هر ساله مسابقات رباتیک جهت کسب علم و استفاده نمودن از آن در صنعت برگزار می نمایند .

همچنین در راستای تربیت نیروی انسانی جهت گسترش این علم ، رشته ی مهندسی رباتیک را ایجاد نمودند .

ژاپنی ها در صنعت تولید روبات به عنوان پیش روی سایر كشورها هستند و شركت های هیتاچی، سونی، تویوتا و هوندا از جمله فعالان این صنعتند. اكثریت روبات های ساخته شده، شباهتی با انسان ها ندارند و معمولاً در خطوط تولید كارخانه ها مورد استفاده قرار می گیرند.

 

مهندسی رباتیک در واقع تلفیقی از رشته ی مهندسی برق و مهندسی مکانیک است که هدف آن تربیت نیرویی که بتواند به تنهایی ربات های صنعتی را طراحی کند و آن را بسازد . این رشته در اکثر دانشگاه های کشور های صنعتی تدریس می شود .

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

● وضعیت رباتیک در ایران    

 

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

به منظور عقب نماندن کشور در علم رباتیک ، رشته ی مهندسی رباتیک در سال ۱۳۸۱تاسیس شد و متاسفانه تا امسال (۱۳۸۷ ) تنها دانشگاه ارائه کننده ی آن دانشگاه صنعتی شاهرود بود . اکنون این رشته در دانشگاه صنعتی همدان نیز تدریس می شود . اما آیا دو دانشگاه کافی است ؟ پاسخ روشن است با توجه به اهداف کشور و سند چشم انداز ۲۰ ساله هم اکنون باید در تمام دانشگاه های صنعتی ، تدریس شود .

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

بعضی از افراد در ایران استفاده از ربات را مساوی اخراج نیرو کار می دانند و با توسعه ی آن مخالفت می کنند . اما آنها از این قافل هستند که گماردن نیروی انسانی به کار های روزمره و تکراری ، اتلاف نیروی انسانی است . به جای انجام کار بیهوده می توان آن ها را در جایی دیگر به خدمت گرفت .

هر ساله چندین مسابقات رباتیک در سطح کشور برگزار می شود که می توان گفت همه ی آن ها دارای قوانین ثابت و یک شکل و تکراری است و هیچ کدام قوانین بومی ندارند . متاسفانه در ایران به این مسابقات به چشم هدف نگریسته می شود . (بر عکس کشور های صنعتی که مسابقات را ، وسیله ای برای ارتقاء صنعت خویش می دانند . ) و تمام وقت دانشجویان را می گیرند که رباتی با هدف پوچ ( مانند مسیریاب که در این مسابقات ربات باید مسیر خط سیاه را دنبال کند ) بسازند .

متاسفانه هیچ یک از ما ، هیچ روز یا هفته ای در سال را به عنوان هفته ی رباتیک ، حداقل برای یادآوری اهمیت آن بر نگزیده ایم . و برای بهبود وضعیت آن کوششی نکردیم و نمی کنیم. علم رباتیك در كشور ما علمی نو هستش و آینده ای روشن و پویا خواهد داشت.

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

 

همچنین ربات انسان نمای ایرانی پارسه ، آسیمو را به وحشت انداخت، ربات انسان نمای پارسه ، محصول مرکز تحقیقات فناوری های پیشرفته پارسه هست که از پیشرفته ترین سیستم هوش مصنوعی جهان بهره می برد. سیستم هوش مصنوعی این ربات توانست در سال 2007 نرم افزار “کلاریسا” که توسط دانشمندان ناسا طراحی شده بود و تا آن زمان پیشرفته ترین سیستم هوش مصنوعی جهان به شمار می آمد رو با اقتدار کامل شکست بدهد . همچنین عنوان پدر هوش مصنوعی نوین جهان را از آن طراح خود کند. لازم به توضیح است که ربات انسان نمای پارسه برای رقابت جدی با ربات انسان نمای آسیمو طراحی شده است و در پایان سال 2008 بروی پیست رقابت خواهد رفت.

 

گفتنی است بخش سیستم هوش مصنوعی ربات انسان نمای پارسه توانست در سال 2007 طی 9 روز رقابت دقیق و کارشناسی بیش از 30 سیستم هوشمند و ربات جهان را از جمله بخش هوش مصنوعی ربات آسیمو ، نرم افزار کلاریسا در ناسا ، سیستم هوش مصنوعی لوییزا و…. را با قدرت شکست دهد . طبق نظر کارشناسان انجمن هوش مصنوعی آمریکا AAAI این سیستم توانسته 70 درصد هوش انسانی را بازسازی نماید که تاکنون در جهان توانسته بودند کمتر از 10 درصد آن را شبیه سازی کنند یعنی چیزی در حد هوش یک گربه!!!!!!

 

● ربات های متفكر، نسل آینده ربات ها

 

 

 

محققان رباتیک دانشگاه ایالت میشیگان آمریكا (MSU) بر روی ربات هایی با فناوری هوش مصنوعی در حال كارند

    

فیلم جدید بازگشت ماتریكس سوژه ای مشترك با فیلم های دیگری دارد كه در آنها ماشین های رایانه ای كه بسیار پیشرفته اند با تفكر خود قصد سلطه بر جهان را دارند، این تصور و تخیل چندان كه به نظر می رسد خیال پردازانه نیست. محققان دانشگاه ایالت میشیگان آمریكا (MSU) بر روی ربات هایی با فناوری هوش مصنوعی در حال كارند كه قادر می باشند فكر كنند یا حداقل از تجربیاتشان بیاموزند. درست همانند یك بچه. اما آیا این امكان وجود دارد كه ربات های ساخت بشر روزی علیه سازندگانشان به جنگ بپردازند؟

آرتور تانگ كه یك محقق است اعتقاد دارد، از لحاظ تكنیكی چنین امری در آینده ای نه چندان نزدیك امكان پذیر است و ربات های دارای هوش مصنوعی این استعداد را دارا می باشند. هوش مصنوعی از داغ ترین موضوعاتی است كه دانشمندان علوم رایانه آن را تحت بررسی دارند. آنها قصد دارند تا به جای ساخت یك ماشین هوش مصنوعی (AI) آن را به بار آورده و رشد دهند. تانگ در این مورد می گوید: «به جای دادن برنامه حل یك مسأله به رایانه ما قصد داریم تا با بزرگ كردن یك ماشین هوش مصنوعی همانند یك كودك امكان حل مسأله و پیدا كردن راه حل را به خود او واگذار كنیم. مثلاً ما دوست داریم به جای برنامه دادن به آن جهت تشخیص كاراكترها و گرامر، نحوه خواندن را به این ماشین ها یاد دهیم.» این درست همان كاری است كه جان ونگ استاد دانشگاه MSU در حال انجام آن است. او هم اكنون دومین ربات نمونه خود را نیز ساخته است. این ربات كه Dav نام دارد شبیه رباتی است كه در سریال تلویزیونی «گم شدن در فضا» به نمایش در آمد.

یك جفت دوربین چشم های Dav می باشند و یك میكروفن به همراه پردازنده صوت گوش های این ربات را تشكیل می دهند. قدرت تشخیص حركت و حسگرهای حرارتی این ربات را به توانایی های انسان نزدیك تر می كنند.

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

برنامه نویس پشت سر ربات حركت نموده و با تنظیم حسگرها و تغییر دستورالعمل های ورودی حركت آن را بهبود می بخشد. با ده بار انجام این كار ربات یاد می گیرد كه هنگام رسیدن به گوشه ها دور بزند و از برخورد با دیوار اجتناب ورزد.

ونگ می گوید در مورد انسان ها فراگیری و اندازه مغز محدود است اما در مورد ربات ها چنین موانعی وجود ندارد. البته ونگ معتقد است احتمالاً ربات ها هیچ گاه از كنترل انسان خارج نخواهند شد،چرا كه برنامه نویسان آنها انسانها هستند.

 

● استفاده از روباتهای هوشمند در مانیتورینگ، کنترل و تعمیرات خطوط لوله گاز

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

● آینده ی علم رباتیک

جمعیت ربات‌ها به سرعت در حال افزایش است. این رشد توسط ژاپنی‌ها که ربات‌های آن‌ها تقریباً دو برابر تعداد ربات‌های آمریکا است، هدایت شده است.

 

همه ارزیابی‌ها بر این نکته تأکید دارد که ربات‌ها نقش فزاینده‌ای در جوامع مدرن ایفا خواهند کرد. آن ها به انجام کارهای خطرناک، تکراری، پر هزینه و دقیق ادامه می‌دهند تا انسان‌ها را از انجام آن‌ها باز دارند.

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

شهری را تصور کنید که رباتها در اکثر فعالیت های انسانی و بشری کمک رسان بشر شده اند.به یقین که نگاهی با کمی دورنگری و کمی بزرگ نمایی از آینده این رشته بسیار نگران کننده و شاید خطرناک باشد.تصور این که رباتی شما را در یک معامله بفریبد و یا رباتی که دارای احساس و اندیشه و جماعاتی رباتی که بر سر مسایل مورد نظر شان مثل کم توجهی به آنها شروع به شورش کنند و دیگر موارد که اکنون خنده دار و در باطن نگران کننده است.
در راستای همین مطالب بد نیست نگاهی با تامل و جدی به فیلم “مرد 200 ساله” بیاندازید که به تصور شما کمک میکند.

    

● نتیجه گیری

 

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

۱) آشنایی مردم با علم رباتیک و مزیت استفاده از ربات ها

۲) تاسیس رشته ی مهندسی رباتیک در تمامی دانشگاه های صنعتی کشور

۳) برگزاری هدفمند مسابقات رباتیک در رشته های بومی در راستای تولید ثروت از راه علم

۴) جلب اعتماد صنعت به نیرو های داخلی

۵) مشخص کردن هفته ای خاص به نام هفته ی رباتیک

۶) و … .

همچنین آموزش و پرورش باید به متولی اصلی رباتیك تبدیل شود، آموزش و پرورش به دلیل این‌كه به‌طور مستقیم با دانش‌آموزان در تماس است، می‌تواند به بهترین متولی رباتیك در كشور تبدیل شود و با تشكیل كانون و انجمن رباتیك، علاقه‌مندان به این رشته را به‌طور پیوسته به سمت و سوی خود سوق دهد.

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

بسیاری از مردم از اینکه ربات‌ها تعداد شغل‌ها را کاهش دهد و افراد زیادی شغل خود را از دست دهند، نگرانند. این تقریباً هرگز قضیه‌ای بر خلاف تکنولوژی جدید نیست. در حقیقت اثر پیشرفت‌ تکنولوژی مانند ربات‌ها (اتومبیل و دستگاه کپی و…) بر جوامع ، آن است که انسان بهره‌ورتر می‌شود.

در حوزه رباتیک مشکلاتی در رابطه با انسان‌های شرور و استفاده از ربات‌ها برای مقاصد شیطانی داریم. مطمئناً ربات‌ها می‌توانند در جنگ‌های آینده استفاده شوند. این می‌تواند هم خوب و هم بد باشد. اگر انسان‌ها اعمال خشونت آمیز را با فرستادن ماشین‌ها به جنگ یکدیگر نمایش دهند، ممکن است بهتر از فرستادن انسان‌ها به جنگ با یکدیگر باشد. ربات‌ها می‌توانند برای دفاع از یک کشور در مقابل حملات استفاده می‌شوند تا تلفات انسانی را کاهش دهد. آیا جنگ‌های آینده می‌تواند فقط یک بازی ویدئویی باشد که ربات‌ها را کنترل می‌کند؟ 

سه شنبه 15/4/1389 - 15:29
کامپیوتر و اینترنت

 

همیشه بین صاحب نظران رباتیک و فعالان رباتیک در دانشگاه ها بحث در مورد تعریف ربات وجود داشته است، گاهی اوقات بر اساس تولید ربات، در شرکتی، تعریفی صنعتی و بر اساس تولید آن شرکت از ربات ارایه می شود و در مواردی نسبت به تکنولوژی ربات توصیف شده است

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

“یک دستگاه یا وسیله خود کاری که قادر به انجام اعمالی است که معمولا به انسانها نسبت داده می شود و یا مجهز به قابلیتی است که شبیه هوش بشری است.”

یک ربات هوشمند ،ماشین خودکار چند منظوره ای است که طیف وسیعی از وظایف متفاوت را، تحت شرایطی که حتی ممکن است به آن شناخت کافی نداشته باشد ،همانند انسان آن را انجام دهد”

موسسه صنعتی آمریکا RAI یا Robotic Industrial Association که شرکتی با سابقه در صنعت رباتیک می باشد و در تولید بازوهای ربات های صنعتی یا (Manipulators) است، این گونه ربات را تعریف می کند:

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

کلمه ربات توسط Karel Capek نویسنده نمایشنامه R.U.R (روبات‌های جهانی روسیه) در سال 1921 ابداع شد. ریشه این کلمه، کلمه چک اسلواکی(robotnic) به معنی کارگر می‌باشد.

در نمایشنامه وی نمونه ماشین، بعد از انسان بدون دارا بودن نقاط ضعف معمولی او، بیشترین قدرت را داشت و در پایان نمایش این ماشین برای مبارزه علیه سازندگان خود استفاده شد.

البته پیش از آن یونانیان مجسمه متحرکی ساخته بودند که نمونه اولیه چیزی بوده که ما امروزه ربات می‌نامیم.

امروزه معمولاً کلمه ربات به معنی هر ماشین ساخت بشر که بتواند کار یا عملی که به‌طور طبیعی توسط انسان انجام می‌شود را انجام دهد، استفاده می‌شود

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

 

 

 

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

 

کاری که روباتها انجام می‌دهند.، توسط ریزپردازشگرها و ریزکنترل‌گرها کنترل می‌شود.با تسلط در برنامه نویسی این دو می‌‌توانید دقیقا همان کاری را که انتظار دارید روبات انجام دهد.

با توجه به توضیحاتی که داده شد :

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

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

رباتیك علم به‌كارگیری ربات‌هاست و تاثیر آن را در محصولاتی كه هر روزه استفاده می‌كنیم، می‌بینیم.

مهندسی رباتیک علم هوشمند کردن و الکترونیکی کردن ماشین ها ی مکانیکی است ( در جهت مصارف صنعتی ) [مهندسی رباتیک = مهندسی برق + مهندسی مکانیک]

ربات‌ها دارای سه قسمت اصلی هستند:

 

* مغز که معمولاً یک کامپیوتر است.

* محرک و بخش مکانیکی شامل موتور، پیستون، تسمه، چرخ‌ها، چرخ دنده‌ها و …

* سنسور که می‌تواند از انواع بینایی، صوتی، تعیین دما، تشخیص نور، تماسی یا حرکتی باشد.

 

با این سه قسمت، یک ربات می‌تواند با اثرپذیری و اثرگذاری در محیط کاربردی‌تر شود.

قوانین سه‌گانه رباتیک:

 

ایزاک آسیموف نویسنده داستان‌های علمی تخیلی قوانین سه‌گانه رباتیک را به صورت زیر تعریف‌کرده است:

 

1ـ یک ربات نباید به هستی انسان آسیب برساند یا به واسطه بی‌تحرکی، زندگی یک انسان را به مخاطره بیاندازد.

 

2ـ یک ربات باید از دستوراتی که توسط انسان به او داده می‌شود، اطاعت کند؛ جز در مواردی که با قانون یکم در تضاد هستند.

 

3ـ یک ربات باید تا جایی‌که با قوانین یکم و سوم در تضاد نباشد از خود محافظت کند.

علم رباتیک از سه شاخه اصلی تشکیل شده است:

 

· الکترونیک ( شامل مغز ربات)

· مکانیک (شامل بدنه فیزیکی ربات)

· نرم افزار (شامل قوه تفکر و تصمیم گیری ربات)

 

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

 

 

 

 

 

 

● مزایای ربات و رباتیک

مزایا کاملاً آشکار است. معمولاً یک ربات می‌تواند کارهایی که ما انسان‌ها می‌خواهیم انجام دهیم را ارزان‌تر انجام‌ دهد. علاوه بر این ربات‌ها می‌توانند کارهای خطرناک مانند نظارت بر تأسیسات انرژی هسته‌ای یا کاوش یک آتش‌فشان را انجام دهند. ربات‌ها می‌توانند کارها را دقیقتر از انسان‌ها انجام دهند و روند پیشرفت در علم پزشکی و سایر علوم کاربردی را سرعت ‌بخشند. ربات‌ها به ویژه در امور تکراری و خسته کننده مانند ساختن صفحه مدار، ریختن چسب روی قطعات یدکی و… سودمند هستند.

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

علاوه بر این متوان مزایای زیر را بر شمرد!

1- رباتیک و اتوماسیون در بسیاری از موارد می توانند ایمنی، میزان تولید، بهره و کیفیت محصولات را افزایش دهند.

2- رباتها می توانند در موقعیت های خطرناک کار کنند و با این کار جان هزاران انسان را نجات دهند.

3- رباتها به راحتی محیط اطراف خود توجه ندارند و نیازهای انسانی برای آنها مفهومی ندارد. رباتها هیچگاه خسته نمی شوند.

4- دقت رباتها خیلی بیشتر از انسانها است آنها در حد میلی یا حتی میکرو اینچ دقت دارند.

5- رباتها می توانند در یک لحظه چند کار را با هم انجام دهند ولی انسانها در یک لحظه تنها یک کار انجام می دهند.

ربات‌ها معمولاً در مواردی استفاده می‌شوند كه بتوانند كاری را بهتر از یك انسان انجام دهند یا در محیط پرخطر فعالیت كنند.
ربات می‌تواند كارهایی را كه انسان انجام می‌دهد، ارزان‌تر انجام دهد. علاوه بر این، ربات‌ها می‌توانند كارهای خطرناك مانند نظارت بر تاسیسات انرژی هسته‌ای و یا كنترل كابل‌های فشار قوی را انجام دهند. ربات‌ها می‌توانند كارها را دقیق‌تر از انسان انجام دهند و روند پیشرفت در علم پزشكی و سایر علوم كاربردی را سرعت بخشند. همچنین ربات‌ها در امور تكراری و خسته‌كننده همانند ساخت صفحه مدار، ریختن چسب روی قطعات یدكی سودمند هستند.

همه ارزیابی‌ها بر این نكته تاكید دارد كه ربات‌ها نقش فزاینده‌ای در جوامع مدرن ایفا خواهند كرد. آنها به انجام كارهای خطرناك، تكراری، پرهزینه و دقیق ادامه می‌دهند تا انسان‌ها را از انجام آنها بازدارند.

 

● صنعت و رباتیک

رباتها اولین بار در سال 1954 در صنعت به کارگرفته شدند که یک بازوی ربات یا Manipulator نام داشت که تنها 3 درجه آزادی بود.رباتهای صنعتی امروزی اکثراً همان بازوی رباتیکی هستند ولی با 6 درجه آزادی و خیلی پیشرفته تر نبست به گذشته کار میکنند رباتها در صنعت به شیوه ها و روشها و مدلهای مختلفی به کارگرفته میشوند.

امروزه، ۹۰ درصد روباتها، روبات هاى صنعتى هستند، یعنى روبات هایى كه در كارخانه ها، آزمایشگاه ها، انبارها، نیروگاه ها، بیمارستان ها، و بخش هاى مشابه به كارگرفته مى شوند. در سال هاى قبل، بیشتر روباتهاى صنعتى در كارخانه هاى خودروسازى به كارگرفته مى شدند، ولى امروزه تنها حدود نیمى از روباتهاى موجود در دنیا در كارخانه هاى خودروسازى به كار گرفته مى شوند. مصارف روباتها در همه ابعاد زندگى انسان به سرعت در حال گسترش است تا كارهاى سخت و خطرناك را به جاى انسان انجام دهند. براى مثال امروزه براى بررسى وضعیت داخلى راكتورها از روبات استفاده مى شود تا تشعشعات رادیواكتیو به انسانها صدمه نزند.

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

روباتهاى صنعتى زیادى ساخته شد ه اند و انجمن صنایع روباتیك این تعریف را براى روبات صنعتى ارائه كرد:

 

«روبات صنعتى یك وسیله چند كاره و با قابلیت برنامه ریزى چند باره است كه براى جابه جایى قطعات، مواد، ابزارها با وسایل خاص به وسیله حركات برنامه ریزى شده، براى انجام كارهاى مختلف استفاده مى شود.»

 

در سال ۱۹۶۲ م شركت خودروسازى جنرال موتورز نخستین روبات Unimate را در خط مونتاژ خود به كار گرفت.

 

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

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

 

 

● مثال هایی از ربات    

 

کلمه ربات مانند کلمه ی ماشین ، یک کلمه ی کلی است و به چند مورد خاص خلاصه نمی شود . به عنوان نمونه چند مورد را ذکر می نماییم :

بازو های ربات های صنعتی ، ربات کنترل چاه های نفت ، یخچال های خانگی ، آسانسور ها ، اسباب بازی کودکان ، هواپیما های بدون سرنشین ، سیستم های دفاع ضد موشکی ، پرینتر ها ، دستگاههای تراش خودکار ، نوشابه پرکن ها و …

این ها فقط نمونه هایی از بی نهایت انواع ربات بود . ربات ها آنقدر گسترده اند که امروزه نمی توان بدون آن ها زندگی کرد . ولی در مهندسی منظور از ربات ، ربات های صنعتی می باشد .

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

و یا ربات هایی که برای اکتشاف در سایر سیارات به کار میروند هم از انواع ربات هایی هستند که در جاهایی که حضور انسان غیرممکن است استفاده می شوند.

ربات مسیریاب: دنبال یک خط سیاه در زمین سفید حرکت می کند.

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

یا ربات آتش نشان: آتش را پیدا می کند و آن را خفه می کند!

رباتها در پروژه های JPL شرکت فضایی NASA نقش مهمی دارند از جمله آنها Spriteو Sojourner می باشد.این نیز استفاده دیگری از رباتیک میباشد .

رو بات همسر نمونه ی دیگر از رباتهاست ، این روبات که در کشور هلند ساخته میشود تا بحال طرف داران زیادی پیدا کرده ،ولی بدلیل قیمت بالای آن هموز مورد استفاده عام قرار نگرفته است! کارشناسان رباتیک هلندی پیش بینی کردن تا ده سال آینده روبات همسر ارزان قیمت وارد بازار شود ! با این حال از سوی دیگر “رونالد آرکین” کارشناس ربات در این باره گفت: پیش بینی می کنم حداقل تا سال 2050 به مردم اجازه ازدواج با ربات به صورت قانونی داده نشود.

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

به گزارش روز سه شنبه بخش انگلیسی گروه بین الملل باشگاه خبرنگاران دانشجویی ایران “ایسکانیوز” و به نقل از خبرگزاری رسمی چین شینهوا، پیش بینی ها از جایگزینی بیش از 30 درصدی نیروهای انسانی ارتش آمریکا با ربات ها تا سال 2020 حکایت دارد.

یا ربات زیر آبی ،یک وسیلهٔ نقلیهٔ پویش‌گرِ قابل کنترل از راه دور (ROV) زیردریایی، «ربات زیرآبی است که به اپراتور این امکان را می‌دهد که این وسیله‌ را در اعماق آب کنترل و هدایت کند و از طریق اعمال فرامین عملیات‌ مورد نظر را از طریق تجهیزاتِ ربات، انجام دهد»

یك ربات شهری ارائه دهنده یك یا چند سرویس خودكار یا نیمه خودكار مفید برای شهروندان یا تاسیسات و سامانه‌های شهری است. ربات‌های خدمتكار، نگهبان، پرستار، فروشنده، مددكار معلولین و چراغ‌های هوشمند راهنما نمونه‌هایی از ربات‌های خدمات شهروندی و رباتهای شستشوگر، شیشه پاك‌كن، چمن‌زن، زباله جمع‌كن، سوخت‌رسان و باربر، نمونه‌ای از ربات‌های دسته دوم به‌شمار می‌روند.

یكی از عرصه‌هایی كه امروز در بهره‌گیری از اتوماسیون و روبات‌ها پیشرفت فراوانی كرده است، حوزه خدمات شهری است.

 

در شهرهای پیشرفته جهان، می‌توان نمونه‌های فراوان موفقی از به‌كارگیری اتوماسیون و ربات در ارائه خدمات شهری را دید.

 

تسهیل در عبور و مرور و كنترل ترافیك، فروش كارت‌های اعتباری و بلیت و عبور و مرور و غیره در ایستگاه‌های اتوبوس و مترو، ارائه اطلاعات در معابر، خیابان‌ها، پارك‌ها و موزه‌ها، نظافت خیابان‌ها، مراكز و معابر، آبیاری فضای سبز شهری و… تنها نمونه‌های كوچكی از به‌كارگیری تكنولوژی‌های مدرن اتوماسیون و رباتیك در ارائه خدمات به شهروندان است.

 

از دیگر زمینه‌هایی كه امروزه دولت‌ها به صورت فعال و با صرف هزینه‌های فراوان به سرمایه‌گذاری در آن روی آورده‌اند، به‌كارگیری ربات‌های امداد و نجات در مهار بحرا‌ن‌های شهری است.

در حال حاضر، سیستم‌های امداد و نجات رباتیك كه اغلب به صورت مجتمع و با عنوان سیستم‌های مدیریت بحران DMS شناخته می‌شوند، در برخی از شهرهای پیشرفته راه‌اندازی شده و در حال بهره‌برداری است. از آنجا كه طراحی این‌گونه سیستم‌ها، دقیقاً مطابق با شرایط بومی و مختصات هدف مورد نظر صورت می‌گیرد، تنها راه تولید چنین سیستم‌هایی برای تهران و سایر كلان‌شهرها، هدایت محققان بومی به سمت این هدف مشخص است تا با بهره‌گیری و مجتمع‌سازی نتایج آنها بتوان به راههای بومی در این زمینه دست یافت.

 

 

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

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

ربات حمل مجروح نمونه یدیگر رباتهاست که این ربات از ترکیب دو گونه ربات درست شده: از پایین تنه شبیه تانک و از بالا تنه به شکل یک ربات انسان نماست.

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

قراره دست های ربات به اندازه ای قوی باشه که بتونه تا 135 کیلو رو بلند کنه و مثلا از آن برای حمل مجروح در میدان جنگ استفاده کنند . این ربات توسط شرکت Vecna Technologies در مریلند ساخته شده و انتظار میره تا پنج سال دیگه مورد استفاده واقعی قرار بگیره.

پس از سالها تلاش پژوهشگران رباتیک ژاپنی ها، روبات شبیه انسان یعنی۲- HRP به حدی پیشرفت كرده كه می تواند تعدادی از فرمان های صوتی انسان را انجام دهد. این روبات كه به «پروموت» نیز معروف است، توسط مؤسسه ملی علم و تكنولوژی ژاپن تهیه شده و قابلیت انجام فرمان های انسان را دارد. پروموت برای انجام دستورات صوتی كاربران و همچنین گرفتن عكس و تصاویر سه بعدی از اشیاء و نگهداری آنها با استفاده از یك سنسور مادون قرمز طراحی شده است. اگرچه این روبات حركت به ظاهر خشن و آهسته و صدایی یكنواخت و خسته كننده دارد ولی به راحتی می تواند با استفاده از كنترل از راه دور تلویزیون را كنترل نموده و یا یك نوشیدنی برای شما آماده نماید. مؤسسه ژاپنی سازنده این روبات می گوید كه این روبات به راحتی می تواند با انسان ها رابطه برقرار نماید.

روبات‌‏هایی كه توانایی جمع‌‏آوری قارچ و روبات‌‏های علف‌‏زن‌‏ها كه به نظر می‌‏رسد توسط ‏دارندگان زمین‌‏های گلف استفاده شوند از جمله محصولات این گروه از دانشمندان است. هر چند روبات قارچ جمع‌‏كن نمی‌‏تواند به سرعت انسان كار كند ، اما توانایی این كه 24 ساعت كار كند را ‏دارد . روبات علف‌‏زن نیز می‌‏تواند كار انجام شده توسط یك فرد در شش ساعت را در 10 دقیقه انجام دهد. قیمت بالای روبات‌‏ها در حال حاضر تنها نقطه ضعف آنها است؛ اما به نظر می‌‏رسد كشاورزان در درازمدت ‏بتوانند محصولات مشابه را با قیمت مناسب تهیه كنند.

سه شنبه 15/4/1389 - 15:28
کامپیوتر و اینترنت

    

● مقدمه

تقدیمی به تمامی دوستداران روباتیک

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

وقتی حرف از روبات می شود همه به فكر یه چیزی می افتند كه دست و پاه داره و یه سری كار انجام می دهد، باید بگم كه امروزه كار كرد های روبات فرا تر از این چیز هاست

امروزه در دنیای نانو تكنولوژی مثل ساخت آی سی های بسیار كوچك كه میلیونها المان الكترونیكی رو در خود جای دادن از روبات استفاده می شه, دنیای روبات كه تلفیقی از الكترونیك, مكانیك, نرم افزار, سخت افزار می باشه روز به روز در حال گسترش و تكامله. در این مقاله سعی می کنیم مبانی علم رباتیک و وضعیت رباتیک در ایران وجهان و کاربرد علم رباتیک را بررسی کنیم . بدین منظور ابتدا تاریخچه و تعریف مختصری از ربات ارائه می نماییم . سپس به و ضعیت رباتیک در کشور های صنعتی می پردازیم و سرانجام و ضعیت ایران را بررسی می نماییم و برای بهبود آن راهکاری را مشخص می نمایییم .

 

● تاریخچه ی رباتیک

 

در گذشته کشورهای استعمارگر برای افزایش سرمایه وپیشرفت خود به کشور های ضعیف حمله می کردند و با تصرف کشور قربانی ، مردم آنجا را به عنوان برده به خدمت می گرفتند و از آنها به عنوان نیروی کار رایگان بهره می بردند و آنها را در مزارع کارخانه ها آشپزخانه ها و… به کار می گرفتند . اما این برده ها چند عیب بزرگ داشتند . مهمترین عیب آن اسارت یک انسان و ظلم به او بود و دیگر عیب آن خستگی برده ها بود . برده ها نمی توانستند ۲۴ ساعت شبانه روز کار کنند . باید به آن ها وقت استراحت می دادند . دیگر عیب آن ها این بود که ارباب باید آن ها را مداوم کنترل می کرد . در آن زمان آرزوی اربابان این بود که برده ای غیر انسانی داشته باشند که بتواند ۲۴ ساعته کارکند و دچار خستگی نشود و نیاز به کنترل مداوم نداشته باشد . با توجه به علم آن زمان این رویایی بیش نبود و فقط در تئاتر به نمایش در می آمد و به این برده های آسمانی (( ربات )) می گفتند .

با پیشرفت علوم در طی گذشت زمان و انقلاب صنعتی اروپا ، نیاز به برده هایی بیشتر با سرعت بالاتر دقت بیشتر و خستگی کمتر ، بیشتر احساس می شد . بنابراین دانشمندان به فکرساخت ماشین های خود کار افتادند . (تا آن زمان علم در زمینه ی برق و مکانیک مقداری پیشرفت کرده بود . ) از آن به بعد در قسمت هایی از کارخانه ها از ماشین های الکترومکانیکی استفاده می شد . بدین شکل مکانیزاسیون صنعتی آغاز شد . عیب بزرگ این دستگاه ها تک منظوره بودن و عدم انعطاف پذیری آن ها بود . یعنی با تغییر قسمتی از کارخانه یا محصول تولیدی می بایست کل دستگاه ها دوباره طراحی می شدند . با پیشرفت هر چه بیشتر علم ، کامپیوتر ها اختراع شدند و گسترش یافتند . تا حدی که در خانه ها نیز یافت می شد . سپس صنعت گران به فکر ترکیب ماشین ها ی الکترومکانیکی با کامپیوتر ها افتادند تا بتوان آن ها را برنامه نویسی کرد [ یکی از ویژگی های کامپیوتر قابل برنامه نویسی بودن آن است ] و بایک دستگاه بتوان چندین کار را انجام داد (مثلا دستگاهی که یک نوع ماشین را رنگ می زند بتواند با عوض شدن مدل و طرح آن ، آن ها را نیز رنگ بزند ) . بدین صورت ربات ها ساخته شدند.

تاریخچه تحولات حوزه رباتیک

1920: نمایش نامه نویس چک اسلواکی Karl capek، کلمه ربات را در نمایش«‌ربات‌های جهانی روسیه» استفاده کرد این جمله از کلمه چکی « Robota» به معنی« کوشش ملال آور‌» آمده است.

1938: نخستین الگوی قابل برنامه‌ریزی که یک دستگاه سم‌پاشی بود، توسط دو آمریکایی به نام‌های Willard pollard و Harold Roselund برای شرکت devilbiss طراحی شد.

1942: ایزاک آسیموفRunaround را منتشر کرد و در آن قوانین سه‌گانه رباتیک را تعریف کرد.

1946: ظهور کامپیوتر: George Devol، با استفاده از ضبط مغناطیسی، یک دستگاه playback همه منظوره، برای کنترل ماشین به ثبت رساند. John Mauchly اولین کامپیوتر الکترونیکی (ENIAC) را در دانشگاه پنسیلوانیا ساخت. در MIT، اولین کامپیوتر دیجیتالی همه منظوره (Whirl wind) اولین مسئله خود را حل کرد.

 

1951: در فرانسه Reymond Goertz اولین بازوی مفصلی کنترل از راه دور را برای انجام مأموریت هسته‌ای طراحی کرد. طراحی آن مبتنی بر کلیه روابط متقابل مکانیکی بین بازوی اصلی و فرعی با استفاده از روش متداول تسمه و قرقره بود که نمونه‌هایی برگرفته از این طرح هنوز هم در مواردی که نیاز به لمس نمونه‌های کوچک هسته‌ای است، دیده می‌شود.

 

1954: George Devol اولین ربات قابل برنامه‌ریزی را طراحی و عبارت جهانی اتوماسیون را ابداع کرد. این امر زمینه‌ای برای نام‌گذاری این شرکت به Unimation در آینده شد.

1959: Marvin Minsky و John McCarthy آزمایشگاه هوش مصنوعی را در MIT بنا نهادند.

1960: Unimation توسط شرکت Coudoc خریداری شد و توسعه سیستم ربات‌های آن آغاز گردید. کارخانجات ساخت تراشه مانند AMF پس از آن شناخته شدند و اولین ربات استوانه ای شکل به نام Versatran که توسط Harry Johnson&Veljkomilen kovic طراحی شده بود، فروش رفت.

1962: جنرال موتورز اولین ربات صنعتی را از Unimation خریداری کرد و آن را در خط تولید خود قرار داد.

 

1963: John Mccarthy آزمایشگاه هوش مصنوعی دیگری از دانشگاه استنفورد بنا کرد.

1964: آزمایشگاه‌های تحقیقاتی هوش مصنوعی در M.I.T ،مؤسسات تحقیقاتی استنفورد (SRI)، دانشگاه‌ استنفورد و دانشگاه ادین برگ گشایش یافت.

1964: رباتیک C&D پایه گذاری شد.

1965: دانشگاه Carnegie Mellon مؤسسه رباتیک خود را تأسیس کرد.

1965: حرکت یکنواخت ( Homogeneous Trans formation) در شناخت نحوه حرکات ربات به کار رفت. این روش امروزه به عنوان نظریه اسامی رباتیک وجود دارد.

 

1965: ژاپن ربات Verstran ( نخستین رباتی که به ژاپن وارد شد) را از AMF خریداری کرد.

1968: کاوازاکی مجوز طراحی ربات‌های هیدرولیک را از Unimation گرفت و تولید آن را در ژاپن آغاز کرد.

 

1968: SRI،Shakey (یک ربات سیار با قابلیت بینایی و کنترل با یک کامپیوتر به اندازه یک اتاق) را ساخت.

1970: پروفسور victor sheinman از دانشگاه استنفورد بازوی استاندارد را طراحی کرد. ساختار ترکیب حرکتی او هنوز هم به بازوی استاندارد معروف است.

 

1973: Cincinnate Milacron اولین مینی کامپیوتر قابل استفاده تجاری که با رباتهای صنعتی کنترل می شد(T3) را عرضه کرد. ( طراحی توسطRichard Hohn )

 

1974: پروفسور Victor Scheinman، سازنده بازوی استاندارد، Inc Vicarm را جهت فروش یک نسخه برای کاربردهای صنعتی ساخت. بازوی جدید با یک مینی کامپیوتر کنترل می‌شد.

1977: یک شرکت ربات اروپایی (ASEA)، دو اندازه از ربات‌های قدرتمند الکتریکی صنعتی را عرضه کرد که هر دو ربات از یک کنترلر میکرو کامپیوتر برای برنامه ریزی عملکرد خود استفاده می‌کردند.

1976: Vicarm Inc در کاوشگر فضایی وایکینگ 1و2 استفاده شد. یک میکرو کامپیوتر هم در طراحی vicarm به کار رفت.

 

1977: Inc, Unimation vicarm را فروخت.

1978: unimation با استفاده از تکنولوژی Vicarm ‌ ( puma) ماشین قابل برنامه‌ریزی برای مونتاژ( puma) را توسعه داد . امروزه همچنان می‌توان puma را در بسیاری از آزمایشگاه‌های تحقیقاتی یافت.

1978: ماشین خودکار Brooks تولید شد.

1978: IBM و SANKYO ربات با بازوی انتخاب کننده، جمع کننده و مفصلی (SCARA) که در دانشگاه Yamanashi ژاپن برنامه‌ریزی و تولید شده بود، را فروختند.

1980: Cognex تولید شد.

1981: گروه ربات‌های CRS عرضه شد.

1982: Fanuc از ژاپن و جنرال موتورز درGM Fanuc برای فروش ربات در شمال آمریکا قرار داد بستند.

1983: تکنولوژی Adept عرضه شد.

1984: Joseph Engelberger ایجاد تغییرات در رباتیک را آغاز کرد و پس از آن نام ربات‌های کمکی (Helpmate) به ربات‌های خدماتی توسعه یافته (developed service Robots) تغییر یافت.

1986: با خاتمه یافتن مجوز ساخت Unimation، کاوازاکی خط تولید ربات‌های الکتریکی خود را توسعه داد.

 

1988: گروه Staubli، Unimation را از Westing house خرید.

1989: تکنولوژی Sensable عرضه شد.

1994: یک ربات متحرک شش پا از مؤسسه رباتیک CMUیک آتشفشان در آلاسکا را برای نمونه‌برداری از گازهای آتشفشانی کاوش کرد.

 

1997: ربات راه‌یاب مریخ ناسا از زمانی‌که ربات وارد مریخ شد تصاویری از جهان را ضبط و ربات سیار Sojourner تصاویری از سفرهایش به سیاره‌های دور را ارسال کرد.

 

1998: Honda نمونه ای از p3 (هشتمین نمونه در پروژه طراحی شبیه انسان ) که در 1986 آغاز شده بود را عرضه کرد.

2000: Honda نمونه آسیمو نسل بعدی از سری ربات‌های شبیه انسان را عرضه کرد.

2000: Sony از ربات شبیه انسان خود که لقب SDR ( Sony Dream Robots) را گرفت، پرده برداری کرد.

2001: Sony دومین نسل از ربات‌های سگ Aibo را عرضه کرد.

2001: سیستم کنترل از راه دور ایستگاه فضایی(SSRMS ) توسط مؤسسه رباتیک MD در کانادا ساخته و با موفقیت به مدار پرتاب شد و عملیات تکمیل ایستگاه فضایی بین‌المللی را آغاز کرد

سه شنبه 15/4/1389 - 15:27
کامپیوتر و اینترنت

آموزش شل گیری

منظور از شل همان دسترسی از سرور است . حال چگونه باید از سایت مورد نظر دسترسی بگیریم ؟؟ چرا دسترسی میگیریم ؟؟ چه نوع دسترسی در اختیار داریم ؟؟

شما زمانی از سرور مورد نظر شل میگیرید که تمام راهای شما بسته باشد . یعنی سایت مورد نظر باگ نداشته باشد و رورش های مهندس اجتماعی که برفریب دادن انسان ها استوار است بر آن اثر نکند . در این مواقع شما باید از برنامه هایی که از سرور به شما شل می دهند کمک بگیرید .

برای اینکه بتوانید از سرور دسترسی بگیرید باید این برنامه های shell script را بر روی یکی از سایت های سرور مورد نظر آپلود کنید .
زیرا یکی از راهای هک کردن تمام شبکه ها عضو بودن در آن شبکه است . زیرا خیلی اطلاعات از شبکه را بدست می آورید و شما قادر خواهید بود بسیاری از کنترل های آن شبکه را در اختیار داشته باشید . چون یک عضو معتبر آن شبکه هستید . همین موضوع در هک کردن سرور ها هم سرایت خواهد کرد. و با داشتن یک سایت در آن سرور و آپلود کردن shell script ها بر روی آن می توانید از سرور دسترس بگیرید.( اما نه از کل سرور . ابتدا فقط از سایتی که بر روش shell scriptرو آپلود کریدن دسترسی دارین که باید دسترسی خودتونو بالا ببرید و به مقام root برسید) . (root در لینوکس همانند دسترسی administrator در ویندوز است.)

حال شما میتوانید یک سایت بر روی سرور هک کنید و یک shell scriptبر روی آن سایت آپلود کنید . یا یک سایت از آن سرور خریداری کنید . یا از یکی از دوستانتن که بر روی آن سرور هاست دارد از آن به مدت چند ساعت قرض بگیرید. تا بتوانید بر روی سرور عملیاتی برای root شدن انجام دهید .

اینکه شما بدان چگونه shell scriptباید آپلود کنید مهم است . زیرا shell scriptها به زبان های مختلفی نوشته می شوند . و بستگی دارد که سرور مورد نظر کدام را ساپورت کند . اگر سرور هدف لینوکس باشد بهتر است شما از php sheller ها که با زبان php نوشته شده اند استفاده کنید .
یکی از بهترین اینگونه php sheller ها c99 نام دادرد .
وقتی شما یک php sheller را بر روی یک سایت آپلود می کنید و آنرا اجرا می کنید , چند چیز برای شما باید مهم و الویت اول را داشته باشد .
1. دسترسی مجاز به پوشه ها که در لینوکس به آن ((perm می گویند. بالا ترین دسترسی پوشه ها که perm دارد و به آن 777 هم می گویند دارای امکانات زیر می باشد :
Read – Write – Execute
یعنی شما میتوانید در پوشه بخوانید . بنویسید . تغیر بدهید و حتی یک فایل آپلود کنید . که در php shell ها دسترسی perm به صورت زیر جلوی هر پوشه یا فایل نوشته می شود .
drwxrwxrwx <==== اگر جلوی یک پوشه ای این علامت را در php shell ها دید بدانید می توانید در آن هر کاری انجام دهید . نظیر :
کپی . تغیر دادن . خواندن . نوشتن .
اگر عبارت به صورت -rwxrwxrwx <=== بود بدانید آن فایل است .
نکته : شما فقط تا زمانی که دسترسی کامل ندارید با اینگونه مقررات مشکل دارید اگر دسترسی کامل داشته باشید حتی در پوشه های بدونه perm که به اینگونه نوشته می شوند :dr-xr-xr-x یا r–r–r– و نوع های دیگر ..
در c99 پوشه و فایل هایی که قابل دستکاری می باشند و یا به اصطلاحی perm هستند به رنگ سبز و بدون perm به رنگ قرمز یا سفید.

2.on یا off بودن قسمت safe-mod .زیرا اگه on باشه به عبارتی شما نمیتونید root بشید . زیرا برای روت شدن باید با comand کار کنید که اگر safe-mod on باشه نمی شه comand اجرا کرد .

خوب حالا از بالا تمام آیتم های php shller را یک بار مرور می کنیم :

در این قسمت نوع سرویس دهنده سرور و ورژن اون رو نشون می ده Softwar:

دراین قسمت اطلاعاتی در بارهی سرور میده uname -a:

اگه این قسمت off باشه شما میتونید به دایرکتوری ها برید و کامند اجرا کنید اما اگه on باشه نمی تونید safe-mod:
در این قسمت به شما نشون میده که در کدام قسمت از سایت هستید و چه نوع دسترسی داریدc:\drwxrwxrwx :
این قسمت مقدار کل فضای هارد سرور و فضای استفاده شده و باقی مانده رو نشون میده: free 5.3GB of 14.96 GB (20.6%)

 

 

 

این قسمت به شما درایو های سرور رو نشون می دهDEtected Dirves:

و در قسمت پاین تر یک سری ابزار است که خودتون می تونید باهاش کار کنید . ابزاری مثل brut کردن و کرک کردن سایت های دیگه و گرفتن شل بر عکس ( در قسمت های دیگه آموزش داده می شود ) است .
خوب در قسمت پاین تر هم شما میبینید اسامی پوشه ها و فایل ها هستش که رو بروش میزان دسترسی هر کدوم رو نوشته .
و در قسمت پایین تر هم ابزار هایی از جمله by-pass هستند که شما می تونید با اون پوشه هایی که دسترسی به اون ندارین رو ببینین . و در قسمت Enter هم می تونید دستوراتی مثل بالا بوردن دسترسی و گرفتن revers shell رو بنویسید .

سه شنبه 15/4/1389 - 15:26
مورد توجه ترین های هفته اخیر
فعالترین ها در ماه گذشته
(0)فعالان 24 ساعت گذشته