برخی از نام های دامنه سطح بالا

به طور مشابه، نرم افزارهای 32 بیتی (به طور کلی برنامه های بسیار قدیمی) ممکن است حاوی کدهای 16 بیتی باشند. به عنوان یک قاعده، چنین برنامه هایی با خطا در سیستم عامل 64 بیتی اجرا می شوند.

آیا می توان یک برنامه یا کد 16 بیتی را روی سیستم های 64 بیتی اجرا کرد؟

خیر، همانطور که قبلاً ذکر شد، کد 16 بیتی روی سیستم عامل 64 بیتی اجرا نمی شود زیرا سازگاری به عقب فقط برای 32 بیت ارائه می شود. این یکی از دلایلی است که برخی از برنامه های 32 بیتی روی برنامه های 64 بیتی اجرا نمی شوند. سیستم های عاملاوه

آیا امکان اجرای 64 بیتی وجود دارد؟ ماشین مجازیدر سیستم عامل 32 بیتی با پردازنده 64 بیتی؟

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

پاسخ به سوالات متداول در مورد سیستم عامل ویندوز 32 بیتی و 64 بیتی

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

آیا می توانم ویندوز 2000 و ویندوز XP را روی پردازنده های 64 بیتی اجرا کنم و همچنین از نرم افزارهای قدیمی استفاده کنم؟

بله، یک سیستم عامل 32 بیتی با موفقیت روی پردازنده های 64 بیتی راه اندازی می شود. و همچنین می توانید برنامه های قدیمی را روی سیستم عامل 64 بیتی اجرا کنید.

چگونه بفهمیم یک سیستم 64 بیتی است؟

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

آیا درایورهای دستگاه قدیمی برای ویندوز 64 بیتی مناسب هستند؟

آیا امکان انتقال سیستم 32 بیتی به ویندوز 64 بیتی وجود دارد؟

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

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

چگونه بفهمم یک برنامه 32 یا 64 بیتی است؟

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

  • ویندوز برنامه ها را در این دایرکتوری ها نصب می کند درایو سیستم:
    • "\Program Files" برای برنامه های 64 بیتی
    • "\Program Files (x86)" برای برنامه های 32 بیتی
  • در Task Manager، فرآیندهای 32 بیتی معمولاً دارای پیشوند "*32" هستند، در حالی که پردازش های 64 بیتی اینگونه نیستند.

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

علاوه بر این، مؤلفه توسط تنظیمات رجیستری تعیین می شود و نه تنظیمات نصب. به طور پیش‌فرض، ویندوز فرض می‌کند که تمام اجزا 32 بیتی هستند، مگر اینکه چیز دیگری مشخص شده باشد. این بدان معناست که اگر یک جزء 64 بیتی در حین نصب به عنوان 64 بیت علامت گذاری نشود، در پوشه برنامه 32 بیتی نصب می شود و از کلیدهای رجیستری برنامه 32 بیتی استفاده می کند. با این حال، فرآیند به صورت 64 بیتی اجرا خواهد شد.

بنابراین، بهتر است از یکی از راه حل های زیر استفاده کنید:

  • برنامه حسابرسی سیستم را اجرا کنید. به عنوان مثال، از بررسی بهترین برنامه های رایگان برای جمع آوری اطلاعات در مورد یک کامپیوتر (سیستم).
  • می توانید از برنامه PEStudio استفاده کنید. اول از همه، ابزاری برای تجزیه و تحلیل امنیت یک برنامه است. اما، همچنین به شما امکان می دهد چیزهای زیادی یاد بگیرید اطلاعات فنی، از جمله بیتی بودن برنامه ها.
  • اگر نیاز به کسب اطلاعات بیشتر در مورد ماژول های استفاده شده توسط برنامه دارید، می توانید از Dependency Walker استفاده کنید که بخشی از ابزارهای توسعه Microfoft است، مانند استودیوی تصویری.
  • کیت توسعه نرم‌افزار ویندوز (SDK) حاوی ابزاری به نام DumpBin است که می‌تواند برای تعیین بیتی بودن یک برنامه نیز استفاده شود. برای این کار دستور زیر را در خط کنسول اجرا کنید و بعد از خط "FILE HEADER VALUES" به نام هدر نگاه کنید: machine (x64) - برنامه 64 بیتی، ماشین (x86) - برنامه 32 بیتی.
    • dumpbin /headers "مسیر برنامه"
  • همچنین می توانید از ابزارهایی مانند Process Explorer مایکروسافت استفاده کنید (به Task Managers مراجعه کنید). آنها اطلاعات بسیار بیشتری نسبت به Task Manager معمولی ویندوز ارائه می دهند. شما می توانید عمق بیت برنامه را از ویژگی های فرآیند دریابید.


