سال نو مبارک
.jpg)
شيوه مجموعه ای از اطلاعات قالب بندی است که تعيين می کنند عناصر صفحه وب به چه صورت نمايش داده شوند.
صاستفاده از شیوه نامه ها يا مختر (cascading style sheets) CSS با HTML 4.0 آغاز شد. بسیاری از قابلیت های دیگر که قبلاً در HTML وجود نداشت با CSS در دسترس طراحان قرار گرفت. شيوه ها باعث جداسازی محتوای صفحه از نحوه نمايش آن می شوند. اين جداسازی دسترسی یه محتوا را بهبود بخشيده انعطاف پذيری و کنترل بيشتری را در تعيين ويژگی های نمايشی عناصر در اختيار طراح صفحات وب قرار می دهد.
در روش های قدیمی تر طراحی وب، خواص هر تگ درون خود آن تعيين و مقداردهی می شد. به دليل اينکه برای هرعنصر صفحه بايد به صورت مجزا خواص مشخص شوند اين روش به کد نويسی زيادی احتياج دارد و باعث تکرار شدن خواص مشابه در تگ های عنصرها می شود .در نتیجه حجم صفحات و زمان لود شدن آن افزایش می یابد. علاوه بر این اصل جدایی محتویات صفحه از قالب آن هم رعایت نمی شود.
نکته. CSS ها تنها در برازرهای جديد (4.0 به بعد) پشتيبانی می شوند.
هر شيوه شامل دو قسمت است: گزينشگر (selector) ويک يا چند اعلان (declarations) . گزينشگر معمولا تگی از HTML است که می خواهيد فرمت آن را تعريف کنيد. هر اعلان شامل يک ويژگی (property) و يک مقدار (value) است. ويژگی خصوصيتی است که می خواهيد تغيير دهيد هر خصوصيت دارای يک مقدار است. اعلان ها هميشه به سميکولن ختم می شوند. و گروه اعلان ها درون آکولاد محصور می شوند.
مثال.
p
{
color : red;
text-align : center;
}
CSS به شما اجازه می دهد گزينشگر شيوه خود را توسط پارامترهای class و id مشخص و دسته بندی کنيد. هر عنصر HTML دارای دو خاصيت id و class است . خاصيت id تعيين کننده يک نام منحصر به فرد برای عنصر و خاصيت class به کلاسی که عنصر در آن عضويت دارد اشاره می کند. يک کلاس مجموعه ای از عناصر مختلف است که در يک گروه واحد قرار دارند.
گزينشگر id برای تعيين يک شيوه روی تنها يک عنصر منحصر بفرد بکار می رود. برای ارتباط شيوه با عنصر موردنظر از خصوصيت id در تگ HTML استفاده می شود. گزينشگرهای id توسط علامت ( #) مشخص می شوند.
مثال. شيوه زير بر روی عنصری که خاصيت id="para1" باشد اعمال می شود.
#para1 {
text-align:center;
color:red;
}
نکته. نام id را هرگز با اعداد شروع نکنيد زيرا در مرورگر Mozilla/Firefox کار نمی کند.
گزينشگر class برخلاف گزينشگر id برای اعمال يک شيوه روی گروهی از عناصر کاربرد دارد. يعنی می توانيد يک شيوه خاص را روی کليه تگ های HTML که در يک کلاس قرار دارند تنظيم کنيد. گزينشگر class با علامت نقطه ( .) آغاز مشخص می شود و از خاصيت class در تگ HTML استفاده می کنند.
مثال. کليه عناصری که class="center" است طبق شيوه center. در مرکز تراز می شوند.
.center {text-align:center;}
مثال. می توانيد عناصر معينی را که بايد در يک کلاس باشند مشخص کنيد. در شيوه زير فقط عناصر پاراگراف تاثير می پذيرند.
p.center {text-align:center;}
نکته. نام کلاس را هرگز با اعداد شروع نکنيد زيرا در مرورگر Internet Explorer کار نمی کند.
سه روش برای درج يک شيوه روی عناصر HTML وجود دارد: شيوه درونی، خارجی و درون خطی که در ادامه توضيح داده خواهند شد.
ساده ترین راه برای افزودن شيوه به یک صفحه استفاده از شيوه درونی (Internal Style Sheet) است. اين روش وقتی به کار می رود که هر صفحه شيوه جداگانه ای داشته شود.
شيوه درونی را بايد در بخش توسط تگ styleتعريف کرد.
مثال. شيوه زير رنگ زمينه صفحه را قرمز و حاشيه سمت چپ پاراگراف را 20 پيکسل تنظيم می کند.
نکته. بعضي از مرورگر های قديمی از شيوه نامه ها پشتيبانی نمی کنند در اين صورت آنها را عيناً در صفحه وب نشان می دهند. برای جلوگيری از اين کار می توانيم آنها را در داخل دستور توضيحات قرار می دهيم.
وقتی يک شيوه منحصر به فرد برای يک عنصر تکی بکار می رود از شيوه درون خط (inline style) استفاده می شود. برای استفاده بايد صفت style در تگ مربوطه استفاده شود. صفت style می تواند شامل هر خاصيت CSS باشد.
مثال. شيوه درون خطی زير تغيير رنگ و حاشيه چپ پاراگراف را نشان می دهد.
This is a paragraph
هنگامی که قرار است شيوه ها بر روی چندین صفحه مختلف به طور یکسان اعمال شوند بهترین روش استفاده از یک فايل شيوه خارجی (external style sheet) و لينک کردن آن به صفحه موردنظر است. بدين صورت کدهای مربوط به شيوه فقط یکبار نوشته می شود. علاوه بر اين می توان ظاهر کل وب سايت را تنها با تغيير يک فايل عوض کرد.
هر صفحه بايد توسط تگ به فايل حاوی شيوه خارجی پيوند بخورد. تگ لينک در بخش head قرار می گيرد.
مثال. نحوه پيوند فايل شيوه mystyle.css به مستند.
مثال. برای مشاهده يک نمونه استفاده از شيوه خارجی فايل فشرده زير را دانلود کنيد (راست کليک کرده و save link as يا save target as ). سپس کد آنها در يک ويرايشگر متن ملاحظه کنيد. با دوبار کليک روی فايل خروجی را در مرورگر مشاهده کنيد.
مثال. قرار دادن تصوير پيش زمينه
| 1.White.Orange | 1.White.Orange |
| 2.Orange | 2.Orange |
| 3.White.green | 3.White.green |
| 4.Blue | 4.Blue |
| 5.White.Blue | 5.White.Blue |
| 6.Green | 6.Green |
| 7.White.Brown | 7.White.Brown |
| 8.Brown | 8.Brown |
| 1.White.Orange | 1.white.Green |
| 2.Orange | 2.Green |
| 3.White.green | 3.White.Orange |
| 4.Blue | 4.Blue |
| 5.White.Blue | 5.White.Blue |
| 6.Green | 6.Orange |
| 7.White.Brown | 7.White.Brown |
| 8.Brown | 8.Brown |
| 1.White.Orange | 1.Brown |
| 2.Orange | 2.white.Brown |
| 3.White.green | 3.Green |
| 4.Blue | 4.White.Blue |
| 5.White.Blue | 5.Blue |
| 6.Green | 6.White.Green |
| 7.White.Brown | 7.Orange |
| 8.Brown | 8.white.Orange |
switch باعث تفکیک collision در یک شبکه میشود
collision
یا تصادم نتیجه عملکرد دو وسیله یا ایستگاه
کاری در یک شبکه که اقدام به انتقال همزمان سیگنال ها از طریق یک کانال
میکند.نتیجه این کار انتقال مغشوش خواهد بود
به زبان ساده از روتر زمانی استفاده میشود که میخواهیم کامپبوترها را با range ip مختلف به هم متصل کنیم
| 1.always broad cast | 1.first time broad cast,second time uni cast |
| 2.10 mbps | 2.100 mbps |
| 3.half duplex | 3.full duplex |
| 4.No ARP | 4.ARP |
| 5.No MAC table | 5.MAC table |
| 6.physical layer | 6.data linke layer |
یک معماری لایه ای که سطوح خدمات و انواع ارتباطات را برای کامپیوتر هایی که از طریق یک شبکه ارتباطی به تبادل اطلاعات می پردازند استاندارد میکند.مدل مرجع ارتباطات بین کامپیوتری را به هفت لایه یا سطح تقسیم میکند و هر یک از آنها بر اساس استانداردهای موجود در سطوح زیرین بنا میشوند. پایین ترین لایه تنها با ارتباطهای سخت افزاری سرو کار دارد,بالاترین سطح نیز در سطح برنامه کاربردی به ارتباطات نرم افزاری می پردازد.این مدل یک برنامه کاری اساسی است که برای آن طراحی شده تا به ایجاد نرم افزار و سخت افزارهای شبکه سازی یاری کند
| 1.Physical Layer | NETWORK LAYER |
| 2.Data Link Layer | |
| 3.Network Layer | |
| 4.Transport Layer | |
| 5.Session Layer |
UPPER LAYER
|
| 6.Presentaion Layer | |
| 7.Application Layer |
برای فهم بهتر از لایه آخر شروع میکنیم
در این لایه کاربر فعل و انفعال داخلی با سیستم دارد
دو عملکرمهم در این لایه است
آغاز کردن رویداد
(فرض را بر این بگذارید پنجره یاهو مسنجر باز است و شما متن مورد نظر
را نوشته اید زمانی که کلید ورود
را میزنید آن زمانی است که رویداد شروع به آغاز(راه اندازی)میکند
نمایش خروجی
زمانی است که طرف مقابل متن مورد نظر شما را مشاهده میکند
دو عملکرمهم در این لایه است
فرمتی که در مبدا ارائه می دهیم همان فرمت را در مقصد دریافت میکنیم بفرض اگر در مبدا فایل عکس باشد در مقصد هم عکس دریافت میشود
اطلاعات در مبدا بصورت رمز میشود و در مقصد کشف رمز میشود -باعث میشود اطلاعات به بصورت مطمئن به مقصد برسد
در این لابه ارتباط بین دو سیستم برگذار میشود
سه عملکرمهم در این لایه است
چه زمانی ارتباط برقرار میشود
اداره کردن و نگهداری لایه
متوقف کردن لایه
سه عملکرمهم در این لایه است
دایر کردن اتصال نقطه به نقطه
انتقال دادن اطلاعات
بازیابی خطا
در این لایه دو نوع کنترل کننده جریان داده موجود میباشد انتقال داده ها از طریق یک سیستم از نقطه ورود تا مقصد
1.windowing size
2.source squanching=buffering
در ابتدا مبدا سیگنال معینی به مقصد میفرستد,سپس مقصد جواب میدهد به مبدا
همراه با سیگنالهای تصدیق,اگر مبدا سیگنال تصدیق را از مقصد دریافت کند
اتصال نقطه به نقطه رادایر میکند
دو عملکرد مهم در این لایه است
Routing
Route convergence
Routing
فرآیند هدایت بسته ها در بین شبکه ها از مبدا به مقصد را گویند
انواع مختلفRouting
دو عملکرد مهم در این لایه است
ایجاد توانایی انتقال داده در یک فرم منسجم و قابل رمز گشایی روی رسانه
کشف خطا
|
Preamble |
Destination Hardware Address |
Source Hardware Address |
Length |
Data |
FCS |
FCS(Frame Check Sequence)
برای پیدا کردن خطادر فرم بکار میرود
همچنین در این لایه دو زیر لایه وجود دارد
نخستن یا پایین ترین لایه از هفت لایه مدل مرجع است که برای استانداردسازی ارتباطات بین کامپیوترها است . این لایه کاملا سخت افزارگرا است و با تمامی جنبه های مربوط به تثبیت و نگهداشتن یک پیوند فیزیکی بین کامپیوترها سروکار دارد

ای پی (IP) یک آدرس منطقی که برای مشخص کردن دستگاه در ارتباط بین شبکه ها
تعیین میشود
از چهار رقم تشکیل شده است که با نقطه از هم جدا میشوند
بطور مثال 192.168.10.20
هر عدد هشت بیت است که در مجموع میشود 32 بیت 32=8*4
اعداد بکاربرده شده دسیمال هستند و بین 255-0 می باشند
همانطور که گفته شد هر ip address از 32 bit تشکیل شده است و هر ip از چهار
بخش تشکیل شده است که به هر بخش octet نیز گفته میشود بطور مثال 192 یک
octet میباشد
متخصصان شبکه با توجه به نیاز شبکه تصمیم به استاندارد سازی و ایجاد
کلاسهای مختلف شبکه نموده اند که با توجه به نیاز هر شبکه باید از آن
استفاده نمود
ای پی آدرسها در 5 کلاس رده بندی میشوند و عدد اول هر آدرس نشان دهنده کلاس آن آدرس است
| Class A | 1-126 |
| Class B | 128-191 |
| Class C | 192-223 |
| Class D | 224-239 |
| Class E | 240-254 |
مثلا ip 10.10.10.1 با توجه به اینکه رقم اول آن 10 است نشان دهنده این اسنت که در کلاس A می باشد
ip 192.168.10.20 با توجه به اینکه رقم اول آن 192 است نشان دهنده این است که در کلاس C می باشد
اگر دقت کرده باشین عدد 127 در کلاسهای فوق نبود به این
دلیل است که این عدد برای چک کردن کارت شبکه مورد استفاده قرار میگیرد و
اگر بخواهیم از صحت سالم بودن کارت شبکه اطمینان حاصل کنید میتوانید از این
آدرس استفاده کنید
ping 127.0.0.1
کلاس A
شبکه های کلاس A برای شبکه هایی که تعداد شبکه هایشان کم ,ولیکن تعداد
میزبانهایشان زیاد است و معمولا برای استفاده توسط انستیتوهای دولتی و
آموزشی انتخاب میشوند مناسب هستند
در یک آدرس شبکه کلاس A ,بخش نخست آن نشان دهنده آدرس شبکه (network
address) و سه بخش دیگر نیز نشاندهنده آدرس میزبان (host address) در شبکه
است.بطور مثال IP 10.20.20.20 عدد 10 به آدرس شبکه و عدد 20.20.20 به آدرس
میزبان تعلق دارد
در آدرس دهی کلاس A اولین بیت صفر میباشد
01111111 = 0 + 64 + 32+ 16+ 8+ 4+ 2+ 1 = 127
کلاس B
شبکه های کلاس B برای شبکه هایی که تعداد شبکه هایشان بین شبکه های بسیار بزرگ و بسیار کوچک است در نظر گرفته شده است
در یک آدرس شبکه کلاس B دو بخش نخست آن نشان دهنده آدرس شبکه و دو بخش دیگر نشاندهنده آدرس میزبان است
بطور مثال IP 172.16.10.10 عدد 172.16 به آدرس شبکه تعلق دارد و عدد 10.10 به آدرس میزبان تعلق دارد
ِدر آدرس دهی کلاس B دومین بیت صفر میباشد
10111111 = 128+ 0+ 32+ 16+ 8+ 4+ 2+ 1 = 191
کلاس C
شبکه های کلاس C برای شبکه هایی که تعداد شبکه های زیادی دارند اما میزبان کمتری دارند تدارک داده شده است
در یک آدرس شبکه کلاس C , سه بخش نخست آن نشان دهنده آدرس شبکه و بخش آخر به آدرس میزبان تعلق دارد
بطور مثال IP 192.168.10.20 عدد 192.168.10 به آدرس شبکه و 20 به آدرس میزبان تعلق دارد
در ای پی آدرس دهی کلاس C , سومین بیت صفر میباشد
11011111 = 128 + 64+ 0+ 16+ 8+ 4 + 2+ 1 = 223
کلاس D
آدرس کلاس D برای Multicasting استفاده میشود
بدلیل اینکه این آدرس رزو شده است بهمین دلیل از بحث درباره آن خوداری میکنیم
در کلاس D چهارمین بیت صفر میباشد
11101111= 128+64+32+0+8+4+2+1=239
Multicasting
فرایند ارسال یک پیام,همزمان به بیش از یک مقصد در شبکه
را گویند
کلاس E
آدرسهای کلاس E برای research and Development استفاده میشود
در هر کلاس دو نوع IP Address(آدرس ای پی ) موجود میباشد
آدرس ای پی خصوصی
Private address
آدرس ای پی عمومی public address
Private address
برای تعیین شبکه های محلی استفاده میشود
و برای استفاده از آنها احتیاج به هیچ مجوزی نیست
public address
برای تعیین شبکه های عمومی استفاده میشود و باید از سازمان IANA مجوز داشت
IANA(Internet Assigned Numbers Authority)
چگونه میتوان تشخیص داد ای پی عمومی است یا خصوصی ؟
برای IP های خصوصی یک رنج موجود میباشد اگر IP در آن رنج بود خصوصی است در غیر اینصورت IP عمومی است
|
PRIVATE IP ADDRESS |
||
| Class A | 10.0.0.0 | 10.255.255.255 |
| Class B | 172.16.0.0 | 172.31.255.255 |
| Class C | 192.168.0.0 | 192.168.255.255 |
ادامه مطالب
از آنجا که شبکههای بی سیم، در دنیای کنونی هرچه بیشتر در حال گسترش هستند، و با توجه به ماهیت این دسته از شبکهها، که بر اساس سیگنالهای رادیوییاند، مهمترین نکته در راه استفاده از این تکنولوژی، آگاهی از نقاط قوت و ضعف آنست. نظر به لزوم آگاهی از خطرات استفاده از این شبکهها، با وجود امکانات نهفته در آنها که بهمدد پیکربندی صحیح میتوان بهسطح قابل قبولی از بعد امنیتی دست یافت، بنا داریم در این سری از مقالات با عنوان «امنیت در شبکه های بی سیم» ضمن معرفی این شبکهها با تأکید بر ابعاد امنیتی آنها، به روشهای پیکربندی صحیح که احتمال رخداد حملات را کاهش میدهند بپردازیم.
شبکههای بیسیم، کاربردها، مزایا و ابعاد
تکنولوژی شبکههای بیسیم، با استفاده از انتقال دادهها توسط اموج رادیویی، در سادهترین صورت، به تجهیزات سختافزاری امکان میدهد تا بدوناستفاده از بسترهای فیزیکی همچون سیم و کابل، با یکدیگر ارتباط برقرار کنند. شبکههای بیسیم بازهی وسیعی از کاربردها، از ساختارهای پیچیدهیی چون شبکههای بیسیم سلولی -که اغلب برای تلفنهای همراه استفاده میشود- و شبکههای محلی بیسیم (WLAN – Wireless LAN) گرفته تا انوع سادهیی چون هدفونهای بیسیم، را شامل میشوند. از سوی دیگر با احتساب امواجی همچون مادون قرمز، تمامی تجهیزاتی که از امواج مادون قرمز نیز استفاده میکنند، مانند صفحه کلیدها، ماوسها و برخی از گوشیهای همراه، در این دستهبندی جای میگیرند. طبیعیترین مزیت استفاده از این شبکهها عدم نیاز به ساختار فیزیکی و امکان نقل و انتقال تجهیزات متصل به اینگونه شبکهها و همچنین امکان ایجاد تغییر در ساختار مجازی آنهاست. از نظر ابعاد ساختاری، شبکههای بیسیم به سه دسته تقسیم میگردند : WWAN، WLAN و WPAN.
مقصود از WWAN، که مخفف Wireless WAN است، شبکههایی با پوشش بیسیم بالاست. نمونهیی از این شبکهها، ساختار بیسیم سلولی مورد استفاده در شبکههای تلفن همراه است. WLAN پوششی محدودتر، در حد یک ساختمان یا سازمان، و در ابعاد کوچک یک سالن یا تعدادی اتاق، را فراهم میکند. کاربرد شبکههای WPAN یا Wireless Personal Area Network برای موارد خانهگی است. ارتباطاتی چون Bluetooth و مادون قرمز در این دسته قرار میگیرند.
شبکههای WPAN از سوی دیگر در دستهی شبکههای Ad Hoc نیز قرار میگیرند. در شبکههای Ad hoc، یک سختافزار، بهمحض ورود به فضای تحت پوشش آن، بهصورت پویا به شبکه اضافه میشود. مثالی از این نوع شبکهها، Bluetooth است. در این نوع، تجهیزات مختلفی از جمله صفحه کلید، ماوس، چاپگر، کامپیوتر کیفی یا جیبی و حتی گوشی تلفن همراه، در صورت قرارگرفتن در محیط تحت پوشش، وارد شبکه شده و امکان رد و بدل دادهها با دیگر تجهیزات متصل به شبکه را مییابند. تفاوت میان شبکههای Ad hoc با شبکههای محلی بیسیم (WLAN) در ساختار مجازی آنهاست. بهعبارت دیگر، ساختار مجازی شبکههای محلی بیسیم بر پایهی طرحی ایستاست درحالیکه شبکههای Ad hoc از هر نظر پویا هستند. طبیعیست که در کنار مزایایی که این پویایی برای استفاده کنندهگان فراهم میکند، حفظ امنیت چنین شبکههایی نیز با مشکلات بسیاری همراه است. با این وجود، عملاً یکی از راه حلهای موجود برای افزایش امنیت در این شبکهها، خصوصاً در انواعی همچون Bluetooth، کاستن از شعاع پوشش سیگنالهای شبکه است. در واقع مستقل از این حقیقت که عملکرد Bluetooth بر اساس فرستنده و گیرندههای کمتوان استوار است و این مزیت در کامپیوترهای جیبی برتری قابلتوجهیی محسوب میگردد، همین کمی توان سختافزار مربوطه، موجب وجود منطقهی محدود تحت پوشش است که در بررسی امنیتی نیز مزیت محسوب میگردد. بهعبارت دیگر این مزیت بههمراه استفاده از کدهای رمز نهچندان پیچیده، تنها حربههای امنیتی این دسته از شبکهها بهحساب میآیند.
ادامه مطالب
استفاده از شبکه های کامپیوتری در چندین سال اخیر رشد فراوانی کرده وسازمانها وموسسات اقدام به برپایی شبکه نموده اند . هر شبکه کامپیوتری باید با توجه به شرایط وسیاست های هر سازمان ، طراحی وپیاده سازی گردد. در واقع شبکه های کامپیوتری زیر ساخت های لازم را برای به اشتراک گذاشتن منابع در سازمان فراهم می آورند؛در صورتیکه این زیر ساختها به درستی طراحی نشوند، در زمان استفاده از شبکه مشکلات متفاوتی پیش آمده و باید هزینه های زیادی به منظور نگهداری شبکه وتطبیق آن با خواسته های مورد نظر صرف شود.
در زمان طراحی یک شبکه سوالات متعددی مطرح می شود:
-برای طراحی یک شبکه باید از کجا شروع کرد؟
-چه پارامترهایی را باید در نظر گرفت ؟
-هدف از برپاسازی شبکه چیست ؟
- انتظار کاربران از شبکه چیست ؟
- آیا شبکه موجود ارتقاء می باید ویا یک شبکه از ابتدا طراحی می شود؟
-چه سرویس ها و خدماتی برروی شبکه ارائه خواهد شد؟
بطور کلی قبل از طراحی فیزیکی یک شبکه کامپیوتری ، ابتدا باید خواسته ها شناسایی وتحلیل شوند، مثلا در یک کتابخانه چرا قصد ایجاد یک شبکه را داریم واین شبکه باید چه سرویس ها وخدماتی را ارائه نماید؛ برای تامین سرویس ها وخدمات مورد نظر اکثریت کاربران ، چه اقداماتی باید انجام داد ؛ مسائلی چون پروتکل مورد نظر برای استفاده از شبکه ، سرعت شبکه واز همه مهمتر مسائل امنیتی شبکه ، هریک از اینها باید به دقت مورد بررسی قرار گیرد. سعی شده است پس از ارائه تعاریف اولیه ، مطالبی پیرامون کاربردهای عملی آن نیز ارائه شود تا در تصمیم گیری بهتر یاری کند.
این مطلب در اصل بعنوان یک پروژه کارشناسی ارشد در زمینه آسان سازی مفهومهای شبکه برای دانشجویان در دانشگاه تهران در سال 1382 اجرا شد.
شبکه کامپیوتری چیست ؟
اساسا یک شبکه کامپیوتری شامل دو یا بیش از دو کامپیوتر وابزارهای جانبی مثل چاپگرها، اسکنرها ومانند اینها هستند که بطور مستقیم بمنظور استفاده مشترک از سخت افزار ونرم افزار، منابع اطلاعاتی ابزارهای متصل ایجاده شده است توجه داشته باشید که به تمامی تجهیزات سخت افزاری ونرم افزاری موجود در شبکه منبع1(Source) گویند.
در این تشریک مساعی با توجه به نوع پیکربندی کامپیوتر ، هر کامپیوتر کاربر می تواند در آن واحد منابع خود را اعم از ابزارها وداده ها با کامپیوترهای دیگر همزمان بهره ببرد.
" دلایل استفاده از شبکه را می توان موارد ذیل عنوان کرد2" :
1 - استفاده مشترک از منابع :
استفاده مشترک از یک منبع اطلاعاتی یا امکانات جانبی رایانه ، بدون توجه به محل جغرافیایی هریک از منابع را استفاده از منابع مشترک گویند.
2 - کاهش هزینه :
متمرکز نمودن منابع واستفاده مشترک از آنها وپرهیز از پخش آنها در واحدهای مختلف واستفاده اختصاصی هر کاربر در یک سازمان کاهش هزینه را در پی خواهد داشت .
3 - قابلیت اطمینان :
این ویژگی در شبکه ها بوجود سرویس دهنده های پشتیبان در شبکه اشاره می کند ، یعنی به این معنا که می توان از منابع گوناگون اطلاعاتی وسیستم ها در شبکه نسخه های دوم وپشتیبان تهیه کرد ودر صورت عدم دسترسی به یک از منابع اطلاعاتی در شبکه " بعلت از کارافتادن سیستم " از نسخه های پشتیبان استفاده کرد. پشتیبان از سرویس دهنده ها در شبکه کارآیی،، فعالیت وآمادگی دایمی سیستم را افزایش می دهد.
4 - کاهش زمان :
یکی دیگر از اهداف ایجاد شبکه های رایانه ای ، ایجاد ارتباط قوی بین کاربران از راه دور است ؛ یعنی بدون محدودیت جغرافیایی تبادل اطلاعات وجود داشته باشد. به این ترتیب زمان تبادل اطلاعات و استفاده از منابع خود بخود کاهش می یابد.
5 - قابلیت توسعه :
یک شبکه محلی می تواند بدون تغییر در ساختار سیستم توسعه یابد وتبدیل به یک شبکه بزرگتر شود. در اینجا هزینه توسعه سیستم هزینه امکانات وتجهیزات مورد نیاز برای گسترش شبکه مد نظر است.
6 - ارتباطات:
کاربران می توانند از طریق نوآوریهای موجود مانند پست الکترونیکی ویا دیگر سیستم های اطلاع رسانی پیغام هایشان را مبادله کنند ؛ حتی امکان انتقال فایل نیز وجود دارد".
در طراحی شبکه مواردی که قبل از راه اندازی شبکه باید مد نظر قرار دهید شامل موارد ذیل هستند:
1 - اندازه سازمان
2 - سطح امنیت
3 - نوع فعالیت
4 - سطح مدیریت
5 - مقدار ترافیک
6 - بودجه
مفهوم گره " Node" وایستگاههای کاری " Work Stations "]1] :
" هرگاه شما کامپیوتری را به شبکه اضافه می کنید ، این کامپیوتر به یک ایستگاه کاری یا گره تبدیل می شود.
یک ایستگاه کاری ؛ کامپیوتری است که به شبکه الصاق شده است و در واقع اصطلاح ایستگاه کاری روش دیگری است برای اینکه بگوییم یک کامپیوتر متصل به شبکه است. یک گره چگونگی وارتباط شبکه یا ایستگاه کاری ویا هر نوع ابزار دیگری است که به شبکه متصل است وبطور ساده تر هر چه را که به شبکه متصل والحاق شده است یک گره گویند".
برای شبکه جایگاه وآدرس یک ایستگاه کاری مترادف با هویت گره اش است.
در یک شبکه ، یک کامپیوتر می تواند هم سرویس دهنده وهم سرویس گیرنده باشد. یک سرویس دهنده (Server) کامپیوتری است که فایل های اشتراکی وهمچنین سیستم عامل شبکه که مدیریت عملیات شبکه را بعهده دارد - را نگهداری می کند.
برای آنکه سرویس گیرنده " Client" بتواند به سرویس دهنده دسترسی پیدا کند ، ابتدا سرویس گیرنده باید اطلاعات مورد نیازش را از سرویس دهنده تقاضا کند. سپس سرویس دهنده اطلاعات در خواست شده را به سرویس گیرنده ارسال خواهد کرد.
سه مدل از شبکه هایی که مورد استفاده قرار می گیرند ، عبارتند از :
1 - شبکه نظیر به نظیر " Peer- to- Peer "
2 - شبکه مبتنی بر سرویس دهنده " Server- Based "
3 - شبکه سرویس دهنده / سرویس گیرنده " Client Server"
ادامه مطالب
++C بر مبنای زبان برنامه نويسی C است. زبان C در سال 1972 در آزمايشگاه Bell Telephone نوسط Dennis Ritchie به عنوان زبان پياده سازی برای سيستم عامل يونيکس طراحی شد. مقدار زيادی از برنامه نويسی يونيکس با زبان C انجام شده است. C در نتيجه تکوين پروسه ای است که با يک زبان قديمی تر به نام BCPL شروع شده بود. زبان BCPL زبانی بر اساس زبان B بوده است که توسط Ken Thompson در آزمايشگاه Bell طراحی شده بود.
به دليل اينکه C زبان قدرتمند و انعطاف پذيری بود، سريعا گسترش پيدا کرد. برنامه نويسان شروع به استفاده از آن برای انواع برنامه ها کردند. سازمان های مختلف شروع به پياده سازی نسخه های C خود شدند. تا اينکه در سال 1983، ANSI استاندارد C را تنظيم کرد که به عنوان ANSI Standard C شناخته می شود. کامپايلرهای بعدی C از اين استاندارد پيروی کردند.
زبان برنامه نويسي ++C بر اساس زبان C توسط Bjarne Stroustrup ابداع شد. آنچه امروزه ++C ناميده مي شود از سال 1979 آغاز شده است. نسخه اوليه آن "C with classes" ناميده شد که بعدا به ++C تغيير کرد. ++C کليه ويژگی های زبان C را داراست. تفاوت بين آنها اينستکه ++C شي گرائی را پشتيبانی می کند. البته پيشرفت های ديگری هم دارد برای مثال کار با رشته ها و سروکارداشتن با خطاها در آن قوی تر است.
نسخه اول ++C ابتدا در AT&T در سال 1983 استفاده شد. اولين نسخه تجاری آن در اکتبر 1985 به بازار آمد. در سال 1998 ANSI و ISO متفقا ++C را استاندارد کردند. به همين دليل اغلب ++C محض را ANSI Standard ++C يا ISO Standard ++C می نامند.
با تکامل ++C يک کتابخانه استاندارد هم با آن شکل گرفت. اولين کتابخانه استاندارد ++C کتابخانه stream I/O بود که امکاناتی برای جايگزينی توابع قديمی C مانند printf و scanf مهيا کرد. بعد از آن مهمترين کتابخانه استاندارد کتابخانه Standard Template بود.
توجه داشته باشيد که کد C در کامپايلر ++C کامپايل می شود اما عکس آن صادق نيست و کد ++C لزوما در کامپايلر C کامپايل نمی شود.
ادامه مطالب
در اين قسمت تگ هائی که در صفحات وب به کرار استفاده می شوند توضيح داده می شود.
هر مستند HTML به صورت مجموعه ای از بلوک های متنی ساخته می شود. هر بلوک می تواند مستقلا قالب بندی بشود. بلوک به صورت سرتيتر يا پاراگراف است. تقريبا باقی متن، تصاوير و لينکها درون يک بلوک قرار می گيرند. از سرتيتر ها برای مشخص کردن ساختار مستند و عناوين متن ها استفاده می شود. شش سطح سرتيتر وجود دارد. اگرچه در اکثر موارد سه سطح کافی به نظر می رسد.سرتيتر توسط تگ های تا تعيين می شوند. بزرگترين وکوچکترين تيتر را مشخص می کند. بزرگترين سرتيتر برای عنوان های اصلی بايد استفاده شود و اغلب مشابه متنی است که در تگ ذکر می شود. تگ های و را برای زيربخش های مستند استفاده کنيد.
تگ های فوق در مرورگر به صورت زير مشاهده می شوند.
نکته. موتورهای جستجو از سرتيترها برای ايندکس زدن ساختار و محتوای صفحات وب استفاده می کنند.
اطلاعات اغلب به صورت پاراگرافی از متن ها هستند. هر پاراگراف بايد به طور واضح در مستند تگ بخورد. هر پاراگراف می تواند اطلاعات فرمت بندی را داشته باشد. تگ<p> يک پاراگراف را مشخص می کند
خط افقیتگ<hr> برای ايجاد يک خط افقی استفاده می شود. خطوط افقی برای جدا کردن صفحه و سازماندهی ظاهر صفحه مفيد هستند.
قدرت صفحات وب در پيوند مستندات به يکديگر است. برای پيوند به سند ديگری در وب از هايپرلينک (hyperlink) استفاده می شود. هايپرلينک ها کلمات زيرخط داری هستند که وقتی روی آن کليد می کنيد شما را به صفحه ديگر يا قسمت ديگری در همان صفحه می برند.
انواع پيوند ها توسط تگ تعريف می شود. آدرس مقصد توسط صفت href مشخص می شود.
طراحی صفحات وب نيازمند آشنائی با تگ های HTML می باشد. در اين درس با HTML و نحوه طراحی سايت های وب آشنا خواهيد شد.
مستندات (Hyper Text Markup Language) HTML، يا به عبارت ديگر صفحات وب، فايل های متنی هستند که از عناصر HTML ساخته شده اند. HTML در حقيقت يک زبان نشانه گذاری (markup language) است که برای توصيف ساختار منطقی يک مستند استفاده می شود.
برازر يا مرورگر وب (web browser) برای خواندن مستندات HTML و نمايش آنها به صورت صفحات وب مورد استفاده قرار می گيرند.
به کمک HTML يک صفحه وب به صورتی طراحی می شود که توسط يک مرورگر وب روی هر ماشين يا سيستم عاملی خوانده و تفسير شود به عبارت ديگر مستقل از ماشين (device independent) باشد.
عناصر HTML با استفاده از تگ های HTML توصيف می شوند. وظيفه اصلی تگ ها تعيين چگونگی نمايش اطلاعات است. به اين وسيله نحوه نمايش يک صفحه وب به صورت مستتر در آن قرار می گيرد. مرورگرها با کمک تگ ها به نمايش صفحات وب می پردازند.
هر صفحه وب از مجموعه ای عناصر مانند سرتيتر، پاراگراف، ليست، تصوير و غيره تشکيل شده است. هر عنصر توسط اطلاعات کنترلی به نام تگ (tag) احاطه می شود. هر تگ بين دو کاراکتر < و > قرار می گيرد.
مرورگرها تگ ها را نمايش نمی دهد بلکه از آنها برای تفسير محتوای صفحه و نحوه نمايش آن استفاده می کند.
تگ ها معمولا به صورت جفت هستند مانند و . تگ اول را تگ شروع (start tag) و تگ دوم را تگ پايان (end tag) می نامند. تگ های پايانی شامل يک علامت اسلش (/) هم هستند. به متن بين اين تگ ها عنصر محتوايی (element content) گفته می شود.
مثال. متن زير به صورت سرتيتر تعيين می شود.
مثال. تاکيد روی متن.
this text is not bold
this text is bold
this text is not bold
تگ های HTML حساس به متن (case-insensitive) نيستند.
مثال. هر دو تگ زير توسط برازر درک می شود.
this text is bold
this text is not
this text is bold
می توانيد شيوه های فرمت بندی را با هم ترکيب کنيد. البته تگ ها بايد به طور صحيح تودرتو قرار گيرند. قانون کلی اين است که تگ های داخلی بايد قبل از تگ های بيرونی بسته شوند.
مثال. نحوه درست و نادرست تودرتو کردن تگ ها.
صحيحتگ ها علاوه بر تعيين فرمت يک عنصر HTML می توانند ويژگی های آن فرمت را هم مشخص کنند. ويژگی های يک تگ توسط صفات خاصه (attribute) آن مشخص می شود. صفات اطلاعات اضافه تری درباره عنصر می دهند و هميشه در تگ شروع قرار می گيرند.
صفت هميشه به صورت جفت نام و مقدار می آيد که به صورت زير نوشته می شوند:
name = "value"
مثال. تگ زير يک شيوه سرتيتر را راست چين می کند.
مقادير صفت هميشه در علامت کوتيشن (") قرار می گيرند. تک کوتيشن (') هم می تواند گذاشته شود اما معمولا از دوتا کوتيشن استفاده می شود. در مواردی که مقدار صفت خودش دارای کوتيشن است نياز به استفاده از تک کوتيشن است.
نکته. ضرورتی نيست مقادير خصوصيات را درون گيومه قرار دهيد مگر اينکه مقدار شامل کاراکتر space باشد.
نکته. بعد يا قبل از علامت مساوی گذاشتن فضای خالی الزامی نيست.
نکته. تنها تگ شروع دارای صفت خاصه است و اطلاعات خصوصيات در تگ پايانی ذکر نمی شود.
هشت تگ وجود دارند که بايد در هر مستند HTML يا صفحه وب ظاهر شوند. اين هشت تگ با ترتيب زير در صفحه وب قرار می گيرند.
web Page Content
کل مستند توسط تگ و احاطه می شود. هر صفحه وب به دو قسمت سر و بدنه تقسيم می شود که توسط تگ های … و … مشخص می شوند.بخش head اطلاعات کنترلی که توسط مرورگرها و سرورها مورداستفاده قرار می گيرند را دربر می گيرد. اين اطلاعات در مرورگر نمايش داده نمی شوند.
کليه صفحات وب دارای يک عنوان (title) هستند که در بالای پنجره مرورگر نمايش داده می شود. عنوان توسط موتورهای جستجو هم مورد استفاده قرار می گيرد.
بجز بخش عنوان که اجباری است تگ های ديگر در قسمت head ممکن هرگز توسط افراد عادی استفاده نشود.
قسمت بدنه مستند شامل محتوای صفحه وب مانند متن، لينکها، تصاوير و غيره است که قابل رويت در مرورگر وب است.
يک صفحه وب را مشابه هر فايل متنی ديگر می توان در يک اديتور متنی ساده مانند Notepad توليد کرد ولی حتما بايد با پسوند htm يا html ذخيره شود.
مستند فوق در مرورگر به صورت زير ديده می شود:
نکته. اديتور های قديم اجازه تنها سه کاراکتر را برای پسوند می داد در اديتور های جديد بهتر است از پسوند .html استفاه شود.
نکته. فايل HTML را می توان بسادگی با استفاده از اديتورهائی مانند FrontPage يا DreamWeaver ايجاد کرد. اما اگر می خواهيد يک طراح وب حرفه ای شويد توصيه می شود که ابتدا از يک اديتور متنی ساده برای يادگيری HTML استفاده کنيد.
نکته. اگر فايل HTML را اصلاح کرديد ممکن است در برازر تغييرات مشاهده نشود چون برازر صفحات شما را cache می کند و مجدد نمی خواند. از دکمه Refresh/Reload برای بروز کردن صفحه وب خود استفاده کنيد.
نکته. می توانيد همه نوع مرورگری را برای ديدن صفحه خود انتخاب کنيد نظير Internet Explorer، Mozilla، Netscape يا Opera. البته بعضی مثال های پيشرفته احتياج به آخرين نسخه مرورگر دارد.
نکته. از منوی View در برازر خود گزينه Source يا Page Source را انتخاب نمائيد تا کد منبع يک صفحه وب را ببينيد.
ادامه مطالب
فایل پروژه مربوط به درس برنامه سازی تحت وب آقای مهندس مرتضوی را می توانید از لینک زیر دانلود نمایید
http://www.mediafire.com/download.php?3gp7u2erwkgddkx
سيستم هاي عدد نويسي
سيستم عددی اعشاری
سيستم عددی دودوئی
سيستم عددی هگز
در کارهای روزمره از سيستم عددی اعشاری يا مبنای 10 استفاده می شود. اين سيستم برای کامپيوتر مناسب نيست و برای سادگی سخت افزار، کليه اطلاعات به شکل بيت های روشن و خاموش رمز می شوند. بنابراين سيستم عددی باينری که تنها شامل ارقام صفر و يک است برای اين منظور بسيار مناسب است. عدد 1 (on) مشخص کننده +5 ولت و عدد صفر (off) مشخص کننده 0.5 ولت است.
برای تعيين مبنای عدد يک حرف کوچک در انتهای آن قرار می گيرد. مثاال 45h به معنی عدد 45 در مبنای شانزده است. و 11010011b يعنی اين عدد در مبنای 2 است. اين روشی است که اسمبلر اعداد را در برنامه های اسمبلی تشخيص می دهد.
اعداد اعشاری يا مبنای 10 از 10 رقم (0 تا 9) تشکيل شده اند. هر رقم به توانی از 10 مرتبط است که نشان دهنده ارزش مکانی رقم در عدد است.
234 = 2 × 102 + 3 × 101 + 4 × 100سيستم باينری بر اساس تنها دو وضعيت است: روشن (1) يا خاموش (0)، بنابراين درمبنای 2 است. يک رقم باينری يک بيت ناميده می شود (در واقع کلمه Bit مخفف Binary Digit است).
مقدار يک عدد باينری بر اساس بيت های 1 و ارزش مکانی آنها بدست می آيد. ارزش مکانی هر بيت توانی از 2 است. برای محاسبه مقدار اعشاری يک عدد باينری، کافی است هر رقم از راست به چپ در ارزش مکانی اش ضرب شده سپس کليه اعداد با هم جمع شوند.
مثال 1. تبديل عدد 11001b به مبنای 10.
Binary: 11001مثال 2. تبديل عدد باينری 10010000 به مبنای 10.
Binary: 1 0 0 1 0 0 0 0کاراکتر ^ نشان دهنده عمل توان است.
ادامه مطالب
زبان اسمبلی قديمی ترين زبان برنامه نويسی سطح پايين بعد از زبان ماشين است که ساختار و عملکردی وابسته به ماشين دارد و وسيله خوبی برای يادگيری نحوه کار کامپيوتر، سيستم عامل، کامپايلرها و زبان های سطح بالا است .
مقايسه زبان اسمبلی و زبان های سطح بالا
زبان ماشين
زبان اسمبلي چيست؟
اسمبلر
دو دسته اصلی زبان های برنامه نويسی عبارتند از:
1. زبان های سطح بالا
• مانند C++، Pascal، Java و Visual Basic.
2. زبان های سطح پايين
• زبان ماشين
• زبان اسمبلی
اکثر برنامه نويسان در لايه زبان سطح بالا کار می کنند که هر عبارت آن به چند دستورالعمل ماشين ترجمه می شود. برنامه های نوشته شده در زبان های سطح بالا خصوصا زبان های شی گرا راحت تر، سريع تر و با هزينه کمتر پياده سازی و نصب می شوند.
زبان اسمبلی يک زبان سطح پايين است و اغلب هنگام ارتباط با سيستم عامل، دسترسی مستقيم به خواص کليدی ماشين يا برای بهينه کردن قسمت های حساس برنامه های کاربردی و افزايش سرعت اجرای آنها استفاده می شود. برنامه نويسی زبان اسمبلی نسبت به زبان های سطح بالا دشوارتر است. برنامه نويس بايد به جزئيات توجه بيشتری نشان دهد و اطلاعات کافی نسبت به پردازنده مورد استفاده داشته باشد. اما برنامه های اسمبلی که ماهرانه نوشته شده باشند می توانند سريع تر و با حافظه کمتری از برنامه های مشابه نوشته شده با زبان سطح بالا اجرا شوند.
هر خانواده ای از پردازنده ها دارای مجموعه ای از دستورالعمل های منحصر بفرد است که زبان ماشين ناميده می شود. مجموعه دستورالعمل های يک پردازنده (Instruction Set) مجموعه ای از اعداد دودوئی است که ماشين می تواند آنها را درک و اجرا کند. هر نوع CPU تنها زبان مخصوص خود را درک می کند و دارای مفسری بنام microprogram است که دستورات زبان ماشين را به سيگنال های سخت افزاری تفسير و ترجمه می کند.
مثال 1. اعداد دودئی زير يک دستورالعمل ماشين اينتل است که عدد 5 را در ثبات AL قرار می دهد.
1011 0000 0000 0101
مثال 2. دستور زير ثبات های EAX و EBX را جمع کرده و حاصل را در ثبات EAX ذخيره کند.
0000 0011 1100 0011
هر دستورالعمل زبان ماشين شامل کد منحصر بفردی دارد که کدعملياتی (Operation Code) يا Opcode ناميده می شود. Opcode هميشه در ابتدای دستورالعمل قرار می گيرد. اکثر دستورات شامل داده هم هستند که توسط دستورالعمل استفاده می شود و عملوند (Operand) نام دارند.
کاملا واضح است که برنامه نويسی به زبان ماشين بسيار دشوار است. درک معنی دستورالعمل های کدشده زبان ماشين برای انسان کار خسته کننده ای است. خوشبختانه برای هر خانواده از پردازنده ها يک زبان اسمبلی ارائه می شود که دستورالعمل های زبان ماشين را به صورت نمادی و قابل فهم تر نشان می دهند.
زبان اسمبلی که يک زبان برنامه نويسی سطح پايين است که ساختار و عملکردی وابسته به ماشين دارد. بين عبارات آن و دستورالعمل های زبان ماشين کامپيوتر تناظر يک به يک برقرار است. يعنی هر دستورالعمل اسمبلی دقيقا يک دستورالعمل زبان ماشين را نشان می دهد، در حاليکه در زبان سطح بالا يک عبارت معمولا به چندين دستورالعمل ماشين تبديل می شود.
يک برنامه اسمبلی مانند برنامه های سطح بالا به صورت text نوشته می شود. هر دستورالعمل زبان اسمبلی يک نمايش نمادی (يک کد الفبائی کوتاه) از يک دستورالعمل ماشين است، که به اين صورت معنی دستور واضح تر از کد زبان ماشين می شود.
مثال 1. کلمه mov نمادی برای عمل انتقال داده است. دستور اسمبلی زير جمع ثبات AL و عدد 5 را نشان می دهد.
mov AL,5
مثال 2. کلمه add يک نماد برای دستورالعمل جمع است. دستور جمع ثبات های EAX و EBX به صورت زير نوشته می شود.
add EAX, EBX
مشاهده می شود که به اينصورت درک معنی دستور بسيار روشن تر از کد ماشين معادل است.
مثال 3. دستوری که عملوندی ندارد و فلگ carry را صفر می کند.
clc
مثال 4. دستور زير عدد يک را به ثبات AX اضافه می کند.
inc AX
مثال 5. دستور جمع مقدار متغير Count با محتوای ثبات به صورت زير است.
mov AX,Count
هر دستور اسمبلی می تواند همراه با ليستی از عملوند ها باشد. فرم کلی دستورالعمل های اسمبلی به صورت زير است:
mnemonic operand(s)
عملوند دستورالعمل می تواند از انواع زير باشد :
• ثبات. عملوندهائی که مستقيما به محتوای ثبات های پردازنده مراجعه می کنند. مانند ثبات AL در مثال 1.
• متغير يا حافظه ای. عملوندهائی که به داده ای در حافظه اشاره دارند. مانند متغير Count در مثال 5.
• فوری. اين عملوندها مقادير ثابتی هستند که در داخل دستورالعمل قرار می گيرند. در مثال 1عدد 5 يک عملوند فوری است.
• ضمنی. عملوندهائی که صريحا در دستور ذکر نمی شوند. در مثال 4عدد يک با ثبات AL جمع می شود. عدد يک عملود ضمنی است.
يک کامپيوتر نمی تواند مستقيما زبان اسمبلی را تفسير کند و تنها قادر به اجرای کدهای زبان ماشين است. اسمبلر برنامه ای است که فايل متنی حاوی دستورات اسمبلی را خوانده و نمادهای اسمبلی را به کدهای زبان ماشين تبديل می کند. البته کامپايلرها هم برنامه هائی هستند که عمل مشابه را برای زبان های سطح بالا انجام می دهند، اما اسمبلر به مراتب از کامپايلر ساده تر است، زيرا هرعبارت زبان اسمبلی تنها يک دستورالعمل ماشين را نشان می دهد. عبارات زبان سطح بالا پيچيده تر هستند و ممکن است به دستورالعمل های ماشين بيشتری نياز داشته باشند.
يک تفاوت مهم ديگر بين اسمبلی و زبان های سطح بالا اين است که هر نوع CPU زبان ماشين و زبان اسمبلی مخصوص به خود را دارد. انتقال برنامه های اسمبلی روی معماری های مختلف کامپيوتر به راحتی برنامه های سطح بالا نيست.
محبوب ترين اسمبلرها برای پردازنده ها ی خانواده اينتل عبارتند از:
• ماکرواسمبلر Microsoft’s Assembler MASM
• توربو اسمبلر Borland’s Assembler TASM
• و ASM86
برنامه ديگری که برای رديابی اجرای برنامه و بررسی محتوای حافظه کاربرد دارد ديباگر(Debugger) است که استفاده از آن بهترين راه برای يادگيری برنامه های اسمبلی و روند اجرای آنهاست. ديباگر برنامه ای است که اجازه بررسی ثبات ها و حافظه را بعد از اجرای هر دستور برنامه می دهد و خصوصا برای تست برنامه های اسمبلی مفيد است.
برنامه Debug از جمله ساده ترين ديباگرهاست که توسط MS-DOS عرضه شده است. CodeView همراه با ميکروسافت اسمبلر می آيد که اجازه می دهد کد منبع برنامه ها، بلاک های حافظه و ثبات ها را مشاهده کنيد. Turbo Debugger بورلند هم به همين صورت است.
يک برنامه ديگر همراه با اسمبلر برنامه لينکر(Linker) است که فايل های مجزای توليد شده توسط اسمبلر يا کامپايلر را به يک برنامه اجرائی تبديل می کند. برنامه Link که همراه فايل های MS-DOS می باشد يکی از متداولترين برنامه های لينکر می باشد.