داخل النظام ويندوز98

نظرة تقنية معمقة على نظام تشغيل شركة مايكروسوفت الجديد ويندوز98.


لم تتغير المعمارية الأساسية في ويندوز98 عن معمارية نظام ويندوز95. وتعتبر معظم المزايا الجديدة، امتداداً لمنصة ويندوز ذات العيار 32 بت (Win32)، مثل برامج WinSock 2.0، و WinInet، و Crypto API، بالإضافة إلى منتجات بُنيت باستخدام هذه الامتدادات الجديدة، مثل برامج NetMeeting، و NetShow، بل وحتى "إنترنت إكسبلورر". ولا بد بالطبع، من بعض التحسينات البسيطة التي سنناقشها بالتفصيل. لكن، وبشكل عام، فإن ضرورة التوافق التراجعي مع القاعدة الضخمة لنظام ويندوز95، بالإضافة إلى أن ويندوز98 هو آخر إصدارة لهذا النوع من نظم التشغيل Win32، تفرض أن لا تكون التغييرات جذرية، وإنما تطورات وتحسينات للوظائف والمزايا القديمة، مع بعض الإضافات الجديدة.

يزوّدنا ويندوز98، مثل ويندوز95 الذي سبقه، بنظام أساسي كامل من العيار 32 بت، يتضمّن خدمات "مدير الآلات الافتراضية" (Virtual Machine Manager, VMM)، و"مدير نظام ملفات قابل للتركيب" (Installable File System Manager)، وإمكانية إدارة عمليات تجهيز ميزة "ركّب وشغّل" (Plug and Play)، بالإضافة إلى الخدمات الأخرى الضرورية (انظر المخطط "معمارية نظام ويندوز98"). ينشئ برنامج VMM ويدير آلة افتراضية واحدة، تحتوي على جميع تطبيقات Win32 (والنظم الفرعية لنظام Win32)، بالإضافة إلى آلات افتراضية أخرى لتطبيقات دوس، التي تتطلب وصولاً حصرياً لموارد الآلة. ويتضمن برنامج إدارة الآلات الافتراضية، منظّم مواعيد (scheduler) متوافقاً مع نظام ويندوز إن.تي، ويزوّدنا بدعم لتعددية خيوط المعالجة الاحترازية (preemptive multithreading) لعمليات Win32، التي يتم كل منها في حيّز عناوين (address space) خاص بها. ويقوم النظام الأساسي أيضاً، بإدارة ملف التبادل (swap file) الديناميكي، بالإضافة إلى تحميل وإزالة برامج قيادة الأجهزة (device drivers)، وبروتوكولات الشبكة، حسب ما تدعوه الحاجة. وتمكّن هذه الطريقة، بشكل عام، نظام ويندوز98 من أن يكون أكثر قوة، عن طريق عزل شيفرة التطبيقات عن شيفرة النظام.

إن عملية المعالجة (process) في جميع نظم التشغيل عيار 32 بت، التي تنتجها مايكروسوفت (ويندوز 9x، وويندوز إن.تي، وويندوز CE) هي عبارة عن مرحلة من التطبيق يكون فيها خيط معالجة (thread) واحد على الأقل، في حالة عمل. ولكل عملية معالجة (process) حيز عناوين خاص بها، بسعة 4 جيجابايت، يحتوي على الشيفرات التنفيذية ومكتبات DLL، بالإضافة إلى جميع الثوابت والبيانات العامة. ولكل عملية معالجة، ملفات ومخصصات من الذاكرة (memory allocations) وخيوط معالجة، خاصة بها. وتنتهي، عند انتهاء عملية المعالجة (process)، جميع خيوط المعالجة المتبقية، ويتم تحرير جميع كائنات المستخدم وواجهات GDI المتعلقة بها، كما تُغلق جميع كائناتها الأساسية (kernel objects).

يمكن تعريف خيط المعالجة (thread) على أنه مسار تنفيذي واحد، ضمن عملية المعالجة. ويحتوي كل خيط من خيوط المعالجة على نسخة من مجموعة مسجّلات وحدة المعالجة المركزية (CPU registers)، وعلى مكدّس (stack) خاص به، في حيّز العناوين، ويقوم بتنفيذ الشيفرات الموجودة في حيّز العناوين العائد إلى عملية المعالجة هذه. وعند انتهاء عمل خيط المعالجة، يتم تحرير جميع كائنات المستخدم التي لديه. وتنتهي عملية المعالجة تلقائياً، عند انتهاء عمل آخر خيط من خيوطها.

ولأسباب عديدة ومتنوعة، بما في ذلك التوافق والأداء وإمكانية إعادة استخدام الشيفرة، صمم نظام ويندوز98، بحيث يوجد كل عنصر من العناصر الأساسية (Kernel, User, GDI) ضمن ملفّي DLL، لكي يزوّدنا بواجهة عيار 32 بت، وواجهة عيار 16 بت. ويتم استخدام عملية تدعى thunking للانتقال بين شيفرة 32 بت وشيفرة 16 بت. وبينما تتألف معظم نواة (Kernel) ويندوز98 من شيفرة عيار 32 بت الجديدة، إلا أن معظم عناصر النظام (User)، الذي يتولى أمر نظام النوافذ في واجهة الاستخدام، لا تزال من عيار 16 بت. وبشكل عام، فإن توزيع الشيفرة البرمجية بين ملفات DLL عيار 32 بت، وملفات DLL عيار 16 بت، غير مرئي بالنسبة للتطبيقات.

