التخطي إلى المحتوى الرئيسي

لماذا عدد مستخدمي لينوكس أقل من ويندوز رغم مميزاته؟

اجابتي في كورا العربية

حسن، إليك أولا مقدمة تاريخية..

ظهرت وانتشرت الحاسبات الشخصية في أوائل الثمانينات، قبل ذلك الوقت، كانت الحاسبات المتاحة كلها مقتصرة على الحواسيب المركزية Mainframes في الجامعات ومراكز اﻷبحاث، وبالطبع في الجهات العسكرية واﻻستخبارات..

كان ظهور حواسيب مصغرة يمكن استخدامها في البيوت هو فكرة ثورية تحتاج إلى كثير من التسويق..بدأ الدفع باتجاهها والسباق نحو تطويرها منذ عام 1972 حيث قدم مصطلح PC ﻷول مرة في مراكز زيروكس للأبحاث..

ظهر العديد من النماذج التي لم تلق شهرة واسعة منذ ذلك الحين[1]، حتى توصلت IBM ﻻنتاج أول حاسوب شخصي يحقق انتشارا واسعا سنة 1981[2] ..

ثم لحقت آبل بالسباق، كانت آبل في السباق المحموم منذ عام 1976، قامت آبل بتطوير أول أجهزتها الشخصية بواسطة وزنياك - جوبز، آبل 1..لكنها تقدمت بخطوة واسعة سنة 1983، بطرح ليزا، أول جهاز بواجهة رسومية على اﻻطلاق[3] ..

ﻻحظ اﻵن أننا أمام خطين ﻻ ثالث لهما، Apple, IBM..أذكر منذ طفولتي أن كل من كان يود اقتناء حاسب شخصي كان يسأل فورا هذا السؤال، آبل، أم آي بي إم؟

طيب، ما الفارق الكبير بينهما؟

كان الفرق اﻷساسي هو اعتماد IBM بنية مفتوحة[4] ، والمقصود بذلك أنها أتاحت لكل مصنعي الحواسيب امكانية تصنيع قطع وأجزاء (أو حتى حواسيب كاملة) متوافقة مع حواسيب آي بي ام الشخصية، وهو ما عنى أيضا امكانية تطوير نظم التشغيل لهذه الحواسيب، كان نظام التشغيل ﻷجهزة IBM PC هو نظام نصي، Disk Operating System - DOS، فيما كانت آبل تعتمد نظاما مغلقاً، فهي وحدها من تقوم بتطوير اﻷجهزة ونظام التشغيل..

هذا الفرق، جعل أمام مستخدم بنية IBM خيارات أكثر بكثير من اﻷجهزة، كلها تعتمد بشكل أساسي معايير IBM، حتى السؤال الشهير "آبل، أم آي بي ام؟" لم يكن يقصد به شراء جهاز مصنع من آي بي ام بالضرورة، انما المقصود به غالبا هو التوافق مع بنية آي بي ام، يعني نظام دوس بقول آخر..وكان هو الخيار الاقتصادي، والسائد..

في تلك اﻷثناء أيضا بدأت مايكروسوفت بالازدهار، أنتجت ويندوز 3.0[5] منذ 1990 كواجهة رسومية يمكن تشغيلها من داخل دوس، ثم ويندوز 95 كنظام تشغيل متكامل بواجهة رسومية ﻻحقا..وكانت النتيجة، أنه وبالنظر ﻷن الحصة السوقية اﻷكبر قد احتلتها بنية IBM المفتوحة، فقد وجهت شركات البرمجيات جهودها لهذا القطاع باﻷساس، فأصبحت معظم الحلول متوفرة لنظام ويندوز، باعتباره المهيمن على السوق، وباعتباره البديل اﻷقل تكلفة في ذلك الوقت، ولذلك كان أيضا، معظم التدريب التقني الذي يتلقاه الناس على الحوسبة يتم على أجهزة بنظام ويندوز.

حسن، ماذا عن لينوكس؟..في سنة التسعين، كان الطالب في جامعة هلسنكي لينوس تورفالدز[6]،[7] يعمل على مشروع لنظام تشغيل شبيه بنظام MINIX، وهو نواة لينوكس الحالية، وأعني بالنواة: الجزء اﻷساسي من نظام التشغيل، الطبقة اﻷدنى منه، بدون واجهات مستخدم، بدون أي شئ، فقط برنامج ﻻدارة الذاكرة والهاردوير[8] ، لكنه وضع اﻷساس لغيره من المبرمجين للتوسع، كان منهم ريتشارد ستالمان الذي أضاف الكثير إلى نظام التشغيل الرئيسي، نما هذا النظام خلال التسعينات من القرن الماضي، لم يكن مناسبا للمستخدم العادي، كما كان المألوف للعموم هو الويندوز، والتدريب التقني الذي يتلقاه (غير التقنيين) موجه بالاساس لحزم مايكروسوفت، ويندوز، مجموعة مايكروسوفت أوفيس، وحتى البرمجة كانت في الغالب موجهة للغة BASIC..ناهيك عن توفر الحلول واﻷلعاب وغيرها، في اﻷغلب اﻷعم لنظام ويندوز، مما جعله يحتفظ بأغلب مستخدميه إلى اليوم.

أنا اليوم أستخدم أكثر من توزيعة لنظام لينوكس، أعمل على Ubuntu في مكتبي، وأطلق برامجي على سيرفرCentos7، أستخدم جهاز أندرويد، لكنني أيضا أملك ﻻبتوب عليه ويندوز10..وفي داخله أيضاً العديد من اﻷجهزة اﻻفتراضية بتوزيعات مختلفة من لينوكس..

