فروشگاه فایل ایرانی

دانلود پایان نامه|پروژه|مقاله|تحقیق|پژوهش|جزوه دانشجویی|نمونه سوالات استخدامی ها و ........

فروشگاه فایل ایرانی

دانلود پایان نامه|پروژه|مقاله|تحقیق|پژوهش|جزوه دانشجویی|نمونه سوالات استخدامی ها و ........

دانلود ترابری چند نوعی و نارسائی قانون داخلی

ترابری در یک منطقه جغرافیائی ، همچون شریانهای حیاتی آن منطقه می باشد هر نوع اهمال و قصور یا عنایت و حمایت از آن متضمن اثراتی سریع و صریح در سطوح فرهنگی ، اقتصادی واجتماعی آن منطقه می باشد
دسته بندی حقوق
فرمت فایل doc
حجم فایل 27 کیلو بایت
تعداد صفحات فایل 39
ترابری چند نوعی و نارسائی قانون داخلی

فروشنده فایل

کد کاربری 1024

ترابری چند نوعی و نارسائی قانون داخلی

مقدمه

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

2- کشورهای عقب نگه داشته شده طی چند ده گذشته بویژه دهه 1980 که سالهای سختی از نظر اقتصادی برای آنها به شمار می رود، در جهت رهائی از فقر اقتصادی - اجتماعی که بدان مبتلا می باشند، از یک طرف هم خود را در این بخش اقتصادی به منظور کاهش قیمت تمام شده کالا بکار گرفته اند و از طرف دیگر قوانین غیر عادلانه حاکم بر این نوع روابط را که عمدتا\" توسط جوامع صنعتی و در غیاب این کشورها تهیه ، اجرا و همچنان بر آنهاتحمل می گردد،افشاء نموده اند.

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

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

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

4- با توسعه نکنولوژی و ابداع وسایل مناسب برای حمل و جا بجائی سریع کالا همچون کانتینر، کشتیهای تماما\" کانتینریزه شده ، هواپمایهای غول پیکر کارگو(ograC)، این نوع حمل ونقل متداول گردیده است. گرچه حمل ونقل چندنوعی در قرن نوزدهم نیز به گونه ای معمول بوده است ، حمل و نقل به عنوان یک شیوه جدید جابجائی کالا مورد پذیرش عمم قرار گیرد. مسلما\" ترابری چند نوعی نتیجه و تکریبی از انواع مختلف ترابری می باشد، ولی به لحاظ ویژگیهای خاص خود که متمایز از صفات ویژه هر یک از انواع ترکیب دهنده اش می باشد، مورد توجه خاص حقوقدانان قرار گرفته است ،تصدی امور ترابری چند نوعی به انضمام خدمات مربوط به آن برای کشورها منبع درآمد ارزی تولید کار محسوب می شود. این عملیات مستلزم خدمات گوناگونی از جمله خدمات واسطه ای ، نمایندگی ، بارگیری ، انبارداری ، بیمه ، امورگمرکی و غیره می باشد، به همین علت کشورهای عقب نگاهداشته شده به هنگام تدوین کنوانسیون ژنو23مه 1980 در مورد ترابری چندنوعی ، در اعطای حق تدوین مقرراتی که به موجب آن دولتها مجاز به کنترل و اداره این نوع عملیات در محدوده مرزهای خود باشند، پافشاری می نمودند.

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

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

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

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

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

8- علیرغم اینکه در حال حاضر غالب عملیات جابجائی کالا به صورت چند نوعی (مرکب ) صورت می گیرد و نیز با توجه به اینکه این نوع عملیات ماهیتا\" بین المللی می باشد، لیکن متاسفانه تاکنون هیچ نوع قانون و یا کنوانسیون بین المللی که ناظر بر این رشته عملیات باشد، به مرحله اجزا در نیامده است. قضات و حقوقدانان با ذهنیتی که از قوانین داخلی خود دارند، در برخورد با مسایل حقوقی ناشی از ترابری چند نوعی ، برداشتهائی متفاوت و غالبا\" بر خلاف مفهوم کلی که از این نوع حمل ونقل استنباط می شود، داشته اند.

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

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

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

مسلما\" ترابری چند نوعی علاوه بر جنبه بین المللی دارای جنبه داخلی نیز می ،باشد ک هدر اینجا نوع بین المللی ان مدنظر مااست

10- به منظور شناخت بهتر مسایل ومشکلات مختلف موضوع ، نمونه ای از بین دههاپرونده مطروحه در رابطه با ترابری چند نوعی برگزیده شده که بدوا\" آن را مطرح می نمائیم .


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

دانلود مفاهیم شبکه

برای تحلیل و فهم روشهائی که یک نفوذگر با بکارگیری آنها با شبکه حمله می کند، باید یک دانش پایه از تکنولوژی شبکه داشته باشیم درک مکانیزم حملات ممکن نیست مگر آنکه حداقل اصول TCPIP را بدانیم
دسته بندی کامپیوتر و IT
فرمت فایل doc
حجم فایل 171 کیلو بایت
تعداد صفحات فایل 251
مفاهیم شبکه

فروشنده فایل

کد کاربری 1024

مفاهیم شبکه


مروری بر مفاهیم شبکه:

برای تحلیل و فهم روشهائی که یک نفوذگر با بکارگیری آنها با شبکه حمله می کند، باید یک دانش پایه از تکنولوژی شبکه داشته باشیم. درک مکانیزم حملات ممکن نیست مگر آنکه حداقل اصول TCP/IP را بدانیم.

عاملی که تمام شبکه های مختلف را به صورت موفقیت آمیز به هم پیوند زده است، تبعیت همه آنها از مجموعه پروتکلی است که تحت عنوان TCP/IP در دنیا شناخته می شود. دقت کنید که عبارت خلاصه شده TCP/IP می تواند به دو موضوع متفاوت اشاره داشته باشد:

مدل TCP/IP: این مدل یک ساختار چهار لایه ای برای ارتباطات گسترده تعریف می نماید که آنرا در ادامه بررسی می کنیم.

پشتة پروتکلهای TCP/IP:[1] پشتة TCP/IP مجموعه ای شامل بیش از صد پروتکل متفاوت است که برای سازماندهی کلیه اجزاء شبکة اینترنت به کار می رود.

TCP/IP بهترین پروتکل شبکه بندی دنیا نیست! پروتکلهای بهینه تر از آن هم وجود دارند؛ ولیکن فراگیرترین و محبوبترین تکنولوژی شبکه بندی در دنیای کامپیوتر محسوب می شود. شاید بزرگترین حسن TCP/IP آن باشد که بدون پیچیدگی زیاد، بخوبی کار می کند! اینترنت بر اساس TCP/IP بنا شده و بیشتر حملات نیز مبتنی بر مجموعة پروتکلهای TCP/IP هستند.

طراحی شبکه ها و اصول لایه بندی

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

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

مساله دوم ماهیت انتقال است که می تواند به یکی از سه صورت زیر باشد:

Simplex: ارتباط یک طرفه (یک طرف همیشه گیرنده و طرف دیگر همیشه فرستنده).

Half Duplex: ارتباط دو طرفة غیرهمزمان (هر دو ماشین هم می توانند فرستنده یا گیرنده باشند ولی نه بصورت همزمان، بلکه یکی از طرفین ابتدا ارسال می کند، سپس ساکت می شود تا طرف مقابل ارسال داشته باشد)

Full Duplex: ارتباط دو طرفه همزمان (مانند خطوط مایکروویو)

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

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

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

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

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

طراحی لایه ای شبکه به منظور تفکیک مسائلی است که باید توسط طراح حل شود و مبتنی بر اصول زیر است:[2]

·هر لایه وظیفه مشخصی دارد و طراح شبکه باید آنها را به دقت تشریح کند.

·هر گاه سرویسهایی که باید ارائه شود از نظر ماهیتی متفاوت باشد،‌ لایه به لایه و جداگانه طراحی شود.

·وظیفه هر لایه باید با توجه به قراردادها و استانداردهای جهانی مشخص شود.

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