تفاوت بین نسخه های 32 و 64 بیتی ویندوز چیست؟

تمام تفاوت های عمده فیزیکی و منطقی بین نسخه ها نسخه های مختلفویندوز در جدول 5 (در زیر قرار دارد) ارائه شده است. این جدول همچنین مسیر بهبودی را که ویندوز طی کرده است به وضوح نشان می دهد و اینکه ویندوز هنوز راه زیادی در پیش دارد تا بتواند توانایی های پردازنده های 64 بیتی را تمام کند.

بسیاری از محدودیت های 64 بیتی نسخه های ویندوزیک محدودیت سیستم هستند، نه محدودیت پردازنده. تعداد پردازنده‌های فیزیکی ثابت باقی می‌ماند، عمدتاً به این دلیل که این در اختیار ویندوز سرور است.

با این حال، دستگاه های سخت افزاری نیز محدودیت هایی دارند. به عنوان مثال، در حالی که 64 بیتی AMD و پردازنده های اینتلاز نشانگرهای حافظه 64 بیتی استفاده کنید، چیپست هایی که از آنها پشتیبانی می کنند فقط از یک آدرس فیزیکی 52 بیتی (4 پتابایت) و یک آدرس حافظه مجازی 48 بیتی (256 ترابایتی) استفاده می کنند. در حال حاضر، این بیش از حد کافی است. ویندوز 7 64 بیتی فقط 192 گیگابایت را پشتیبانی می کند حافظه فیزیکیو 16 ترابایت (44 بیت) حافظه مجازی.

جدول 5: محدودیت های فیزیکی و منطقی نسخه های ویندوز
اعداد داخل پرانتز تنظیمات پیشرفته ای را نشان می دهد که به طور پیش فرض نصب نشده اند و به سخت افزار سازگار نیاز دارند
نسخه: XP ویستا 7
عمق بیت: 32 64 32 64 32 64
سیستم:
پردازشگرهای فیزیکی 2 2 2 2 2 2
پردازنده های منطقی 32 64 32 64 32 256
کش سیستم 1 گیگابایت 1.024 گیگابایت 1 (2) گیگابایت 1.024 گیگابایت 1 (2) گیگابایت 1.024 گیگابایت
حافظه فیزیکی 4 گیگابایت 128 گیگابایت 4 گیگابایت 128 گیگابایت 4 گیگابایت 192 گیگابایت
حافظه مجازی 4 گیگابایت 16.384 گیگابایت 4 گیگابایت 16.384 گیگابایت 4 گیگابایت 16.384 گیگابایت
هسته 1 (2) گیگابایت 8 گیگابایت 2 گیگابایت 8 گیگابایت 2 گیگابایت 8 گیگابایت
فرآیندهای کاربر:
حافظه فیزیکی 2 (3) گیگابایت 2 (4) گیگابایت 2 (3) گیگابایت 8 گیگابایت 2 (4) گیگابایت 8 گیگابایت
حافظه مجازی 2 (3) گیگابایت 2 (8.192) گیگابایت 2 (3) گیگابایت 2 (8.192) گیگابایت 2 (4) گیگابایت 2 (8.192) گیگابایت

