ثبت بازخورد

لطفا میزان رضایت خود را از دیجیاتو انتخاب کنید.

واقعا راضی‌ام
اصلا راضی نیستم
چطور میتوانیم تجربه بهتری برای شما بسازیم؟

نظر شما با موفقیت ثبت شد.

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

تکنولوژی

داستان یک مدیریت موفق؛ نگاهی بر دوران گذار از PowerPC به x86 در کامپیوترهای اپل

این روزها احتمالاً خبر «تولد ۹ سالگی آیفون» را زیاد می شنوید اما ده سال پیش، در تابستان ۲۰۰۶، اپل دست به کاری بزرگ و بسیار پرخطر زد. این شرکت در کامپیوترهای شخصی خود به ...

امیر مستکین
نوشته شده توسط امیر مستکین | ۱۳ تیر ۱۳۹۵ | ۲۲:۰۰

این روزها احتمالاً خبر «تولد ۹ سالگی آیفون» را زیاد می شنوید اما ده سال پیش، در تابستان ۲۰۰۶، اپل دست به کاری بزرگ و بسیار پرخطر زد. این شرکت در کامپیوترهای شخصی خود به جای استفاده از چیپ های «PowerPC» شرکت IBM، از پردازنده های اینتل بهره گرفت.

اپل پیش از آن در کنفرانس توسعه دهندگان خود در سال ۲۰۰۵، این خبر را اعلام کرده بود. خبری بزرگ که حکایت از سپرده شده PowerPC به دست فراموشی و در آغوش گرفته شدن معماری x86 اینتل داشت.

در آن زمان به آسانی می شد گفت که پردازنده های توسعه یافته از سوی آی‌بی‌ام که از معماری «ریسک» بهره می گرفتند، توانایی رقابت با ساخته اینتل را نداشتند، مخصوصاً در زمینه چیپ های مخصوص لپ تاپ ها. البته اشتباه نکنید، پردازنده های PowerPC می توانستند سرعت بسیار بالایی از خود بر جای بگذارند اما بسیار داغ شده و انرژی زیادی هم مصرف می کردند. حقیقت این بود که IBM کمی دیر توسعه چیپ های پردازشی را آغاز کرده بود و از طرف دیگر، استیو جابز احساس می کرد که برای عقب نماندن از رقابت، نیاز به پردازنده های بهتری برای مک هایش دارد.

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

اپل برای تعویض پردازنده ها یک چهارچوب زمانی در نظر گرفت. قرار بود پردازنده های تازه در ژوئن ۲۰۰۶ وارد کامپیوترهایش شده و تا پایان ۲۰۰۷، همه کامپیوترهای مختلفی که از سوی اهالی کوپرتینو به فروش می رسند، به پردازنده های اینتل مجهز شوند. اما چند ماه بعد و در آگوست ۲۰۰۶، کار تمام شده بود و اپل موفق گشت تا تمام دستگاه های سری مک خود را به پردازنده های اینتل تجهیز کند.

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

چرا استفاده از پردازنده های اینتل اتفاق بزرگی بود؟

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

در میانه دهه ۹۰ میلادی، این شرکت تصمیم گرفت به جای بهره گیری از پردازنده های موتورولا ۶۸۰۰۰ به سراغ پلتفرم پاورپی‌سی برود. این تغییر ساختار نیز اگرچه موفقیت آمیز بود، ولی اپل در آن سال ها بسیار کوچک تر بود و محصولات کمتری هم داشت.

حتی «جان گروبر»، گرداننده وبلاگ «Daring Fireball» هم پیش از رخ دادن این اتفاق، عنوان کرد که بعید می داند اپل بتواند چنین کاری را با موفقیت انجام داده و به سراغ معماری x86 برود. بیشتر از این جهت که هماهنگی نرم افزاری میان دو پلتفرم سخت افزاری وجود نداشت.