·در هر لایه جزئیات لایه های زیرین نادیده گرفته می شود و لایه های بالایی باید در یک روال ساده و ماجولار از خدمات لایة زیرین خود استفاده کنند.

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

برای آنکه طراحی شبکه ها سلیقه ای و پیچیده نشود سازمان جهانی استاندارد[3] (ISO)، مدلی هفت لایه ای برای شبکه ارائه کرد، به گونه ای که وظایف و خدمات شبکه در هفت لایة مجزا تعریف و ارائه می شود. این مدل هفت لایه ای،‌OSI[4] نام گرفت. هر چند در شبکة‌ اینترنت از این مدل استفاده نمی شود و بجای آن یک مدل چهار لایه ای به نام TCP/IP تعریف شده است، ولیکن بررسی مدل هفت لایه ای OSI، بدلیل دقتی که در تفکیک و تبیین مسائل شبکه در آن وجود دارد، با ارزش خواهد بود. پس از بررسی مدل OSI، به تشریح مدل TCP/IP خواهیم پرداخت.

مدل هفت لایه ای OSI از سازمان استاندارد جهانی ISO

در این استاندارد کل وظایف و خدمات یک شبکه در هفت لایه تعریف شده است:

لایه 1- لایه فیزیکی Physical Layer

لایه 2- لایه پیوند داده ها Data Link Layer

لایه 3- لایه شبکه Network Layer

لایه 4- لایه انتقال Transport Layer

لایه 5- لایه جلسه Session Layer

لایه 6- لایه ارائه (نمایش) Presentation Layer

لایه 7- لایه کاربرد Application Layer

از لایه های پایین به بالا، سرویسهای ارائه شده‌ (با تکیه بر سرویسی که لایه های زیرین ارائه می کنند) پیشرفته تر می شود.

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

در ادامه به اختصار وظائف هر لایه در مدل OSI را تعریف خواهیم کرد.

لایه فیزیکی

وظیفه اصلی در لایة فیزیکی، انتقال بیتها بصورت سیگنال الکتریکی و ارسال آن بر روی کانال می باشد. واحد اطلاعات در این لایه بیت است و بنابراین این لایه هیچ اطلاعات از محتوای پیام ندارد و تنها بیتهای 0 و 1 را ارسال یا دریافت می کند پارامترهایی که باید در این لایه مورد نظر باشند عبارتند از: ظرفیت کانال فیزیکی و نرخ ارسال[5]، نوع مدولاسیون، چگونگی کوپلاژ با خط انتقال، مسائل مکانیکی و الکتریکی مانند نوع کابل،‌ باند فرکانسی و نوع رابط (کانکتور) کابل.

در این لایه که تماماً سخت افزاری است،‌ مسایل مخابراتی در مبادلة بیتها، تجزیه و تحلیل شده و طراحی های لازم انجام می شود. طراح شبکه می تواند برای طراحی این لایه، از استانداردهای شناخته شدة انتقال همانند RS-232 و RS-422 و RS-423 و … که سخت افزار آنها موجود است، استفاده کند. این لایه هیچ وظیفه ای در مورد تشخیص و ترمیم خطا ندارد.

لایة پیوند داده ها

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

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

کشف خطا که از وظایف این لایه می باشد از طریق اضافه کردن بیتهای کنترل خطا مثل بیتهای Parity Check و Checksum و CRC انجام می شود.

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

یکی دیگر از وظایف این لایه آن است که قراردادهایی را برای جلوگیری از تصادم سیگنال ایستگاههایی که از کانال اشتراکی استفاده می کنند، وضع کند چرا که فرمان ارسال داده بر روی کانال مشترک از لایة‌ دوم صادر می شود. این قراردادها در زیر لایه ای به نام MAS[6] تعریف شده است.

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

فراموش نکنید که وظایف این لایه نیز با استفاده از سخت افزارهای دیجیتال انجام می شود.

لایة شبکه

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

هر مسیرباب می تواند به صورت ایستا و غیرهوشمند بسته ها را مسیریابی کند. همچنین می تواند به صورت پویا و هوشمند برای بسته ها مسیر انتخاب نماید. در این لایه تمام ماشینهای شبکه دارای یک آدرس جهانی و منحصر به فرد خواهند بود که هر ماشین بر اساس این آدرسها اقدام به هدایت بسته ها به سمت مقصد خواهد کرد.

این لایه ذاتاً «بدون اتصال»[7] است یعنی پس از تولید یک بستة اطلاعاتی در مبدأ، بدون هیچ تضمینی در رسیدن آن بسته به مقصد، بسته شروع به طی مسیر در شبکه می کند. وظائف این لایه به سیستم نامه رسانی تشبیه شده است؛ یک پاکت محتوی نامه پس از آنکه مشخصات لازم بر روی آن درج شد، به صندوق پست انداخته می شود، بدون آنکه بتوان زمان دقیق رسیدن نامه و وجود گیرنده نامه را در مقصد، از قبل حدس زد. در ضمن ممکن است نامه به هر دلیلی گم شود یا به اشتباه در راهی بیفتد که مدتها در سیر بماند و زمانی به گیرندة آن برسد که هیچ ارزشی نداشته باشد.

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

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

لایة‌ انتقال

در این لایه بر اساس خدمات لایة زیرین، یک سرویس انتقال بسیار مطمئن و «اتصال گرا»[8] ارائه می شود. تمام مشکلاتی که در لایة شبکه عنوان شد در این لایه حل و فصل می شود:

·قبل از ارسال بسته ها، نرم افزار این لایة‌ اقدام به ارسال یک بسته ویژه می نماید تا مطمئن شود که ماشین گیرنده آمادة دریافت اطلاعات است.

·جریان ارسال اطلاعات شماره گذاری شده تا هیچ بسته گم نشود یا دوبار دریافت نشود.

·ترتیب جریان بسته ها حفظ می شود.

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

واحد اطلاعات در این لایه قطعة [9] است. از وظائف دیگر این لایه می توان به موارد زیر اشاره کرد:

·تقسیم پیامهای بزرگ به بسته های اطلاعات کوچکتر

·بازسازی بسته های اطلاعاتی و تشکیل یک پیام کامل

·شماره گذاری بسته های کوچکتر جهت بازسازی

·تعیین و تبیین مکانیزم نامگذاری ایستگاه هایی که در شبکه اند.

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

لایة جلسه

وظیفة این لایه فراهم آوردن شرایط یک جلسه (نشست) همانند ورود به سیستم از راه دور[10]، احراز هویت طرفین، نگهداری این نشست و توانایی از سرگیری یک نشست در هنگام قطع ارتباط می باشد. وظایف این لایه را می توان در موارد زیر خلاصه کرد: برقراری و مدیریت یک جلسه، شناسایی طرفین، مشخص نمودن اعتبار پیامها، اتمام جلسه، حسابداری مشتری ها[11]

لایة‌ ارائة (نمایش)

در این لایه معمولا کارهایی صورت می گیرد که اگر چه بنیادی و اساسی نیستند ولیکن به عنوان نیازهای عمومی تلقی می شوند. مثل: فشرده سازی فایل[12]، رمزنگاری[13] برای ارسال داده های محرمانه، رمزگشایی[14]، تبدیل کدها به یکدیگر (وقتی که دو ماشین از استانداردهای مختلفی برای متن استفاده می کنند؛ مثل تبدیل متون EBCDIC به ASCII و بالعکس)

لایة‌ کاربرد

در این لایه، استاندارد مبادلة پیام بین نرم افزاهائی که در اختیار کاربر بوده و به نحوی با شبکه در ارتباطند، تعریف می شود. لایة کاربرد شامل تعریف استانداردهایی نظیر انتقال نامه های الکترونیکی،‌ انتقال مطمئن فایل، دسترسی به بانکهای اطلاعاتی راه دور، مدیریت شبکه و انتقال صفحات وب است.