توجه داشته باشید: در جدول، علامت اختصاری 1 TB (1024 گیگابایت) عمداً برای نشان دادن پویایی استفاده نشده است.

توجه داشته باشید: اولین نسخه 64 بیتی ویندوز XP (2002) نیز به دلیل داشتن معماری متفاوت از بررسی خارج شد. این سیستم از پردازنده های Intel Itanium (IA-64) استفاده می کرد که دارای پردازنده x86 برای سازگاری بود. بعداً با معماری 64 بیتی (x86-x64) AMD جایگزین شد، که مجموعه دستورالعمل x86 را گسترش داد و آنقدر خوب بود که توسط اینتل و سایر سازندگان مجوز دریافت کرد. این معماری هنوز رایج ترین است.

آیا می توان همانطور که در جدول 5 نشان داده شده است، حافظه بیشتری را به یک برنامه/فرآیند در ویندوز 32 بیتی اختصاص داد؟

بله، تو میتونی. و در اینجا یک مثال است.

اگر از MySQL در ویندوز استفاده می کنید، می توانید از Address Windowing Extensions (AWE) که توسط MySql پشتیبانی می شود استفاده کنید. AWE حداکثر حافظه پردازش کاربر را از 2 گیگابایت به 3 گیگابایت افزایش می دهد (جدول 5 را ببینید). این به MySQL اجازه می دهد تا 50٪ بیشتر از حافظه استفاده کند.

با این حال، لطفاً توجه داشته باشید که این مورد برای همه نسخه‌های ویندوز 32 بیتی صدق نمی‌کند و MySQL باید دوباره کامپایل شود.

آیا امکان تخصیص بیش از 4 گیگابایت رم در ویندوز 32 بیتی وجود دارد؟

برای افزایش حجم پشتیبانی شده می توانید از افزونه آدرس فیزیکی (PAE) استفاده کنید حافظه دسترسی تصادفی. PAE اندازه آدرس را از 32 بیت به 36 بیت افزایش می دهد که استفاده از حدود 64 گیگابایت را ممکن می کند.

PAE در بایوس کامپیوتر شما پیکربندی شده است تا بتوان از آن در هر سیستم عاملی از جمله لینوکس و Apple OS X استفاده کرد.

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

اکنون، در مورد 32 بیتی و 64 بیتی و همچنین سازگاری و ویژگی های استفاده از آنها می دانید.


| §4.2 چگونه اینترنت کار می کند...

درس 25 - 26
§4.2 چگونه اینترنت کار می کند
آدرس IP کامپیوتر
سیستم دامنهنام ها
پروتکل های ارتباطی

کلید واژه ها:

اینترنت
پروتکل
آدرس آی پی
نام دامنه
پروتکل IP
پروتکل TCP

4.2.1. اینترنت چگونه کار می کند

اینترنت (انگلیسی اینترنت، از lat. inter - بین و eng. net - شبکه) - در سراسر جهان شبکه کامپیوتری، که انبوهی از محلی، منطقه ای و شبکه های شرکتی. هر شبکه موجود در اینترنت دارای مرکز عملیات مخصوص به خود است که وظیفه عملیات این بخش منطقه ای اینترنت را بر عهده دارد. هر یک از این شبکه ها ممکن است مالکی داشته باشند، اما اینترنت در کل متعلق به کسی نیست. توسعه را هماهنگ می کند وب جهانیسازمان عمومی جامعه اینترنتی (ISOC - جامعه اینترنتی).

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

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

اینترنت مدل های مختلف کامپیوتر را به هم متصل می کند، با نرم افزارهای مختلف این به لطف امکان پذیر استاجرا در نرم افزارقراردادهای خاص (قوانین) نامیده می شود پروتکل ها.

4.2.2. آدرس IP کامپیوتر