اپل برای حل این مشکل، نرم افزاری به نام «Rosetta» توسعه داد؛ سیستمی در نقش یک مبدل کدهای نوشته برای پاورپی‌سی که اجازه اجرای چنین نرم افزارهایی را در مک های مجهز شده به پردازنده اینتل می داد. به همین روش، مشکل عدم سازگاری اپلیکیشن های قدیمی با مک های جدید تا حدی حل شد.

اپل Rosetta را درون OS X Tiger قرار داد. به این شکل که کدهای مرتبط با PowerPC به شکل خودکار برای اجرا روی پردازنده های مک تغییر می کردند. نتیجه نهایی این بود که برای بسیاری از اپلیکیشن ها، توسعه دهنده اصلاً نیاز نداشت تا کار خاصی انجام داده و کدهایی که پیشتر نوشته را تغییر دهد. بیشتر اپلیکیشن های قدیمی به سادگی روی سیستم های جدید کار می کرد.

https-%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fcard%2Fimage%2F131226%2F24005_Rosetta

البته، همه اپلیکیشن هایی که برای PowerPC توسعه یافته بودند را نمی شد با این روش روی پردازنده های اینتل اجرا کرد. کدبیس برخی اپ ها به حدی پیچیده بود که مبدل نمی توانست آنها را به شکل خودکار به اجرا درآورد. برای مثال مجموعه نرم افزاری Creative Suite 2 از ادوبی جزء همین نرم افزارها بود. شرکت ادوبی هم البته تا سال ۲۰۰۷، نسخه ای هماهنگ با مک های مجهز به اینتل عرضه نکرد.

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

این یک نگرانی بزرگ برای توسعه دهندگان بود چرا که حتی در سال ۲۰۰۷ و زمانی که تمام محصولات اپل از پردازنده های اینتل استفاده می کردند، باز هم میلیون ها مک قدیمی تر وجود داشت که پردازنده شان، PowerPC بود. نادیده گرفتن این تعداد بالای کاربر، برای بسیاری از توسعه دهندگان یک انتخاب نبود.

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

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

پلتفرم یکپارچه اپل به موفقیت بالایی رسید. اپل در سال ۲۰۰۹ و در OS X 10.6 پشتیبانی اش را از آن قطع کرد اما نحوه توسعه آن به اندازه ای عالی بود که برای چندین سال پس از آن هم هنوز توسعه دهندگان از پلتفرم یکپارچه جهت نوشتن اپ برای مک های قدیمی بهره می گرفتند.

غافلگیری غیر منتظره: پشتیبانی از ویندوز

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

https-%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fcard%2Fimage%2F131233%2Fhero_bootcamp_2x

در آوریل ۲۰۰۶، اپل از Boot Camp پرده برداشت. راهی رسمی و ساده برای استفاده از ویندوز توسط کاربران کامپیوترهای اپل. بوت کمپ درایو ذخیره سازی کامپیوتر کاربر را پارتیشن بندی می کرد تا ویندوز هم جایی در هارد درایو برای خود کسب کند. زمانی که مک را روشن می کردید، می توانستید تصمیم بگیرید که می خواهید وارد کدام یک از سیستم عامل ها شوید. به همین شکل کاربرانی که از کار کردن با مک لذت می بردند، قادر شدند به اپلیکیشن های اختصاصی ویندوز هم دسترسی پیدا کنند.

و البته استقبال گسترده از بوت کمپ سبب شد تا Parallels Desktop و VMWare Fusion برای مک از راه برسند که به کاربر اجازه می داد نرم افزارهای ویندوز را درون محیط مک اجرا کند، بدون اینکه کارایی دستگاه به طور کامل قربانی شود.

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

خیزش مک بوک

71rWC0EXwjL._SL1500_

اپل در مه ۲۰۰۶، از مک بوک با نمایشگری ۱۳.۳ اینچی پرده برداشت. البته این اولین کامپیوتر مجهز به پردازنده اینتل نبود. این شرکت پیش از آن iMac و مک بوک پرو ۱۵-۱۷ اینچ را به همراه پردازنده های اینتل معرفی کرده بود اما استقبالی که از مک بوک ۱۳ اینچی شد، بسیار بیشتر بود.

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