تم تحسين قوة نظم ويندوز 9x بشكل كبير، بالمقارنة مع الإصدارات عيار 16 بت. ونذكر بشكل خاص، أن ويندوز98 يستخدم طريقة أفضل للتأكد من صحة الثوابت في واجهات API، مما يعني رفض الكثير من أخطاء الشيفرات البرمجية، قبل أن تتمكن من الوصول إلى نظام التشغيل. ويعني استخدام قالب دخل غير متواقت (asynchronous input model)، والذي يعطي كل خيط من خيوط المعالجة رتلاً خاصاً به، من الرسائل المسندة إليه، ورتلاً للدخل الافتراضي، أن خيط المعالجة، الذي يبقى معلقاً دون إنجاز، لن يمنع الدخل (ضربات المفاتيح، ورسائل الماوس، وما شابه) من الوصول إلى خطوط المعالجة الأخرى. ونظراً لأن الكائنات يتم متابعتها عن طريق عملية المعالجة، وعن طريق خيط المعالجة (كما شرحنا سابقاً)، فإن نظام ويندوز 9x يحرر جميع الموارد التي لم يتم تحريرها، عند انتهاء عملية المعالجة. وتحرر حتى تطبيقات عيار 16 بت، عملياً، الموارد غير الحرة، عندما لا يكون أي تطبيق آخر، عيار 16 بت، في حالة عمل.

لا تقل أهمية زيادة السعة (capacity) عن أهمية زيادة القوة. وصممت نظم ويندوز 9x بحيث تتعامل مع أعداد وحجوم كبيرة نسبياً، من موارد النظام. وفيما يلي حدود موارد النظام التي لم تتغير، في نظام ويندوز98:

* سعة تحكمات قوائم ويندوز: 32 كيلوبايت.

* الموقّتات (timers): غير محدودة.

* بوابات COM وLPT: غير محدودة

* سعة البنود في كل صندوق قائمة: 32 كيلوبايت.

* البيانات في صندوق قائمة: غير محدودة.

* البيانات في عناصر edit control: غير محدودة.

* المناطق (regions): غير محدودة.

* الأقلام والفراشي الفيزيائية: غير محدودة.

* الأقلام والفراشي المنطقية: جميعها في جزء سعته 64 كيلوبايت.

* الفونطات المنطقية: 750-800

* الفونطات المركبة: 1000

* سعة بيئة التجهيزات: 16 كيلوبايت.


التحسينات الأساسية

كان أمام مايكروسوفت عدة سنوات، منذ أن طرحت نظام ويندوز95 لأول مرة، لإجراء تحسينات في نواة نظام التشغيل. ودمجت أحياناً، كما في حالة نظام الملفات FAT32، هذه التحسينات، في برمجيات التحديث OSR2 لويندوز95، ولم تحظ الإصدارة العربية بهذه التحديثات. لكن مايكروسوفت تمكّنت في نظام ويندوز98، من إحداث عدد من التحسينات المتمحورة حول الأداء، وبشكل رئيسي حول إدارة القرص الصلب والذاكرة، لكي تمكّن التطبيقات من العمل بشكل أكثر فاعلية. ويوفر ويندوز98 إمكانية تحميل بعض العناصر غير الضرورية (مثل برنامج Vredir.vxd في النظم التي لا تتطلب دعماً شبكياً آنياً)، ونقل الشيفرة المثبتة (locked code) إلى شيفرة قابلة للاستدعاء (pageable code) في بعض العناصر الأخرى (مثل ملف Vnbt.386). وبالإضافة إلى ما سبق، تقوم ميزة جديدة في مجال تبادل البيانات أثناء الوقت الحر (idle-time paging)، بكتابة البيانات إلى ملف المبادلة (swap file)، عندما لا يكون النظام مشغولاً.

يحتوي ويندوز98 عموماً، على نظام لإدارة الذاكرة أفضل من النظام المستخدم في ويندوز95. ويمكنك التحقق من ذلك بنفسك، عن طريق مراقبة ملف المبادلة، باستخدام البرنامج الخدمي System Monitor. وعليك، بشكل خاص، مقارنة بند Swapfile in use، في باب Memory Manager.

وأجريت تحسينات رئيسية أخرى في المجالات التالية:

إطلاق التطبيقات (launching applications): يأتي الاختناق الأكبر في إطلاق التطبيقات، عادة من نظام الدخل والخرج (I/O) للقرص الصلب. ونذكر مثلاً، أن عملية قراءة قطاع سعته 4 كيلوبايت (وهي سعة الكلستر في نظام FAT32) تستغرق 2 ميللي ثانية، فيما قد تستغرق عملية البحث عن كلستر آخر 12 ميللي ثانية، أي حوالي ستة أضعاف الزمن. ومن الواضح أن الهدف الرئيسي هو خفض عدد مرات عمليات البحث اللازمة لإطلاق تطبيق معين، إلى حدوده الدنيا. لكن، نظراً لأن الكلسترات لا يتم تحميلها، عادة، بشكل متجاور، فمن الضروري إعادة ترتيب الكلسترات في الملف للحصول على أفضل أداء. ويتطلب الأداء الأمثل لتطبيق محدد، القيام بثلاث خطوات:

1. تتبّع مواقع التخزين على القرص خلال إطلاق التطبيق.

2. إنشاء قائمة بحركة نقل الكلسترات، لإعادة ترتيبها.

3. تشغيل برنامج "جامع الشتات" (Disk Defragmenter) باستخدام قائمة النقل.

للقيام بهذا العمل، يحتوي ويندوز98 على برنامج Taskmon.exe، وهو برنامج صغير، يعمل باستمرار، للبحث عن بدء تشغيل خدمة CreateProcess. وعندما يكتشف البرنامج أن عملية معينة بدأت، يتفحص سجل النظام (registry) ليتأكد من العمل الأمثل للتطبيق. وإذا لم يكن التطبيق يعمل بشكل أمثل، فإن برنامج Taskmon يقوم بتحميل ملف Fiolog.vxd، الذي يجري عملية تتبّع للقرص (بل يلتقط عمليات القراءة من ذاكرة كاش)، ويُنشئ ملف تسجيل (log file) في مجلد مخفي يدعى applog ضمن دليل ويندوز. ويتم إزالة الملف Fiolog.vxd من الذاكرة بشكل آلي، بعد مرور عشر دقائق، بدون أي نشاط. وعند تشغيل برنامج جامع الشتات Defrag في المرة التالية، فإن كلسترات التطبيق تُرتّب بشكل أمثل، آلياً. ويمكن تحت الشروط المثالية (أي على قرص بكلسترات سعة 4 كيلوبايت)، اختصار زمن إطلاق التطبيقات إلى أكثر من النصف. والشيء الوحيد الذي ينبغي التنبه له، هو أن عملية التسجيل (logging) ذاتها يمكن أن تبطئ عملية الإطلاق بنسبة تقارب 7%، عند تحميل التطبيق لأول مرة. لكن لم يظهر أي تأثير ملحوظ على عمليات إطلاق التطبيقات التي تلي ذلك.

التعامل المباشر مع الشيفرة (MapCache): إحدى التحسينات الرئيسية في نظام ويندوز98، هي قدرة عملية المعالجة (process) على تنفيذ الشيفرة البرمجية، مباشرة من ذاكرة كاش المتوضعة على قرص النظام، بدلاً من أن تضطر إلى نسخها أولاً إلى حيّز العناوين الافتراضي، المخصص لعملية المعالجة. وتسمح هذه الميزة، التي تسمى MapCache، لعملية المعالجة، باستخدام مؤشر (pointer) إلى الشيفرة البرمجية الموجودة في ذاكرة كاش القرص، وتلغي ضرورة وجود الشيفرة البرمجية في كل من كاش القرص، وذاكرة عملية المعالجة (process memory)، على السواء، وتزيل أيضاً، العبء الملقى على عاتق النظام في إجراءات نسخ الذاكرة. ونظراً لإمكانية تنفيذ الشيفرة البرمجية مباشرة من ذاكرة كاش، فإن سعات هذه الذاكرة تكون أكبر عادة بالمقارنة مع نظام ويندوز95، فيما تكون سعة ذاكرة عملية المعالجة أصغر منها في ويندوز95. وتجدر الإشارة إلى أنه نظراً لأن ذاكرات كاش، للشبكة والقرص الصلب والأقراص المدمجة وتبادل البيانات (paging)، مدمجة كلها معاً، فإن نتائج ذاكرة كاش، ونتائج الأداء، ستكون أفضل مع زيادة سعة الذاكرة.

ميزة WinAlign: تستخدم الذاكرة في رقاقات إنتل x86، صفحات بسعة 4 كيلوبايت، ويعني ذلك أنه لكي تتمكّن ميزة MapCache من العمل، يجب أن تكون صفحات الشيفرة البرمجية، في كاش القرص، متراصفة إلى جانب بعضها البعض، بوحدات 4 كيلوبايت. لكن الملفات التنفيذية تُجمع عادة، بوحدات 512 بايت، مما يعني أن احتمال الإحالة إلى صفحة معينة من ذاكرة كاش هو 1 إلى 8. وقد طورت مايكروسوفت ميزة WinAlign لإعادة بناء تقسيمات الملفات التنفيذية بأقسام 4 كيلوبايت، بحيث تتوافق مع سعة صفحات الذاكرة.

