سطح المكتب التالي الخاص بك … QNX؟

يحتوي QNX على محفوظات متقلبة طويلة كنظام تشغيل مضمن. كان QNX شائعا دائما لكونه نظام تشغيل وقت حقيقي مع بنية Microkernel. هذا هو، تعمل وظائف kernel كمجموعة من المهام المنسقة بدلا من كصفة واحدة من التعليمات البرمجية. يمكن الإصدار الأخير من QNX 7 (انظر الفيديو، أدناه) من تشغيل أجهزة كمبيوتر سطح المكتب 64 بت وكذلك قرار [ELAHAV] قرارا للتعامل مع تحويل هذه RTOS المضمنة إلى نظام تشغيل سطح المكتب.

قد يؤدي ذلك إلى إلغاء جلب، ولكن QNX نظام متوافق مع Posix بالإضافة إلى جميع الميزات التي تتوقعها في نظام مثل Linux أو BSD. لا تهدف فقط إلى سوق سطح المكتب وكذلك نتيجة لذلك ليس لديها قدر كبير من الأدوات لتشغيل سطح المكتب. QNX ليس نوع RTOS الذي ستكتشفه على اردوينو. إنه أكثر نموذجية في أشياء مثل أنظمة السيارات (على سبيل المثال، إنها تدير نظام OnStar العام للمحرك).

بدأ مع لوحة ITX صغيرة وكذلك تثبيت QNX. عادة، تقوم بإنشاء نظام مضمن على محطة عمل بالإضافة إلى ذلك، ثم شحن الرمز إلى النظام المستهدف، ومع ذلك، استغرق [Elahav] الوقت المناسب للحصول على نظام العمل على الهدف. كانت هناك مشكلة واحدة. كان محرر السادس المدمج بدائية من قبل المعايير المعاصرة. إنه عادة مستخدم emacs، ولكن حتى VIM سيكون أفضل بكثير من “الأسهم” السادسة. في حين أن ميناء EMACS سيكون ممكنا، فإنه سيكون من الضروري أن يحتاج إلى نقل الكثير من المكتبات، لذلك كانت وظيفته الأولى هي الحصول على شفرة مصدر VIM لتجميعها.

تحولت إلى أن تكون بسيطة كما كان يأمل. توقع نظام تطوير أدوات جنو محددة غير موجودة بعد (على الرغم من أن الإصدارات الشائعة من الأدوات، مثل GREP، ​​كانت موجودة). لذلك كان عليه معرفة كيفية عبور تجميع VIM. في Retrospect، أدلى [ELAHAV] بقرار يجب أن يكون قد استفاد للتو من أدوات جنو أولا. لقد اضطر إلى القضاء على بعض الكود القديم من VIM الذي كان يهدف إلى إصدار أقدم من QNX.

ذهب بقية التجربة جيدا نسبيا. تعامل مع تطوير SDL وكذلك ميناء على بعض الألعاب. يوجد كيو تي على QNX، ولكن مع تكوين يفضل النظام المضمن (على سبيل المثال، كل ما يظهر ملء الشاشة). كان بناء تطبيقات QT ممكنة، ولكن بدون مدير نافذة مناسبة، فإنه لا يزال لم يكن تجربة سطح المكتب الذي أراده. بعد بضعة أسابيع تعامل مع مدير النافذة. ضع في اعتبارك أن تصميم شاشة QNX ليس X، لذلك لم يكن الاستيلاء على قطعة موجودة من التعليمات البرمجية غير محتمل.

هل هو عملي؟ ربما، على الرغم من أننا لم نرى الكود الفعلي المتاح. هل من المرغوب فيه؟ على الأرجح لا، إلا إذا كنت تستخدم QNX بالفعل، وكذلك حتى بعد ذلك نحن لسنا متأكدين. ومع ذلك، فهي قصة ممتازة لنوع الصعوبات المدرجة في صنع شيء مفيد، وهي مشكلة أشرفناها من قبل عند تطوير وحدة المعالجة المركزية الخاصة بك. بالطبع، [Elahav] بدأت بيئة غنية للغاية. إذا كنت ترغب في رؤية شخص ما bootstrap تقريبا كل شيء، فتفقد A2Z. وكذلك لو كنت موجودا في لحظة وكذلك صدق أنك تضع في اعتبارك بيئة سطح مكتب QNX أخرى، فأنت غير خاطئ.