هر رایانه متصل به اینترنت، شناسه 32 بیتی منحصر به فرد خود را دریافت می کند آدرس آی پی. بیش از 4 میلیارد چنین آدرسی وجود دارد (2 32 - 1 = 4 294 967 295). مرد، بر خلاف سیستم های فنی، کار با زنجیره های بلند صفر و یک دشوار است. بنابراین، به جای یک نمایش 32 بیتی، از آدرس IP به عنوان چهار عدد اعشاری (از 0 تا 255) استفاده می کنیم که با نقطه از هم جدا شده اند، به عنوان مثال، 204.152.190.71. برای اجرای چنین انتقالی، یک رکورد 32 بیتی به چهار قسمت (هر کدام 8 بیت) تقسیم می شود که هر کدام یک 8 بیت است. عدد باینریبه سیستم اعداد اعشاری تبدیل می شود.

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

برای اطلاع از آدرس IP فعلی خود در طول یک جلسه اینترنت، فقط شماره گیری کنید http://yoip.ruکه در نوار آدرسمرورگر.

اینترنت شبکه ای از شبکه ها است و سیستم آدرس دهی IP به این ساختار احترام می گذارد: یک آدرس IP از دو قسمت تشکیل شده است که یکی از آنها آدرس شبکه و دیگری آدرس رایانه موجود در آن شبکه است. برای بررسی دقیق‌تر ساختار آدرس IP، توصیه می‌کنیم با ویدیوی متحرک «نمایش آدرس‌دهی IP» (192564)، که در مجموعه یکپارچه منابع آموزشی دیجیتال ارسال شده است، آشنا شوید.

یک وظیفه. پتیا آدرس IP سرور مدرسه را روی یک کاغذ یادداشت کرد و در جیب کتش گذاشت. مادر پتیا به طور تصادفی ژاکت را همراه با یادداشت شست. پتیا پس از شستن، چهار تکه با تکه‌هایی از آدرس IP را در جیب خود پیدا کرد. این قطعات دارای برچسب A، B، C و D. Restore هستند آدرس آی پی. در پاسخ خود، دنباله ای از حروف را به ترتیب مربوط به آدرس IP ارائه دهید.

راه حل

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

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

ما گزینه ها را دریافت می کنیم:

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

اگر قطعه A به عنوان اولین قطعه در نظر گرفته شود، قطعه D نمی تواند به طور قطع آن را دنبال کند (در غیر این صورت، عدد 1922 > 255 به دست می آید). اگر قطعه B به عنوان اولین قطعه در نظر گرفته شود، هیچ یک از قطعات باقی مانده نمی توانند آن را دنبال کنند.

قطعه D را می توان با هر یک از قطعات A و C دنبال کرد.

ما گزینه ها را دریافت می کنیم:

بعد از قطعه AB، فقط قطعه B می تواند دنبال شود، اما در این مثال نمی تواند سوم باشد (به همان دلیل دوم). به همین دلیل، پس از قطعه GA، تنها قطعه C می تواند دنبال شود (ما قطعه B را از بررسی حذف می کنیم). پس از GV، نه A و نه B نمی توانند دنبال شوند.

بنابراین، وجود دارد تنها راهترکیبات قطعات موجود: GAVB. آدرس مربوطه: 222.195.162.50 است

4.2.3. سیستم نام دامنه

در کنار آدرس‌های IP دیجیتال، نام دامنه راحت‌تر و کاربرپسندتری در اینترنت وجود دارد. 1) یک سیستم نام (DNS - Domain Name System) که به لطف آن رایانه ها آدرس های نمادین منحصر به فردی را دریافت می کنند.

سیستم دامنه دارای ساختار سلسله مراتبی است: دامنه های سطح بالا، دامنه های سطح دوم و غیره (شکل 4.2).

1) دامنه - منطقه اینترنت (از قلمرو فرانسه - منطقه) .


برنج. 4.2. ساختار سلسله مراتبی نام دامنه


دامنه های سطح بالا هستند دو نوع: اداری(کد سه حرفی برای سازمان های یک نوع خاص) و جغرافیایی(کد دو حرفی برای هر کشور) - تب. 4.1.

