نبذة عن أنظمة الأرقام Decimal و Hexadecimal
قد يتساءل البعص ما هو أصل الكلمة digit؟ أقول أصلها قادم من الكلمة اللاتينية digitus وتعني الأصبع. وبمرور الزمن ونظراً للحاجة الماسة إليه، تطور مفهوم الحساب لدا الناس بحيث أخذوا يشيرون إلى الأصابع أو digits على أنها أرقام numbers. ثم أخذوا يتعلمون العد بإستخدام الأصابع، ومن هنا يُعتَقَد أن أصل النظام العشري Decimal الذي نألفه كثيراً قادم من فكرة الأصابع العشرة! فنظام Decimal أو ما يسمى بنظلم الأرقام للأساس 10، هو نفس النظام الذي نبدأ مشوارنا منذ الصغر في تعلمه، فهو يبدأ من الصفر كأول رقم وينتهي ب 9 ثم يعيد هذا النظام نفسه إبتداءاً من 10 ...19 ثم يعيد نفسه تارة أخرى وهكذا يستمر بنفس المنوال.
يعتبر Hexadecimal أو ما يعرف مختصراً ب Hex من أنظمة الأرقام الغير المسموع بها كثيراً خارج عالم برمجة الكمبيوتر. ولكن في الحقيقة يعتبر من أهم أنظمة الأرقام. فلو أردت تعلم لغة البرمجة C أو assembly وحتى QB على ما أعتقد، فلن تصبح عملية التعلم سهلة إلا بإمتلاك إلمام كاف بنظام الأرقام Hex. وكما لنظام Decimal الأساس 10 فإن لنظام Hexadecimal الأساس 16: ولكن ما هو أصل الأساس 16؟ فلو قمنا بتجزئة كلمة Hexadecimal إلى Hexa والذي يمثل رقم 6 في اللاتيني و decimal والذي يمثل رقم عشرة لأصبح أصل الأساس جلياً لنا.
لو تأملنا الجدول أعلاه، لرأينا أن النظامين متشابهين تماماً إلى حد ومن ضمنها الرقم 9، بعد ذلك يبدأ الإختلاف. فمثلما يعيد نظام Decimal نفسه من 10 فإن نظام Hex يعيد نفسه من 16 وهكذا. وكما ترون فإن الأرقام من 10 إلى 15 تمثل في نظام Hex بالأحرف من A إلى F، أي بدلاً من أن نتعامل مع رقم مكون من 2 digits سنتعامل في نظام Hex بحرف. قد يتساءل البعض لماذا هذا التعقيد؟ لماذا لا يتم البقاء على نظام Decimal الذي نألفه، أقول فائدة نظام Hex ستبدو أكثر جلاءاً عندما نتعامل مع الأرقام الكبيرة جداً حيث سيتم التعامل مع عدد من الأحرف والأرقام مجتمعين معاً بدلاً من رقم طويل مكون عدد كبير من ال digits.
أمثلة:
نقوم بتحويل الرقم 75 من نظام Decimal إلى Hex وهو محور إهتمامنا
1- نقسم الرقم 75 على 16 والنتيجة يجب أن تكون رقماً صحيحاً، وعليه سيكون حاصل القسمة 4 والباقي 11
2- ومن خلال إجراء مقارنة بين الرقم 11 الذي يمثل الباقي وجدول المقارنة أعلاه لوجدنا أنه يساوي الحرف B في نظام Hex
3- وعليه سيكون الرقم 75 في نظام decimal يساوي 4B في نظام Hex.
نأخذ مثالاً آخر: تأمل الرقم مثلاً 127
نقسم الرقم 127 على 16 فنحصل على 7 كرقم صحيح والباقي 15. ومن خلال جدول المقارنة أعلاه نجد أن الباقي 15 يساوي F في Hex وعليه ستكون النتيجة النهائية:
127 في نظام Decimal يساوي 7F في نظام Hex.
نأخذ مثالاً آخر: مثلاُ الرقم 500
نقسم أولاً على 16 فنحصل على 31 كرقم صحيح و4 كباقي، وبما أن ناتج القسمة والذي هو الرقم الصحيح 31 هو أكبر من 16، إذن نقسمه مرة أخرى على 16 فنحصل على 1 كرقم صيحح والباقي 15. والآن لدينا باقيين، 4 من القسمة الأولى و15 من القسمة الثانية، الباقي الأول والذي هو 4 يبقى كما هو لأنه أقل من عشرة، بينما الباقي الآخر الذي هو 15 وبمقارنته مع جدول المقارنة أعلاه، نجد أنه يساوي الحرف F، لذلك ستكون النتيجة النهائية:
500 كرقم Decimal يساوي 1F4 في Hex
لاحظ أخي القارئ أن الباقي الأول والذي هو 4 جاء أول رقم من اليمين في النتيجة النهائية، أما الباقي الثاني والذي هو 15 أو الحرف F جاء ثانياً من اليمين بينما حاصل القسمة والذي هو الرقم 1 يأتي ثالثاً.
أسئلة:
1- كيف يتم تحويل الأرقام التالية إلى Hex وبشيء من التفصيل:
255، 256، 512، 768، 1024، 2048، 4096، 8192
2- هل توجد أنظمة أرقام أخرى وإن وجدت لماذا لا تستخدم على نطاق واسع بالمقارنة مع نظام Hex في عالم الكمبيوتر
3- كيف يتم التحويل العكسي للأرقام من Hex إلى Decimal
4- هل أن نظام Hex حساس بالنسبة للأحرف الكبيرة Capitals والأحرف الصغيرة smalls
نرجو المشاركة والتفاعل قدر الإمكان. فالمداخلات والإستفسارات وللأسف الشديد قليلة جداً وتكاد تكون معدومة ولا تبشر بخير على الإطلاق فهذا الموضوع أهم بكثير من تداول البرامج.
عمل نسخة إحتياطية لريجستري الويندوز Backing up Windows Registry
قبل البدء بتحرير أو بإجراء أي تغيير في الريجستري لابد بل يجب وأن يسبقه عمل نسخة إحتياطية للريجستري. لأن تنفيذ أي تغيير بطريقة خاطئة قد يؤدي إلى نتائج قد يكون مستخدم الحاسوب في غنى عنها.
عند تشغيل البرنامج المساعد Regedit أو regedt32 لعمل تحرير أو إجراء تغيير في الريجستري، فإن الريجستري تبدو وكأنها مكونة من ملف واحد صغير يقراءه هذا البرنامج المساعد ثم يظهره بسرعة على الشاشة. في الحقيقة أن الريجستري مكونة من أكثر من ملف يختلف عدد هذه الملفات وأماكن تواجدها من نسخة ويندوز لآخرى وكالآتي:
في بيئات 95، 98 وملينيومالملفات التي ممكن (ليس دائماً! لماذا) أن تتكون منها الريجستري هي System.dat، User.dat و Policy.pol ومسارات تواجدها هو مجلد ويندوز C:\Windows و C:\Windows\Profiles. علماً بأن هذه الملفات مخفية أي لا يمكن رأيتها مباشرة. هذا على إفتراض أن C هو القرص الصلب المنصب فيه الويندوز. إفتراضياً، حجم ريجستري ويندوز 95 هو 5 ميجابايت، حجم ريجستري ويندوز 98 هو 11ميجابايت، حجم ريجستري ويندوز ملينيوم هو 20ميجابايت.
في بيئات 2000 وإكسبيالملفات التي ممكن (ليس دائماً! لماذا) أن تتكون منها الريجستري هي Security, System.alt, Default, Sam, Software, System, Ntuser.dat, وغيرها من الملفات ومسارات تواجدها هو C:\Documents and Settings\User Name و C:\Windows\System32\Config. هذا على إفتراض أن C هو القرص الصلب المنصب فيه الويندوز. إفتراضياً، حجم ريجستري ويندوز 2000 هو 20 ميجابايت، حجم ريجستري ويندوز إكسبي هو 40 ميجابايت.
عمل نسخة إحتياطية لريجستري ويندوز 98 Backing up Windows 98 Registry
في بيئة ويندوز 98، فإن أفضل طريقة لعمل نسخة إحتياطية للريجستري هو بإستخدام البرنامج المساعد المسمى بفاحص ريجستري الويندوز Windows Registry Checker أو scanregw.exe الذي يأتي مندمجاً مع ويندوز 98. هذا البرنامج المساعد بالإمكان جعله يصنع نسخة إحتياطية للريجستري عند كل إقلاع لويندوز 98 كما يمكن جعله يصنع نسخة إحتياطية للريجستري عند الطلب أو متى ما ظهرت الحاجة الماسة لعمل ذلك. وعندما يقوم scanregw.exe بعمل نسخة إحتياطية لريجستري 98 فإنه سيخزنها بإسم تلقائي أساسه RBn.CAB، وما ستختلف فيه النسخ الإحتياطية للريجستري هو الرقم n الذي في الوسط. في الحالات الطبيعية فإن الرقم n يأخذ من 1 إلى 5 (ولكن يمكن زيادته!كيف). وكلما صنعت نسخة إحتياطية من الريجستري، قام البرنامج scanregw.exe برفع أو مسح الأقدم وإعادة ترقيم النسخ الباقية بحيث تكون الأخيرة هي الأحدث وهكذا. الإمتداد CAB قادم من CABINET أو بالعربي خزانة، R قادمة من Registry و B قادمة من Backup و n قادمة من number. يخزن البرنامج المساعد scanregw.exe النسخ الإحتياطية من الريجستري في مجلد مخفي إسمه SYSBACKUP في داخل مجلد الويندوز. وملخصاً: عندما يتم إستخدام البرنامج المساعد scanregw.exe لعمل نسخ إحتياطية من ريجستري ويندوز 98 تلقائياً فيجب أن يكون هناك وفي أي وقت خمس نسخ إحتياطية من الريجستري متواجدة في المجلد المخفي SYSBACKUP داخل مجلد الويندوز. وبالضبط نفس الطريقة المتبعة أعلاه يمكن إستخدامها لعمل نسخة إحتياطية لريجستري ويندوز ملينيوم.
إسترجاع ريجستري ويندوز 98 Restoring Windows 98 Registry
إذهب إلى الزر إبدأ Start، ثم إلى تشغيل Run، ثم أكتب command وإضغط على OK، وعندها ستدخل إلى الشاشة السوداء أو القشرة MS-DOS وظهور ال prompt. عندها أكتب cd\windows\command ثم إضغط على Enterوهذا بدوره سيغير إتجاه المسار إلى مجلد command داخل مجلد windows. عندئذ أكتب scanregw /restore وهذا كفيل بإستبدال الريجستري الحالية المراد التخلص منها بأحدث نسخة إحتياطية للريجستري، بعد ذلك إعمل إعادة تشغيل وينتهي الأمر. إذا أستعصي على أحد عمل إسترجاع للريجستري من خلال القشرة التابعة للويندوز، ممكن أن يعيد التشغيل بال safe mode لكي يصل إلى ال MS-DOS prompt، وحينئذ يكمل باقي الخطوات أعلاه لتكملة الإسترحاع.
إسترجاع ريجستري ويندوز ملينيوم Restoring Windows ME Registry
لإسترجاع أحدث نسخة إحتياطية من ويندوز ملينيوم إتبع الخطوات التالية: إذهب إلى الزر إبدأ Start، ثم إلى تشغيل Run، ثم أكتب scanregw /restore ثم أعد التشغيل. إذا لم تستطع بهذه الطريقة إعمل إعادة تشغيل بال safe mode وإتبع نفس الخطوات المتبعة في حالة ويندوز 98. هناك طريقة أخرى بإستخدام خاصية system restore الممكنة Enabled إفتراضياً.
عمل نسخة إحتياطية وإسترجاع لريجستري ويندوز 2000 Backing up and Restoring Windows 2000 Registry
لربما يعتبر ويندوز 2000 من أسهل البيئات لعمل نسخة إحتياطية للريجستري وإسترجاعها من خلال الأداة المساعدة backup المندمجة فيه. ولعمل نسخة إحتياطية من ريجستري ويندوز 2000 أو لإسترجاعها نتبع الخطوات التالية: نذهب أولاً إلى الزر إبدأ start، ثم برنامج Program ثم أدوات مساعدة Accessories ثم أدوات نظام System Tools ونختار الأداة المساعدة Backup ثم نكمل العمل حسب تسلسل الصور الثلاثة التالية:
[align=center]
[/align]
[align=center]
[/align]
[align=center]
[/align]
عمل نسخة إحتياطية وإسترجاع لريجستري ويندوز إكسبي Backing Up and Restoring windows XP Registry
للأسف ليس بالإمكان عمل نسخة إحتياطية لملفات الريجستري لويندوز إكسبي طالما يكون الويندوز شغال بوضعه الطبيعي.لأن عندما يكون ويندوز إكسبي شغال بالوضع الطبيعي فإن ملفات الريجستري ستكون مقفلة بالكامل fully locked ولا يسمح بالدخول إليها وبالتالي لا يمكن عمل نسخة إحتياطية للريجستري بأي من الطرق الكلاسيكية الآنفة الذكر أعلاه . إذا ما هو الحل هنا؟ أسهل طريقة لعمل نسخة إحتياطية لريجستري ويندوز إكسبي هي إستخدام خاصية أو ميزة إسترجاع النظام System Restore. أهم ما تمتاز به هذه الخاصية بالإضافة إلى عمل Backup هي القابلية على إسترجاع أهم ملفات النظام ليوم منصرم. إفتراضياً، تعمل خاصية System Restore على عمل backup للنظام تلقائياً في كل يوم إذا كانت ممكنة Enabled. ولعمل نقطة عودة لنظامك ومن ثم إسترجاعها بإستخدام هذه الخاصية فإتبع الخطوات التالية:
نذهب إلى الزر إبدأ Start، ثم البرامج All programs، ثم أدوات المساعدة Accessories ثم أدوات النظام System tools ثم إلى أسفل القائمة ونختار System Restore ثم نتابع الصور الستة التالية وبحسب تسلسلها
[align=center]
[/align]
[align=center]
[/align]
[align=center]
[/align]
[align=center]
[/align]
[align=center]
[/align]
[align=center]
[/align]
أسئلة:
1- هل أن زيادة حجم الريجستري من ويندوز 95 إلى ويندوز إكسبي أثر إيجاباُ أم سلباً على أداء بيئات الويندوز المختلفة؟ لماذا تضاعف حجم الريجستري من ويندوز 95 إلى إكسبي بثمانية مرات؟ هل أن زيادة الحجم ضرورية؟
2- هل يؤثر بقاء خاصية system restore ممكنة Enabled طوال الوقت على أداء وإستقرار كل من بيئتي ملينيوم وإكسبي؟ وإذا كانت تؤثر فكيف، وهل من الأفضل تعطيلها على طول وتمكينها فقط عند عمل backup؟
3- ما هي الصيغة أو الهيئة Format التي تخزن فيها الملفات التي تتكون منها الريجستري؟ هل هي ملفات نصية Text files أم ملفات مكتوبة بلغة برمجة معينة، أم ملفات تابعة لبرنامج قاعدة بيانات معين أم ماذا؟
4- هل هناك من طريقة أسهل لعمل Backup لأجزاء معينة من الريجستري من دون اللجوء إلى أي من الطرق الأنفة الذاكر أعلاه وبإختصار؟
وأخيرا وليس آخراً هناك العديد من البرامج المتوفرة هنا وهناك ولكافة البيئات لعمل نسخ إحتياطية وكذلك لإسترجاع الريجستري ولكني سوف لن أتطرق إليها لكون الوقت لا يتسع للحديث عنها أولاً وثانياً قد لا تكون في متناول الجميع مثل البرامج المساعدة التي تحدثنا عنها أعلاه والتي هي جزء من الويندوز
يتبع