يعيد برنامج WinAlign كتابة ترويسات الملف (file headers)، ثم يقوم بكتابة جدول تقسيمات جديد، متبوعاً بتقسيمات الملف، بحيث يبدأ كل منها بحدود 4 كيلوبايت. ويقوم عندها بتحديث جدول التقسيمات الجديد، ويُسلسلها في نهاية الملف، إذا كانت رموز الكشف عن الأخطاء موجودة. ويقوم أخيراً، بتحديث الترويسة ليشير إلى أن الملف أصبح متراصفاً بوحدات 4 كيلوبايت، ويحدّث تواريخ الملف بشكل مناسب. ونحصل بالنتيجة، على ملف أكبر بقليل، من السابق. ويكتب WinAlign معلومات تقسيم الملف الأساسي، ومعلومات تقسيم الملف المتراصف، في سجل النظام (registry)، فيصبح ممكناً استخدامها لإعادة بناء الملف الأساسي، إذا دعت الضرورة (من المحتمل أن يكون الملف متراصفاً مسبقاً لأسباب أخرى، وقد لا تكفي لذلك، إعادة وضع التقسيمات بشكل متسلسل).

يغير برنامجWinAlign فيزيائياً، محتويات الملفات، ولذلك يجب أن لا يستخدم مع الملفات التي تعتمد على ترتيب دقيق للبايتات. ويجب، مثلاً، أن لا تستخدم برنامج WinAlign مع ملفات الإصلاح (patch files)، أو الملفات التي تتطلب خانات المجموع (checksums)، مثل الاستخراج الذاتي لأرشيف ملف Pkzip، أو البرامج المضادة للفيروسات، أو الملفات الموقعة رقمياً (التي ستسبب فشل التأكد من التوقيع). يفحص برنامج WinAlign عملياً، ترويسة الملف، ويتحسس ويهمل الملفات الموقعة رقمياً، بالإضافة إلى ملفات نظام ويندوز إن.تي.

تأتي جميع ملفات النظام الثنائي (الملفات التنفيذية وملفات DLL) التي تُشحن مع نظام ويندوز98، متراصفة بشكل مسبق. وبالإضافة إلى ذلك، فإن برنامج الإعداد Windows 98 Setup، يبحث عن ملفات طاقم أوفيس، ويحقق التراصف فيها. ويضيف برنامج الإعداد برنامج WinAlign إلى منظم المهام Task Scheduler، ويضبطه بحيث يعمل كل شهر، أثناء عمل برنامج Tune-up Application Start. وقد دعت مايكروسوفت الشركات المنتجة للتطبيقات، والفرق المسؤولة عن منتجاتها، إلى تحقيق التراصف في ملفات النظام الثنائي، في الإصدارات المستقبلية.

سجل النظام (Registry): ظل سجل النظام نقطة ضعف ونقطة قوة نظام ويندوز، لكن إجراء تغييرات صغيرة عديدة، في الطريقة التي يتعامل بها ويندوز98 مع سجل النظام، قد ساعد على معالجة أكثر المشاكل جدية. ونظراً لأن ملف سجل النظام يعتبر مستودعاً مركزياً لجميع المستخدمين، والبرمجيات، وتحديدات النظام، فإنه يحل محل ملفات INI، ويقدّم وصولاً أسرع وأكثر تحكماً، للتحديدات المخصصة لكل مستخدم على حدة. وخلافاً لملفات INI، فإن ملف سجل النظام (registry) يمكن أن يحتوي على مختلف أنواع البيانات، سواء كانت بيانات نصية أو ثنائية (binary). ويتم الوصول إلى سجل النظام (حتى لو كان بشكل غير مباشر، عن طريق إحدى الأدوات المساعدة مثل RegEdit) عن طريق وظائف سجل النظام في واجهة Windows API، ويمكن أن تُستخدم هذه الوظائف مع سجلات النظم، المفتوحة على الكمبيوترات البعيدة. وتتم عادة، مشاهدة وتعديل سجلات النظام عن بعد، من قبل المشرف على النظام، الذي يعمل في الغالب على ويندوز إن.تي، إلا أنه يمكن لمستخدم ويندوز98 أن يستخدم سجلات النظام على الكمبيوترات الأخرى، بعد تركيب خدمة "التحكم بسجل النظام عن بعد" (Remotereg)، من مجلد Admin\Netools.