جدول. 4.1

برخی از نام های دامنه سطح بالا

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

مثال. نام و نام خانوادگی fcior.edu.ru مخفف دامنه سطح سوم است fcior، در دامنه سطح دوم گنجانده شده است edu، متعلق به دامنه سطح بالا است en(شکل 4.3).

برنج. 4.3. نام دامنه کامل


برای آشنایی کاملتر با نام دامنه، توصیه می کنیم با ویدیوی متحرک «سازمان فضای نام» (192876) که در مجموعه یکپارچه منابع آموزشی دیجیتال ارسال شده است، آشنا شوید.


برای اطلاع از آدرس IP وب سایت مورد نظر خود کافیست دستورات را اجرا کنید شروع → همه برنامه ها → لوازم جانبی → خط فرمان و در پنجره ای که ظاهر می شود خط فرمان را وارد کنیدفرمان پینگ و نام دامنه وب سایت. برای مثال با تایپ ping www.konkurskit.ru آدرس IP وبسایت مسابقه KIT را دریافت خواهید کرد.

4.2.4. پروتکل های ارتباطی

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

بسته های ارسالی به تدریج به مقصد می رسند و از یک سرور به سرور دیگر می رسند و عملیاتی روی هر سرور انجام می شود مسیریابی، به عنوان مثال، تعیین آدرس سرور بعدی، نزدیکترین به گیرنده، که این بسته می تواند به آن ارسال شود (شکل 4.4). مسیریابی بسته اجازه می دهد پروتکل IP.

برنج. 4.4. انتقال داده های بسته


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

با تماشای فیلم های متحرک "IP Protocol" (192655)، "لایه شبکه" می توانید ایده بهتری درباره نحوه انتقال اطلاعات در اینترنت دریافت کنید. مسیریابی IP" (192947)، "نمایش پروتکل TCP" (192744)، قرار داده شده در مجموعه یکپارچه منابع آموزشی دیجیتال.


بنابراین، تمام شبکه هایی که به اینترنت متصل می شوند از پروتکل هایی برای اتصال استفاده می کنند:
TCP(پروتکل کنترل انتقال) - پروتکل حمل و نقل;

IP(پروتکل اینترنت) - پروتکل مسیریابی.

به عنوان یک قاعده، این پروتکل ها با هم استفاده می شوند و عملاً از یکدیگر جدا نمی شوند. بنابراین، اصطلاح " پروتکل TCP/IP».

مهم ترین

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

هر کامپیوتری که به اینترنت متصل است مختص به خود را دارد آدرس آی پی- شناسه منحصر به فرد 32 بیتی.

DNS - سیستم نام دامنه; به لطف آن، رایانه ها آدرس های نمادین منحصر به فردی را دریافت می کنند.

فایل ها در بخش های کوچک از طریق شبکه منتقل می شوند - بسته ها. مسیریابی بسته توسط پروتکل IP فعال می شود. ایجاد انتقال مطمئن بسته های شبکه بین دو کامپیوتر، پروتکل TCP را فراهم می کند.

سوالات و وظایف

1. با مطالب ارائه پاراگراف موجود در مکمل الکترونیکی کتاب درسی آشنا شوید. آیا ارائه مکمل اطلاعات مندرج در متن پاراگراف است؟

2. اینترنت چیست؟

3. چه چیزی امکان اتصال مدل های مختلف کامپیوتر با نرم افزارهای مختلف را در اینترنت فراهم می کند؟

4. آدرس IP برای چیست؟

5. چگونه می توان از یک آدرس IP 32 بیتی به چهار عدد اعشاری رسید؟

6. آدرس IP 32 بیتی را در دفترچه یادداشت خود به صورت چهار عدد اعشاری که با نقطه از هم جدا شده اند بنویسید:

1) 11001100 10011000 10111110 01000111;
2) 11011110 11000011 10100010 00110010.

