الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أسباب تفوق نواة لينكس على نواة وبندوز-الكاتب أحد مطوري ميكروسوفت

بدأه أحمد أبو عبد البر في 28 نوفمبر 2012 · 4 رد · 4,837 مشاهدة · في نظام تشغيل Unix & Linux
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله والحمد لله

هذا المقال مقتطع و مترجم من كتاب After the Software Wars من تأليف : Keith Curtis

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

في ما يلي أسباب تفوق نواة لينكس على نواة ويندوز

1. السبب الأول : إعادة تحليل الكود (الثبات):

إن 50% من نواة لينكس هي تعريفات أجهزة و25% منها كود يختص بالمعالج أما الطبقتان الداخليتان فهما عامتان جداً.

(انظر الصورة في الكتاب لطبقات نواة لينكس التي تشبه طبقات البصل وانظر صورة تصميم نواة ويندوز NT قبل عدة صفحات)

post-259874-004179600 1354131888_thumb.j

طبقات نواة لينكس

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

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

إن إعادة التحليل ( التنعيم و الصقل والتبسيط والتحسين ) يتم بشكل مستمر في لينكس.

إن Greg Kroah-Hartman القائم على صيانة نظام USB في لينكس أخبرني بأنه خلال تطور تصميم عتاد ال USB خلال العقد الأخير فإن تصميم تعريفات الأجهزة والتصميم الداخلي للنواة تغير بشكل دراماتيكي. ولأن كل تعريفات الأجهزة موجودة ضمن الكرنل فإنه عندما يتم تغيير التصميم لتلبية متطلبات العتاد الجديد فإن التعريفات يتم تكييفها في نفس الوقت.

مايكروسوفت ليس لديها شجرة شيفرة واحدة تحتوي على كل التعريفات. ولأن العديد من شركات العتاد لديها تعريفاتها الخاصة فإن مايكروسوفت مجبرة على الإبقاء على التصميم القديم حتى تعمل التعريفات القديمة. هذا يزيد من الحجم والتعقيد لنواة ويندوز ويبطئ عملية تطويره وفي بعض الحالات يكشف عللاً وعيوباً تصميمية لا يمكن إصلاحها.وقيود التوافقية هذه واحدة من أهم الأسباب التي تجعل ويندوز يستغرق سنوات حتى يصدر. المشكلة موجودة ليس فقط على مستوى التعريفات ولكن في كل رزمة برمجيات مايكروسوفت.

عندما لا يكون المصدر متاحاً بشكل حر وفي مكان واحد فإنه من الصعب تطوير نظام كبير.

واحدة من أعظم التجريدات التي تبناها لينكس من يونكس هي تجريد الملفات. فمن أجل تنفيذ أية وظيفة تقريباً على حاسب يعمل بنظام لينكس ابتداءاً من قراء صفحة ويب على موقع بعيد وانتهاء بتنزيل صورة من كاميرا يجب ببساطة استخدام أوامر الملفات القياسية : فتح ، إغلاق ، قراءة ، كتابة.

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

وفقاً لباحثين في جامعة ستانفورد فإن نواة لينكس تحتوي على 0.17 علة لكل ألف سطر من الكود وهو رقم أقل بمائة وخمسين مرة من المعدل في البرمجيات التجارية حيث تحوي من 20-30 علة لكل ألف سطر من الكود.

في مجتمع البرمجيات الحرة فرق التطوير هي كيانات مستقلة لهذا فإن فكرة نقل كود بشكل عشوائي من جزء من النظام إلى جزء آخر لا يمكن أن تحدث بسهولة. في داخل مايكروسوفت لا يوجد هناك حدود لذلك فإن الكود ينقل من مكان لآخر من أجل الحصول على مكاسب قصيرة المدى في السرعة على حساب زيادة التعقيد.