وأكبر تحسين جرى على سجل نظام ويندوز98، هو إضافة البرنامج الخدمي "فاحص سجل النظام" (Registry Checker)، والمتوفر بواجهة ويندوز (ScanRegW)، وواجهة دوس (ScanReg). يقوم برنامج Registry Checker لدى كل تشغيل للكمبيوتر، بمسح سجل النظام، بحثاً عن أي بنية غير متناسقة. وينشئ هذا البرنامج الخدمي نسخة احتياطية من سجل النظام مرة واحدة في اليوم. وإذا وجد مشكلة معينة، فإنه يحاول أولاً، أن يسترد التحديدات الموجودة على نسخة احتياطية سليمة. وإذا لم يكن هذا ممكناً، يحاول البرنامج إصلاح المشكلة بنفسه. ويبحث برنامج Registry Checker عن المساحات الحرة في سجل النظام، ويزيلها آلياً، إذا أصبحت المساحة الإضافية كبيرة جداً، مما يؤدي إلى تخفيض زمن الإقلاع، ويحسّن استخدام الذاكرة وأداءها. وعند إنشاء نسخة احتياطية لسجل النظام، ينشئ هذا البرنامج الخدمي ملف CAB مضغوطاً، في دليل Sysbckup، الذي يتضمن ملفات User.dat، و System.dat، و Win.ini، وSystem.ini. ويمكن للمستخدمين تشغيل برنامج ScanReg، أو برنامج ScanRegW، بشكل تفاعلي، لإجراء نسخ احتياطية من سجل العمليات، بتواتر يزيد على مرة واحدة في اليوم، كما يمكنه تغيير العديد من خياراته (المتوضعة في ملف Scanreg.ini). والقيمة التلقائية لعدد مرات النسخ الاحتياطي هي خمسة، ويمكن للمستخدم أن يغيرها، وأن يحدد، أيضاً، المجلّد الذي سيحمل النسخ الاحتياطية، وتحديد ملفات إضافية، لتدخل ضمن النسخ الاحتياطي.

تسريع عمليات تشغيل وإيقاف الكمبيوتر: تصرّ مايكروسوفت على أن أكثر من نصف مدة زمن الإقلاع، في معظم الأجهزة، ينفق على مرحلة الاختبار الذاتي أثناء الإقلاع (power-on-self-test, POST). وبالإضافة إلى عملها مع شركات إنتاج الكمبيوتر، لتقليل زمن الاختبار الذاتي POST، عن طريق مواصفة Simple Boot Flag Specification، عملت الشركة على حذف تحميل برامج القيادة غير الضرورية، بل وحتى قضت على تأخير الإقلاع المتعمد، الذي يستغرق ثانيتين، في نظام ويندوز95، لإتاحة استخدام مفتاح F8 (عليك الآن الضغط على مفتاح Ctrl الأيسر أثناء الإقلاع). وبشكل عام، يساوي زمن إقلاع ويندوز98 زمن إقلاع ويندوز95، تقريباً، على الرغم من أن الإصدارة الجديدة تتضمن مزايا أكثر.

ألغت مايكروسوفت، في مجال إيقاف عمل النظام، ضرورة إزالة تفعيل برامج القيادة، التي تُفعّل مجدداً عند إعادة التشغيل، كما عملت على تسريع تنظيف كاش القرص (بدون فقدان أي بيانات، بالطبع!). ويجب أن ينخفض، بشكل عام، زمن إيقاف النظام عن العمل، بالنسبة لأي جهاز قياسي على الشبكة، من حوالي 20 ثانية تحت ويندوز95، إلى أقل من 5 ثوان تحت ويندوز98.

برامج القيادة والتجهيزات: أضاف ويندوز98 الدعم اللازم للعديد من التجهيزات. ويمكن فعلياً، أن يكون الجهد الذي خُصص لزيادة دعم العتاد، أكبر مما بذل على أي قسم آخر في ويندوز98. فبالإضافة إلى دعم ميزة APM 1.2، ومواصفة ACPI (المقترحة من قبل شركات إنتل ومايكروسوفت وتوشيبا)، والتي تحدد مواصفات قياسية لإدارة الطاقة في الكمبيوترات الشخصية، أضيف دعم للعديد من الأجهزة التي تعتمد تقنيات جديدة، مثل IrDA، وUSB، وHID، وIEEE 1394، وAGP، وICM، وDVD. وتم تأمين دعم هذه الأجهزة، عن طريق طبقة برامج قيادة، بين نظام التشغيل الأساسي والعتاد بحد ذاته (انظر المخطط "طبقات نظام ويندوز98").

على الرغم من استمرار دعم ويندوز98 برنامجي القيادة Universal Driver، و Virtualization Driver (VxD)، أُضيف برنامج القيادة الجديد Win32 driver Model (WDM)، لتأمين التوافق مع ويندوز إن.تي، عبر عزل الوظائف المتعلقة بالعتاد في برنامج القيادة، عن الوظائف المتعلقة بنظام التشغيل، مما يمكّن برنامج القيادة WDM من العمل على أكثر من نظام تشغيل واحد. وتم في نظام ويندوز98، تأمين دعم لبرنامج القيادة WDM، ببناء مجموعة محدودة من خدمات ويندوز إن.تي الجوهرية، في برنامج قيادة الأجهزة الافتراضي Ntkern.vxd. وتزوّدنا برامج قيادة الأجهزة المتوافقة مع برنامج WDM، والمقدمة مع ويندوز98، بدعم للأجهزة الجديدة، التي أشرنا إليها.

