تحقیق-پروژه و پایان نامه | قسمت 13 – 1 |
شرکت کامپک کامپیوتر[۱۰۰]، توانست در نهایت یک BIOS سازگار تولید و در سال ۱۹۸۵ روانهی بازار کند. شرکت کامپک به منظور جلوگیری از طرح دعوی نقض حق مؤلف توسط شرکت IBM، پیش از شروع به مهندسی و طراحی کامپیوتر خانگی خود، از مهندسین خود خواست تا سودگندنامهای را امضا کنند که به موجب آن هرگز کد مبدأ BIOS متعلق به شرکت BIOS را ندیدهاند.
شرکت فنیکس[۱۰۱] نیز متعاقبا همین اقدام را به شیوهای مشابه، تکرار کرد اما به جای تولید سیستم مشابه سیستم IBM، تراشه BIOS سازگار را به بقیهی تولیدکنندگان کامپیوتر خانگی فروخت. بدین ترتیب زمینه ورود شرکتهای کوچکتر به این بازار نیز فراهم شد.
چنان که میبینیم نتیجه نهایی مهندسی معکوس کد BIOS متعلق به شرکت IBM و عرضهی سیستمهای مشابه، هموار شدن زمینه ورود سایرین به بازار بود که در نهایت منجر به استاندارد شدن یک پلتفرم (سخت افزار اصلی) واحد در صنعت کامپیوتر خانگی شد. در نتیجه تولیدکنندگان نرم افزار هم توانستند بر توسعه نرمافزارهای خود تمرکز کنند بدون آنکه نگران سازگاری آن ها با پلتفرم باشند. [۱۰۲]
این پروندهها و نمونه های مشابه نشان می دهند که در حوزه محصولات اطلاعات محور نظیر نرمافزارها، مهندسی معکوس غالبا با اهدافی متفاوت از حوزه صنایع تولیدی سنتی صورت می گیرد. در صنایع تولیدی سنتی، مهندسی معکوس عمدتاً در صورتی که بهمنظور تولید محصول رقیب باشد، چه به لحاظ اقتصادی و چه به لحاظ حقوقی چالشبرانگیز است. مهندسی معکوس نرمافزارها بسیار دشوار و زمانبر است به نحوی که راه کارآمدی برای تولید برنامهی رقیب نیست.[۱۰۳] مهندسی معکوس نرمافزار مستلزم تلاش فکری فراوانی بهمنظور استخراج اطلاعات و امور انتزاعی از متن برنامه های کامپیوتری است، مضافا اینکه برای پدیدآوردن نرمافزار رقیب نیز لازم است اقدامات و تلاشهایی بهمنظور بهکابردن اطلاعات کسبشده صورت پذیرد. بنابرین از این جهت نرم افزارها شبیه محصولات تولیدی سنتی بوده و مهندسی معکوس آنها هزینه های زیاد و سایر دشواریها را دارد، به نحوی که پدیدآورندگان اولیه را دربرابر مهندسی معکوس مخرب بازار حفظ می کند.
علیرغم این شباهت، تفاوت تحلیلها در مورد محصولات تولیدی سنتی و محصولات نرمافزاری نهتنها به علت تفاوت دلایل مهندسی معکوس در هریک از این حوزه ها است بلکه ناشی از میزان دسترسی به دانش فنی موجود در محصولات و آثار این دو حوزه نیز هست. در عرصهی محصولات تولیدی سنتی، هزینه و زمانی که برای مهندسی معکوس صرف می شود معمولا تابعی از میزان پیچیدگی و اهمیت محصول است و همان طور که گفته شد بیشتر دانش فنی مرتبط، در محل تولید باقی میماند و هرچه محصول پیچیدهتر باشد میزان دسترسی به دانش فنی دشوارتر خواهد بود. از سوی دیگر تولید محصولات با پیچیدگی پایین از اهمیت کمتری برای تولید مجدد برخوردارند و مهندسی معکوس با هدف تولید محصول مشابه، معمولا در مورد محصولاتی انجام می پذیرد که از این پیچیدگی و اهمیت برای بازار برخوردارند. در مورد نرم افزارها وضع متفاوت است زیرا این محصولات هرچند پیچیده، دانش فنی خود را معمولا به همراه خود دارند و برای کسب آن ها صرف تحلیل و تجزیه نرم افزارها کافی است.
دلایل مهندسی معکوس در حوزه نرمافزارها را میتوان چنین برشمرد: رفع و تعمیر باگها، مطابق کردن برنامه با نیاز کاربران (به عنوان مثال با افزودن برخی ویژگیها)، یافتن موارد نقض (یا استفاده غیرمجاز از نرمافزار) و یادگیری وآموزش. به لحاظ اقتصادی مهمترین دلیل مهندسی معکوس در حوزه نرمافزارها دستیابی به سازگاری (برهمعملپذیری) بین دو یا چند نرمافزار یا برنامهی کامپیوتری است و اکثر دعاوی مرتبط با نرمافزارها به این موضوع اختصاص دارد.[۱۰۴]
به منظور ورود به بحث لازم است توضیح داده شود که بحث سازگاری در جایی مطرح می شود که سیستم موردنظر، از دو قسمت عمده تشکیل شده باشد: ۱- پلتفرم[۱۰۵] (مثل کنسول بازی جنسیس شرکت سگا) و ۲- برنامه یا برنامه ها[۱۰۶] که بر روی پلتفرم اجرا می شوند. برای اینکه این دو قسمت بتوانند با یکدیگر هماهنگ کار کنند باید برهمعملپذیری (سازگاری) داشته باشند. از آنجا که ابتدا پلتفرمها ساخته می شوند، پدیدآورندهی برنامه باید اطلاعات دقیق و جزیی از نحوه کار پلتفرم (اینکه چگونه اطلاعات را دریافت و انتقال می دهد) داشته باشد. از آنجا که رابطه بین پلتفرمها و برنامه ها را «واسطهای برنامهسازی کاربردی»[۱۰۷] که خود «برنامه» محسوب می شوند، برقرار می کنند، اطلاعات دقیق در مورد آن ها نیز ضروری است. این واسطها اکثرا توسط تولیدکنندگان پلتفرمها، توسعه مییابند.
فرم در حال بارگذاری ...
[جمعه 1401-09-25] [ 03:06:00 ب.ظ ]
|