نوت بوک مورد بحث که در رنگ های سیاه و سفید عرضه می شد، به هیچ عنوان به ظاهر اسباب بازی-مانند iBook شباهتی نداشت. از ضخامت کمتری بهره می برد، نمایشگری واید داشت و البته زبان طراحی اش با محصولات پیشین کاملاً متفاوت بود.

اپل قیمت مدل پایه را ۱.۰۹۹ دلار انتخاب کرد و در این نمونه، یک پردازنده Core Duo قرار داد. قیمتی که البته برای محصولات ویندوزی که با همین سخت افزار به فروش می رسیدند، کاملاً رقابتی بود. این در حالیست که مک بوک، از لپ تاپ های ویندوزی آن زمان برتر بود چرا که کاربر با پرداخت هزینه ای یکسان، می توانست در کنار داشتن طراحی برتر، از دو سیستم عامل اپل و مایکروسافت استفاده کند.

https-%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fcard%2Fimage%2F131220%2FGettyImages-71484609

در بین سال های ۲۰۰۶ الی ۲۰۰۷ به راحتی می توان دید که جمعیت گسترده ای از افرادی که لپ تاپ ویندوزی داشتند، به سراغ مک بوک آمدند. چرا که با پرداخت مبلغی کمتر از ۱۵۰۰ دلار، می توانستند زیبایی اپل و کارایی مایکروسافت را یکجا تجربه کنند.

عرضه مک بوک، با رونمایی از کمپین «یک مک تهیه کن» (Get a Mac) همراه شد. برای چهار سال، تبلیغات «من یک پی سی هستم» و «من یک مک هستم» موجب فروش میلیون ها کامپیوتر مک شد.

در ژانویه ۲۰۰۷، اپل از آیفون پرده برداشت. محصولی که بعداً بی نهایت فراگیر شد و موجب شناخته شدن بیشتر کامپیوترهای مک توسط کاربران و علاقه آنها برای تهیه آنها شد. با این حال، استفاده از پردازنده های اینتل بود که باعث شد مک جان تازه ای بگیرد. پیش از این رویداد هم البته توسعه دهندگان مستقل برای مک نرم افزار تهیه می کردند ولی بعد از اینکه اپل به سراغ پردازنده های اینتل رفت، اپلیکیشن های تراز اول بسیار بهتری برای این پلتفرم از راه رسید.

اگرچه تعدادشان زیاد نیست، ولی حالا کار به جایی رسیده که برخی شرکت ها ابتدا اپلیکیشن خود را برای مک توسعه داده و سپس به سراغ نسخه ویندوزی اش می روند. Evernote، 1Password، Sketch و Pixelmator به عنوان چند نمونه، چنین کاری می کنند. از سوی دیگر، طلوع اپلیکیشن های تحت وب موجب شد تا تفاوت سیستم عامل ها در این زمینه به حداقل خود برسد.

پس از ۱۰ سال

۱۰ سل پیش اگر وارد یک شرکت، دانشگاه یا خانه می شدید، به احتمالاً زیاد کامپیوترهای شخصی ویندوزی را در برابر خود می دیدید. امروز ولی چنین نیست. کافیست به مکان های مدرن تری همچون دفاتر استارتاپ ها سری بزنید تا کامپیوترهای مک را نیز به همان میزان مشاهده کنید.

در آن سال ها، عرضه مک بوک ایر از سوی اپل باعث شد تا این دستگاه تبدیل شود به استانداردی طلایی برای همه لپ تاپ های مدرن. حال مک بوک جدید و ۱۲ اینچی این شرکت نیز تقریباً چنین تاثیری داشته است.