هذا رسم بياني لكل استدعاءات النظام اللازمة لتلبية طلب ويب بسيط (انظر الرسوم في الكتاب ولاحظ الفرق بين خادم IIS من مايكروسوفت وبين خادم أباتشي الحر).

إن هذه الصور تظهر بوضوح الفرق في التعقيد بين البرمجيات الحرة والمملوكة .

post-259874-053004800 1354131897_thumb.j

استدعاءات النظام اللازمة لتلبية طلب ويب بسيط في خادم IIS المملوك من مايكروسوفت

post-259874-024244000 1354131906_thumb.j

استدعاءات النظام اللازمة لتلبية طلب ويب بسيط في خادم Apache الحر

السبب الثاني : قاعدة شيفرة موحدة ( ثبات وقابلية الصيانة وقابلية الاستخدام):

لقد تم ضبط لينكس أولاً ليعمل بشكل صحيح وبعد ذلك تم ضبطه ليعمل بكفاءة على اثنين وأربعة وثمانية واليوم أكثر من ألف نوع من المعالجات.

إن العدد الكبير من مطوري العتاد والخوادم الذين يريدون أقصى درجات الثبات سوف يضمنون أن الكيرنل على حاسبي الشخصي سيكون ثابتاً بنفس درجة ثباته لدى أكثر زبائن لينكس تطلباً.

السبب الثالث : دورة إصدار متقاربة (قابلية الصيانة وقابلية الاستخدام) :

يتم إصدار نواة لينكس كل ثلاثة أشهر. بالنسبة لمنتج بحجم وتعقيده فإن معدل الإصدار هذا يعتبر غير مسبوق. هذ المعدل قد سمح لنواة لينكس بأن تحتوي التعريفات قبل ويندوز بل حتى قبل أن يتم إصدار العتاد نفسه. ولأن لينكس بشكل دائم قريب من الإصدار فبإمكانك أن تأخذ عشوائياً أي بناء للنواة من حاسب "ليناس" وتضعه في قمر صناعي وتشعر بالثقة بأنه لن يتحطم.

إن جزءاً كبيراً من قضية وزارة العدل الأميركية ضد مايكروسوفت ركز على أن مايكروسوفت تدمج العديد من البرمجيات مع نظام تشغيلها ، واتهمت الحكومة مايكروسوفت بإقصاء مطوري البرامج الآخرين وخنق المنافسة.

ولكن هذا الدمج بالنسبة لمايكروسوفت كان في الوقت ذاته نعمة ونقمة ، فهو نعمة لأن جعل كل تلك البرمجيات تعمل معاً يمكنهم من إعادة استعمال الكود وتصبح البرمجيات متكاملة مع بعضها. والنقمة هي أن مايكروسوفت خلقت وضعاً يوجب عليها مراجعة وإضافة الميزات لكل تلك المكونات البرمجية التي يعتمد كل منها على الآخر دفعة واحدة ، ومن عواقب ذلك أن هذه المكونات البرمجية تحتاج لسنوات كي تستقر ولا يمكنها إصدارها حتى يستقر آخر عنصر من عناصرها.

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

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

إن منظمات التطوير المستقلة قد فرضت حدوداً سهلت الاعتماديات ولهذا فبإمكانهم جميعاً التحرك للأمام بأي سرعة تناسبهم.

السبب الرابع : تكاليف تطوير أقل ( قابلية الصيانة ) :

بالنسبة لصانعي العتاد فإن دعم لينكس أقل تكلفة ، فإذا أردت بناء تعريف لجهاز معين فإن من أفضل الأمكنة لكي تبدأ هو الاطلاع على التعريفات الموجودة وهو أمر يتيحه لينكس للجميع.

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

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

(انظر الصورة في الكتاب)

هذه صورة ويندوز XP مع خمسة فقط من أصل مائة بريمج تضيفها IBM إلى ويندوز. لاحظ العدد الكبير من إيقونات الحالة في هذا التثبيت شبه الجديد لويندوز.

