چندسکویی
چندسکویی (به انگلیسی: Cross-platform) در اصطلاح نرمافزارهای رایانه، به آن دسته از نرمافزارها گفته میشود که در چندین سکوی رایانهای قابل اجرا هستند. این نرمافزارها در دو دستهٔ کلی قرار میگیرند.[1]
- دستهٔ نخست: برای هر یک از سکوهای رایانهای بهطور جداگانه تولید میشوند.[2] در این تکنولوژیها برنامهنویس یک بار برنامه را مینویسد و سپس کامپایلر برای هر سیستمعامل (مهمتر از همه ویندوز، لینوکس، مکینتاش و...) فایل اجرایی جداگانهای تولید میکند. از جمله این گروه میتوان به کیلیکس زبانی مشابه دلفی برای ویندوز و لینوکس اشاره کرد، یا موتور توسعه بازی موآی که با زبان برنامهنویسی سی++ نوشته شدهاست و برای تمام تلفنهای همراه و سیستم عاملهای موجود رایانههای شخصی، فایل اجرایی مخصوص را تولید میکند.
- دستهٔ دوم: توسط زبانهای تفسیرشده نگارش میشوند و توسط مفسرهای موجود در هر سکوی رایانهای قابل اجرا هستند.[3] یکی از معروفترین مثالهای این گروه میتوان به اپلتهای جاوا اشاره کرد.[4] برنامه نویسان جاوا برنامه خود را به صورت اپلت توزیع میکنند اما کاربران سیستمعاملهای مختلف نیازمند داشتن ماشین مجازی جاوا روی سیستم خود هستند.[5]
همچنین چند سکویی به دستهای از نرمافزارها گفته میشود که در یک محیط از چند سکو استفاده شدهاست.[6]
پلتفرم ها
بستر های نرم افزاری می توانند به نوع پردازنده (CPU) یا سخت افزار دیگری که یک سیستم عامل یا برنامه معین بر روی آن اجرا می شود ، نوع سیستم عامل در رایانه یا ترکیبی از نوع سخت افزار و نوع سیستم عاملی که روی آن اجرا می شود ، اشاره کنند. [7] یک مثال از یک پلتفرم مشترک ، Microsoft Windows است که با معماری x86 اجرا می شود. سایر سیستم عامل های رایانه رومیزی معروف شامل Linux / Unix و macOS هستند - هر دوی اینها خود کراس پلتفرم هستند. با این حال ، بسیاری از دستگاه ها مانند تلفن های هوشمند وجود دارند که همچنین به طور موثر سیستم عامل رایانه هستند اما کمتر در مورد آنها حرفی زده می شود. نرم افزار کاربردی را می توان بسته به ویژگیهای یک سیستم عامل خاص - سخت افزار ، سیستم عامل یا ماشین مجازی که در آن کار می کند - نوشت. بستر جاوا یک پلت فرم ماشین مجازی است که روی بسیاری از سیستم عامل ها و انواع سخت افزار اجرا می شود و بستر مشترک نرم افزاری است که می توان برای آن نوشت.
سیستم عامل های سخت افزار
یک بستر سخت افزاری می تواند به معماری مجموعه دستورالعمل ها اشاره کند. به عنوان مثال: معماری x86 و انواع مختلف آن مانند IA-32 و x86-64. این ماشین ها غالباً یک نسخه از Microsoft Windows را اجرا می کنند [8] ، اگرچه می توانند سیستم عامل های دیگری از جمله Linux ، OpenBSD ، NetBSD ، macOS و FreeBSD را نیز اجرا کنند.
معماری های 32 بیتی ARM (و نسخه جدیدتر 64 بیتی) در تلفن های هوشمند و رایانه های لوحی که از سیستم عامل های Android ، iOS و سایر سیستم عامل های تلفن همراه استفاده می کنند ، معمول است.
سیستم عامل های سخت افزار
سیستم عامل های نرم افزاری می توانند یک سیستم عامل یا یک محیط برنامه نویسی باشند ، گرچه معمولاً ترکیبی از هر دو است. یک استثنا قابل توجه در این مورد جاوا است که از یک ماشین مجازی مستقل از سیستم عامل برای کد کامپایل شده خود استفاده می کند ، که در دنیای زبان برنامه نویسی جاوا به عنوان bytecode شناخته می شود. نمونه هایی از سیستم عامل های نرم افزاری عبارتند از:
- BlackBerry
- Android برای تلفن های هوشمند و رایانه های لوحی (x86 ، ARM)
- iOS (ARM)
- Microsoft Windows (x86، ARM)
- CLI ، همچنین با نام پیاده سازی .NET Framework (از مایکروسافت) و نوع کراس پلت فرم Mono (قبلا توسط نوول و اکنون توسط زامارین [6] شناخته می شود)
- JAVA
- مرورگرهای وب - کم و بیش با یکدیگر سازگار هستند، و برنامه های وب جاوا اسکریپت را اجرا می کنند
- Linux (x86 ، PowerPC ، ARM و سایر معماری ها)
- macOS (x86 ، PowerPC (در 10.5 به پایین) و ARM [7] (در Apple Silicon یا 11.0 به بالا))
- Mendix
- Solaris
- SymbianOS
- SPARC
- Unix
منابع
- http://www.pcmag.com/encyclopedia_term/0,2542,t=cross+platform&i=40495,00.asp#fbid=aHfb3ldkqPq
- http://wxwidgets.org/
- http://www.linfo.org/platform.html
- http://java.sun.com/products/jlf/ed1/dg/higq.htm
- https://www.oracle.com/java/index.html
- «نسخه آرشیو شده». بایگانیشده از اصلی در ۲۶ اکتبر ۲۰۰۹. دریافتشده در ۲۶ اکتبر ۲۰۰۹.
- «Platform definition by The Linux Information Project». www.linfo.org. دریافتشده در ۲۰۲۱-۰۳-۱۰.
- «Operating system market share». netmarketshare.com. دریافتشده در ۲۰۲۱-۰۳-۱۰.