HDG يوضح: ما هو نظام UNIX؟

ثلاثة من أكثر أنظمة التشغيل شيوعًا في جميع أنحاء العالم هي Windows و Mac و Linux . تستقبل أنظمة التشغيل الثلاثة هذه جميع الصحف ، وهما السابقان أكثر من الأخير ، ومن المحتمل أنهما الوحيدان اللذان سمعت بهما عن نفسك.

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

تم تطويره في عام 1970 وتم تصميمه ليكون نظامًا صغيرًا ومرنًا يستخدمه المبرمجون حصريًا ، وسرعان ما أصبح UNIX نظام تشغيل رائدًا لمحطات العمل. (UNIX)ولكن ما مقدار ما تعرفه(you) حقًا عن UNIX؟

HDG يوضح: ما هو نظام UNIX؟

تعد أنظمة التشغيل UNIX(UNIX) و UNIX من(UNIX-like) أقوى أنظمة التشغيل متعددة المستخدمين والمهام وأكثرها شيوعًا في السوق. تم تطوير أجيال متعددة من UNIX للعديد من الأجهزة على مر السنين بما في ذلك أنظمة POSIX الحديثة مثل Linux ومتغيراته العديدة ونظام Mac OS . من الصعب(Hard) تصديق شيء بهذه القوة يمكن أن يكون له مثل هذه البدايات المتواضعة.

تم تطوير UNIX في (UNIX)Bell Telephone Laboratories ، أو Bell Labs ، بواسطة حفنة من المبرمجين ، بلغة البرمجة C. سمح ذلك بتثبيته عمليا على أي جهاز كمبيوتر يمتلك مترجم سي. هذا وحده أتاح لـ UNIX إمكانية النقل الطبيعية ، والمرونة ، وقدم نفسه كخيار قوي إلى حد ما كنظام تشغيل. 

علاوة على كونه غير مكلف ، قامت Bell Labs بتوزيع نظام التشغيل في شكل لغة المصدر ، مما يسمح لأي شخص وضع يده عليه بتعديله وتخصيصه لأغراضه الخاصة. أدى هذا إلى ولادة العشرات من الإصدارات المختلفة من UNIX في غضون عقد من الزمن ، والتي تعمل على مواقع مختلفة.

(Bell Labs)في نهاية المطاف ، ستتفكك Bell Labs في عام 1984. ومع ذلك ، فقد بدأوا في تسويق UNIX في محاولة لتحديد إصدار قياسي من النظام. لقد طوروا شيئًا اعتبره الكثيرون مقيدًا للغاية ، أحدهم كان ريتشارد ستولمان(Richard Stallman) ، المسؤول عن مشروع جنو(GNU) . مشروع جنو(GNU) هو أساس لينكس(Linux) الذي نعرفه اليوم لأنه يتكون من نواة لينكس(Linux) وليس نواة يونيكس(UNIX) .

ومع ذلك ، فإن نظام Linux مستوحى من MINIX ، وهو نظام تشغيل شبيه بـ UNIX تم إنشاؤه للأغراض التعليمية. وقد أدى ذلك إلى نوع من تأثير الدومينو لمعظم أنظمة التشغيل المتاحة اليوم. ينحدر GNU/LinuxAndroid و Chrome OS و Steam OS وعدد كبير من أنظمة التشغيل المضمنة للأجهزة ، تعتمد على Linux .

معيار UNIX

أصبح المعيار ، ولكن لا يعتمد على أي شيء من AT&T. اليوم ، فإن العلامة التجارية "UNIX" مملوكة لمجموعة The Open Group . يمكن قول الشيء نفسه بالنسبة لمواصفات UNIX الفردية(Single UNIX Specification) . أي(Any) نظام تشغيل يستخدم UNIX يجب أن يكون معتمدًا من قبل The Open Group ويتوافق مع مواصفات UNIX الفردية(Single UNIX Specification) .

كما أوضحت المجموعة المفتوحة: 

لأي شخص مهتم بزيارة الرابط الموجود في الصورة ، ها هو(here it is) .

POSIX ، كما ذكرنا سابقًا ، هي مجموعة من المعايير المحددة من قبل معهد المهندسين الكهربائيين والإلكترونيين (IEEE)(Institute of Electrical and Electronic Engineers (IEEE)) . إنها تعمل على توضيح وتوحيد واجهات برمجة التطبيقات التي توفرها أنظمة التشغيل الشبيهة بـ UNIX.