در مدل لایه ای شبکه، وقتی یک برنامة کاربردی در لایة آخر اقدام به ارسال یک واحد اطلاعات می نماید، سرآیند لازم به آن اضافه شده و از طریق صدا زدن توابع سیستمی استاندارد به لایة زیرین تحویل داده می شود. لایة زیر نیز پس از اضافه کردن سرآیند لازم، آنرا به لایة پایین تحویل می دهدو این روند تکرار می شود تا آن واحد اطلاعات روی کانال فیزیکی ارسال شود. در مقصد پس از دریافت یک واحد اطلاعات از روی خط فیزیکی،‌ تحویل لایة بالاتر شده و در هر لایه پس از تحلیل و پردازش لازم، سرآیند اضافه شده را حذف و به لایة بالاتر تحویل می دهد. در شکل (1-2) روند حذف و اضافه شدن سرآیند در هر لایه به تصویر کشیده شده است.

مدل چهار لایه ای TCP/IP

همانگونه که اشاره شد این مدل یک ساختار چهار لایه ای برای شبکه عرضه کرده است. شکل (2-2) این مدل را به تصویر کشیده است. اگر بخواهیم این مدل چهار لایه ای را با مدل OSI مقایسه کنیم، لایة اول از مدل TCP/IP یعنی لایة ‌دسترسی به شبکة تلفیقی از وظائف لایة‌ فیزیکی و لایة پیوند داده ها از مدل OSI خواهد بود. لایة دوم از مدل TCP/IP معادل لایة سوم از مدل OSI یعنی لایة شبکه است. لایة ‌سوم از مدل TCP/IP همنام و معادل با لایة‌ چهارم از مدل OSI یعنی لایة انتقال خواهد بود. لایه پنجم (جلسه) و لایة ششم (ارائه) از مدل OSI در مدل TCP/IP وجود ندارند و وظائف آنها در صورت لزوم در لایة‌ چهارم از مدل TCP/IP ادغام شده است. لایة هفتم از مدل OSI معدل بخشی از لایة چهارم از مدل TCP/IP است. در شکل (3-2) دو مدل TCP/IP و OSI با هم مقایسه شده اند.

در ادامه چهار لایة ‌مدل TCP/IP را بررسی خواهیم کرد.

زیربنای اینترنت ساختار چهار لایه ای TCP/IP است. در این کتاب یاد خواهید گرفت که حملات نفوذگران نیز در یکی از این چهار لایه شکل می گیرد؛ لذا ماهیت و مکانیزمهای حمله و همچنین ابزار و هدف حمله وابسته به لایه ای است که مورد حمل قرار می گیرد.



شکل (1-2) روند حذف و اضافه شدن سرآیند در هر لایه

لایه ها

نامهای معادل در برخی از کتب

لایه کاربرد Application layer

·لایه سرویسهای کاربردی

لایه انتقال Transport layer

·لایه ارتباط میزبان به میزبان (Host to Host)

·لایه ارتباط عناصر انتهایی (End to End Connection)

لایه شبکه Network layer

·لایه اینترنت

·لایه ارتباطات اینترنت

لایه واسط شبکه Network interface

·لایه میزبان به شبکه (Host to network)

·لایه رابط شبکه

شکل (2-2) مدل چهار لایه ای TCP/IP



شکل (3-2) مقایسة دو مدل TCP/IP و OSI

لایة ‌اول از مدل TCP/IP : لایة واسط شبکه

در این لایه استانداردهای سخت افزار، نرم افزار های راه انداز[15] و پروتکلهای شبکه تعریف می شود. این لایه درگیر با مسائل فیزیکی، الکتریکی و مخابراتی کانال انتقال، نوع کارت شبکه و راه اندازه های لازم برای نصب کارت شبکه می باشد. در شبکة اینترنت که می تواند مجموعه ای از عناصر غیرهمگن و نامشابه را به هم پیوند بزند انعطاف لازم در این لایه برای شبکه های گوناگون و ماشینهای میزبان فراهم شده است. یعنی الزام ویژه ای در بکارگیری سخت افزار ارتباطی خاص، در این لایه وجود ندارد. ایستگاهی که تصمیم دارد به اینترنت متصل شود بایستی با استفاده از پروتکلهای متعدد و معتبر و نرم افزار راه انداز مناسب، به نحوی داده های خودش را به شبکه تزریق کند. بنابراین اصرار و اجبار خاصی در استفاده از یک استاندارد خاص در این لایه وجود ندارد. تمام پروتکلهای LAN MAN در این لایه قابل استفاده است.

یک ماشین میزبان می تواند از طریق شبکة محلی، فریمهای اطلاعاتی را به زیر شبکه تزریق کند به این نحو که بسته های راه دور[16] را که مقصدشان خارج از شبکة محلی است، به مسیریاب از پیش تعریف شده، هدایت نماید. شبکه های محلی از طریق یک یا چند مسیریاب می توانند به اینترنت متصل شوند. بنابراین یک بسته اطلاعاتی که از لایه بالاتر جهت ارسال به یک مقصد، به لایه اول در مدل TCP/IP تحویل می شود، نهایتاً در قسمت «فیلد داده»[17] از فریم شبکه محلی قرار می گیرد و مسیر خود را آغاز می نماید؛ پروتکلهائی که در لایة اول از مدل TCP/IP تعریف می شوند، می توانند مبتنی بر ارسال رشتة بیت[18] یا مبتنی بر ارسال رشتة بایت[19] باشند.

لایة‌ دوم از مدل TCP/IP : لایة ‌شبکه

این لایه در ساده ترین عبارت وظیفه دارد بسته های اطلاعاتی را که از این به بعد آنها را بسته های IP می نامیم، روی شبکه هدایت کرده و از مبدأ تا مقصد به پیش ببرد. در این لایه چندین پروتکل در کنار هم وظیفه مسیریابی و تحویل بسته های اطلاعاتی از مبدأ تا مقصد را انجام می دهند. کلیدی ترین پروتکل در این لایه، پروتکل IP نام دارد. برخی از پروتکلهای مهم که یک سری وظایف جانبی برعهده دارند عبارتند از: BOOTP,IGMP,ICMP,RIP,RARP,ARP و …. . این پروتکلها را به اختصار توضیح خواهیم داد ولی بیشترین تلاش ما در کالبدشناسی پروتکلIP خواهد بود.

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

لازم است بدانید که در این لایه برقرای ارتباط بین مبدأ و مقصد بروش «بدون اتصال» خواهد بود و از اسال یک بستهIP روی شبکه، عبور از مسیر خاصی را تضمین نمی کند. بعنی اگر دو بسته متوالی برای یک مقصد یکسان ارسال شود هیچ تصمینی در به ترتیب رسیدن آنها وجود ندارد، چون این دو بسته می توانند از مسیرهای متفاوتی به سمت مقصد حرکت نماید. در ضمن در این لایه پس از آنکه بسته ای روی یکی از کانالهای ارتباطی هدایت شد، از سالم رسیدن یا نرسیدن آن به مقصد هیچ اطلاعی بدست نخواهد آمد، چرا که در این لایه، برای بسته های IP هیچ گونه پیغام دیافت یا عدم دریافت[20] بین عناصر واقع بر روی مسیر، رد و بدل نمی شود؛ بنابراین سرویسی که در این لایه ارائه می شود نامطمئن است و اگر به سرویسهای مطمئن و یا اتصال گرا نیاز باشد د رلایه بالاتر این نیاز تامین خواهد شد.

در این لایه مسیریابها بایستی از شرایط توپولوژیکی و ترافیکی شبکه اطلاعاتی را کسب نمایند تا مسیریابی بروش پویا انجام شود. همچنین در این لایه باید اطلاعاتی درباره مشکلات یا خطاهای احتمالی در ساختار زیرشبکه بین مسیریابها و ماشیهای میزبان، مبادله شود. یکی دیگر از وظائف این لایه ویژگی ارسال «چند پخشی»[21] است یعنی یک ایستگاه قادر باشد به چندین مقصد گوناگون که در قالب یک گروه سازماندهی شده اند،‌ بسته یا بسته هائی را ارسال نماید.

لایة‌ سوم از مدل TCP/IP: لایة انتقال

