دسته بندی | کامپیوتر و IT |
بازدید ها | 10 |
فرمت فایل | doc |
حجم فایل | 3531 کیلو بایت |
تعداد صفحات فایل | 16 |
حافظة مجازی
حافظه مجازی
در این تمرین شما با صورتها و شکلهای مختلفی از مکانیزم حافظه مجازی در ویندوز NT آشنایی پیدا خواهید کرد علیرغم اغلب دیگر سیستمهای عامل، ویندوز NT یک API ساده و روشنی را برای اداره کردن بعضی شکلها و صورتهای حافظه مجازی تهیه میکند(معمولاً حافظه مجازی بطور کامل توسط برنامه نویس کاربردیاش روشن و واضح میگردد) در این تمرین شما در موارد زیر اطلاعاتی یاد خواهید گرفت: سازماندهی سیستم حافظه مجازی ویندوز NT چگونه فضای حافظه مجازی خود را کنترل کنید؟ چگونه یک وسیله آگاه کننده و گزارش دهنده بنویسید؟ جزئیات GlobalMemory Status , GetsystemInfo – VirtualQuery – VirtualUnlock – VirtualLock – VirtueaFree – VirtualAlloc معرفی
حافظه مجازی صفحهبندی یا Paging Virtual Memory در بسیاری از سیستمهای عامل امروزی بکار گرفته میشود. در یک سیستم صفحهبندی شده، هر فرآیندی یک فضای آدرس دهی مجازی خاص خود دارد که برای ارجاع دیگر اشیاء بکار گرفته میشود که معمولاً محتوای یک محل یا موقعیتی از حافظه است بخشی از فضای آدرس دهی مجازی توسط ویراستار خطی ( Link editor ) تعریف میشوند وقتی که آن یک تصویر قابل اجرایی بوجود میآورد که در واقع فایل اجرایی یا EXE است. تعداد باقیمانده از فضای آدرسدهی میتواند بطور پویا در زمان اجرا توسط روشهایی که در این تمرین توضیح داده خواهد شد تعر یف شود. بعد از اینکه قسمت پایدار و ثابت از فضای آدرسدهی مجازی ایجاد شد در حافظه ثانویه ذخیره خواهد شد ( معمولاً در بخش یا Partition از وسیله ذخیرهسازی کهPaging disk نام دارد ). به منظور عملیتر شدن شما میتوانید Paging disk را مشابه فایل در نظر بگیرید. در یک کامپیوتر معمول و مرسوم پردازنده تنها میتواند دستورات را واکشی کند یا دادههایی را که در حافظه اولیه یا قابل اجرا ( که معمولاً RAM خوانده میشوند. ) واقع شدهاند را بارگذاری کند. حافظه اولیه در مقایسه با حافظه ثانویه کوچکتر و سریعتر است. حافظه اولیه خیلی گرانتر از حافظه ثانویه است بنابراین بطور معمول در زمره اجزای با ارزشتر از نظر حجم اما کوچکتر از حافظههای ثانویه قرار دارند. اغلب کامپیوترها حافظه اولیه کافی حتی برای ذخیره فضای آدرسدهی مجازی کامل یک فرآیند را هم ندارند بنابراین در یک زمان تعداد زیادی فضا روی حافظه ثانویه برای ذخیره فضای آدرسدهی مجازی تعداد زیادی فرآیند وجود خواهد داشت. حافظه اولیه همچنین خیلی سریعتر از حافظه ثانویه میباشد. پردازنده میتواند یک بایت را در 2 سیکل پردازنده در حافظه اولیه بخواند یا بنویسید. اما همین عمل هزاران سیکل از پروسسور را برای نوشتن یا خواندن اطلاعات در حافظه ثانویه نیازمند است.برای نگهداری فضای حافظه اولیه یک سیستم حافظه مجازی صفحهبندی شده در هر زمان داده شده تنها بخشی از فضای آدرسدهی مجازی تعداد مختلفی از فرآیندها را بارگذاری یا ( Load ) میکند. همانطور که Thread ها در فضای آدرسدهی فرآیندهایشان اجرا میشوندبخشی از فضای آدرسدهی مجازی که در حال حاضر در حال استفاده است در حافظه اولیه بارگذاری میشود و در همان حال دیگر بخشهای فضای آدرسدهی در حافظه ثانویه قرار گرفتهاند. زمانی که فرآیندی به بخشی از فضای آدرسدهی مجازی دیگر نیاز ندارد ( حداقل برای مدتی ) از آن بخش در حافظه ثانویه کپی گرفته میشود. این به موقعیتی از حافظه اولیه که مورد استفاده برای ذخیره بخشی از فضای آدرسدهی مجازی قرار گرفته بود این اجازه را میدهد که برای ذخیره بخش دیگری از فضای آدرسدهی مجازی در زمان دیگری بکار گرفته شود. در یک سیستم حافظه مجازی سنجش در کارایی بوسیله کپی کردن یک بلوک از حافظه در حافظه اولیه یا بازگرداندن به حافظه ثانویه در زمانی که یک جابهجایی بین دوسطح از سلسله مرتبه حافظ مورد نیاز و ضروری باشد بدست میآید کارایی از این واقعیت بدست میآید که عملیات ورودی و خروجی حافظه ثانویه وابسته به بلوکها میباشد. این یعنی اگر تنها یک کلمه ( Word ) اطلاعات از حافظه ثانویه مورد نیاز باشد همه بلوک باید خوانده شود تابه آن کلمه برسیم. همچنین نسبت به مکانی که همه آن بلوک در حافظه اولیه قرار داد هم احساس است تا زمانی که باید خوانده شود تابه لغت گم شده برسیم. فواید دیگری در بارگذاری همه بلوکها نسبت به فقط یک کلمه وجود دارد. هنگامی که یک نخ یا Thread به مکانی چون I رجوع میکند احتمال زیادی وجود دارد که بخواهد به مکان I+1 در آینده نزدیک رجوع کند به این مفهوم محلیت یا Locality گفته میشود. یک حافظه مجازی صفحهبندی شده بلوکهای با اندازة ثابت را بارگذاری میکند و یا برمیدارد که به آنها صفحه یا Page گفته میشود که در زمانی که دادهها و اطلاعات را بین حافظه اولیه و ثانویه در جهت رفت و برگشت حرکت میدهد انجام میگیرد. حد و مرز صفحهها یا Page ها کاملاً توسط برنامهنویس مشخص و واضح میشود. شکل 1 عملیات یک سیستم حافظه مجازی صفحهبندی شده بطور عام را خلاصه میکند.زمانی که یک نخ یا Thread به آدرس مجازی K رجوع میکند ( مرحله 1 در شکل ) حافظه مجازی ابتدا تعدا صفحات یا Page هایی که آدرس مجازی K را در بردارد تعیین میکند (مرحله2 در شکل ) اگر صفحه در حال حاضر در حافظه اولیه بارگذاری شده بود و موجود بود ( مرحله 3 در شکل ) سیستم حافظه مجازی آدرس مجازی را به آدرس فیزیکی متناظر با آن موقعیت در حافظه اولیه که همان Page Frame است تبدیل میکند ( جایی که صفحه هدف در آن واقع شده است. ) اگر صفحه در همان زمان که به آن رجوع شده بارگذاری نشده بود اجرای Thread عادی دچار وقفه میشود تا زمانی که مدیریت حافظه صفحه مقصد را در Page Frame بارگذاری کند به محضی که آن صفحه بارگذاری شد اجرا ادامه پیدا خواهد کرد در مرحله 4 رجوع به آدرس مجازی K دوباره با آدرس فیزیکی در حافظه اولیه تعیین میگردد ( مکانی که موقعیت مجازی K در حال حاضر آنجا بارگذاری شده است. )
حافظه مجازیدر این تمرین شما با صورتها و شکلهای مختلفی از مکانیزم حافظه مجازی در ویندوز NT آشنایی پیدا خواهید کرد علیرغم اغلب دیگر سیستمهای عامل، ویندوز NT یک API ساده و روشنی را برای اداره کردن بعضی شکلها و صورتهای حافظه مجازی تهیه میکند(معمولاً حافظه مجازی بطور کامل توسط برنامه نویس کاربردیاش روشن و واضح میگردد) در این تمرین شما در موارد زیر اطلاعاتی یاد خواهید گرفت: سازماندهی سیستم حافظه مجازی ویندوز NT چگونه فضای حافظه مجازی خود را کنترل کنید؟ چگونه یک وسیله آگاه کننده و گزارش دهنده بنویسید؟ جزئیات GlobalMemory Status , GetsystemInfo – VirtualQuery – VirtualUnlock – VirtualLock – VirtueaFree – VirtualAlloc معرفی حافظه مجازی صفحهبندی یا Paging Virtual Memory در بسیاری از سیستمهای عامل امروزی بکار گرفته میشود. در یک سیستم صفحهبندی شده، هر فرآیندی یک فضای آدرس دهی مجازی خاص خود دارد که برای ارجاع دیگر اشیاء بکار گرفته میشود که معمولاً محتوای یک محل یا موقعیتی از حافظه است بخشی از فضای آدرس دهی مجازی توسط ویراستار خطی ( Link editor ) تعریف میشوند وقتی که آن یک تصویر قابل اجرایی بوجود میآورد که در واقع فایل اجرایی یا EXE است. تعداد باقیمانده از فضای آدرسدهی میتواند بطور پویا در زمان اجرا توسط روشهایی که در این تمرین توضیح داده خواهد شد تعر یف شود. بعد از اینکه قسمت پایدار و ثابت از فضای آدرسدهی مجازی ایجاد شد در حافظه ثانویه ذخیره خواهد شد ( معمولاً در بخش یا Partition از وسیله ذخیرهسازی کهPaging disk نام دارد ). به منظور عملیتر شدن شما میتوانید Paging disk را مشابه فایل در نظر بگیرید. در یک کامپیوتر معمول و مرسوم پردازنده تنها میتواند دستورات را واکشی کند یا دادههایی را که در حافظه اولیه یا قابل اجرا ( که معمولاً RAM خوانده میشوند. ) واقع شدهاند را بارگذاری کند. حافظه اولیه در مقایسه با حافظه ثانویه کوچکتر و سریعتر است. حافظه اولیه خیلی گرانتر از حافظه ثانویه است بنابراین بطور معمول در زمره اجزای با ارزشتر از نظر حجم اما کوچکتر از حافظههای ثانویه قرار دارند. اغلب کامپیوترها حافظه اولیه کافی حتی برای ذخیره فضای آدرسدهی مجازی کامل یک فرآیند را هم ندارند بنابراین در یک زمان تعداد زیادی فضا روی حافظه ثانویه برای ذخیره فضای آدرسدهی مجازی تعداد زیادی فرآیند وجود خواهد داشت. حافظه اولیه همچنین خیلی سریعتر از حافظه ثانویه میباشد. پردازنده میتواند یک بایت را در 2 سیکل پردازنده در حافظه اولیه بخواند یا بنویسید. اما همین عمل هزاران سیکل از پروسسور را برای نوشتن یا خواندن اطلاعات در حافظه ثانویه نیازمند است.برای نگهداری فضای حافظه اولیه یک سیستم حافظه مجازی صفحهبندی شده در هر زمان داده شده تنها بخشی از فضای آدرسدهی مجازی تعداد مختلفی از فرآیندها را بارگذاری یا ( Load ) میکند. همانطور که Thread ها در فضای آدرسدهی فرآیندهایشان اجرا میشوندبخشی از فضای آدرسدهی مجازی که در حال حاضر در حال استفاده است در حافظه اولیه بارگذاری میشود و در همان حال دیگر بخشهای فضای آدرسدهی در حافظه ثانویه قرار گرفتهاند. زمانی که فرآیندی به بخشی از فضای آدرسدهی مجازی دیگر نیاز ندارد ( حداقل برای مدتی ) از آن بخش در حافظه ثانویه کپی گرفته میشود. این به موقعیتی از حافظه اولیه که مورد استفاده برای ذخیره بخشی از فضای آدرسدهی مجازی قرار گرفته بود این اجازه را میدهد که برای ذخیره بخش دیگری از فضای آدرسدهی مجازی در زمان دیگری بکار گرفته شود. در یک سیستم حافظه مجازی سنجش در کارایی بوسیله کپی کردن یک بلوک از حافظه در حافظه اولیه یا بازگرداندن به حافظه ثانویه در زمانی که یک جابهجایی بین دوسطح از سلسله مرتبه حافظ مورد نیاز و ضروری باشد بدست میآید کارایی از این واقعیت بدست میآید که عملیات ورودی و خروجی حافظه ثانویه وابسته به بلوکها میباشد. این یعنی اگر تنها یک کلمه ( Word ) اطلاعات از حافظه ثانویه مورد نیاز باشد همه بلوک باید خوانده شود تابه آن کلمه برسیم. همچنین نسبت به مکانی که همه آن بلوک در حافظه اولیه قرار داد هم احساس است تا زمانی که باید خوانده شود تابه لغت گم شده برسیم. فواید دیگری در بارگذاری همه بلوکها نسبت به فقط یک کلمه وجود دارد. هنگامی که یک نخ یا Thread به مکانی چون I رجوع میکند احتمال زیادی وجود دارد که بخواهد به مکان I+1 در آینده نزدیک رجوع کند به این مفهوم محلیت یا Locality گفته میشود. یک حافظه مجازی صفحهبندی شده بلوکهای با اندازة ثابت را بارگذاری میکند و یا برمیدارد که به آنها صفحه یا Page گفته میشود که در زمانی که دادهها و اطلاعات را بین حافظه اولیه و ثانویه در جهت رفت و برگشت حرکت میدهد انجام میگیرد. حد و مرز صفحهها یا Page ها کاملاً توسط برنامهنویس مشخص و واضح میشود. شکل 1 عملیات یک سیستم حافظه مجازی صفحهبندی شده بطور عام را خلاصه میکند.زمانی که یک نخ یا Thread به آدرس مجازی K رجوع میکند ( مرحله 1 در شکل ) حافظه مجازی ابتدا تعدا صفحات یا Page هایی که آدرس مجازی K را در بردارد تعیین میکند (مرحله2 در شکل ) اگر صفحه در حال حاضر در حافظه اولیه بارگذاری شده بود و موجود بود ( مرحله 3 در شکل ) سیستم حافظه مجازی آدرس مجازی را به آدرس فیزیکی متناظر با آن موقعیت در حافظه اولیه که همان Page Frame است تبدیل میکند ( جایی که صفحه هدف در آن واقع شده است. ) اگر صفحه در همان زمان که به آن رجوع شده بارگذاری نشده بود اجرای Thread عادی دچار وقفه میشود تا زمانی که مدیریت حافظه صفحه مقصد را در Page Frame بارگذاری کند به محضی که آن صفحه بارگذاری شد اجرا ادامه پیدا خواهد کرد در مرحله 4 رجوع به آدرس مجازی K دوباره با آدرس فیزیکی در حافظه اولیه تعیین میگردد ( مکانی که موقعیت مجازی K در حال حاضر آنجا بارگذاری شده است. )
دسته بندی | کامپیوتر و IT |
بازدید ها | 7 |
فرمت فایل | doc |
حجم فایل | 37 کیلو بایت |
تعداد صفحات فایل | 43 |
راجع به مسائل مربوط به پروتکل اینترنت (IP) صحبت کردند. و در مورد مسائل مربوط به شبکه ها و روش های انتقال دیجیتالی صدای کد گذاری شده روی این شبکه ها به بحث و بررسی پرداختند. در مورد انتقال صدا با استفاده از IP صحبت شد و روش انتقال بسته های RTP را بین جلسات فعال مورد بررسی قرار دادیم. آنچه ما مشخص نکردیم ، اگر چه ، برپاسازی و روش اجرای این جلسات صوتی می باشد. ما فرض کردیم این جلسات (Session) از وجود یکدیگر مطلع بوده و جلسات رسانه ای به روش خاصی ایجاد می شوند که بتوانند صدا را با استفاده از بسته های RTP منتقل کنند. پس این جلسات چگونه بوجود می آیند و چگونه به اتمام می رسند؟ چگونه این طرفین به طرف دیگر اشاره می کنند تا یک ارتباط را فراخوانی کنند، و چگونه طرف دوم این فراخوانی کنند، و چگونه طرف دوم این فراخوانی را می پذیرد؟ جواب استفاده از سیگنال است.
در شبکه های سنتی تلفن ، قراردادهای سیگنالی مشخصی وجود داشته که قبل و در حین فراخوانی استفاده می شوند. یکی از محدودیت های فوری این بود که دو کاربر در صورتی با هم تماس برقرار می کردند که سیستم مشابهی خریداری کرده باشند. این کمبود کار کردن همزمان سیستم های متفاوت باعث یک نارضایتی عمومی شد و باعث ناکارآمدی سیستم های VolP اولیه شد. در پاسخ به این مشکل ، VOIP H.323, ITV را پیشنهاد کرد که وسیع ترین استاندارد مورد استفاده بود. اولین نسخه VOLP در 1996 پدید آمد و عنوان سیستم تلفن تصویری و تجهیزات برای شبکه های محلی که خدمات غیر تضمینی ارائه می کنند، نامیده شد . نهایتاً مهندسین H.323 را طراحی کردند، و در 1998 نسخه دوم H323 را منشتر کردند. این پیشنهاد عنوان به مراتب دوستانه تری داشت سیستم های ارتباطی چند رسانی بر مبنای بسته این نسخه از H323 پشتیبانی بیشتری از اجداد خود بدست آورد نسخه دوم بطور وسیعی در راه حل های Volp پیاده سازی شد و در بسیاری جهات ، این نسخه استانداردی برای سیستم های VOIP امروزی است .نسخه دوم VOIP مبحث اصلی ما در این فصل است بنابراین به تشریح ساختار H323 می پردازیم.
ساختار H323
H323 یکی از پیشنهاداتی است که بر مبنای یک ساختار کلی ، که قابلیت کار با سایر پیشنهادات را دارد، طراحی شده است . شما باید ارتباط این پیشنهاد را با سایرین مورد مطالعه قرار دهید،و به همان اندازه اگر شما سایر پیشنهادات را مطالعه کنید باید H323 را نیز مورد بررسی قرار دهید. در بین سایر پیشنهادات مهم H.225 و H.245 و مقدار دیگری نیز وجود دارند.
ما یک نگاه کلی بر H323 را در شکل 1-4 نشان داده ایم . این ستار شامل ترمینال ها ،دروازه ها و نگهبانها و واحدهای کنترل چند نقطه ای می شود (MCU) . هدف کلی H.323 عملی ساختن تبادل جریانهای اطلاعات بین پایانه های H.323 است آنجا که یک نقطه پایانی H.323 به عنوان یک پایانه یا دروازه محسوب می شود.
یک پایانه H323 یک نقطه نهایی است که یک ارتباط همزمان با سایر پایانه ها را ارائه می سازد. عمدتاً ، این پایانه یک دستگاه ارتباطی سمت کاربر است که حداقل یک کد صوتی را پشتیبانی می کند و ممکن است سایر کدهای صوتی را نیز پشتیبانی کند. یک دروازه در حقیقت یک نقطه نهایی H323 است که خدمات ترجمه بین شبکه H.323 و سایر شبکه ها مثل شبکه ISDN را فراهم می سازد که به عنوان GSTN شناخته می شوند یک طرف این دروازه از سیگنال کردن H.323 پشتیبانی می کند. طرف دیگر با یک شبیکه از سوئیچ ها سر و کار دارد. در طرف H.323 ،دروازه مشخصات یک خروجی H.323 را دارد. ترجمه بین قراردادهای سیگنال دادن و فرمت رسانه یک بخش ،و دیگران که بصورت داخلی انجام می شوند بخش دیگر آن هستند. ترجمه بطور کلی بصورت نامرئی از سایر شبکه ها مدار سوئیچ انجام می شود و در شبکه H.323 دروازه ها همچنین می توانند به عنوان یک رابط مشترک بکار روند. در جایی که ارتباطات بین پایانه نیاز به یک اجازه عبور برای شبکه خارجی دارد مثل شبکه تلفن عمومی سوئیچی یا PSTN یک دروازه بان موجودی اختیاری است که در شبکه H.323 بکار می رود. وقتی دروازه بان موجودات ،دروازه های ارتباطی بسته می مانند و شماری از خروجی های H.323 را کنترل می کنند. با کنترل ، ما می خواهیم که دروازه بان بر دسترسی به شبکه نظارت داشته و از یک یا چند پایانه بتواند اجازه بدهد یا ندهد تا دسترسی به شبکه داشته باشند. این امر می تواند منجر به آن شود که پهنای باند و سایر منابع مدیریتی حفظ شوند. یک دروازه بان همچنین می تواند یک خدمات ترجمة آدرس را ارائه بدهد و استفاده از این سیستم را در شبکه ممکن سازد.
مجموعه ای از پایانه ها ،دروازه ها و MC ها که یک دروازه بان را کنترل می کنند به عنوان یک منطقه شناخته می شوند و همگی می توانند شبکه یا زیر شبکه ها را کنترل کنند این منطقه در شکل 2-4 آمده است این مناطق لزوماً پیوسته و دنبال هم نیستند.
یک MC ، در حقیقت یک پایانه H.323 است که کنفرانس های چند نقطه ای را مدیریت می کند. برای مثال MC به یک رسانه اشاره می کند که می تواند بین موجودیت های مختلف با قابلیت های متفاوت وجود داشته باشد همچنین MC می تواند قابلیت مجموعه ای از حوادث را تغییر دهد بطوریکه سایر پایانه ها به کنفرانس های موجود بپیوندند. یک MC می تواند در یک MCV یا در یک زمینه (Platform) مثل یک دروازه با یک پایانه H.323 پیاده سازی شود.
برای هر MC ، حداقل یک پردازشگر چند نقطه ای (MP) وجود دارد که تحت کنترل MC کار می کند. پردازشگر MP جریان رسانه ای MP را پردازش می کند، یک خروجی جریانی N را بوجود می آورد در حالیکه ورودی را از M دریافت می کند (متغیر N و M) . MP این عمل را توسط سوئیچ گردن ،ادغام و ترکیب این دو انجام می دهد. پروتکل کنترل بین MC و MP استاندارد نشده است.
MC می تواند دو نوع از کنفرانس های چند نقطه ای را پشتیبانی کند: متمرکز و غیر متمرکز . این دو روش در شکل 3-4 آورده شده اند. در تنظیمات متمرکز ، هر پایانه در کنفرانس با MC به روش تنظیم hub-spoke ارتباط برقرار می کند. علاوه بر این در روش غیر متمرکز ، هر پایانه در کنفرانس سیگنال کنترل خود را با MC به روش اتصال نقطه به نقطه تبادل می کند اما ممکن است رسانه را با سایر کنفرانس ها در شبکه نیز سهیم و شریک شود.
دسته بندی | کامپیوتر و IT |
بازدید ها | 10 |
فرمت فایل | doc |
حجم فایل | 162 کیلو بایت |
تعداد صفحات فایل | 24 |
آشنائی با روتر
استفاده از روترها در شبکه به امری متداول تبدیل شده است. یکی از دلایل مهم گسترش استفاده از روتر ، ضرورت اتصال یک شبکه به چندین شبکه دیگر (اینترنت و یا سایر سایت های از راه دور) در عصر حاضر است. نام در نظر گرفته شده برای روترها، متناسب با کاری است که آنان انجام می دهند: "ارسال داده از یک شبکه به شبکه ای دیگر". مثلاً در صورتی که یک شرکت دارای شعبه ای در تهران و یک دفتر دیگر در اهواز باشد، به منظور اتصال آنان به یکدیگر می توان از یک خط leased (اختصاصی) که به هر یک از روترهای موجود در دفاتر متصل می گردد، استفاده نمود. بدین ترتیب، هر گونه ترافیکی که لازم است از یک سایت به سایت دیگر انجام شود از طریق روتر محقق شده و تمامی ترافیک های غیرضروری دیگر فیلتر و در پهنای باند و هزینه های مربوطه، صرفه جوئی می گردد.
انواع روترها
روترها را می توان به دو گروه عمده سخت افزاری و نرم افزاری تقسیم نمود:
روترهای نرم افزاری: روترهای نرم افزاری دارای عملکردی مشابه با روترهای سخت افزاری بوده و مسئولیت اصلی آنان نیز ارسال داده از یک شبکه به شبکه دیگر است. یک روتر نرم افزاری می تواند یک سرویس دهنده NT، یک سرویس دهنده نت ور و یا یک سرویس دهنده لینوکس باشد. تمامی سیستم های عامل شبکه ای مطرح ،دارای قابلیت های روتینگ از قبل تعبیه شده می باشند.
در اکثر موارد از روترها به عنوان فایروال و یا gateway اینترنت، استفاده می گردد. در این رابطه لازم است به یکی از مهمترین تفاوت های موجود بین روترهای نرم افزاری و سخت افزاری، اشاره گردد: در اکثر موارد نمی توان یک روتر نرم افزاری را جایگزین یک روتر سخت افزاری نمود، چراکه روترهای سخت افزاری دارای سخت افزار لازم و از قبل تعبیه شده ای می باشند که به آنان امکان اتصال به یک لینک خاص WAN (از نوع Frame Relay، ISDN و یا ATM) را خواهد داد. یک روتر نرم افزاری (نظیر سرویس دهنده ویندوز) دارای تعدادی کارت شبکه است که هر یک از آنان به یک شبکه LAN متصل شده و سایر اتصالات به شبکه های WAN از طریق روترهای سخت افزاری، انجام خواهد شد .
مثال 1 : استفاده از روتر به منظور اتصال دو شبکه به یکدیگر و ارتباط به اینترنت
فرض کنید از یک روتر مطابق شکل زیر به منظور اتصال دو شبکه LAN به یکدیگر و اینترنت، استفاده شده است. زمانی که روتر داده ای را از طریق یک شبکه LAN و یا اینترنت دریافت می نماید، پس از بررسی آدرس مبداء و مقصد ، داده دریافتی را برای هر یک از شبکه ها و یا اینترنت ارسال می نماید. روتر استفاده شده در شکل زیر، شبکه را به دو بخش متفاوت تقسیم نموده است. (دو شبکه مجزاء). هر شبکه دارای یک هاب است که تمامی کامپیوترهای موجود در شبکه به آن متصل شده اند. علاوه بر موارد فوق، روتر استفاده شده دارای اینترفیس های لازم به منظور اتصال هر شبکه به آن بوده و از یک اینترفیس دیگر به منظور اتصال به اینترنت، استفاده می نماید. بدین ترتیب، روتر قادر است داده مورد نظر را به مقصد درست، ارسال نماید.
دسته بندی | برنامه نویسی |
بازدید ها | 23 |
فرمت فایل | doc |
حجم فایل | 33 کیلو بایت |
تعداد صفحات فایل | 41 |
آموزش کار با PHP
مقدمه
PHP یک زبان اسکریپتی سمت سرور (Server Side) می باشد که امروزه بیش از نصفی از وبسایتهای مطرح جهان، از آن برای حفظ و نگهداری داده ها و ایجاد سایتهای دینامیک و به روز استفاده می کنند.
PHP هم همانند تمامی زبانهای برنامه نویسی Server Side، ترجمه شده و در نهایت به صورت کدهای HTML در اختیار کاربر قرار می گیرد. از این رو کد شما، از دید دیگران پنهان می ماند.
اما فرق PHP با دیگر زبانها چیست؟ یکی از مهمترین رقیبهای PHP، توسط مایکروسافت تحت عنوان ASP که در نسخه جدید به ASP.NET تغییر نام داده است، به وجود آمده و هنوز بحث سر آن است که کدامیک از آنها قویتر و مناسب تر است.
در این مقاله نمی خواهم بگویم که کدام یک بهتر است. هر کس عقاید مربوط به خود را دارد. در زیر به مقایسه این دو زبان می پردازم:
همان طور که مشاهده کردید، هر کدام از آنها دارای معایب و مزایایی هستند و انتخاب آنها، کاملا به عهده خود شماست.
نصب PHP
نصب PHP بر روی ویندوز و IIS کار بسیار آسانی است. اما از آنجا که در این مقاله، علاوه بر آشنایی با PHP، مروری بر پایگاه داده ی MySQL داریم، نیازمند MySQL نیز هستیم. اگر بخواهید تک تک آنها را از اینترنت دانلود کرده و آنها را جداگانه نصب و پیکربندی کنید، می بایست وقت بسیاری را صرف کنید. دانلود آنها (آن هم با یک مودم و اینترنتی که بیش تر از 4KB/S نمی رود) کار بسیار زمان بری است. همچنین برای پیکربندی آنها نیز، مستلزم انجام کارهای نه چندان خوشایند هستید!
بدین منظور، من به شما یک راه ساده تر را پیشنهاد می کنم. XAMPP!
XAMPP یک مجموعه نرم افزاری بسیار جالب است که علاوه بر حجم کم آن (تنها 13MB)، تمامی پکیجهای مورد نیاز شما را شامل می شود:
این در حالی است که فقط خود MySQL به تنهایی، حجمی بیشتر از 10MB دارد.
من از پکیج XAMPP mini win32 Version 1.2 در کامپیوتر خودم استفاده می کنم. آن را می توانید از آدرس زیر دانلود کنید.
http://www.apachefriends.org/download.php?minixampp-win32-1.2.exe
چگونگی نصب XAMPP
نکته: قبل از انجام این عملیات، وب سرور IIS خود (و یا دیگر وب سرورها) را غیر فعال (Disable, Stop) کنید.
پس از دریافت XAMPP آن را در جای مورد نظر خود نصب (Extract) کنید. فرق نمی کند که کجا باشد.
سپس به پوشه ای که XAMPP را در آنجا Extract نموده اید، بروید. فایل setup_xampp.bat را باز کرده تا صفحه سیاهی نمایان شود. عدد 1 را وارد کرده و کلید Enter را فشار دهید تا مراحل نصب آغاز شود.
پس از آنکه نصب به پایان رسید، می بایست سرور شوید. برای اینکار دو فایل apache_start.bat و mysql_start.bat را اجرا کرده و دیگر کاری به آنها نداشته باشید. آنها را Minimize کرده و مابقی کارها را انجام دهید.
حال مرورگر دلخواه خود را باز کرده و عبارت http://localhost (یا http://127.0.0.1) را تایپ نمایید. با انجام اینکار می بایست صفحه بنفش رنگی نمایان شود.
چگونگی اجرا کردن اسکریپتهای PHP به وسیله XAMPP
اسنادی را که خواهان اجرای آن به وسیله XAMPP هستید، می بایست درون پوشه htdocs کپی نمایید. ولی در نوشتن آدرس آن در مرورگر، نیازی به نوشتن این پوشه نیست. به عنوان مثال فایل %XAMPP%\htdocs\weblog\index.php را در مرورگر می بایست به صورت http://localhost/weblog/index.php اجرا نمود...
شروع کار با PHP
در برنامه نویسی هیچ چیز لذت بخش تر از کد نویسی نیست. همین حالا برنامه Notepad خود را باز کرده و کدهای زیر را در آن بنویسید:
این فایل را در محل %XAMPP%\htdocs\PHP\phpinfo.php ذخیره کرده و به وسیله مرورگر خود، آدرس http://localhost/PHP/phpinfo.php را اجرا نمایید. با انجام این کار، صفحه ای که مشخصات PHP نصب شده بر روی سیستم را به شما نشان می دهد، نمایان خواهد شد.
آشنایی با PHP
همان طور که در مثال بالا مشاهده کردید، کد زیر با بقیه کدهای HTML فرق داشت:
?>
این تکه کدی است که به وسیله PHP نوشته شده است. برای نوشتن کدهای PHP، می بایست آنها را در بین تگهای ?> و و قرار داد. همچنین یک راه میانبر نیز است که به صورت =SOMETHING?> به کار می رود. در این مقاله از همان روش ?> و عبارات (Statements)
به طور کلی در PHP، عبارات به دو دسته زیر تقسیم می شوند:
در انتهای هر عبارت PHP، یک علامت سمی کالن (;) قرار می گیرد. به وسیله این علامت، PHP متوجه می شود که یک عبارت به اتمام رسیده و عبارت دیگری در حال شروع است. به مثالهای زیر توجه کنید:
echo("Hello World!");
echo("Mojtaba");
?>
echo("Hellow World"); echo("Mojtaba");
?>
هر دو کد بالا صحیح است. چرا که بعد از اتمام هر یک از عبارت PHP، یک علامت سمی کالن قرار داده شده است. برنامه نویسان معمولا از کد بالایی استفاده می کنند. چرا که در آن، هر یک از کدهای PHP در یک خط مجزا قرار گرفته و در نتیجه نگهداری کد آسان تر خواهد شد. حال به کد زیر توجه کنید:
echo("Hello World!")
echo("Mojtaba")
?>
اجرای این کد سبب خطا می شود. چرا که عبارت در آن از هم جدا نشده است و عبارتی همانند عبارت echo("Hello World") echo("Mojtaba") برای PHP ناآشناست.
تا به اینجای کار، عبارت تک خطی مورد بررسی قرار گرفتند و اما عبارات چند خطی. عبارات چندخطی که به کد بلاک (Code Block) معروف است، در PHP توسط آکولادها { } احاطه می شوند. این عبارات با همدیگر اجرا می شوند. به عنوان مثال در یک عبارت شرطی (عبارات شرطی در جلوتر مورد بررسی قرار می گیرند)، برای PHP تعیین می کنیم که اگر شرط درست بود، این سری عبارات و در غیر این صورت، سری دیگری عبارات را اجرا نماید:
دسته بندی | کامپیوتر و IT |
بازدید ها | 9 |
فرمت فایل | doc |
حجم فایل | 200 کیلو بایت |
تعداد صفحات فایل | 23 |
پورت موازی
در زمان اتصال یک چاپگر به کامپیوتر از پورت موازی استفاده می گردد. با اینکه اخیرا" استفاده از پورت های USB رایج شده است ولی همچنان استفاده از پورت موازی برای اتصال چاپگر به کامپیوتر بسیار متداول است .
از پورت های موازی می توان برای اتصال تجهیزات جانبی زیر استفاده کرد
مبانی پورت های موازی
پورت موازی ، توسط شرکت IBM و بمنظور اتصال یک چاپگر به کامپیوتر طراحی گردید. زمانیکه شرکت IBM در اندیشه طراحی و ارائه کامپیوترهای شخصی بود، ضرورت استفاده از چاپگرهای شرکت" سنترونیکس" نیز احساس گردید.شرکت IBM تصمیم نداشت که از همان پورتی که توسط چاپگرهای سنترونیک استفاده می گردید، در طراحی خود استفاده نماید.
مهندسین شرکت IBM از یک کانکتور 25 پین (DB-25) بهمراه یک کانکتور 36 پین برای ایجاد یک کابل خاص بمنظور اتصال چاپگر به کامپیوتر استفاده کردند. سایر تولید کنندگان چاپگر نیز در ادامه از استاندارد سنترونیک تبعیت و به مرور زمان استاندارد فوق در سطح جهان مطرح و مورد استفاده قرار گرفت .
زمانیکه کامپیوترهای شخصی اطلاعاتی را برای چاپگر و یا هر وسیله دیگری که به پورت موازی متصل است، ارسال می نمایند ، در هر لحظه هشت بیت ارسال خواهد شد.. هشت بیت فوق بصورت موازی برای دستگاه ارسال خواهند شد. پورت موازی استاندارد، قادر به ارسال 50 تا 100 کیلوبایت در هر ثانیه است .نحوه عملکرد چاپگر به شرح زیر است :
- پین یک، حامل سیگنال Strobe بوده و دارای ولتاژی بین 2/8 و پنج است . زمانیکه کامپیوتر اطلاعاتی ( یک بایت داده ) ارسال می دارد ولتاژ به نیم ولت افت پیدا خواهد کرد.افت ولتاژ فوق به چاپگر اعلام می نماید که داده هائی ارسال شده است .
- پین دوتا نه حامل داده است .بمنظور مشخص نمودن اینکه یک بیت دارای مقدار یک است ولتاژ پنج ارسال از طریق پین مربوطه ارسال ( شارژ) خواهد شد.بر روی پینی که شامل مقدار ( داده ) صفر است شارژی ( ولتاژ) قرار نخواهد گرفت .
- پین ده ، اطلاعات لازم در خصوص نحوه عملکرد چاپگر را برای کامپیوتر، ارسال می نماید . نحوه پیاده سازی پین فوق نظیر پین "یک" است .زمانیکه ولتاژ موجود بر روی پین فوق به نیم ولت تنزل پیدا نماید، کامپیوتر اطلاعات لازم در خحصوص فرآیند چاپ را از چاپگر اخذ خواهد کرد .( کامپیوتر به این اطمینان خواهد رسید که چاپگر اطلاعات را دریافت نموده است )
- در صورتیکه چاپگر مشغول باشد، پین شماره یازده شارژ می گردد. زمانیکه ولتاژ نیم ولت بر روی پین فوق قرار بگیرد به کامپیوتر اغلام خواهد شد که چاپگر آماده دریافت اطلاعات است .
- در صورتیکه چاپگر دارای کاغذ نباشد ، از طریق پین شماره دوازده به کامپیوتر آگاهی لازم داده خواهد شد.
- زمانیکه بر روی پین شماره سیزده شارژی وجود داشته باشد، آماده بودن چاپگر به کامپیوتر اعلام می گردد.
- کامپیوتر از طریق پین شماره چهارده و با استفاده از یک ولتاژ پنچ ولت سیگنال Auto Feed را برای چاپگر ارسال می دارد.
- در صورتیکه چاپگر دارای مشکلی باشد ولتاژ پین شماره پانزده به نیم ولت کاهش و کامپیوتر از بروز اشکال در چاپگر آگاهی پیدا می نماید.
- زمانیکه یک کار آماده چاپ باشد، کامپیوتر از پین شماره شانزده برای مقداردهی اولیه چاپگر ( کاهش ولتاژ) استفاده می نماید.
- کامپیوتر از پین شماره هیفده برای Offline نمودن از راه دور چاپگر استفاده می نماید، بدین منظور برای چاپگر یک شارژ ارسال خواهد شد.
- پین های شماره هیجده تا بیست و پنج Ground بوده و از آنها بعنوان یک سیگنال مرجع برای شارژ های پایین تر از نیم ولت استفاده می گردد.