7. آدرس IP چهار عدد اعشاری را به صورت 32 بیتی در دفترچه یادداشت خود بنویسید:

1) 210.171.30.128;
2) 10.55.0.225.

8. پتیا آدرس IP سرور مدرسه را روی یک کاغذ یادداشت کرد و در جیب کتش گذاشت. مادر پتیا به طور تصادفی ژاکت را همراه با یادداشت شست. پتیا پس از شستن، چهار تکه با تکه‌هایی از آدرس IP را در جیب خود پیدا کرد. این قطعات دارای برچسب A، B، C و D هستند. آدرس IP را بازیابی کنید. در پاسخ خود، دنباله ای از حروف را به ترتیب مربوط به آدرس IP ارائه دهید.

9. ساختار سیستم نام دامنه را شرح دهید.

10. نام دامنه های زیر را تجزیه و تحلیل کنید:

1) school-collection.edu.ru
2) en.wikipedia.org
3) www.ictedu.cn

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

12. تمام مسیرهای ممکن برای تحویل بسته های اینترنت از سرور I (منبع) به سرور R (گیرنده) را از طریق سرورهای 1، 2، 3، 4 با در نظر گرفتن معماری شبکه موجود مشخص کنید.

مختصر اطلاعات مرجع. من در حال توسعه C# در VS2008 تحت .net 3.5 در دستگاه Vista-x64 هستم.

من اخیراً به Vista-x64 نقل مکان کردم و پس از مدتی جستجو، هنوز احساس می کنم که تعامل بین سیستم عامل و چارچوب .net را کاملاً درک نمی کنم. در این مورد اصلاحات/توضیحاتی را می خواهم.

درک من از فرآیند توسعه به شرح زیر است (لطفاً اگر اشتباه می‌کنم تصحیح کنید):

وقتی پروژه خود را راه اندازی می کنم، می توانم پلتفرم هدف را تنظیم کنم: x64، x86، AnyCpu. درک من این است که AnyCpu پلتفرم فعلی را هدف قرار می دهد (در مورد من x64). همچنین می توانم x86 را تنظیم کنم و اجرا کنم (به دلیل WoW64).

حدس من این است که وقتی x64 را هدف قرار می‌دهم، برنامه از چارچوب .net 64 بیتی 3.5 و یک محیط 32 بیتی مشابه برای x86 استفاده می‌کند. درسته؟

چیزی که من را گیج می کند این است که وقتی x64 را هدف قرار می دهم و اطلاعات پلت فرمی را که چاپ می کند چاپ می کنم. WIN32NT". این باعث می شود فکر کنم که" WIN32NT"نه آن طور که من فکر می کنم، اما من نتوانستم چیز زیادی در مورد آن پیدا کنم. چیست؟"

ComputerInfo computerInfo = new ComputerInfo(); Console.WriteLine("(0,-30):\t(1)", "Platform", computerInfo.OSPlatform);

4 پاسخ

واقعاً کمکی نمی کند، اما همه محیط ها win32nt را برمی گردانند... اگر win64nt را برگردانند مفید خواهد بود، اینطور نیست؟

آیا مشکل دیگری پیدا می کنید؟ یا فقط در اینجا به دنبال دانش هستید؟

اندازه IntPtr را بررسی کنید. این به شما اطلاع می دهد که آیا برنامه شما در حالت 64 بیتی اجرا می شود (فکر می کنم)

معمولاً باید AnyCPU را هدف قرار دهید - AnyCPU در حالت "بومی" سیستم هدف اجرا می شود. اگر برنامه را روی یک ماشین 32 بیتی اجرا کنید، در 32 بیت اجرا می شود، اگر روی یک سیستم 64 بیتی راه اندازی کنید، در 64 بیت اجرا می شود.