این لایه ارتباط ماشینهای انتهایی (ماشینهای میزبان) را در شبکه برقرار می کند یعنی می تواند بر اساس سرویسی که لایه دوم ارائه می کند یک ارتباط اتصال گرا و مطمئن[22]، برقرار کند. البته در این لایه برای عملیاتی نظیر ارسال صوت و تصویر که سرعت مهمتر از دقت و خطا است سرویسهای بدون اتصال سریع و نامطمئن نیز فراهم شده است.

در سرویس مطمئنی که در این لایه ارائه می شود، مکانیزمی اتخاذ شده است که فرستنده از رسیدن نو یا عدم رسید صحیح بسته به مقصد با خبر شود. در مورد سرویسهای مطمئن و نامطمئن بعداً بحث خواهد شد. این لایه از یکطرف با لایة شبکه و از طرف دیگر با لایة کاربرد در ارتباط است. داده های تحویلی به این لایه توسط برنامة کاربردی و با صدا زدن توابع سیستمی تعریف شده در «اواسط برنامه های کاربردی» ([23]API) ارسال یا دریافت می شوند.

لایة‌ چهارم از مدل TCP/IP: لایة کاربرد

در این لایه بر اساس خدمات لایه های زیرین، سرویس سطح بالایی برای خلق برنامه های کاربردی ویژه و پیچیده ارائه می شود. این خدمات در قالب،‌ پروتکلهای استانداردی همانند موارد زیر به کاربر ارائه می شود: شبیه سازی ترمینال[24]، انتقال فایل یا FTP، مدیریت پست الکترونیکی، خدمات انتقال صفحات ابرمتنی و دهها پروتکل کاربردی دیگر. در پایان این قسمت بایستی خاطر نشان کنیم که ارسال یک واحد اطلاعاتی از لایه چهارم پس از انجام پردازشهای لازم در لایه های زیرین به نحو مناسبی روی زیر شبکه تزریق شده و نهایتاً در ماشین مقصد،‌ تحویل یک برنامه کاربردی خاص خواهد شد.

لایة اینترنت (IP)

جوهرة اینترنت به گونه ای شکل گرفته است که مجموعه ای از شبکه های خودمختار[25]را به همدیگر وصل می نماید. هیچگونه ساختار حقیقی و رقابتی نمی توان برای اینترنت متصور شد. این نکته را بایستی یادآور شویم که در قسمت «زیرشبکه» از شبکة اینترنت تعدادی از خطوط ارتباطی با پهنای باند (نرخ ارسال) بسیار بالا و مسیریابهای بسیار سریع و هوشمند، برای پیکرة شبکة جهانی اینترنت یک «ستون فقرات»[26] تشکیل داده است. شبکه های منطقه ای و محلی پیرامون این ستون فقرات شکل گرفته و ترافیک دادة آنها به نحوی از این ستون فقرات خواهد گذشت. ستون فقرات در شبکة اینترنت که با سرمایه گذاری عظیمی در آمریکا، اروپا و قسمتهایی از اقیانوسیه و آسیا ایجاد شده است. حجم بسیار وسیعی از بسته های اطلاعاتی را در هر ثانیه حمل می کنند و اکثر شبکه های منطقه ای و محلی یا ارائه دهندگان سرویسهای اینترنت[27] به نحوی با یکی از گروه های این ستون فقرات در ارتباطند.

به گونه ای که در بخش قبلی اشاره شده قراردادی که حمل و تردد بسته های اطلاعاتی و همچنین مسیریابی صحیح آنها را از مبدأ به مقصد، مدیریت و سازماندهی می نماید پروتکل IP[28] نام دارد. در حقیقت پروتکل IP که روی تمام ماشینهای شبکه اینترنت وجود دارد بسته های اطلاعاتی را (بسته IP) از مبدإ تا مقصد هدایت می نماید، فارغ از آنکه آیا ماشینهای مبدأ و مقصد روی یک شبکه هستند یا چندین شبکة دیگر بین آنها واقع شده است.

ساده ترین تعریف برای پروتکل IP روی شبکة اینترنت بصورت زیر خلاصه می شود:

لایة‌ IP یک واحد از داده ها را از لایة بالاتر تحویل می گیرد؛ به این واحد اطلاعات معمولاً یک «دیتاگرام» گفته می شود.امکان دارد طول این دیتاگرام بزرگ باشد، در چنین موردی لایة IP آنرا به واحدهای کوچکتری که هر کدام «قطعه»[29] نام دارد شکسته و با تشکیل یک بستة‌ IP به ازای هر قطعه، اطلاعات لازم برای طی مسیر در شبکه را به آنها اضافه می کند و سپس آنها را روی شبکه به جریان می اندازد؛ هر مسیریاب با بررسی و پردازش بسته ها، آنها را تا مقصد هدایت می کند. هر چند طول یک بسته IP می تواند حداکثر 64Kbyte باشد و لیکن در عمل عموماً طول یک بسته ها حدود 1500 بایت است. ( این قضیه به دلیل آنست که اکثر شبکه های محلی دنیا اعم از Bus، حلقه، ستاره،‌ طول فریمی نزدیک به یک تا چند کیلو بایت دارند) پروتکل IP مجبور است هنگام قطعه قطعه کردن یک دیتاگرام، برای کل آن یک شمارة مشخصه و برای هر قطعه یک شمارة ‌ترتیب در نظر بگیرد تا آن دیتاگرام بتواند در مقصد برای تحویل به لایة بالاتر یعنی لایة‌ انتقال بازسازی شود.

(مجدداً تأکید می کنیم که در این مبحث، دیتاگرام[30] یک واحد اطلاعات است که به صورت یک جا از لایة‌IP به لایة ‌انتقال تحویل داده می شود یا بالعکس لایه انتقال آنرا جهت ارسال روی شبکه به لایة‌IP تحویل داده و ممکن است شکسته شود).

در کنار پروتکل IP چندین پروتکل دیگر مثل RIP,RARP,ARP,ICMP و … تعریف شده که پروتکل IP را در عملکرد بهتر، مسیریابی صحیح، مدیریت خطاهای احتمالی یا کشف آدرسهای ناشناخته کمک می کنند.

تواناییهایی که پروتکل IP چندین پروتکلهای جانبی آن عرضه می کنند این امکان را فراهم آورده است که تمام شبکه ها و ابزارهای شبکه ای (مثل ماشینهای میزبان، مسیریابها، پلها، و …) فارغ از نوع ماشین و نوع سخت افزار و حتی با وجود تفاوت در سیستم عامل مورد استفادة آنها، بتوانند بسته های IP را با یکدیگر مبادله کنند. پروتکل IP ساختاری استاندارد دارد و به هیچ سخت افزار یا سیستم عامل خاص وابسته نیست.

بعنوان اولین گام در شناخت پروتکل IP لازم است قالب یک بستةIP را کالبد شکافی کره و در گامهای بعدی چگونگی آدرس دهی ماشینها و انواع کلاسهای آدرس در شبکة اینترنت را معرفی نموده و نهایتاً به روشهای مسیریابی و همچین تعریف پروتکلهای وابسته به IP بپردازیم.

قالب یک بستة IP

شکل (4-2) قالب یک بسته IP را نشان می دهد. یک بستة‌IP از دو قسمت سرایند و قسمت حمل داده تشکیل شده است. مجموعة اطلاعاتی که در سرآیند بستة‌IP درج می شود توسط مسیریابها مورد استفاده و پردازش قرار می گیرد.

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



[1] TCP/IP Protocol Stack

[2] طراحی لایه ای شبکه را می توان با برنامه نویسی ماجولار مقایسه کرد،‌ بدین نحو که روالهای حل یک مسئله با اجزای کوچکتری شکسته می شود و برای آن زیربنامه نوشته می شود. در توابع صدا زنندة این زیربرنامه ها، جزئیات درونی آنها اهمیت ندارد بلکه فقط نحوة صدا زدن آنها و پارامترهای مورد نیاز ورودی به زیربرنامه و چگونگی برگشت نتیجه به صدا زننده، مهم است.

[3] International Standard Organization

[4] Open System Interconnection

[5] Channel Capacity and Bit Rate

[6] Medium Access Sublayer

