أثناء الستينات من القرن الماضي كانت الشركات و الجامعات تتعامل مع الحاسبات الكبيرة مثل Mainframes و التي كانت تحتل حجم حجرة بأكملها ، و بعد ظهور تكنولوجيا جديدة ظهرت حاسبات أصغر حجماً و هي (محطات العمل) Minicomputers (Workstations) و في أول ظهورها كانت تحتل عدة دواليب. و استخدم في بنائها الترانزستور.
MULTICS – 1964 :
و من أجل تشغيل GE-645 mainframeلصالح شركة جنرال إليكترك General Electric دخلت شركات: جنرال إليكترك و MIT و Bell Labs في مشروع تصميم نظام تشغيل لهذا الحاسب سنة 1964و كان اسم النظام MULTICS
Multiplexed Information and Computing و هي تعني بالتقريب تجميع المعلومات و الحسابات.
و كان النظام يستخدم في تصميمه برنامج PL/I compilerالقديم و الذي كان بطيئاً.
في سنة 1969خرجت شركة Bell Labs التابعة لشركة AT&T من هذا المشروع للعمل في نظام UNIX
UNIX in Assembler – 1971:
بدأ المهندس كين طومسون Ken Thompson في إعادة كتابة نظام MULTICS باستخدام لغة البرمجة المعروفة باسم Assembler و ذلك لكي يشغل به محطة العمل minicomputer PDP-7الخاصة بشركة DECو كان سبب تسمية نظام التشغيل UNICS و هي تعني UNIplexed Information and Computing Service مزاح من أحد الزملاء ثم أصبح الاسم بعد ذلك UNIXحسب نطق الكلمة. و هناك بعض التعديلات أدخلت على النظام بخصوص التعامل مع الذاكرة و الملفات ليطور أداءه.
UNIX in C Language – 1974 :
عند الحاجة لإعادة كتابة نظام التشغيل لمحطة Minicomputer PDP-11 التي كانت تطوير لمحطة العمل القديمة PDP – 7 ، و لتفادي العمل المضني بلغة Assembler قرر كين طومسون إستخدام لغة برمجة متطورة المستوي مثل لغة C Language.
كان المهندس دينيس ريتشي Dennis Ritchie قد قام بتطوير برنامج للبرمجة C compiler بلغة C Language ليعمل على محطة العمل PDP – 11. و تعاون دينيس ريتشي و كين طومسون في إعادة كتابة نظام تشغيل UNIX بلغة C language. ثم نشرا بحثاً عن نظام تشغيل UNIX سنة 1974.
بعد نشر هذا البحث طلبت الجامعات نسخاً من نظام تشغيل UNIX و لما كانت الشركة الأم AT&T لم يصرح لها بعد العمل في مجال الحاسبات فلم يكن لديها مانع من توزيع رخص مجانية إلى الجامعات و الشركات الأخرى و معها مادة البرنامج مكتوبة بلغة C Language و هو ما يطلق عليه مصطلح UNIX Source Code.
بعدها حدث تطور كبير بعد انتشار النظام هذا الانتشار الواسع لأن الطلبة و الأساتذة كانوا يصلحون عيوب تظهر لهم لأن تدوين البرنامج Source Code كان متوفراً فكان من السهل تعديله و إعادة تنزيله على الحاسب مرة أخرى. و أخذت نسخ معتمدة تظهر مثل
UNIX Version 6 مصحوبة بدليل الاستخدام و مادة البرنامج المكتوبة.
Portable UNIX
من الإكتشافات المهمة في مجال برمجة نظم التشغيل إكتشاف أن يكون النظام قابل للنقل من محطة عمل إلى أخرى Portable و ذلك بدون ضرورة إعادة كتابة البرنامج بأكمله منذ البداية. و تكون محتاجاً فقط إلى الآتي:
1- كتابة برنامج C Compiler لمحطة العمل الجديدة
2- كتابة برامج تعريف الأدوات و الكروت Device Drivers المستخدمة في محطة العمل
3- كتابة ما يختص بمحطة العمل من برامج مثل ( إدارة الذاكرة و عمليات المعالجة )
و كان نقل Porting نظام تشغيلUNIX من محطة عمل PDP – 11 إلى محطة عمل Interdata 7/32 خطوة مهمة سنة 1977 و كانت سبباً في بداية التفكير في نظام الشبكات.
UNIX System III – 1982
بعد انفصال شركة AT&T عن الحكومة و أصبح مصرح لها العمل في مجال الحاسبات قامت بإنتاج أول منتج تجاري خاص بها و هو UNIX System III سنة 1982 و أعقب ذلك إنتاج UNIX System V Release 1 المعروفة بالاختصار SVR1 و هي قائمة على نسخة UNIX version 7 و ذلك بعد إضافة التعديلات التي قامت بها الجامعات و الشركات الأخرى. تم إصدار SVR2 و SVR3 بعد ذلك في سنة 1984و هما أكثر تطورا و أكبر حجماً من SVR1. هذه المرة لم تكن مادة تدوين البرنامج Source Code توزع مع النسخة المرخصة.
UNIX System V Release 4
سنة 1989 قامت الشركة بإصدار UNIX System V Release 4و المشهورة باسم SVR4 بالتعاون مع شركة Sun Microsystems و ذلك لدمج التغيرات التي قام بها كل من جامعة كاليفورنيا في بيريكلي Berkeley في نسختها المعروفة باسم BSD و نسخة SunOS القائمة على BSD4 و نسخة Xenix.
استمرت AT&T بإنتاج الإصدارات حتى SVR4.2 بعد تكوين شركة USL سنة 1991.
في عام 1992 تم بيع شركة USL و معها حق ملكية نظام تشغيل UNIX System V إلى شركة Novell التي بدأت في إصدار إنتاجها الخاص UNIXWare و ذلك في محاولة التغلب على شركة Microsoft بعد إنتاج الأخيرة منتج Windows NT الذي كان متأثر بنظام NETWare الخاص بشركة Novell إلى أن اضطرت لبيع بعض المواد الخاصة بها فانتقلت العلامة التجارية و حق منح الشهادات لنظام UNIX إلى شركة X/Open في سنة 1994 و باعت UNIX system و مادة البرنامج المكتوبة إلى شركة SCO Group في سنة 1995 و هناك قضية مرفوعة بين الطرفين الأخيرين فيما يخص مادة البرنامج المكتوبة لأن Novell تقول أنها مازالت تمتلك حقوق ملكية UNIX Core و حق رفض منح رخص مستقبلية و نسبة 95 % من إيراد بيع الرخص
بحلول عام 1993 كانت معظم النسخ الموجودة في العالم قد قام منتجيها بجعلها معتمدة بشكل أساسي علي SVR4 مع إدخال خصائص عديدة مهمة من BSD.
BSD UNIX – 1977 :
كانت جـامعة كاليـفورنيا في بيريـكلي قدحصــلت منذ زمن على نســخة من UNIX System version 6 و لأن مادة البرنامج المكتوبة UNIX Source Code كانت موجودة فقد استطاعت الجامعة تطوير النظام إلى حد كبير. و كانت قد أصدرت نسخة 1BSD
( Berkeley Software Distribution) version (1.x)و بعده إصدارات 2BSD بنسخها المتتالية لتعمل على تشغيل محطة العمل PDP – 11 .
في عام 1980ظهرت النسخة الأكثر أهمية و هي 3BSD التي أعقبها 4BSD لتشغيل محطة العمل Vax Machine
UNIX 4BSD
سنة 1981 ظهرت 4BSD (Berkeley Software Distribution version 4) و بها عدة مميزات منها:
1- تطوير استخدام الذاكرة بما يعرف باسم Virtual Memory
و ذلك بضم جزء من القرص الصلب Hard disk ليعمل بمهمة الذاكرة مع الذاكرة الأساسية الموجودة بالحاسب RAM
2- تطوير نظام الملفات File System ليكون أكثر سرعة
3- إنتاج بعض البرامج النافعة مثل Vi editor, csh shell, Pascal
4- إنتاج حزمة بروتوكول الشبكات TCP/IP ليكون الأكثر انتشارا بعد ذلك في الأنترنت
في سنة 1991 قام بعض مطوري نظام BSD UNIX بإنشاء شركة (BSDI)
Berkeley Software Design, Inc و ذلك لإنتاج نسخ تجارية من BSD ، ثم انفصل أحد مؤسسي الشركة ليقوم بإصدار 386BSD ليعمل على معالج Intel ثم تطورت هذه النسخة بعد ذلك لتكون أساس نظام التشغيل OpenBSD و NetBSD.
HP-UX
هو نظام UNIX الخاص بشركة Hewlett-Packard (HP) و هو مصمم ليعمل أساساً على إنتاجهم من سلسلة المعالج PA-RISC الخاصة بهم و سلسلة Intel’s Itanium processor المبنيان على أساس تصميم وحدة المعالج المركزي FOCUS processor الخاص بشركة HP لتشغيل محطات عمل HP Workstations .
كان الإصدار الأول سنة 1983 و كان مبنياً على أساس Unix System III و System V بعد ذلك مع إدخال عدة خصائص من BSD أضيفت بالتدريج.
من أهم نسخHP-UX الموجودة الآن سنة 2006 HP-UX 11i v2 Enterprise OEالمصممة للعمل في مجال قواعد البيانات و العمليات المنطقية و يمكن العمل بها في مجال تصميم خدمة Web Server
Solaris
خلال سنوات الثمانينات كانت شركة Sun Microsystems لديها نظامها الخاص SunOS المبني أساساً على 4BSD لأنها كانت الأكثر تطوراً في ذلك الوقت. ثم تعاونت مع شركة USL التابعة لشركة AT&T لإصدار نسخة UNIX System V Release 4 سنة 1989
و لأن شركة SUN Microsystems بدأت إنتاج محطات العمل SparcStations و SparcServers منذ سنة 1989فقد كانت بحاجة إلى تطوير نظام تشغيلها ليعمل على تلك الحاسبات.
و صدرت نسخة UNIX لهذا الغرض و تغير الإسم التجاري للنظام ليكون Solaris و قد اعتمدت Sun على SunOS و SVR4 معاً لإنتاجه ثم أنتجت نسخة Solaris version 2 سنة 1992
تقوم Sun Microsystems منذ بداية إصدارات Solaris بإنتاج الآتي في كل إصدار:
1- نسخة Sparcللعمل على محطات SparcStation و هي المعروفة باستخدام المعالج مركزي Sparc الذي بني باستخدام تكنولوجيا RISC
2- نسخة (x86) للعمل على الحاسبات الخاصة PCs التي تستخدم سلسلة المعالج المركزي Intel x86 و التي منها: 386 processors و 486 و 586(Pentium)
3- نسخة (AMD64) للعمل على وحدات المعالجة المركزية ذات 64 bit
بعد نسخة Solaris 2.6 تغير رقم النسخة التالية ليصبح Solaris 7 و بعد ذلك 8 و 9 و 10
تهتم Sun Microsystems في كل نسخة جديدة بالتوافق مع النسخ السابقة من Solaris و مع نظام Linux مع إضافة خصائص جديدة للنظام.
اعتمدت Sun على نظام نوافذ Common Desktop Environment (CDE) القياسي الذي قامت بإنشائه منظمة Open Group و في نسخة Solaris 10 أضيف نظام نوافذ جديد JAVA Desktop مؤسس على GNOME Desktop الذي كان موجوداً في نسخة Solaris 9 و قد نوهت الشركة أنها ستقوم بإلغاء CDE بعد ذلك
:AIX – 1986
AIX هو نظام تشغيل خاص بشركة IBM مصمم على أساس UNIX System V و هذا الإسم هو اختصار (Advanced Interactive eXecutive)برغم أنه في البداية قبل توزيعه تجارياً كان يعني Advanced IBM UNIX .
صدر أول نسخة AIX v1.0 منه سنة 1986 و كان مصمم ليعمل على حاسب IBM/PC ثم اصدروا منه نسخة تتوافق مع محطات العمل IBM/RTالتي تعتمد على المعالج ROMP من أوائل الأنواع التي كانت تعتمد على تكنولوجيا RISC .في هذه النسخة الثانية تم إضافة بروتوكول الإنترنت TCP/IP .
من النسخ الموجودة الأن التي صدرت سنة 2004 نسخة AIX 5L v5.3
OSF – Open Software Foundation
في عام 1988 قامت بعض الشركات مثل Apollo Computers,Groupe Bull, Digital Equipment Corporation, Hewlett-Packard, IBM, Nixdorf Computer, and Siemens AG, ثم انضمت بعد ذلك Philips و Hitachiلم يعجبها إحتكار AT&T لسوق UNIX فعقدت تحالفاً اقتصادياً سمي مؤسسة OSFو ذلك كرد فعل لتحالف AT&T مع Sun في إنتاج SVR4 .
و أنتجت هذه المؤسسة نظام تشغيل OSF/1 سنة 1990 الذي توقف إنتاجه سنة 1994لأن العميل الوحيد لهذا النظام كان شـركة DEC التي قامت بإنتـاج نظامـها الخاص بها Digital UNIX .
و غير هذا النظام كانت لهم العديد من المنتجات القياسية مثل:
1- Motif و هو منتج قياسي عبارة عن مجموعة أدوات أساسية في بناء بيئة المستخدم التصويرية GUI Widget Toolkit
2- Common Desktop Environment و هو نظام نوافذ بني علي أساس بروتوكولات و أدوات X11 أو X windows System التي أنشئت بواسطة شركة MIT سنة 1984
و قد استخدم بعد ذلك بواسطة HP و Sun في نظاميهما.
Single UNIX Specification
1- POSIX
في الثمانبنات من القرن الماضي (1986 – 1987) كان قد انتشرت نسختين من UNIX انتشاراً كبيراً و هما 4.3BSD و SVR3 و كانتا غير متوافقتين ، أي مختلفتين اختلافاً كبيراً و كان ذلك شيئاً مزعجاً لكل المبرمجين.
أول محاولة جدية لتوحيد النسختين في نسخة واحدة متفق عليها كانت من مؤسسة IEEE و كان اسم المشروع POSIXأو Portable Operating System Interface for UNIX و هو يعني بالعربية واجهة نظام تشغيل قابل للنقل لأجل UNIX
اصدرت لجنة POSIX إنتاجها القياسي Standard سنة 1988و سمي IEEE 1003.1 و له اسم قياسي عالمي ISO/IEC 9945 ، و كانت الفكرة من الإصدار أن أي برنامج مصمم للعمل على UNIX باستخدام الخطوات المحددة في هذا الإصدار القياسي يكون صالحاًً للعمل على أي نسخة UNIX موجودة.
ثم وحدت IEEE جهودها مع مجموعة Open Group ليقوموا بإخراج مواصفات قياسية مشتركة مع إدخال التطورات التي حدثت في النظام و محاولة تلافي عدم التوافق.
و أخر إصدار لهم حتى 2006 كان IEEE Std 1003.1, 2004 Edition
2- X/Open Portability Guide
تكونت X/Open Company شركة متحدة سنة 1984 هدفها الأساسي تعريف و تقديم منتجات قياسية لتنشر للجمهور لزيادة التوافق بين الأدوات و البرامج التكنولوجية. و بدأوا أولاً بنظام تشغيل UNIX لأن عمل توحيد قياسي له كان قد أصبح مطلباً هاما لكل المبرمجين في ذلك الوقت. و اشترت الشركة حق العلامة التجارية Trademark لنظام UNIX و أحقية منح شهادات Certification من شركة Novell في سنة 1994.
في البداية بدون اتفاق مع منظمة IEEE قامت X/Open بنشر توصيفها القياسي
X/Open Portability Guide (XPG) الذي كان أعم من POSIX و كان يشرح المطلبات اللازمة لعمل نظام مشابه لنظام UNIX
تم نشر XPG3 سنة 1989 و كان XPG4 آخر إصدار لهذا التوصيف القياسي سنة 1992 و الذي اعتمد عليه Single UNIX Specification بشكل أساسي
3 – Single UNIX Specification
نشرت X/Open الدليل القياسي UNIX 95 Brand لتوضيح المواصفات القياسية لنظام UNIX أو Single UNIX specification version 1 سنة 1995
The Open Group
في سنة 1996 تحالفت مؤسسة OSF مع X/Open لتكوين ما يسمى Open Group
و قاموا بإصدار UNIX 98 Brand النسخة الثانية من دليل المواصفات القياسية لنظام UNIX أو Single UNIX Specification version 2 (1998 Edition) في سنة 1998و قد سجلت فيه شركات مثل Sunو IBM – أي اشتروا منه نسخة أو أخذوا منه شهادة توافق.
و في نسخة Single UNIX Specification v3 لسنة 2001 تم توحيد المواصفات مع مواصفات POSIX بواسطة مجموعة مشكلة من الطرفين اسمها Austin Group
و في سنة 2004 تم نشر دليل المواصفات القياسية لنظام UNIX لتصحيح عدة مشاكل في النسخة السابقة و هو بعنوان
The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
توجد ملاحظة هامة أنك باستخدام هذا الدليل القياسي لا تكون بحاجة إلى مادة البرنامج المكتوبة UNIX Source Code بواسطة AT&T لتصميم نظام UNIX خاص بك فتتفادى بذلك الدخول في مسائلة قانونية مع الشركة المالكة لحقوق ملكية مادة برنامج
UNIX Source Code الخاص بنسخة UNIX System V و هي شركة SCO Group التي اشترته من شركة Novell.
MINIX – 1987
قام العالم Andrew S. Tanenbaum بتصميم هذا النظام كمحاولة تجريبية و تعليمية لتقليد نظام UNIX بدون الاستعانة بمادة البرنامج الأصلي المكتوبة UNIX Source Code على الإطلاق. ثم نشر خبر هذا النظام الذي سماه MINIX في الطبعة الثانية من كتابه (Operating Systems).
و كانت النسخة الأصلية تعمل على الحواسب الشخصية PCs المنتجة من IBM ثم طور النظام ليكون قابلا للنقل على محطات العمل Workstations.
ثم ظهرت نسخة للنظام تقبل العمل على تشغيل الحاسبات المبنية على تصميم وحدة المعالج المركزي Intel x86 Microprocessor Architecture
كانت المبادئ التي طبقها Tanenbaum في تصميمه من أهم ما أثر في لينوس تورفالدس أثناء تصميمه لنواة نظام لينوكس Linux Kernel و لكنه كان مختلف في التصميم و أيضاً لم يعتمد على مادة برنامج UNIX System V المكتوبة.
Linux
في سنة 1983 أنشأ ريتشارد ستالمان مشروع GNU و كان الهدف هو إنشاء نظام يشبه UNIX و يكون مجانياً و متوفر للجميع. عند سنة 1990 كان أعضاء مشروع GNU قد انتهوا من تصميم الكثير من البرامج و الأدوات القابلة للعمل على نظام كهذا ، و لكن لم يكونوا قد فرغوا بعد من تصميم نواة النظام و هو عمل يأخذ وقت و جهد كبيرين.
في عام 1991 كان طالب جامعي يدعى Linus Torvalds قد فرغ من تصميم نواة نظام تشغيل التي سميت Linux بعد ذلك. و كان لينوس يستخدم نظام MINIX على حاسبه الخاص و لأن الأستاذ Tanenbaum كان يرفض أن يقوم أحد الطلبة بإدخال أي زيادات على نظامه فقد دفع هذا لينوس لتصميم نواة نظام تشغيل جديد.
صمم لينوس هذه النواة بحيث تكون مطابقة بقدر المستطاع مع الدليل القياسي POSIX و كان قد اشترى نسخة من هذا الدليل بعد شروعه في التصميم.
في البداية كان لينوس يقوم بتحميل Linux kernel من خلال نظام MINIX يعمل بالفعل على الحاسب الشخصي ، ثم ظهرت بعد ذلك برامج بدأ التحميل المنفصلة مثل
LILO Boot Loader .
طوع لينوس Linux Kernel ليسمح بأدوات و برامج مشروع GNU بالعمل فوقه. و بالاتفاق مع أعضاء المشروع تم ترخيص نواة Linux kernel برخصة مشروع GNU المجانية General Public Licence (GPL) .
كانت نواة نظام التشغيل Linux kernel مصممة للعمل على حاسب يعمل بمعالج Intel 386 و لكنها الآن قادرة على أن تعمل على معظم أنواع تصميمات المعالج المركزي بعد أن تم تطويع و تعديل التصميم لكي تكون قابلة للنقل.
إن نسخة نظام تشغيل Linux التقليدية تشمل نواة النظام Linux Kernel و واجهة نوافذ للمستخدم GUI مطابقة لبروتوكول X windows system (x11) مثل GNOME Desktop أو KDE Desktop و برامج و أدوات GNU العديدة و آلاف البرامج العملية.
هناك شركات كثيرة تقدم نسختها من نظام تشغيل Linux مثل Redhat و SUSE و Mandriva و هي تقوم بمتابعتها و تطويرها باستمرار.
المراجع:
1- Andrew Tanenbaum ، كتاب Operating Systems
2- موقع www.wikipedia.org
3- موقع Docs.sun.com
4- موقع http://www.unix.org/single_unix_specification