ویندوز البته هنوز هم بسیار بیشتر از مک می فروشد (حتی فروش کروم بوک ها هم از مک بیشتر است) اما کامپیوترهای شخصی اپل یک بار در انتهای دهه ۹۰ و یک بار در سال ۲۰۰۶، موفق شده اند تا بازگشتی رویایی را به ثبت برسانند. این در حالیست که کاربران آنها نیز تمایل به وفاداری نسبت به آنها پیدا کرده و تلاش می کنند با سایر محصولات این اکوسیستم هم آشنا شوند. آیفون و آیپد می خرند و حتی اپل واچ را مورد استفاده قرار می دهند.

12949-7257-150520-Apple_Store-l

اما هیچ یک از این اتفاقات بدون تغییر روش اپل و رفتنش به سوی معماری x86 اینتل رخ نمی داد. تصور کنید اگر این انتقال و دوران گذار به شکلی صحیح مدیریت نمی شد، چه اتفاقی برای اپل می افتاد.

زمانی که مایکروسافت ویندوز ۸ را عرضه کرد، تصمیم گرفت بخش هایی از سیستم عامل خود را تحت عنوان «ویندوز آر تی» توسعه دهد و آن را برای پردازنده های مبتنی بر ARM قابل استفاده نماید. نتیجه، یک شکست کامل بود.

steve-ballmer-tablet

مایکروسافت همچون اپل، یک لایه نرم افزاری و نهان مانند Rosetta را عرضه نکرد تا اپلیکیشن های نوشته شده برای معماری x86، به شکل خودکار در ویندوز آر تی با پردازنده های مبتنی بر ARM هماهنگی پیدا کنند. در عوض، از توسعه دهندگان خواست تا کدهایی بنویسند که بر روی هر دو سیستم عامل قابل اجرا باشند (مانند پلتفرم یکپارچه اپل). مشکل اینجا بود که خود مایکروسافت (و شرکای سخت افزاری اش) سرمایه گذاری بزرگی روی همین مسئله نداشت و در نتیجه، توسعه دهندگان نیز علاقه ای به تغییر اپلیکیشن هایی که قبلا نوشته بودند، نشان ندادند.

حالا مایکروسافت یک بار دیگر در حال تلاش است تا توسعه دهندگان را ترغیب به نوشتن اپلیکیشن های فراگیر برای ویندوز ۱۰ کند.

در کنار همه این موارد، برای چند سالی شایعه شده بود که اپل تصمیم دارد از پردازنده های مبتنی بر فناوری های ARM در پلتفرم کامپیوتری خود استفاده کند. معرفی و عرضه مک بوک ۱۲ اینچی که به پردازنده Core M مجهز شده بود، این شایعات را کنار زد. اما باید در نظر داشت که حالا iOS و macOS هسته مشابهی دارند و بسیاری از کدهایشان نیز یکسان است.

macbooks-100626002-primary.idge

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