التشبيك: تم توسيع خدمات التشبيك بعدة طرق في نظام ويندوز98. فبالإضافة إلى دعم مبيت للزبون (client)، في الشبكات الافتراضية الخاصة (VPN)، باستخدام بروتوكول PPTP، تضمّن ويندوز98 تحسينات لمواصفة NDIS 5، للشبكات المتمحورة حول الوصلات (connection-oriented)، مثل شبكة ATM، وشبكة ISDN. وتم تضمين نظام ويندوز98 ميزة "ترميز الاتصال" (Dialup scripting) الموجودة سابقاً، في إضافات PLUS! من مايكروسوفت، بالإضافة إلى تضمينه ميزة "تجميع الأقنية المتعددة" (multilink channel aggregation)، لجمع عدة قنوات اتصالات، مثل قناتين ISDN B-channels. وتوجد ميزة جديدة في بروتوكول TCP/IP، مفيدة بشكل خاص للكمبيوترات المحمولة (المفكرات notebooks)، وهي عنونة بروتوكول IP الشخصي آلياً، والتي تقوم بتعين عنوان IP، في الحالات التي لا يكون مزوّد DHCP متوفراً.

مراقيب متعددة: يدعم ويندوز98 استخدام عدة مراقيب، أو أجهزة عرض، من كمبيوتر واحد. ويمكّن هذا الدعم، المسمّى MultiMon، نظام التشغيل من استخدام مساحة العرض، من بطاقتي PCI أو أكثر (والمراقيب المرتبطة بهما)، لإنشاء شاشة منطقية واحدة. ويستطيع المستخدم أن يعرض التطبيقات على أي مرقاب، بل ويمكنه سحب وإسقاط نوافذ التطبيقات بين المراقيب. وأضيفت، أيضاً، بعض التعزيزات التي كانت موجودة في نظام PLUS!.


برنامج WIN32 الجديد

بدلاً من إضافة وظائف جديدة إلى مكتبات العناصر الأساسية في نظام ويندوز (Kernel, User, GDI)، قدمت مايكروسوفت في السنوات الأخيرة، وظائف جديدة في نظم تشغيلها، إما عن طريق إضافة واجهات API جديدة، أو عبر خدمات اتصالات جديدة. وتميل هذه الوظائف الجديدة، أيضاً، إلى التأرجح ذهاباً وإياباً بين نظم ويندوز 9x، ونظام ويندوز إن.تي، وذلك تبعاً لتاريخ إطلاق الإصدارات الرئيسية، باستثناء برمجيات Windows NT Option Pack.

شبكة إنترنت: من الواضح جداً أن ويندوز98، جعل متصفّح إنترنت إكسبورر جزءاً من نظم التشغيل ويندوز 9x. لكن ما قد لا يكون بهذا الوضوح هو أن العديد من التقنيات المتعلقة به (البروتوكولات الشائعة، المبنية على إنترنت، مثل بروتوكول HTTP وبروتوكول FTP، والمواصفات القياسية مثل HTML، وDHTML، وXML، بالإضافة إلى آلة جافا الإفتراضية Java VM) أصبحت، أيضاً، جزءاً من هذه المنصة. وإذا كشفنا الغطاء عن نظام ويندوز98، سنجد أن متصفّح إنترنت إكسبلورر هو عبارة عن مغلّف للوظائف المنفّذة في عناصر النظام، مثل برنامجي Shdocvw.dll، و Wininet.dll (انظر الشكل 1). وهذا يعني أن التطبيقات الأخرى، يمكنها الآن أن تدمج وظائف التصفّح (browsing)، وإكساءات HTML (HTML rendering) من برنامج Shdocvw.dll، أو استدعاء برنامج Wininet ذاته، للقيام بعمليات نقل البيانات مباشرة عن طريق بروتوكولي HTTP، وFTP. ويستطيع المطورون أيضاً، استخدام المزايا الجديدة في برنامج Winsock 2.0، لكن العديد منهم سيرضى بالتجريدات عالية المستوى، في هذه العناصر الوسطية، وسيستخدمها لبناء مستندات مبنية على لغة HTML، وعمليات نقل الملفات، وإنشاء وصلات ويب، ضمن تطبيقاتهم.

واجهة CryptoAPI: يتضمن نظام ويندوز98 أيضاً، اتصالات آمنة، وتصديقات رقمية (digital certificates)، وتشفيراً بالمفتاح العام أو الخاص، فوق واجهة مايكروسوفت CryptoAPI المؤلفة من عدة طبقات. وتستخدم هذه التقنية على سبيل المثال، من قبل برنامج Microsoft Wallet، وهو عنصر اختياري من متصفّح إنترنت إكسبورر. كما أنها تُستخدم أيضاً لإعداد وصلات SSL، والتأكد من التصديقات الرقمية على الملفات المنقولة عبر إنترنت، وتوقيع البريد الإلكتروني رقمياً، باستخدام برامج مثل Outlook Express. ويخزن برنامج Crypto-graphic Service Provider المعلومات في سجل النظام (registry)، لكن الشركات الأخرى يمكنها أن تحقق الأمن بطرق أخرى، مثل البطاقات الذكية (smart cards).

مكتبة DirectX 5: تعطي هذه المجموعة من واجهات API، للألعاب بشكل خاص، وصولاً مباشراً إلى عتاد الملتيميديا في النظام. وتتألف مكتبة DirectX من العناصر التالية:

* واجهة Direct3D، وهي واجهة إلى وظائف الرسوميات ثلاثية الأبعاد (3D)، في برامج قيادة شاشة العرض.