[7] Connectionless

[8] Connection Oriented

[9] Segment

[10] Remote Login

[11] Accounting

[12] Data Compression

[13] Encryption

[14] Decryption

[15] Device Driver

[16] Distant Packet

[17] Data Field/Payload

[18] Bit oriented در اینجا کوچکترین واحد اطلاعات که می تواند بطور مستقل ارسال شود یک بیت خواهد بود.

[19]Byte oriented در اینجا کوچکترین واحد اطلاعات که می تواند بطور مستقل ارسال شود یک بایت خواهد بود.

[20] Ack/Nack

[21] Multicast

[22] Reliable

[23] Application Program Interface

[24] TEINET/Teminal Emulation

[25] Autonomous

[26] Backbone

[27] Internet Service Provider(ISP)

[28] Internet protocol

[29] Fragment

[30] اصطلاح دیتاگرام در ادبیات شبکه های کامپیوتری به معنای متفاوت و در موارد متعدد استفاده شده است. لذا به مورد استفادة آن دقت داشته باشید.


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

دانلود تحقیق Java CGI How To

این مدارک How To چگونگی تنظیم سرور برای میسر ساختن برنامه های CGI نوشته شده به زبان جاوا و چگونگی استفاده ازJava در نوشتن برنامه هایJava را شرح می‌دهد اگرچه هدف مستندات How To، اسفاده آن با سیستم عملLinux است، این مورد خاص به نسخه خاصی از unix مورد استفاده وابستگی ندارد
دسته بندی کامپیوتر و IT
فرمت فایل doc
حجم فایل 115 کیلو بایت
تعداد صفحات فایل 35
تحقیق Java CGI How To

فروشنده فایل

کد کاربری 1024

Java CGI How To


فهرست مطالب


Java CGI How To........................................................................ Java CG HOWTO

نوشته دیوید اچ. سیلبر:…………………………………….. By david H. Silber

javacgi-document@orbits.com.................... @ orbits.com javacgi – document

1- مقدمه.......................................................................................... 1. Introduction

2. Setting Up Your Server to Run Java CGI Programs (with Wxplanations)

2- تنظیم سرور برای اجرای برنامه‌های Java CGI (با توضیح)

3. Setting Up Your Server to Run Java CGI Programs (The Short Form)

3- تنظیم سرور برای اجرای برنامه های Java CGI (مختصر)

4- اجرای یک برنامه Java CGI..................................... 4. Executing a Java CGI Program

5- استفاده از کلاس های Java CGI............................... 5. Using the Java CGI Program

6- طرح های بعدی........................................................................... 6. Future Plans

7- تغییرات...................................................................................... 7. Changes

1- مقدمه.......................................................................................... 1- Introduction

1-1- دانش قبلی........................................................................... 1.1. Prior Knowledge

2-1- این مدرک............................................................................... 1.2. This Document

3-1- بسته بندی............................................................................... 1.3. The Package

4-1- لیست میل............................................................................... 1.4. The Mailing List

2. Setting Up Your Server to Run Java CGI Programs (With Explanations)

2- تنظیم سرور برای اجرای برنامه های Java CGI (با توضیح)............

1-2- ملزومات سیستم.......................................... 2.1. System Requirements.

2.2. Java CGI Add – On Software

2-2- نرم افزار افزایشی Java CGI...................................................

3-2- غیر بسته بندی منبع...................................... 2.3. Unpacking the Source

2.4. Decide On Your Local Path Policies

4-2- تصمیم گیری در مورد سیاست های مسیر محلی.........................

2.5. Testing your installation

5-2- تست نصب.............................................................................

3. Setting Up Your Server to Run Java CGI Programs (the short From)

3- تنظیم سرور برای اجرای برنامه های Java CGI (خلاصه)...............

4. Executing a Java CGI Program

4- اجرای یک برنامه Java CGI........................................................

4.1. Obstacles to Running Java

1-4- موانعی در اجرای برنامه های Java تحت مدلCGI...................

Programs Under the CGI Model

You can’t run Java programs like ordinary executables

Java does not have general access to the environment

شما نمی توانید برنامه های جاوا را مثل برنامه های اجرایی عادی

اجرا کنید.Java دسترسی عمومی به محیط ندارد.

4.2. Overcoming Problems in Running Java CGI Programs

2-4- حل مشکلات در اجرای برنامه های Java CGI..........................

اسکریپت Java- cgi......................................................................... The java cgi script.


Invoking java cgi from an HTML form

تقاضای Java-cgi از قالب HTML...................................................

5. Using the Java CGI Classes

5- استفاده از کلاس های Java CGI..................................................

1-5- CGI....................................................................................... 5.1 CGI

ترکیب کلاس................................................................................... Class Syntax

شرح کلاس...................................................................................... Class Description

خلاصه عضو.................................................................................... Member Summary

همچنین ببینید................................................................................... See Also

CGI ()............................................................................................ CGI ( )

Get Names ()................................................................................ GetNames ( )

Get Value ()................................................................................. Getvalue ( )

2-5- تست CHI.............................................................................. 5.2. CGI Test

خلاصه اعضاء................................................................................... Member Summary

همچنین ببینید................................................................................... See Also

main ().......................................................................................... Main ( )

3-5- ایمیل...................................................................................... 5.3. Email

ترکیب کلاس................................................................................... Class syntax

شرح کلاس...................................................................................... Class Description

خلاصه اعضاء................................................................................... Member Summary

همچنین ببینید................................................................................... See Also

Email ()......................................................................................... Email ()

Send ().......................................................................................... Send ()

Send to ()...................................................................................... Send to ()

Subject ()...................................................................................... Subject ()

4-5- تست- ایمیل........................................................................... 5.4. Email – test

خلاصه اعضاء................................................................................... Member Summary

همچنین ببینید................................................................................... See Also

main ().......................................................................................... Main ( )

5-5- HTML.................................................................................. 5.5. HTML

ترکیب کلاس................................................................................... Class Syntax

شرح کلاس...................................................................................... Class Description

خلاصه اعضاء................................................................................... Member Summary

همچنین ببینید................................................................................... See Also

HTML ()....................................................................................... HTML ( )

Author ()....................................................................................... Author ()

Definition List ( )...................................................................... Definition List ( )

Definition List term ( ).............................................................. Definition List term ( )

EndList ( )................................................................................... EndList ( )

ListItem( ).................................................................................... ListItem( )

Send ( )....................................................................................... Send ( )

Title ( )........................................................................................ Title ( )

6-5- HTML- Test........................................................................ 5.6. HTML – Test

خلاصه اعضاء................................................................................... Member Summary

همچنین ببینید................................................................................... See Also

main ().......................................................................................... Main ( )

7-5- متن......................................................................................... 5.7. Text

ترکیب کلاس.................................................................................... Class Syntax

شرح کلاس...................................................................................... Class Description

خلاصه اعضاء................................................................................... Member Summary

همچنین ببینید................................................................................... See Also

add ()............................................................................................. Add ( )

add line Break ()......................................................................... AddLine Break ( )

add Paragraph ().......................................................................... AddParagraph( )

6- طرح های بعدی........................................................................... 6. Future Plans

7- تغییرات....................................................................................... 7. Changes

1-7- تغییرات 4/0 تا 5/0............................................... 7.1. Changes from 0.4 to 0.5

2-7- تغییرات 3/0 تا 4/0............................................... 7.2. Changes from 0.3 to 0.4

3-7- تغییرات 2/0 تا 3/0............................................... 7.3. Changes from 0.2 to 0.3

4-7- تغییرات 1/0 تا 2/0............................................... 7.4. Changes from 0.1 to 0.2




Java CGI HOWTO

Java CGI How

By David H. Silber javacgi-document@orbits.com

نوشته: دیوید اچ. سیلبر

javacgi-document@orbits.com



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

دانلود حافظه RAM

قبل از اینکه Cpu بتواند برنامه‌ها را اجرا کند، دستورات و اطلاعات آن برنامه باید داخل حافظة Ram کامپیوتر منتقل و مستقر شوند
دسته بندی کامپیوتر و IT
فرمت فایل doc
حجم فایل 25 کیلو بایت
تعداد صفحات فایل 20
حافظه RAM