دیدگاه‌ها و نظرات خود را بنویسید
مجموع نظرات ثبت شده (9 مورد)
  • pop_0098
    pop_0098 | ۱۴ تیر ۱۳۹۵

    نتیجه میشه گرفت اپل تو پردازنده و تغییر در دو سری اول راه اشتباه را رفته بعد درستش کرده درباره از همون اول روی اینتل سرکایه گذاری میکرد نیاز نبود اینکار ها را بکنه از همون اولش اینتل خوب بود کم نداشت من یادم میاد دربراه کدنویسی اپل موفق بود ولی ماکروسافت کلا برعکسه تصمیم میگره و راحت روش را تغییر میده مثل کنار گذاشتن ویژال بیسیک و وارد کردن دات نت ویژال بیسیک یک مسخره بازی تو دنیای برنامه نویسی اخه کسی که بخواد دات نت کار کنه میره سر سی شارپ دیگه کی میاد ویژال بیسیک دات نت کار کنه میلیون ها خط برنامه نویسی را یک شیف دلیلت کرد ماکروسافت با این که شرکت برنامه نویسی بزرگی هست تصمیمات اشتباه میگره ویندوز ویستا ویندوز 8 و همین وِیژال بیسیک و ..

    • loyal
      loyal | ۱۴ تیر ۱۳۹۵

      من زیاد متوجه نشدم چی میگین ! اما ویژوال بیسیک به هیچ وجه یک شکست نبود ! شما برو مطالعه کن اصلا چرا این زبان بوجود اومد ، همین ویژوال بیسیک باعث شد که زبان های .net فروغ پیدا کنند ، حتی ویندوز هشت هم شکست نبود ، اگر مایکروسافت اون تجربه رو بدست نمیاورد این ویندوز 10 هم بدست نمیومد .

  • امیر اسکندری
    امیر اسکندری | ۱۴ تیر ۱۳۹۵

    البته ايمك و ها و مك بوك ها به كنار سوال اصلي اينكه اپل مك پرو رو ميخواد چكار كنه ، مك پرو ها از پردازنده هاي بسيار قدرتمندي استفاده ميكنن و پيدا كردن جايگزين براي اونها بغير از اينتل و اي ام دي عملا غير ممكنه

  • امیر اسکندری
    امیر اسکندری | ۱۴ تیر ۱۳۹۵

    اپل با مهاجرت به پردازنده هاي خانگي خودش ميتونه ضمن كسب سود فراوان كامپيوتر هايي قوي تر از حال حاضر بدهد،
    اپل علاقه اي به پردازنده هاي گرافيكي مجزا نداره چون هم مصرفشون بالاست و هم فضاي زيادي رو اشغال ميكنن اما با استفاده از پردازنده هاي ارم و تراشه هاي گرافيكي شخصي كه همونطور كه بر روي ايپد پرو شاهد هستيم عملكرد بسيار خوبي رو ارائه ميكنن و انتقاد هارو از سر خودش وا ميكنه
    اگه اين كار بشه من اينده خوبي رو براي اپل متصورم

  • Hamed_P_Azad
    Hamed_P_Azad | ۱۴ تیر ۱۳۹۵

    رفتن از x86 به ARM دقیقاً برعکس رفتن از PowerPC به x86 هست. معماری ARM هم از نوع RISC هست. تعجب می کنم چرا نوشتید راحت تره. باید تمام سیستم عامل و برنامه ها از اول کامپایل بشن. دقیقاً روند باید برعکس طی بشه.

    • heydar hejazi
      heydar hejazi | ۱۴ تیر ۱۳۹۵

      دقيقا منم موافقم.انگار بخوای بار یه کامیونو بدی به سواری .معماری ریسک خیلی ساده و جمعو جوره ولی سیسک پیچیده و بزرگه

    • امیر اسکندری
      امیر اسکندری | ۱۴ تیر ۱۳۹۵

      همه ي اينها درست هستش ولي خوب اخرش كه چي براي اينكه ممكنه كمي از برنامه ها بشكل بر بخورن يا نخورن اين كار رو انجام نده؟

      • Hamed_P_Azad
        Hamed_P_Azad | ۱۴ تیر ۱۳۹۵

        البته که منظور من این نبود. اما دقیقاً درسته. هنوز خیلی زوده که بخوایم ARM رو جایگزین x86 بکنیم. قدرت پردازشی ARM هنوز خیلی کم هست. این مسئله در مورد دستگاه های پورتابل وجود نداره، چون اونها پردازش های سنگین ندارند، اما دسکتاپ خیلی پردازش های زیادی داره.

      • reza_zarchi
        reza_zarchi | ۱۴ تیر ۱۳۹۵

        مهاجرت به ARM باعث میشه اپلیکیشن های کلاس دسکتاپ و همینطور سیستم عامل های دیگه مثل ویندوز دیگه روی دیوایس های مک قابل استفاده نباشن یا به سختی و به طور غیر بهینه قابل استفاده باشن...

مطالب پیشنهادی