* برنامج DirectAnimation: يجمع أوساطاً مختلفة للعروض التقديمية الديناميكية.

* برنامج DirectDraw: يزوّدنا برسوميات ثنائية الأبعاد سريعة، باستخدام إمكانات تسريع العتاد، في موائم الفيديو، ويُستخدم للتعامل مع أجهزة عرض متعددة.

* برنامج DirectInput: يعالج الدخل من عصي التحكم (joysticks)، وأجهزة الدخل المستقبلية لويندوز.

* برنامج DirectSound: يزوّدنا بإمكانية الوصول إلى عمليات المزج وإعادة التشغيل، في موائم الصوت.

* برنامج DirectShow (المعروف سابقاً باسم Active Movie): يمكّننا من التقاط وتشغيل تيارات الملتيميديا.

برنامج Winsock 2.0: يعتبر برنامج Windows Sockets (Winsock)، برنامجاً قياسياً يمكّن نظم ويندوز من الاتصال عبر الشبكة، مع النظم المبنية على نظام ويندوز والنظم الأخرى (مثل نظام يونيكس)، التي تدعم مقابس Berkeley. ويرفق مع ويندوز95 برنامج Winsock 1.1، الذي كان محدوداً ببروتوكول TCP/IP، ويدعم التشغيل المتواقت. بينما يرفق مع ويندوز98 برنامج Winsock 2.0 (يمكن ترقية نظام ويندوز95 باستخدام Wsockupd.exe من موقع FTP لشركة مايكروسوفت)، الذي يتضمّن عدداً من المزايا المحسنة. فبالإضافة إلى دعم بروتوكولات متعددة عبر الشبكات، غير بروتوكول TCP/IP، يستخدم برنامجWinsock 2.0 معمارية تزويد لتأمين الإعلام غير المتواقت، المبني على الأحداث، ولدعم جودة الخدمة (QoS) لعرض الحزمة، والعطالة الزمنية والتأخير، وتسجيل وكشف اسم الخدمة، وإمكانات النقاط المتعددة (بما فيها البث المتعدد). ويركب ويندوز98 بروتوكول Resource Reservation Protocol لمعالجة طلبات QoS، وإعادة التخديم، ومن ثم مراقبة عرض حزمة الشبكة حسب الطلب. ويستفيد برنامج NetMeeting من تعددية النقاط لعقد مؤتمرات البيانات، ويستخدم برنامج Netshow البث المتعدد (multicast) لاستقبال تيارات الملتيميديا في الزمن الحقيقي.

برنامج DCOM: قُدم برنامج Distributed COM، واسمه القديم Network OLE، في البداية مع ويندوز إن.تي 4.0، ثم أصبح متوافراً لنظام ويندوز95. يمكّن برنامج DCOM، بشكل أساسي، العناصر من التعامل مع بعضها البعض، عبر الشبكات المبنية على RPC. وتحفظ التحديدات، بما فيها الكمبيوتر الذي سيعمل عليه العنصر، في سجل النظام (registry)، ويمكن تجهيزه آلياً باستخدام برنامج Dcomcnfg.exe. ولا تزال مايكروسوفت تستخدم مصطلح OLE بدلاً من COM، للتكامل بين التطبيقات، على الرغم مما يسببه ذلك من إرباك.


البرامج الخدمية والإدارية

أصبحت إدارة ويندوز98، أكثر تعقيداً، كما هو متوقع، مع هذا العدد من المزايا الجديدة. فبالإضافة إلى برنامج Registry Checker، الذي ناقشناه أعلاه، يتضمن ويندوز98 العديد من الأدوات الجديدة والمحسّنة، لتشخيص وتصحيح أكثر مشاكل النظام حدوثاً.

* يحتوي برنامج System Information (Msinfo32.exe) على معلومات أكثر بكثير من المعلومات الموجودة في نظام ويندوز95، ابتداءً من برامج القيادة (Kernel, Use, DOS)، وانتهاءً بتحديدات العتاد والعناصر.

* يجمع برنامج Dr. Watson (Drwatson.exe) المعلومات عن أعطال البرمجيات. وتحتوي الإصدارة التي تأتي مع نظام ويندوز98 على خيارات تشكيل جديدة، وتزوّدنا بطريقة ملائمة لمشاهدة ملفات سجل العمليات.

* يقوم برنامج System File Checker (Sfc.exe) بعملية مسح بحثاً عن ملفات النظام التي تغيّرت، ويمكّنك من استعادة الملفات من موارد التركيب. ويعمل هذا البرنامج عن طريق حساب ومقارنة خانات المجموع CRC checksums، مع المعلومات الأساسية المخزّن في ملف Default.sfc، لتحديد إذا كان ملف معين تغيّر أم لا. ويمكن تحديد الملفات والمجلدات المطلوب مسحها، من قبل المستخدم، وكذلك خيارات الاسترداد.