فروشنده فایل

کد کاربری 1024

حافظه RAM

آنچه در این فصل می آموزید:

/ کنترل میزان مصرف حافظه در سیستم

/ اجرای برنامه های ارزیابی و سنجش حافظه

/نمایش اطلاعات حافظة ویندوز به کمک برنامة Sandra

/ آماده شدن برای ارتقا حافظة سیستم

/ عیب یابی نصب حافظه در سیستم

/ حذف کاربرد حافظة بسط یافته و حافظة توسعه یافته در محیط ویندوز

/ کنترل مقدار فیزیکی مصرف RAM در محیط ویندوز

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

بر روی وب یا داخل مجلات و بروشورها و کتابهای کامپیوتر اغلب توصیه های مطالعه می کنید که مقدار لازم حافظة Ram برای سیستم شما را اعلام می کنند. اغلب اعلام می شود که حداقل 126 تا 512 مگابایت حافظة Ram برای عملکرد مناسب یک سیستم لازم است.

درک مفهوم لایه‌های ذخیره‌سازی

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

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


جریان اطلاعات از حافظة RAM به پردازنده (‌CPU)

هرگاه Cpu برای اجرای عملیات به اطلاعات یا دستوری نیاز داشته باشد ابتدا آنها را داخل حافظه میانجی L1 جستجو می‌کند. اگر اطلاعات مورد نیاز را آنجا پیدا نکند به سراغ حافظه میانجی L2 خواهد رفت. اگر اطلاعات مورد نیاز را آنجا هم پیدا نکند پس Cpu باید نشانی آدرس آن اطلاعات را از طریق گذرگاه سیستم به حافظه Ram ارسال نماید. درخواست اطلاعات از Cpu باندا به تراشة کنترل کنندة حافظه می‌رسد.

کنترل کنندة حافظه از آدرس رسیده استفاده می‌کند و اطلاعات یا دستور مورد نیاز Cpu را پیدا می‌کند. پس از اینکه کنترل کنندة حافظه این اطلاعات را پیدا می کند آن را از طریق گذرگاه سیستم به Cpu ارسال می‌کند.

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

سازماندهی حافظة RAM توسط کامپیوترهای شخصی

در حافظة Ram اطلاعات ( Data ) و دستوراتی ( Instructions ) ذخیره می شوند که Cpu برای اجرای عملیات به آنها نیاز دارد. می دانید که هر برنامه شامل دستوراتی است که به زبان صفر و یک ها نوشته شده ( یا ترجمه شده) اند. بنابراین در حافظة Ram نیز اطلاعات به شکل صصفرها و یک ها ذخیره می شوند. می توانید حافظة Ram را به شکل چند ردیف از مکانهای ذخیره سازی تصور نمایید.

برنامه نویسان تصور دیگری از حافظة Ram دارند.

آنها مجموعه بیت ها را در یک « لغت» ( Word) گروه بندی می کنند. به همین دلیل پردازنده هایی که از گذرگاه اطلاعات 32 بیتی استفاده می کنند در واقع از لغات 32 بیتی استفاده می کنند. پردازنده هایی که از گذرگاه اطلاعات 64 بیتی استفاده می کنند از بغات 64 بیتی استفاده می کنند. اما در پشت صحنه واقعیت این است که برنامه ها می توانند به بایت های انفرادی داخل حافظة Ram دسترسی داشته باشند. در شکل زیر نمایی از ساختار حافظة Ram را مشاهده می کنید که مکان هر بایت یک آدرس منحصربه فرد دارد. Cpu برای بازخوانی اطلاعات از حافظه Ram یا ثبت اطلاعات رد حافظة Ram باید آدرس مکانهای ذخیره سازی در این حافظه را بداند.

در فصل 12 جزییات مربوط به تبادل اطلاعات از طریق گذرگاه های کامپیوتر بین تراشه ها را می آموزید. هر گاه سیستم (‌System bus ) ارتباط بین حافظة Ram و Cpu را برقرار نمودده و شامل سیستم هایی است که اطلاعات بر روی آنها حرکت می کنند. تعداد بیت های موجود در گذرگاه آدرس مشخص کنندة مقدار حافظه ای هستند که کامپیوتر شخصی می تواند به آنها دسترسی داشته باشد. به عنوان مثال اگر در یک سیستم از گذرگاه آدرس 32 بیتی استفاده شود پس 232 یعنی 4 گیگابایت را می توان آدرس دهی نمود.

یا در یک سیستم که از گذرگاه آدرس 64 بیتی استفاده می شود پس 264 9551616، 737، 18446744 خانة حافظه را می توان آدرس دهی نمود.


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

دانلود حافظه مجازی

در این تمرین شما با صورتها و شکلهای مختلفی از مکانیزم حافظه مجازی در ویندوز NT آشنایی پیدا خواهید کرد علی‌رغم اغلب دیگر سیستمهای عامل، ویندوز NT یک API ساده و روشنی را برای اداره کردن بعضی شکلها و صورتهای حافظه مجازی تهیه می‌کند
دسته بندی کامپیوتر و IT
فرمت فایل doc
حجم فایل 3531 کیلو بایت
تعداد صفحات فایل 16
حافظه مجازی

فروشنده فایل

کد کاربری 1024

حافظة مجازی

حافظه مجازی‌
در این تمرین شما با صورتها و شکلهای مختلفی از مکانیزم حافظه مجازی در ویندوز 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 در حال حاضر آنجا بارگذاری شده است. )

حافظه مجازی‌در این تمرین شما با صورتها و شکلهای مختلفی از مکانیزم حافظه مجازی در ویندوز 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 در حال حاضر آنجا بارگذاری شده است. )


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

دانلود تحقیق در مورد فناوری اطلاعات

راجع به مسائل مربوط به پروتکل اینترنت (IP) صحبت کردند و در مورد مسائل مربوط به شبکه ها و روش های انتقال دیجیتالی صدای کد گذاری شده روی این شبکه ها به بحث و بررسی پرداختند
دسته بندی کامپیوتر و IT
فرمت فایل doc
حجم فایل 37 کیلو بایت
تعداد صفحات فایل 43
تحقیق در مورد فناوری اطلاعات

فروشنده فایل

کد کاربری 1024

فناوری اطلاعات


مقدمه :