post-259874-021358400 1354131914_thumb.j

صورة ويندوز XP مع خمسة فقط من أصل مائة بريمج تضيفها IBM إلى ويندوز.

لاحظ العدد الكبير من إيقونات الحالة في هذا التثبيت شبه الجديد لويندوز.

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

السبب الخامس : الأمان (الثبات وتأدية الوظيفة) :

"لتخريب نظام لينكس فإنك بحاجة لأن تعمل على ذلك ، أما لتخريب نظام ويندوز فليس عليك سوى أن تستخدمه"

- "سكوت غرنمان"

تقول وثيقة أصدرها الجيش الأمريكي:

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

فرق كبير آخر بين لينكس وويندوز هو أن لينكس تم تكييفه من نظام يونكس والذي كان له تصميم متعدد المستخدمين منذ البداية. في ويندوز كان المستخدمون في الماضي يملكون وصولاً إدارياً كاملاً للنظام بما في ذلك إمكانية الكتابة فوق ملفات النظام. عندما تتم مهاجمة الحاسب من قبل فيروس فإن الفيروس يمكنه أن يحصل على نفس إمكانيات المستخدم وبالتالي يخفي نفسه داخل ملفات النظام مما يجعل إزالته أمراً صعباً جداً. في لينكس بإمكاني أن أكتب فوق ملفاتي الشخصية أما صلاحية وصولي لباقي الملفات هي القراءة فقط . إن طبيعة تعدد المستخدمين في لينكس وتركيزه على إعطاء حد أدنى من الصلاحيات يقلل من أي ضرر.

وجد "برايان كربس" من صحيفة الواشنطن بوست أن الكود لاستغلال الثغرات في إنترنت إكسبلورر 6 بقي موجوداً لمدة 284 يوماً في عام 2006 في حين أن فايرفوكس كان معرضاً للخطر لمدة 9 أيام فقط.

يجادل البعض بأن لينكس وفايرفوكس لهما فيروسات أقل لأن عدد مستخدميهما أقل ولكن الأباتشي خادم الويب الواسع الانتشار على الإنترنت يحظى باحترام كبير من أجل أمانه.

خلال معظم فترة عملي في مايكروسوفت كنا نقلق حول الميزات والثبات والأداء أكثر من قلقنا على الأمان.

قال المسؤول عن الأبحاث والإستراتيجية في مايكروسوفت " كريغ مندي" في عام 2002 :

"إن العديد من المنتجات التي قمنا بتصميمها في الماضي كانت أقل أماناً مما كان ممكناً أن تكون عليه وذلك لأننا كنا نصممها ونحن نفكر بالميزات أكثر من الأمان".

من ميزات لينكس الأخرى هو أن كل التطبيقات في نظام لينكس تتلقى التحديثات الأمنية أما في عالم مايكروسوفت فإن برمجيات مايكروسوفت فقط هي التي تتم حمايتها بواسطة Windows Update.

السبب السادس : لقد تعلم لينكس من ويندوز :

على سبيل المثال إن لينكس يدعم الإدخال والإخراج غير المتزامن وهي ابتكار من أجل تنفيذ عمليات الإدخال والإخراج دون تقييد موارد خيط المعالجة. هذا ابتكار تم نشره على نطاق واسع في ويندوز NT.

لا توجد عقدة " لم يتم صنعه هنا " في البرمجيات الحرة فالفكرة الجيدة هي فكرة جيدة وإن كانت موجودة كشيفرة جاهزة فذلك أفضل.

في البرمجيات اليوم العائق الأساسي أمام مشاركة الأفكار ليس الأنانية ولكنه اتفاقيات الترخيص.

إن نواة لينكس قد تعلمت من أخطاء مايكروسوفت فعلى سبيل المثال هناك ميزة أضيفت في نواة ويندوز NT 4.0 وهي وضع الشيفرة التي تقوم برسم ال Widgets داخل الكيرنل ، وعلى الرغم من أن هذا يمكن أن يحسن أداء الرسوميات ولكنه أيضاً يعني أن علة في شيفرة زر لديها القدرة على تحطيم النظام بأكمله.

