یکشنبه, ۱۶ اردیبهشت, ۱۴۰۳ / 5 May, 2024
مجله ویستا

معماری لانگهورن


معماری لانگهورن
بخواهید یا نخواهید شما در عصر رنسانس دنیای الکترونیک و IT قرار دارید و بلا شک باید نظاره گر تغییراتی باشید که بزرگان درهء سیلیکون و لژ نشینان ردموند منشاء آن هستند .
● لانگهورن دقیقا چیست ؟
آیا باید به عنوان یک برنامه نویس در مورد لانگهورن و فلسفهء آن نگران باشم ؟
آیا لانگهورن فناوری جدید مایکروسافت است یا به عقیدهء متعصبان دنیای سورس آزاد یک تقلید دیگر است؟
و دست آخر آیا لانگهورن تغییر و تحول اساسی در ادبیات توسعهء نرم افزار خواهد گذاشت ؟
سعی میکنم در این نوشتار ضمن پاسخ به این سوالات فناوریهای دیگری که به آیندهء توسعهء نرم افزار مربوط اند را معرفی کنم و امیدوارم این نوشته برایتان مفید باشد .
۱) تولید یک سیستم عامل جدید کار بزرگ و هزینه بری است که هنوز برای مایکروسافت توجیه اقتصادی ندارد
از شواهد و قوائن چنین پیداست که لانگهورن ، مانند ویندوزهای اکس پی و ۲۰۰۳ سرور همچنان بر فراز هسته و SubSystem های اصلی NT کار خواهد کرد . همچنان HAL ( یا Hardware Abstraction Layer ) مسئول تراکنش های سطح پائین با سخت افزار است ( ویندوز روی خانوادهء پردازنده های اینتل و آلفا و DEC ، کار میکند اما تمام ویندوز برای این معماری های متفاوت بازنویسی نشده است ، بلکه یک سطح بسیار شفاف بنام HAL آنچه برای ارتباط با سخت افزار لازم است را محصور مینماید و ویندوز با HAL ارتباط برقرار میکند ) کرنل و Device Driver های سطح کرنل ( Kernel Mode ) که همگی از کدهای ویندوز NT بازسازی شده اند برفراز HAL قرار دارند و سرویسهای اصلی سیستم ، یعنی سیستم فایل ( NTFS ) ، لایه های برقراری ارتباطات شبکه ای ( مانند TCP/IP Stack ) ، ابزارهای نمایش بصری اجزاء ( مانند GDI و GDI+ ) و ... همگی همچنان سرجای خود هستند ولی بعد از این هر چه برای معماری لانگهورن در نظر گرفته شده است ، برای سیستم عامل ویندوز، جدید است و البته مفهوم این عبارت این نیست که تمام این افزونه ها جدیدا خلق شده اند .
لانگهورن بصورت درونی دارای dot NET Framework است و بسیاری از اجزاء سطح بالای لانگهورن نیز مبتنی بر کتابخانه های کلاس دات نت هستند . به عنوان مثال اگر پیش از "رابط کاربری" ویندوز مبتنی بر user۳۲.dll یا gdi.dll بود ، بعد از این "رابط کاربری" ویندوز مبتنی بر کتابخانهء کلاس مدیریت شدهء دات نت خواهد بود و اصطلاحابه آن Avalon میگویند ، دسترسی به سیستم فایل نیز مبتنی بر دات نت خواهد بود که اصطلاحابه آن WinFS میگویند و تمام Win۳۲ API ها یک محصور کنندهء شیء گرا بنام WinFX خواهند داشت .
۲) مدل برنامه نویسی در لانگهورن با آنچه تا کنون دیده ام متفاوت خواهد بود
مایکروسافت به پنهان سازی سطوح پائین پیاده سازی و ارتباط با سیستم عامل و قرار دادن رابطهائی سهل و ساده برای توسعهء نرم افزار علاقه مند شده است که بروز و ظهور آن را در لانگهورن خواهیم دید . Win۳۲ API و subsystem هائی مثل سرویسهای شبکه ای همچنان در دسترس هستند . دات نت هم هست و همگی آن را میشناسیم اما قرار نیست روند استاندارد توصیه شده توسط مایکروسافت با آنچه تا کنون متداول بوده است سازگار باشد بلکه مایکروسافت به شما پیشنهاد میکند از WinFX برای ارتباط و سرویس گیری از سیستم عامل استفاده کنید ، آنجا که مستقیما" به قابلیتهای مخصوص ویندوز نیاز دارید ، و از Avalon و Areo برای توسعهء رابطهای کاربری استفاده کنید ، از WinFS برای ارتباط با سیستم فایل و از Indigo برای ارتباطات شبکه ای و میان پردازه ای ( همان IPC سابق ) .
برخی از این کتابخانه های کلاس مبتنی بر دات نت هستند و برخی ( مانند بخشی از WinFS ) مبتنی بر دات نت نیستند ! یعنی کسانیکه بصورت جدی به لانگهورن مهاجرت میکنند یا برنامه نویسانی که کار خود را با لانگهورن آغار میکنند احتمالا حتی نیازی به دات نت نخواهند داشت ! آنها بدون اینکه بدانند در اغلب موارد از دات نت استفاده میکنند . مثلا وقتی که در حال ساخت یک رابط کاربری ساده برای تقویم یا دفتر تلفن خود هستند .
آنها از Visual Studio ۲۰۰۶ و کتابخانهء Avalon استفاده میکنند که این دو ، خود ، بر فراز دات نت ساخته شده اند یا وقتی قرار است اطلاعاتی را در یک فایل ذخیره کنند از WinFS استفاده میکنند ، که بخش قابل توجهی از ان مبتنی بر دات نت است و هر گاه بخواهند برنامه ای برای ارتباطات شبکه ای بنویسند از کتابخانهء Indigo استفاده میکنند که مبتنی بر دات نت است و ... یعنی اگر بخواهیم از همان ادبیات قدیمی برای توصیف لانگهورن استفاده کنیم ، Lognhorn SDK تشکیل شده است از : WinFX ، WinFS ، Avalon ، Indigo و چند کتابخانهء کوچک دیگر . بخشی از Lognhorn SDK مبتنی بر دات نت است و بخشی نیست . بعد از توزیع ویندوز لانگهورن ، استفاده از Longhorn SDK مورد حمایت مایکروسافت است و توسط او توصیه میشود ، ضمن اینکه برنامه های Win۳۲ یا مبتنی بر دات نت ( که همین حالا مینویسید ) روی آن کار خواهند کرد .
منبع : مرکز توسعه و تبادل دانش فناوری اطلاعات