تنها دلیل استفاده از یکی از گزینه های دیگر نیاز خاص به اجرای 32 یا 64 بیت است. اگر از کتابخانه ای با شرایط خاص استفاده می کنید، این اتفاق می افتد. برای مثال، این کتابخانه SQLITE حاوی کدهای مدیریت نشده است. وقتی از آن در برنامه‌ای استفاده کردم که روی AnyCPU کامپایل شده بود، برنامه روی سیستم 32 بیتی خوب اجرا می‌شد، اما نمی‌توانست کتابخانه را روی سیستم 64 بیتی بارگیری کند. دلیل آن این است که کد مدیریت نشده در کتابخانه Sqlite به 32 بیت کامپایل شده است. حتی در نت شما نمی توانید مجموعه های 32 و 64 بیتی را با هم ترکیب کنید.

در این مورد، راه حل صحیح کامپایل صریح x86 بود (این ابزار کوچکی است که نمی تواند از 64 بیت اجرا شود). به این ترتیب برنامه من به عنوان یک برنامه 32 بیتی حتی در ویندوز 64 بیتی کار می کند.

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

به غیر از این گونه افکت‌های خاص پلتفرم، به نظر من تقریباً بی‌ربط است که یک برنامه با چه چارچوبی کامپایل شده است. فقط نمونه‌های متضاد شدید به ذهن می‌رسند، ممکن است بخواهید یک برنامه x64 را کامپایل کنید که به مقدار دیوانه‌کننده‌ای رم نیاز دارد. اما یک برنامه معمولی run-off-the-mill.net اهمیتی نمی دهد که چه پردازنده و چه حالتی اجرا می شود. اما اگر می خواهید بدانید، همیشه می توانید اندازه IntPtr را همانطور که در پاسخ های دیگر پیشنهاد شده است بررسی کنید.

AnyCpu پلتفرم توسعه دهنده فعلی را هدف قرار نمی دهد. همانطور که او می گوید هر پردازنده ای را هدف قرار می دهد. کامپایلر JIT که روی ماشین هدف اجرا می شود، IL را در دستورالعمل های 32 بیتی یا 64 بیتی تنظیم می کند که مطابق با سیستم عامل ماشین هدف تنظیم شده است. این به این معنی است که یک اسمبلی .Net که به عنوان AnyCpu کامپایل شده است، در هر دو پلتفرم 32 و 64 بیتی اجرا خواهد شد.

انتقال از نسخه های 16 بیتی ویندوز به نسخه های 32 بیتی در اوایل دهه 1990 با ظهور ویندوز NT آغاز شد و پس از آن سرعت بیشتری گرفت. استفاده از ویندوزسال 95 عادی شده است. اگرچه ممکن است وسوسه انگیز به نظر برسد که نشان می دهد ما در معرض تکرار یک داستان هستیم، موقعیت هایی که ما در نظر می گیریم از چندین جنبه متفاوت است.

Windows NT و Windows 95 اولین سیستم‌عامل‌های رایانه‌ای «واقعی» بودند که به طور گسترده مورد استفاده قرار می‌گرفتند، به این معنا که هر دو سیستم از صفحه‌بندی درخواستی، رشته‌بندی، چندوظیفگی پیشگیرانه و مجموعه‌ای از ویژگی‌های دیگر که در فصل 1 توضیح داده شد، پشتیبانی می‌کردند.

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

بسیاری از ویژگی های جدید به Win32 API معرفی شده اند. عملکرد، که در مورد Win64 نمی توان گفت.

64 بیت چقدر دوام می آورد؟

تا آنجایی که دنیای کامپیوترهای شخصی که در آن ویندوز منشا گرفته است، می توان ادعا کرد که مدل اصلی 16 بیتی x86 اینتل (که فضای آدرس واقعی آن 20 بیت است) بیش از یک دهه است که وجود داشته است و معماری 32 بیتی نیز وجود داشته است. برای همین مدت در اطراف. . با این حال، انتقال به برنامه نویسی Win64 و 64 بیتی معمولاً کندتر از انتقال مشابه به 32 بیت است. با این حال، در هر دو مورد، انتقال مینی کامپیوترها و سرورها به سطح بعدی حداقل 10 سال قبل از شروع اتفاق افتادن با رایانه شخصی صورت گرفت. پس طبیعی است که تعجب کنیم که آیا باید انتظار داشت که سرورها یا رایانه های شخصی در آینده به 128 بیت حرکت کنند. من استدلال می‌کنم که هر گونه گسترشی از این نوع، زودتر از 10 سال دیگر اتفاق نمی‌افتد، تنها بر اساس اندازه فضای آدرس 64 بیتی.