برأيي، أن نظم التشغيل وسيلة وليست غاية، قدرتك على التعامل معها جميعا وتوظيفها جميعا حسب احتياجك هي اﻷهم، بالطبع أرشح لينوكس للتقنيين أكثر، لكن ﻻ تكن واثقا من ذلك أيضا، ﻻ تزال سيرفرات ويندوز تنافس خاصة في ادارة الشبكات الداخلية، ﻻ تزال هي اﻷسهل في التعاطي معها برأيي كما يتوفر لها الكوادر المتمكنة بشكل أكبر..

تعليقات

المشاركات الشائعة من هذه المدونة

كيف تضع المتغيرات في جملة SQL داخل البرنامج؟

من الأخطاء التي تبدو لي شائعة هي كيفية تكوين جمل SQL داخل البرامج، أصادف سطورا يكتبها بعض المبرمجين كالتالي:

"select * from users where UPPER(uname)= UPPER('".$uname."')"
هذه الطريقة في ادخال القيم إلى جملة SQL هي طريقة خطرة للغاية، فهي أولا تعيق عمل البرنامج عند ادخال أحرف معينة (أحد من عرفتهم حل المشكلة باخبار المستخدم بأن ادخال هذه الحروف ممنوع!)، وثانيا، وهو الأهم: أنها تترك قاعدة بياناتك عرضة للاختراق، أو التدمير، إذ يمكن للمخترق، وبمجرد اكتشافه للثغرة أن يقوم باغلاق جملة SQL الخاصة بك واضافة جملة جديدة كما يشاء، افترض مثلا أن قيمة المتغير uname (المدخلة بواسطة المستخدم) كالتالي:
');DROP TABLE users; -- في تلك الحالة تصبح جملة SQL الكاملة المنفذة بواسطة البرنامج هي: "select * from users where UPPER(uname)= UPPER('');DROP TABLE users; --')"
وبالطبع، تكون النتيجة هي محو بيانات المستخدمين "إن كان البرنامج يملك صلاحية تنفيذ الأمر".
تسمى هذه الطريقة SQL Injection وهي دائما فعالة مع البرامج المكتوبة بهذه الطريقة، فكتابة الك…

أوراكل وتحديد عدد الصفوف الناتجة

لم أعتد العمل على ORACLE، كانت قاعدة البيانات التي أستخدمها عادة هي mysql، لكن في وظيفتي الجديدة كان علي أن أعمل على جلب البيانات لبرنامجي من قاعدة أوراكل، كانت المشكلة هي في تحديد عدد الصفوف الناتجة عن عملية البحث، وهي ما يفترض بها أن تتم ببساطة عن طريق كلمة limit في نهاية جملة SQL.

إلا أنها لم تعمل اطلاقا، بقليل من البحث (ومساعدة من مدير قواعد البيانات) وجدت التالي:
في أوراكل تجعل جملتك بالكامل جملة فرعية داخل الجملة الأكبر التي تقوم بالتحديد، خذ باعتبارك أن كل صف في أوراكل يسبقه حقل ROWNUM المشير لرقم الحقل، قم بتضمينه في الجدول وأعطه اسما بديلا لتتمكن من التعاطي معه في جملة التحديد الخارجية.

مثلا، إذا كانت جملتك هي:
SELECT f1,f2,f3 FROM my_table
عليك أولا أن تقوم باضافة حقل يحمل أرقام الصفوف كالتالي: SELECT ROWNUM rn, f1, f2, f3 FROM my_tableالآن صارت الجملة السابقة جدولا يمكنك وضعه كجملة فرعية في جملة تحديد أكبر، كالتالي: SELECT * FROM (SELECT ROWNUM rn, f1, f2, f3 FROM my_table) WHERE rn BETWEEN :Min AND :Max وهذه الطريقة ليست الأسرع وإن كانت الأوضح منطقيا في كتابتها، بهذه الطري…

ما هو متصفح تور؟ TOR

كتبت هذه الإجابة لموقع كورا العربي..

متصفح تور، هو مشروع مفتوح المصدر، مشتق من فايرفوكس، ويعمل على شبكة بتقنية تسمى (The Onion Routing) TOR، وهي شبكة تواصل عبر الانترنت تأسست في البدء لأغراض عسكرية، ثم أصبحت الشبكة تستخدم من عامة الناس بغرض السرية والخصوصية. فكرة العملالفكرة من شبكة تور، هو تفادي وجود نقطة ضعف وحيدة في الاتصال، بمعنى، أنك أثناء الاتصال العادي بانترنت، تكون نقطة ضعفك هي مقدم الخدمة، فهو يستطيع معرفة الكثير عنك أثناء تصفحك، لماذا؟..طبعاً لأن كل اتصالاتك تمر من خلاله ولا مفر من ذلك، فعند طلبك لموقع كورا، مثلاً، يطلب المتصفح (العادي) من خلال مقدم الخدمة أولاً عنوان الآيبي المرتبط بعنوان http://quora.com، وهكذا يستطيع القائم على تقديم الخدمة لك أن يتتبع اتصالك وان يراقب كثيراً من البيانات..كذلك في حالة شبكات VPN، فمن غير الأكيد أن مقدم خدمة VPN لا يسجل اتصالاتك ووجهتها أثناء استخدامك للخدمة؟هذه ليست الحال في شبكة تور، في شبكة تور، تطلب مبدئياً انشاء دائرة من نقاط التحويل، تتكون عادة من 3 سيرفرات عشوائية مختلفة يديرها متطوعين من مختلف بقاع الأرض، وهذه النقاط تق…