هذا يجعل الأمر كذلك عندما تكتب برنامجًا يعتمد على معايير POSIX ، تصبح قابلية النقل والوظائف سهلة بين مجموعة مشتقات UNIX الكبيرة مثل Linux و Mac OS . استخدام API أو الكود غير المعياري كجزء من POSIX لأنظمة التشغيل الشبيهة بـ UNIX(UNIX-like) سيجعل قابلية النقل إلى أنظمة أخرى شبيهة بـ UNIX(UNIX-like) أكثر صعوبة.

ما هي برامج(Programs) وأنظمة وأنظمة(Systems) UNIX ؟(Subsystems)

يتم تنفيذ أوامر UNIX(UNIX) على واجهة سطر الأوامر التي توفرها shell . هذا البرنامج عبارة عن برنامج يقرأ الأوامر المدخلة ويقوم إما بتنفيذها بنفسه أو تمريرها إلى النواة(kernel) .

"النواة الأساسية" هي ما تُبنى حوله أنظمة UNIX والتي تدير النظام والعمليات الأخرى. هذا هو جوهر نظام التشغيل UNIX ويتفاعل بشكل مباشر مع الأجهزة الأساسية لتوفير مجموعة من الخدمات القياسية. قد تتضمن أنظمة Kernel(Kernel) الفرعية إدارة العمليات وإدارة الملفات وإدارة الذاكرة وإدارة الشبكة وغيرها.

بعض الفلسفات الأساسية ، بما في ذلك المتطلبات مثل الغرض الفردي ، والتشغيل المتبادل ، والعمل بواجهة نصية موحدة ، هي ما تم تصميم برامج  UNIX حوله.(UNIX)

عندما يتعلق الأمر بميزات UNIX ، فإليك قائمة ببعض الميزات البارزة:

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

لماذا تعتبر UNIX مهمة

بصرف النظر عن الأنظمة المستندة إلى Windows و Windows ، فإن الغالبية العظمى من أنظمة التشغيل التي تراها لها فلسفات تستند إلى UNIX . إذا ألقيت نظرة على محطة Mac OS X أو نظام الملفات ، فستلاحظ تشابهًا مذهلاً مع Linux . كلاهما(Both) مختلف تمامًا عن Windows . هذا لأن Linux و Mac OS هما أنظمة شبيهة بنظام UNIX .

سيساعدك فهم هذا أيضًا على فهم مدى أهمية UNIX وما كانت عليه. إحدى فلسفات UNIX الرئيسية المستخدمة اليوم هي إنشاء أدوات مساعدة معيارية صغيرة للقيام بشيء فريد بمستوى استثنائي من الكفاءة. إن التعرف على Mac OS Terminal سيجعلك على دراية بـ Linux Terminal والعكس صحيح. هذا هو UNIX باختصار.

تعتمد الأنظمة الشبيهة بـ UNIX(UNIX) على نظام ملفات واحد للبرامج للتواصل مع بعضها البعض. تعتمد الأنظمة الشبيهة بويندوز على DOS . هذا هو السبب في أن الأنظمة التي تشبه Windows فقط لها أحرف محركات أقراص. تحتوي جميع أنظمة التشغيل الأخرى على ذلك بحيث يكون كل ملف على النظام جزءًا من تسلسل هرمي للدليل الفردي. مرة أخرى(Again) ، كل ذلك بفضل فلسفات UNIX .

يمكن رؤية UNIX(UNIX) في بنية أنظمة التشغيل مثل BSD و Linux و Mac OS ، تمامًا حسب التصميم. يمكن للمرء أن يقول أنه بدون UNIX ، لن يكون هناك نظام Mac OS(Mac OS) ، وربما يمكن قول الشيء نفسه عن منافسيها ، بما في ذلك Windows .

من الواضح أننا هنا زائدي. رغم(Though) ذلك ، سيتعين عليك الاعتراف بأن UNIX لعبت دورًا مهمًا في تطوير كل نظام تشغيل مستخدم اليوم. إذا كان هذا لا يوضح أهمية UNIX وفلسفاتها ، فأنا لست متأكدًا مما سيحدث.



About the author

أنا مهندس أجهزة متخصص في تصميم وتطوير منتجات Apple مثل iPhone و iPad. لدي خبرة في كل من أجهزة iOS و edge ، بالإضافة إلى أدوات تطوير البرامج مثل Git و Swift. تمنحني مهاراتي في كلا المجالين فهمًا قويًا لكيفية تفاعل نظام تشغيل أجهزة Apple (OS) مع التطبيقات ومصادر البيانات. بالإضافة إلى ذلك ، تمكنني تجربتي مع Git من العمل على أنظمة التحكم في إصدار الكود ، والتي يمكن أن تساعد في تحسين الكفاءة والإنتاجية عند تطوير البرامج.



Related posts