يتبع إن شاء الله ...

المرفقات
0.jpg1.jpg2.jpg3.jpg

تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 28 نوفمبر 2012 في 23:03

1

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#2

السلام عليكم

بارك الله فيك مقالة رائعة

ليس تحيزاً ولكنه كلام منطقي يمكن لمن إستخدم النظامين أن يستشعر هذا .

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#3
ahmedsaoud31 كتب:

السلام عليكم

بارك الله فيك مقالة رائعة

ليس تحيزاً ولكنه كلام منطقي يمكن لمن إستخدم النظامين أن يستشعر هذا .

وعليك السلام أخي احمد وبارك الله فيك

أتعرف أكثر شيء أعجبني في المقال ؟

إنه هذه المقولة

"لتخريب نظام لينكس فإنك بحاجة لأن تعمل على ذلك ، أما لتخريب نظام ويندوز فليس عليك سوى أن تستخدمه"

- "سكوت غرنمان"

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#4

الكلام قديم و المقارنة بنظام XP هي مقارنة مع نظام قديم جداً فعمر Windows XP اليوم هو 12 سنة.

Windows Kernel تم اعادة كتابة أجزاء كبيرة منه في المرحلة من Windows Vista و حتى Windows 8 و النتبجة رائعة فالآن نفس الKernel يعمل على الأجهزة المحمولة Windows Phone 8 و الأجهزة اللوحية على نظام ARM بنظام Windows RT و ايضاً الأنظمة العادية بنظم Windows 8 و كلها تشترك في نفس النواة.

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#5
motamayez كتب:

الكلام قديم و المقارنة بنظام XP هي مقارنة مع نظام قديم جداً فعمر Windows XP اليوم هو 12 سنة.

Windows Kernel تم اعادة كتابة أجزاء كبيرة منه في المرحلة من Windows Vista و حتى Windows 8 و النتبجة رائعة فالآن نفس الKernel يعمل على الأجهزة المحمولة Windows Phone 8 و الأجهزة اللوحية على نظام ARM بنظام Windows RT و ايضاً الأنظمة العادية بنظم Windows 8 و كلها تشترك في نفس النواة.

سلام عليك

أنا اقر لك بهذا ولكن هل تظن أن الوقت الذي قضاه مطورو مكروسفت في تطوير نواة ويندوز إلى الآن كان مطورو لينكس نائمين ؟

بالتأكيد لا ...فنواة لينكس تشهد تطويرا من المجتمع الضخم الذي يضم الآلاف من المبرمجين حول العالم وهم أضعاف أضعاف مطوري ميكروسفت مدعومين من شركات كبرى مثل IBM و SUN و RedHat و canonical

وكفاءة نواة لينكس لا يمكن أن تقارن بكفاءة ويندوز وأنا سأضرب لك مثلا

أنا نصبت البارحة لينكس أوبينتو 12.10 على جهاز قديم كفاءته لا تصلح حتى للوندوز xp وهو يعمل بكفاءة وفيه كل البرامج التي يحتاجه المستخدم فهل يمكن تنصيب وندوز 8 على هذا الجهاز بالتأكيد لو حاولت ذلك فسينفجر الجهاز عليك :happy:

انا لن أكذب عليك ولذلك أقول إني منصب لينكس منت 14 في جهازي والوندوز 7 لأغراض برمجية يحتاجها الزبائن الويندوزيون والصراحة والله إن اللينكس أسرع من الوندوز وأكثر كفاءة منه ...أقول هذا ليس تحيزا ولا تعصبا ومن جرب مثل تجربتي عرف مثل معرفتي

تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 7 ديسمبر 2012 في 10:09

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…