پیش‌بینی‌ها غیرقابل اعتماد هستند، اما جدی گرفتن این موضوع فقط در نیمه راه یادآور قانون مور است که اغلب به آن اشاره می‌شود، که می‌گوید نسبت هزینه به بهره‌وری هر 18 ماه نصف می‌شود. به نوبه خود، عملکرد و ظرفیت دستگاه تقریباً هر 18 ماه دو برابر می شود. با اعمال این استدلال در فضای آدرس، می‌توان انتظار داشت که هر 18 ماه به یک بیت آدرس اضافی نیاز داشته باشیم، که به این معنی است که مدل 64 بیتی تا 48 سال دیگر (یعنی تقریباً به اندازه کل) به کار خود ادامه خواهد داد. تاریخ کامپیوترهای مدرن). آیا چنین نتیجه‌گیری‌های غیررسمی که من در یکی از منابع رسمی با آن برخورد کردم، موجه هستند، زمان نشان خواهد داد، اما در گذشته، درخواست‌ها برای منابع رایانه شخصی بسیار سریع‌تر از ادعاهای پیش‌بینی شده بالا رشد کرده‌اند.

مدل برنامه نویسی Win64

بسته به نحوه نمایش انواع داده های استاندارد C مانند اشاره گرها و انواع داده های عدد صحیح (طولانی، داخلی و کوتاه)، و اینکه آیا انواع داده های غیر استاندارد معرفی شده اند یا نه، گزینه های مختلفی برای مدل برنامه نویسی 64 بیتی وجود دارد. . به یاد بیاورید که استاندارد ANSI C اندازه انواع داده ها را دقیقاً تعریف نمی کند، اگرچه لازم است که اندازه داده های نوع long int حداقل به اندازه داده های نوع int و اندازه داده ها از نوع int باشد. حداقل اندازه داده های int کوتاه.

اهداف

هدف این است که یک تعریف واحد از API ویندوز (یعنی مشترک Win32 و Win64) داشته باشیم تا بتوان از یک کد منبع اصلی استفاده کرد. استفاده از این تعریف واحد ممکن است به تغییراتی در کد منبع نیاز داشته باشد، اما این تغییرات باید به حداقل برسد.

مایکروسافت مدل LLP64 (اعداد صحیح بلند و اشاره گرهای 64 بیتی) را انتخاب کرد که معمولاً به آن مدل P64 می گویند. به طور خاص، تعاریف نوع داده زیر وجود دارد که هم برای داده های امضا شده و هم بدون امضا اعمال می شود:

Char 8 بیت و wchar 16 بیت است.

کوتاه - 16 بیت.

Int - 32 بیت.

Long int هم 32 بیت است.

اندازه یک اشاره گر از هر نوع، مانند PVOID، 64 بیت است.

انواع داده های اضافی برای مواردی که داده هایی با اندازه کاملاً تعریف شده مورد نیاز است ارائه می شود. به عنوان مثال، کامپایلر مایکروسافت انواع داده های زیر را می شناسد: _int16، _int32، و _int64.

انواع داده ها

جداول این فصل مستقیماً از عملیاتی گرفته شده است سیستم کمکیو نشان دهنده یک مدل واحد است داده های ویندوز(مدل داده یکنواخت ویندوز). تعاریف نوع را می توان در فایل هدر BASETSD.H موجود با Microsoft Visual Studio .NET IDE (نسخه 7.0) و نسخه 6.0 آن سیستم یافت.