راجع به مسائل مربوط به پروتکل اینترنت (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
فرمت فایل doc
حجم فایل 162 کیلو بایت
تعداد صفحات فایل 24
آشنائی با روتر

فروشنده فایل

کد کاربری 1024

آشنائی با روتر

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

انواع روترها

روترها را می توان به دو گروه عمده سخت افزاری و نرم افزاری تقسیم نمود:

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

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

در اکثر موارد از روترها به عنوان فایروال و یا gateway اینترنت، استفاده می گردد. در این رابطه لازم است به یکی از مهمترین تفاوت های موجود بین روترهای نرم افزاری و سخت افزاری، اشاره گردد: در اکثر موارد نمی توان یک روتر نرم افزاری را جایگزین یک روتر سخت افزاری نمود، چراکه روترهای سخت افزاری دارای سخت افزار لازم و از قبل تعبیه شده ای می باشند که به آنان امکان اتصال به یک لینک خاص WAN (از نوع Frame Relay، ISDN و یا ATM) را خواهد داد. یک روتر نرم افزاری (نظیر سرویس دهنده ویندوز) دارای تعدادی کارت شبکه است که هر یک از آنان به یک شبکه LAN متصل شده و سایر اتصالات به شبکه های WAN از طریق روترهای سخت افزاری، انجام خواهد شد .

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


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

دانلود آموزش کار با PHP

PHP یک زبان اسکریپتی سمت سرور (Server Side) می باشد که امروزه بیش از نصفی از وبسایتهای مطرح جهان، از آن برای حفظ و نگهداری داده ها و ایجاد سایتهای دینامیک و به روز استفاده می کنند
دسته بندی برنامه نویسی
فرمت فایل doc
حجم فایل 33 کیلو بایت
تعداد صفحات فایل 41
آموزش کار با PHP

فروشنده فایل

کد کاربری 1024

آموزش کار با PHP

مقدمه
PHP یک زبان اسکریپتی سمت سرور (Server Side) می باشد که امروزه بیش از نصفی از وبسایتهای مطرح جهان، از آن برای حفظ و نگهداری داده ها و ایجاد سایتهای دینامیک و به روز استفاده می کنند.
PHP هم همانند تمامی زبانهای برنامه نویسی Server Side، ترجمه شده و در نهایت به صورت کدهای HTML در اختیار کاربر قرار می گیرد. از این رو کد شما، از دید دیگران پنهان می ماند.
اما فرق PHP با دیگر زبانها چیست؟ یکی از مهمترین رقیبهای PHP، توسط مایکروسافت تحت عنوان ASP که در نسخه جدید به ASP.NET تغییر نام داده است، به وجود آمده و هنوز بحث سر آن است که کدامیک از آنها قویتر و مناسب تر است.
در این مقاله نمی خواهم بگویم که کدام یک بهتر است. هر کس عقاید مربوط به خود را دارد. در زیر به مقایسه این دو زبان می پردازم:

  • تقریبا در تمامی مراکز فروش هوست (Host)، سرور لینوکس ارزانتر از سرور ویندوز است و از آنجا که برای اجرای صفحات ASP.NET، نیازمند سرور ویندوز همراه با وب سرور IIS هستیم، می بایست پول بیشتری را پرداخت کنیم. این در حالی است که PHP بر روی تمامی Platformها از قبیل ویندوز و لینوکس نصب و اجرا می گردد.
  • PHP کاملا Open-Source می باشد.
  • به وضوح در اجرای صفحات ASP.NET و PHP دیده می شود که سرعت PHP سریعتر از ASP.NET می باشد.
  • برای ایجاد کردن صفحات PHP، هیچ نرم افزار جامعی به بازار ارائه نشده است که بتواند نیازهای کاربران را بر طرف کند (از Dream Weaver می توان تا حدی استفاده کرد)، اما نرم افزار پر قدرت Visual Studio.NET، نرم افزاری جامع برای ایجاد صفحات دینامیک ASP.NET می باشد.
  • در ASP.NET می توان از ترکیب زبانهای برنامه نویسی مختلف نظیر VB, C#, C++و غیره استفاده کرد ، اما PHP فقط از همان زبان خودش که PHP است پشتیبانی می کند.
  • ASP.NET دارای ویژگی ای تحت عنوان Code Behind می باشد که به برنامه نویس اجازه می دهد کدهای HTML را جدا از کدهای ASP.NET نگهداری کند. این کار سبب آن می شود که در صورت نیاز به رفع مشکل، برنامه نویس مستقیما به فایل مربوط به کدهای ASP.NET برود و با کدهای HTML کاری نداشته باشد. در صورتی که PHP به صورت Default این طور نیست (به وسیله نرم افزارهایی می توان برای PHP هم، این کار را کرد).

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

نصب PHP
نصب PHP بر روی ویندوز و IIS کار بسیار آسانی است. اما از آنجا که در این مقاله، علاوه بر آشنایی با PHP، مروری بر پایگاه داده ی MySQL داریم، نیازمند MySQL نیز هستیم. اگر بخواهید تک تک آنها را از اینترنت دانلود کرده و آنها را جداگانه نصب و پیکربندی کنید، می بایست وقت بسیاری را صرف کنید. دانلود آنها (آن هم با یک مودم و اینترنتی که بیش تر از 4KB/S نمی رود) کار بسیار زمان بری است. همچنین برای پیکربندی آنها نیز، مستلزم انجام کارهای نه چندان خوشایند هستید!
بدین منظور، من به شما یک راه ساده تر را پیشنهاد می کنم. XAMPP!
XAMPP یک مجموعه نرم افزاری بسیار جالب است که علاوه بر حجم کم آن (تنها 13MB)، تمامی پکیجهای مورد نیاز شما را شامل می شود:

  • Apache 2.0.48
  • MySQL 4.0.16
  • PHP 4.3.4 + PEAR
  • MiniPerl 5.8.0
  • mod_php 4.3.4
  • PHPMyAdmin 2.5.3
  • SQLite 2.8.6

این در حالی است که فقط خود 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 خود را باز کرده و کدهای زیر را در آن بنویسید:



PHP Info




phpinfo();
?>


این فایل را در محل %XAMPP%\htdocs\PHP\phpinfo.php ذخیره کرده و به وسیله مرورگر خود، آدرس http://localhost/PHP/phpinfo.php را اجرا نمایید. با انجام این کار، صفحه ای که مشخصات PHP نصب شده بر روی سیستم را به شما نشان می دهد، نمایان خواهد شد.
آشنایی با PHP
همان طور که در مثال بالا مشاهده کردید، کد زیر با بقیه کدهای HTML فرق داشت:

phpinfo();
?>

این تکه کدی است که به وسیله PHP نوشته شده است. برای نوشتن کدهای PHP، می بایست آنها را در بین تگهای ?> و و به کار می رود. در این مقاله از همان روش ?> و عبارات (Statements)
به طور کلی در PHP، عبارات به دو دسته زیر تقسیم می شوند:

  • تک خطی (Single Line)
  • چندخطی (Multi Line)

در انتهای هر عبارت 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 تعیین می کنیم که اگر شرط درست بود، این سری عبارات و در غیر این صورت، سری دیگری عبارات را اجرا نماید:


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

دانلود تاریخچه لینوکس

در سال 1991 در حالی که جنگ سرد رو به پایان میرفت و صلح در افقها هویدا میشد، در دنیای کامپیوتر، آینده بسیار روشنی دیده میشد با وجود قدرت سخت افزارهای جدید، محدودیت های کامپیوترها رو به پایان میرفت ولی هنوز چیزی کم بود
دسته بندی کامپیوتر و IT
فرمت فایل doc
حجم فایل 84 کیلو بایت
تعداد صفحات فایل 22
تاریخچه لینوکس

فروشنده فایل

کد کاربری 1024

تاریخچه لینوکس

آغاز داستان

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

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

داس، امپراطوری کامپیوترهای شخصی را در دست داشت. سیستم عامل بی استخوانی که با قیمت 50000 دلار از یک هکر سیاتلی توسط بیل گیتز (Bill Gates) خریداری شده بود و با یک استراتژی تجاری هوشمند، به تمام گوشه های جهان رخنه کرده بود. کاربران PC انتخاب دیگری نداشتند. کامپیوترهای اپل مکینتاش بهتر بودند. ولی قیمتهای نجومی، آنها را از دسترس اکثر افراد خارج می ساخت.

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

بنظر میرسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تاننباوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.

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

و یکی از آنها لینوس توروالدز (Linus Torvalds) نام داشت.

کودک جدید در افق

در سال 1991، لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله، عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار میدادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای بکار گیری در امور جدی.

در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروزه ایجاد حرکتی برای فراهم نمودن نرم افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه 70 آغاز نمود. تا اوایل دهه 80، بیشتر برنامه نویسان نخبه آزمایشگاههای هوش مصنوعی MIT جذب شرکتهای نرم افزاری تجاری شده بودند و با آنها قرارداد های حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت برخلاف سایر تولیدات، نرم افزار باید از محدودیت های کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم افزارهای بهتر و کارآمد تری تولید نمود.

با اعلامیه معروف خود در سال 1983، پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود. ابزاری مبهوت کننده برای برنامه نویسان مستقل. وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.

تا سال 1991 پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.

این زمان برای توروالدز بیش از حد طولانی بود...

در 25 آگوست 1991، این نامه تاریخی به گروه خبری MINIX از طرف توروالدز ارسال شد:

از : لینوس بندیکت توروالدز
به: گروه خبری
MINIX
موضوع: بیشتر چه چیزی را میخواهید در
MINIX ببینید؟
خلاصه: نظرخواهی کوچک در مورد سیستم عامل جدید من

با سلام به تمام استفاده کنندگان از
MINIX
من در حال تهیه یک سیستم عامل رایگان فقط به عنوان سرگرمی و نه به بزرگی و حرفه ای
GNU برای دستگاههای 386 و 486 هستم. این کار از آوریل شروع شده و درحال آماده شدن است. من مایلم تا نظرات کاربران را در مورد چیزهایی که در MINIX دوست دارند یا ندارند، جمع آوری کنم. زیرا سیستم عامل من حدودا شبیه آن است. مانند ساختار سیستم فایل مشابه و چیزهای دیگر... من اکنون bash نسخه 1.08 و GCC نسخه 1.40 را به آن منتقل کرده ام و به نظر میرسد که کار میکند. من در عرض چند ماه چیزی آزمایشی درست کرده ام و مایلم بدانم که کاربران بیشتر به چه قابلیتهایی نیاز دارند؟ من از هر پیشنهادی استقبال میکنم. ولی قول نمی دهم همه آنها را اجرا کنم. لینوس

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

از : لینوس بندیکت توروالدز
به: گروه خبری
MINIX
موضوع: کدهای منبع رایگان هسته مشابه
MINIX

آیا شما از روزهای زیبای MINIX 1.1 محروم شده اید؟ هنگامی که مردها مرد بودند و راه اندازهای دستگاه خود را خودشان مینوشتند؟ آیا شما فاقد یک پروزه زیبا هستید و می میرید تا سیستم عاملی داشته باشید تا بتوانید آنرا مطابق با نیازهای خود در آورید؟ اگر اینگونه است، این نامه برای شما نوشته شده است.
همانطور که ماه پیش گفتم من در حال کار بر بروی یک سیستم عامل رایگان مشابه
MINIX برای کامپیوترهای 386 هستم. این سیستم عامل اکنون بجایی رسیده است که قابل استفاده است و مایل هستم که کدهای منبع را در سطح گسترده تر پخش نمایم. این نسخه 0.02 است ولی من موفق شده ام که نرم افزارهای Bash، GCC، GNU-Make، GNU-sed، Compress و غیره را تحت آن اجرا کنم. کدهای منبع این پروژه را میتوانید از آدرس nic.funet.fi با آدرس 128.214.6.100 در دایرکتوری pub/OS/Linux پیدا کنید. این دایرکتوری همچنین دارای چند فایل README و تعدادی باینری قابل اجرا تحت لینوکس است. تمام کدهای منبع ارائه شده است زیرا هیچ یک از کدهای MINIX در آن استفاده نشده است. سیستم را میتوانید همانطور که هست کامپایل و استفاده کنید. کدهای منبع باینری ها را هم میتوانید در مسیر pub/GNU پیدا کنید.


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

دانلود تاریخچه فتوشاپ

سال‌ها پیش در پاییز سال 1987 Thomas knoll، دانشجوی دکترای رشته ) (Computer Visionدر حال کار روی برنامه‌ای بود که بتواند تصاویر طیف خاکستری کامپیوتری را روی مانیتور‌های سیاه‌و‌سفید نقشه‌بیتی به نمایش درآورد
دسته بندی کامپیوتر و IT
فرمت فایل doc
حجم فایل 1040 کیلو بایت
تعداد صفحات فایل 24
تاریخچه فتوشاپ

فروشنده فایل

کد کاربری 1024

تاریخچه فتوشاپ

سال‌ها پیش در پاییز سال 1987, Thomas knoll، دانشجوی دکترای رشته ) (Computer Visionدر حال کار روی برنامه‌ای بود که بتواند تصاویر طیف خاکستری کامپیوتری را روی مانیتور‌های سیاه‌و‌سفید نقشه‌بیتی به نمایش درآورد. این برنامه به نوعی سرگرمی دوره‌ دانشجویی نول محسوب می‌شد که فارغ از درس‌های دوره‌ دکتری، در خانه خود و روی کامپیوتر مک پلاس خانگی‌اش روی آن کار می‌کرد. این کد برنامه به هیچ وجه مربوط به رساله‌ پایان‌نامه‌ نول نمی‌شد و خود او نیز در اوایل کار هرگز فکر نمی‌کرد که این برنامه‌ ساده او قرار است روزی به بزرگترین نرم‌افزار ویرایش تصویر تبدیل شود.

این برنامه نظر John، برادر نول را جلب کرد. جان در آن زمان در شرکت بزرگ (Industrial Light and Magic ILM)در مارین کانتری کالیفرنیا مشغول به کار بود. ILM مرکز جلوه‌های ویژه تصویری در شرکت عظیم لوکاس فیلم بود که در آن زمان بزرگترین و معتبرترین شرکت فیلم‌سازی به شمار می‌رفت. با تهیه فیلم جنگ‌های ستاره‌ای، لوکاس فیلم ثابت کرده بود که جلوه‌های تصویری کار‌آمد می‌توانند با ترکیب شخصیت‌های خیالی و داستانی دور از ذهن، به یک پدیده در دنیای سینما تبدیل شوند.

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

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

همین سوال ساده سر‌آغاز کار بر روی نرم‌افزاری شد که امروزه آن را با نام فتوشاپ می‌شناسیم.

جان توسط پدرش که در دانشگاه میشیگان سمت استادی داشت، ترتیب سفارش یک کامپیوتر Macintosh II را که اولین مدل رنگی محسوب می‌شد داد. به محض خریداری این کامپیوتر، نول دوباره شروع به کار روی برنامه کرد، به نوعی که بتواند روی مانیتورهای رنگی نیز کار کند. آن دو به مدت چند ماه به طور مداوم روی این پروژه کار کردند تا بتوانند قابلیت‌های نمایشی آن را افزایش دهند. در همان زمان به اصرار جان، توماس کدهای مخصوص خواندن و ذخیره‌کردن فرمت‌های مختلف رنگدانه‌ها را به برنامه‌اش اضافه کرد که همان کد‌ها سال‌ها بعد تبدیل به فیلترها plug-inتصویرهای نقشه بیتی شدند.

توماس پس از مدتی کار روی برنامه‌اش موفق به ساخت ابزار منحصر به‌ فرد محدوده‌ انتخاب (Selection Tools) شد که بدون اینکه لبه‌های زمخت و ناهموار ایجاد کند، قابلیت جدا کردن مناطق رنگی را داشت. او همچنین توانست قابلیت‌های فوق‌العاده‌ای مثل Level‌ها را برای تنظیم تنالیته‌ تصویر، Hue and Saturation را برای تنظیمات رنگی و نیز قابلیت‌های رنگ‌آمیزی را برای تغییر رنگ مناطق مورد نظر در تصاویر نقشه ‌بیتی فراهم کند.

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



جان راست می‌گفت. فروش چنین برنامه‌ای به همین سادگی‌ها نبود و کار بسیار زیاد‌تری لازم داشت تا به چنین نتیجه‌ای برسد. اما جان دست ‌بردار نبود.

در همان زمان بود که جان در نشریه ‌MacWeek آگهی تبلیغ نرم‌افزار ویرایشگری را دید که PhotoMac نام داشت. دیدن آن آگهی باعث شد که جان بیشتر در فکر فروش نرم‌افزار خودشان بیفتد. به همین علت برای تحقیق پیرامون نرم‌افزار جدید راهی همایش SIGGRAPH شد. نتیجه‌ همایش برای او رضایت‌بخش بود. طوری که خود او می‌گوید"ما هیچ نگرانی‌ای از آن نرم‌افزار نداشتیم. برنامه‌ ما قابلیت‌های بزرگی داشت که PhotoMac فاقد آن‌ها بود" و درحقیقت تعجب کرده بود که برنامه‌ای با چنین قابلیت‌های سطح پایینی می‌تواند فروخته شود! توماس بارها و بارها نام برنامه‌ خودشان را تغییر داد و هر بار که نام جدیدی برای آن برمی‌گزید چیز دیگری نظرش را جلب می‌کرد و باعث می‌شد دوباره آن را تغییر دهد. دقیقا مشخص نیست نام فتوشاپ از کجا گرفته شد.

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

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

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


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