PDA

View Full Version : ماهي المشكلة الألفية ؟!!!!


لاهوب
31-12-1999, 11:11 AM
أزف الموعد التاريخي المرتقب، و تداخلت مشاعر اللهفة و الشوق لدخول ألفية جديدة ينتظرها الجميع، مع مشاعر القلق و الإرتقاب و توقع الأسوأ في الأوساط العلمية و الحيوية المسؤولة . و أعلنت العديد من الحكومات و الجهات الرسمية و الخاصة عن توافقها مع المشكلة، و فشلت جهات و حكومات أخرى في التوافق معها، و حتى من نجح في التوافق معها فإنه ظل متوجساً، و اتخذ أهبة الإستعداد عشية رأس السنة، تحسباً لوقوع ما ليس في الحسبان. و لكي نفهم تفاعلات المشكلة، لا بد لنا من العودة إلى الجذور لنلقي نظرة على أصل المشكلة – مم نشأت، و كيف تطورت ..
- الاسم : سميت المشكلة في اللغة الإنجليزية ب ( Y2K ) ، و هي اختصار للعام 2000 في اللغة، و ما لبث هذا المصطلح أن خصص بالذات في مشكلة الكمبيوتر التي ستحصل في العام ألفين، و التي نحن بصددها. و تحصل المشكلة يوم 1 كانون الثاني عام 2000 إذا لم تستطع الكمبيوترات التعرف على العام 2000، و ظنته العام 1900 خطأً. و الأصل في التسمية أن تكون كما نشأت عليه في البداية في الإنجليزية : ( Y2K Bug )، و Bug في الإنجليزية تعني حشرة، و تستخدم في عالم برامج الكمبيوتر للتدليل على وجود مشكلة في منطق البرنامج المستخدم. و أصل القصة أنه عندما كانت برامج الكمبيوتر تحمل على الأنابيب المفرغة من الهواء ( Vacuum Tubes ) ، تعطل أحدها بلا سبب واضح ، و عند البحث و التقصّي وجدت حشرة ميتة في أحد الأنابيب كانت تمنع التيار الكهربي من الوصول. و من هنا أصبحت كلمة ( حشرة ) تستخدم للتدليل على وجود مشكلة منطقية في البرنامج، يصعب التوصل إلى حلها. لذلك ظهرت هناك ترجمات عديدة للمشكلة، فمنهم من ترجمها حرفياً إلى ( حشرة العام 2000 )، و منهم من وجد أن كلمة حشرة معممة للغاية، فاستبدل بها ( بقّة العام 2000 )، و البقّة –كما هو معلوم- حشرة صغيرة تشبه القمل، و تعيش على الملابس و الحشيات القديمة. و منهم من نظر إلى المعنى فقال أنها ( علّة القرن )، و منهم من شابهه و أشار إليها على أنها ببساطة: (مشكلة العام 2000). و كل المسميات الآنفة تشير إلى ذات المشكلة، و لكن من زوايا مختلفة.
-كيف نشأت المشكلة ؟ عندما بدأ المبرمجون الأُول بكتابة البرامج، استخدموا ستة خانات للتدليل على التواريخ، يوماً و شهراً و سنة، و بالتساوي. فكان نصيب اليوم خانتين، و الشهر خانتين، و كذلك السنة، و لذلك فقد كان تاريخ مثل العاشر من كانون الأول عام 1998 يعبر عنه في خانات الذاكرة كالتالي: ( 101298 ). و نلاحظ أن خانتين تكفيان للتعبير عن اليوم لأنه يتراوح ما بين 1 و 31، و كذلك الشهر فهو يتراوح ما بين 1 و 12، أما السنة 1998 مثلا، فلا يأخذ منها سوى خانتين فقط للتعبير عنها و هما الخانتان الأخيرتان في اليمين. إلى هنا تبدو الأمور متسقة بلا مشاكل، فعام 1998 يعبر عنه ب "98" و عام 1970 يعبر عنه ب "70" .. و لكن، ماذا إذا أتى العام 2000 ؟ .. ستقرأ الكمبيوترات هذه السنة في ذاكرتها : "00" .. لا مانع .. و لكن ، ماذا عن العام 1900 ؟ أنه يأخذ نفس القراءة : "00" أيضاً ! .. و هنا بدأت المصيبة، فقد تخطيء الكمبيوترات و تظن عام 2000 على أنه عام 1900، فتسوء الحسابات الرقمية و المنطقية، أو يصيب القصور أداء وظائف الكمبيوتر، أو قد يحدث هناك انهيار في نظام الشبكات الإلكترونية ككل.
و هنا نتسائل: لماذا لم يحجز المبرمجون الأوائل 4 خانات لتمثيل السنة في الذاكرة بدلا من خانتين؟ إن هذا كان قميناً بإنهاء متاعبنا اليوم بلا رجعة. و السبب كان بسيطاً، فآنذاك كانت أسعار وحدات الذاكرة خرافية، و كانت هذه الخطوة اقتصادية بحتة، و الطريف أن أسعار وحدات الذاكرة قد انخفضت انخفاضاً – بل و يكاد يكون سقوطاً – حاداً من يومها؛ فقد كان سعر الميغابايت الواحد من الذاكرة حوالي 3,200,000 دولار أمريكي، و بعد عشر سنين أصبح 64,000 دولار، و في التسعين انحدر إلى 120 دولار، و اليوم هو بدولار أمريكي واحد ! و هنا يبرز سؤال آخر: لماذا لم يتم تصحيح المشكلة قبلا؟ .. الحق أن المبرمجين التالين لمبرمجي الخمسينات الذين استخدموا وحدات الذاكرة المختصرة لم يعوا كثيراً المشكلة القادمة، باستثناء واحد منهم هو بوب بيمر، رائد لغة البرمجة ( كوبول )، الذي انتبه للمشكلة القادمة، و نشر مقالات تحذر منها على فترات متباعدة في السبعينات، غير أن هذا لم يمنع المبرمجين من البقاء على استخدامهم لخانتين فقط من الذاكرة، حتى بعد ظهور أجهزة الكمبيوتر الشخصية في أوائل الثمانينات، و رخص أسعار الذاكرة بشكل كبير. و بعد تجاهل المشكلة لعقود طويلة، صحت صناعة الكمبيوتر في التسعينيات على الخطر المحدق الوشيك.
-في أي مناطق الكمبيوتر تؤثر المشكلة ؟ يمكن أن تؤثر المشكلة في البرمجيات، أو في جسم آلة الكمبيوتر أو في تبادل البيانات.
أما آلة الكمبيوتر التي تعني أي مركب مادي يتألف منه جسم الكمبيوتر، و تساعد في تشغيل النظام بشكل مبدئي ( كالمعالج و القرص الصلب و بطاقات الفيديو و محرك الأقراص المدمجة و المودم ) ، فيمكن أن يصيبها الفشل في أداء الوظائف التي تؤديها.
أما البرمجيات التي تشمل نظم التشغيل و التطبيقات اليومية ( كمعالج النصوص أو محرر البريد الإلكتروني)، فيمكن لمشكلة العام 2000 أن تتسبب في معالجتها للبيانات الخطأ، أو في عدم عملها أساساً.
أما تبادل البيانات الذي يقصد به العملية التي يتحدث فيها الكمبيوتر مع نفسه أو مع غيره من الكمبيوترات، فلا يمكن التنبؤ حقيقة بتأثيرات المشكلة الفعلية عليه إلا عندما تحدث.


ــــــــــــــــ
بقلم: محمود الشريف