* يمكّنك برنامج Signature Verification Tool (Sigverif.exe) من البحث عن الملفات الموقعة، أو غير الموقعة، رقمياً (ملفات EXE و DLL، وملفات أخرى مثل OCX و CAB و JavaJAR)، وتفحص مصداقيتها.

* يكشف برنامج Automated Skip Driver (Asd.exe) عن برامج قيادة الأجهزة، التي فشلت في التحميل أثناء عملية بدء التشغيل. ويتم إيقاف برامج القيادة التي تسبب المشاكل، وتسجل في ملف Asd.log.

* يعالج برنامج Version Conflict Manager (Vcmui.exe) المشكلة التي قد تعاني منها عندما يريد أحد برامج النظام، تركيب عنصر أقدم (اعتماداً على رقم إصدارة الملف، وليس التاريخ) من العنصر الموجود في نظامك. وإذا اخترت استبدال هذا الملف، فإنه سوف ينتقل إلى مجلد VCM في دليل ويندوز، مع تغيير امتداده إلى.000. ويبين لك برنامج Version Conflict Manager هذه الملفات، وتاريخ نسخها الاحتياطية، وأرقام الإصدارات للملف المنسوخ والملف الحالي، لفحص هذا الدليل واسترداد الملفات الضرورية، بدلاً من إعادة تركيب البرنامج الذي يعتمد عليها. لكن برنامج VCM الذي يسهل عملية إعداد نظام ويندوز98، لا يعمل مع برامج تركيب التطبيقات الأخرى.

* يعتبر برنامج Microsoft Management Console (MMC) أحد أدوات الإدارة الرئيسية في ويندوز إن.تي. وهو قشرية تحتوي على فقرات تقوم بتنفيذ مهام إدارية. ويوجد برنامج MMC ضمن مجموعة Windows 98 Resource Kit، لكن شركة مايكروسوفت ضمنته فقرة واحدة، وهي برنامج Windows 98 Resource Kit Tools Sampler، والذي يعتبر مجرد برنامج إطلاق لمجموعة من برمجيات الإدارة والتجهيز، المستقلة عن بعضها البعض، والتي لا تعمل في MMC. و يمكنك أن تستخدم، أيضاً، MMC لمشاهدة المجلدات وتحكمات ActiveX، ووصلات ويب.


ويندوز98 مقابل ويندوز إن.تي

على الرغم من جميع هذه الأشياء المشتركة بين نظامي ويندوز 9x، و NT، لكن بينهما عدداً من الفروق المهمة، والتي قد لا تجد طريقاً إلى الحل. ويتعلق أكثر هذه الفروقات وضوحاً بمنصة العتاد ذاتها، إذ صممت نظم ويندوز9x للعمل على معالج واحد تحت معمارية x86، لكن نظام ويندوز إن.تي أكثر تدرجاً، ويدعم المعالجة المتعددة المتناظرة، على معالجات Intel x86 ومعالجات Alpha، من شركة Digital (وهي الآن إحدى شركات كومباك). ومن الاختلافات أن نظام ويندوز 9x يلقى دعماً محدوداً من المزود، وهو لا يتضمن، مثلاً، خدمات مشابهة لما هو موجود في ويندوز إن.تي (أو برنامجه Service Control Manager)، ولا يقوم بعملية تسجيل الأحداث (event logging)، كما أن نظم الملفات غير متوافقة مع بعضها البعض (يستخدم ويندوز إن.تي نظام الملفات NTFS، بينما يستخدم ويندوز 9x نظام الملفات FAT32)، على الرغم من أن مايكروسوفت قالت أن ويندوز إن.تي 5.0 سوف يدعم نظام الملفات FAT32، وأن ويندوز98 يدعم برمجيات الزبون في نظم الملفات الموزعة Distributed File Systems في ويندوز إن.تي 5.0.

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

فارق آخر مهم، وهو أن ويندوز98 ليس بمستوى أمن ويندوز إن.تي، ولا يمكنه أن يكون بمستواه. ففي نظام ويندوز إن.تي، وباستثناء برامج قيادة الأجهزة، يجب أن يمر الوصول إلى موارد النظام، عبر واجهة Win32 API، التي تتضمن ثوابت الأمن والولوج، والتي تهملها نظم ويندوز 9x. ويتضمن ذلك جميع الموارد، بدءاً من نظام الملفات (نظام الملفات NTFS يمكن أن يكون محمياً أمنياً، فيما لا يمكن النظام Win32 أن يكون كذلك)، وسجل النظام (لا يقتصر الأمر على إمكانية حماية سجل النظام ويندوز إن.تي من الناحية الأمنية، بل يمكن تشفير المدخلات ضمنه)، وصوصلاً إلى كائنات وحدة تنفيذ النظام. كما أن نظام ويندوز إن.تي مصمم منذ البداية للاستخدام عالمياً، ولذلك فهو يدعم الشيفرة القياسية Unicode. بينما يستخدم ويندوز 9x طريقة الترميز DBCS معظم الوقت، لكنه يستخدم شيفرة Unicode لعناصر معينة فقط، مثل مكتبات OLE DLL التي يتشارك بها مع نظام ويندوز إن.تي.

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