Lecture 02 · E2C Continuum and Cloud Computing
المحاضرة 02 · استمرارية E2C والحوسبة السحابية
Utility computing, legacy IT and virtualization basics
الحوسبة كمرفق عام، وتقنية المعلومات التقليدية، وأساسيات المحاكاة الافتراضية (virtualization)
P1 MUSTThe cloud half of the lecture starts here. A 1961 quote, a nine-layer stack, and a family of virtualization terms that the exam loves to put in a matching question: virtualization versus emulation versus simulation, full versus para, Type 1 versus Type 2.
هنا يبدأ نصف المحاضرة الخاص بالسحابة: اقتباس من عام 1961، ومكدّس من تسع طبقات، وعائلة من مصطلحات virtualization يحب الامتحان وضعها في سؤال مطابقة: virtualization مقابل emulation مقابل simulation، وfull مقابل para، وType 1 مقابل Type 2.
McCarthy, 1961: computing as a utility (slide 16)
ماكارثي، 1961: الحوسبة كمرفق عام (الشريحة 16)
John McCarthy predicted that computation may someday be organized as a public utility, just as the telephone system is. Subscribers connect to computer service companies, each pays only for the capacity actually used, yet has access to everything a very large system offers. The slide's verdict: this is pretty close to cloud computing.
تنبّأ John McCarthy بأن الحوسبة قد تُنظَّم يوماً ما كمرفق عام (public utility)، تماماً كنظام الهاتف. يتصل المشتركون بشركات تقدّم خدمة الحوسبة، ويدفع كل منهم فقط مقابل السعة التي استخدمها فعلاً، ومع ذلك يصل إلى كل ما يقدّمه نظام ضخم جداً. وحكم الشريحة: هذا قريب جداً من cloud computing.
| McCarthy's ideaفكرة ماكارثي | Modern cloud (NIST)السحابة الحديثة (NIST) |
|---|---|
| one very large system shared by subscribersنظام واحد كبير جداً يتشاركه المشتركون | resource poolingتجميع الموارد (resource pooling) |
| pay only for the capacity actually usedالدفع فقط مقابل السعة المستخدمة فعلاً | measured service (pay per use)الخدمة المقاسة (measured service، الدفع حسب الاستخدام) |
| subscribers connected to a service companyمشتركون متصلون بشركة خدمات | broad network accessالوصول الواسع عبر الشبكة (broad network access) |
الجدول يقسم جملة McCarthy إلى ثلاث أفكار ويطابق كل فكرة بخاصية حديثة من تعريف NIST: السعة المشتركة تقابل resource pooling، والدفع حسب الاستخدام يقابل measured service، والاتصال بشركة الخدمة عبر الشبكة يقابل broad network access. أي أن cloud computing فكرة اقتصادية قبل أن تكون تقنية.
Legacy IT: the customer runs everything (slide 17)
تقنية المعلومات التقليدية: العميل يدير كل شيء (الشريحة 17)
Legacy IT is data center technology for operating applications and storing data, servers to run business applications, networking to connect the servers physically, and storage for large amounts of data. The rule: the customer manages every layer, from the data center up to the applications.
Legacy IT يعني: تقنية مراكز البيانات لتشغيل التطبيقات وتخزين البيانات، وخوادم لتشغيل تطبيقات الشركة، وشبكات لربط الخوادم مادياً، وتخزين لكميات كبيرة من البيانات. والقاعدة: العميل يدير كل طبقة، من data center صعوداً حتى التطبيقات.
The slide's callout says virtualization is not part of legacy IT, but helpful for the operation of workloads. Classic legacy IT ran one application per physical server; the figure shows the layer because the same nine-layer stack is reused later to compare IaaS, PaaS and SaaS.
الملاحظة المؤطّرة في الشريحة تقول إن virtualization ليست جزءاً من legacy IT، لكنها مفيدة لتشغيل الأحمال. فـ legacy IT التقليدي كان يشغّل تطبيقاً واحداً على كل خادم فعلي، والرسم يُظهر الطبقة لأن نفس المكدّس ذي الطبقات التسع يُعاد استخدامه لاحقاً للمقارنة بين IaaS وPaaS وSaaS.
Virtualization and the virtual machine (slides 18–19)
المحاكاة الافتراضية والآلة الافتراضية (الشريحتان 18–19)
Virtualization splits the resources of one computer so that multiple independent operating system instances can use them. Each virtual machine (VM) behaves like any other computer with its own components, and runs inside an isolated environment on a physical machine.
Virtualization تقسم موارد حاسوب واحد بحيث تستخدمها عدة نسخ مستقلة من أنظمة التشغيل. وكل virtual machine (VM) تتصرف مثل أي حاسوب آخر بمكوّناتها الخاصة، وتعمل داخل بيئة معزولة على جهاز فعلي.
Virtualization turns hardware into a pool of resources that can safely run many independent computers on the same machine. Pool = consolidation. Safely = isolation.
Virtualization تحوّل العتاد إلى مجمّع موارد (pool) يمكنه تشغيل حواسيب مستقلة كثيرة على نفس الجهاز بأمان. كلمة "مجمّع" تعني الدمج (consolidation)، وكلمة "بأمان" تعني العزل (isolation).
Transparency
الشفافية (Transparency)
Inside a VM you install an OS and applications exactly as on a physical computer, and the applications do not notice they are in a VM. Requests from the guest are transparently intercepted by the virtualization software (the VMM, or hypervisor) and converted for the real hardware. The VM never becomes aware of the layer between itself and the hardware.
داخل VM تثبّت نظام التشغيل والتطبيقات تماماً كما على حاسوب فعلي، ولا تلاحظ التطبيقات أنها داخل VM. والطلبات القادمة من الضيف (guest) يعترضها بشفافية برنامج الـ virtualization (أي VMM أو hypervisor) ويحوّلها للعتاد الحقيقي. والـ VM لا تدرك أبداً وجود الطبقة بينها وبين العتاد.
Popek and Goldberg (1974)
بوبيك وغولدبرغ (Popek and Goldberg، 1974)
A VM is "an efficient, isolated duplicate of the real machine". A VMM must have three properties:
الـ VM هي "an efficient, isolated duplicate of the real machine"، أي نسخة مطابقة فعّالة ومعزولة من الجهاز الحقيقي. ويجب أن يملك الـ VMM ثلاث خصائص:
- Equivalence. Programs behave as on the real machine, apart from timing and resource availability.
التكافؤ (Equivalence). البرامج تتصرف كما على الجهاز الحقيقي، باستثناء التوقيت وتوفّر الموارد.
- Efficiency. Most guest instructions run directly on the real CPU with no software intervention. This is what excludes emulators and simulators.
الكفاءة (Efficiency). معظم تعليمات الضيف تعمل مباشرة على المعالج الحقيقي دون تدخل برمجي. وهذه الخاصية هي التي تستبعد emulators وsimulators.
- Resource control. The VMM keeps full control of the real resources; a guest cannot reach what it was not given.
التحكم بالموارد (Resource control). يبقى الـ VMM مسيطراً تماماً على الموارد الحقيقية، ولا يستطيع الضيف الوصول إلى ما لم يُخصَّص له.
Virtualization vs emulation vs simulation (slide 19)
Virtualization مقابل emulation مقابل simulation (الشريحة 19)
| Aspectالجانب | Virtualizationالمحاكاة الافتراضية (Virtualization) | Emulationالمضاهاة (Emulation) | Simulationالمحاكاة (Simulation) |
|---|---|---|---|
| Definitionالتعريف | creates logical versions of physical resourcesتنشئ نسخاً منطقية من الموارد المادية | mimics the hardware/software interfaceتحاكي واجهة العتاد والبرمجيات | models system behaviourتنمذج سلوك النظام |
| Runs natively?هل تعمل أصلياً؟ | most instructions, same ISAمعظم التعليمات، بنفس ISA | no, translates between ISAsلا، تترجم بين ISAs مختلفة | no real software runs at allلا، لا يعمل أي برنامج حقيقي إطلاقاً |
| Use caseحالة الاستخدام | running multiple OSs or VMsتشغيل عدة أنظمة تشغيل أو عدة VMs | running software for different hardwareتشغيل برمجيات مصممة لعتاد مختلف | training or testingالتدريب أو الاختبار |
| Exampleمثال | VMware, VirtualBoxVMware, VirtualBox | BlueStacks, Nintendo emulatorBlueStacks، ومحاكي Nintendo | flight simulator, VR trainingمحاكي طيران، تدريب بالواقع الافتراضي (VR) |
هذا جدول المطابقة الأهم في الصفحة. Virtualization تنشئ نسخاً منطقية من الموارد الفعلية وتشغّل معظم التعليمات مباشرة على نفس ISA (مثل VMware وVirtualBox). وEmulation تحاكي واجهة العتاد/البرمجيات وتترجم كل تعليمة من ISA إلى آخر، لذلك هي أبطأ بكثير (مثل BlueStacks ومحاكي Nintendo). وSimulation لا تشغّل البرنامج الحقيقي أصلاً، بل تنمذج سلوك النظام لأغراض التدريب أو الاختبار (مثل محاكي الطيران والتدريب بالواقع الافتراضي).
"Room, translator, model." A VM is a real hotel room you use directly. An emulator is a translator repeating every sentence in another language. A simulator is a scale model of the hotel: it shows behaviour, but you cannot sleep in it.
"Room, translator, model." الـ VM غرفة فندق حقيقية تستخدمها مباشرة. والـ emulator مترجم يعيد كل جملة بلغة أخرى. والـ simulator مجسّم مصغّر للفندق: يُظهر السلوك، لكنك لا تستطيع النوم فيه.
History and the family of techniques (slide 20)
التاريخ وعائلة التقنيات (الشريحة 20)
IBM gave each user a complete virtual machine on one mainframe. Lineage: CP-40 (1964 to 1966), CP-67 on the System/360 Model 67 (1967), then VM/370, announced in 1972, where each user ran a single-user OS (CMS) inside its own VM, and many such VMs added up to a time-sharing system. Each VM is a complete duplicate of the underlying physical hardware.
أعطت IBM كل مستخدم آلة افتراضية كاملة على حاسوب مركزي واحد. والتسلسل: CP-40 (من 1964 إلى 1966)، ثم CP-67 على System/360 Model 67 (1967)، ثم VM/370 الذي أُعلن عام 1972، حيث شغّل كل مستخدم نظاماً أحادي المستخدم (CMS) داخل VM خاصة به، ومجموع هذه الآلات شكّل نظام time-sharing. وكل VM نسخة كاملة من العتاد الفعلي.
The slide's box says 1970/71 for VM/370. Creasy's paper, cited on the same slide, and IBM's own timeline give 1972 (announced 2 August 1972). If asked, VM/370 is the IBM system that gave one VM per user.
مربع الشريحة يذكر 1970/71 لـ VM/370. لكن ورقة Creasy المذكورة في نفس الشريحة، والجدول الزمني لـ IBM، يذكران 1972 (أُعلن في 2 August 1972). وإذا سُئلت، فـ VM/370 هو نظام IBM الذي أعطى كل مستخدم VM خاصة به.
Slide 20 lists the concepts: partitioning, hardware emulation, application virtualization, full virtualization, paravirtualization, hardware virtualization, OS-level virtualization (containers), storage virtualization (SAN/SDS) and network virtualization (VLAN/VXLAN).
تسرد الشريحة 20 المفاهيم: partitioning، وhardware emulation، وapplication virtualization، وfull virtualization، وparavirtualization، وhardware virtualization، وOS-level virtualization (أي containers)، وstorage virtualization (SAN/SDS)، وnetwork virtualization (VLAN/VXLAN).
Two independent axes
محوران مستقلان
Axis 1: is the guest modified?
المحور 1: هل نظام الضيف معدَّل؟
Full virtualization: the guest OS runs unmodified. Paravirtualization: the guest kernel is modified to call the hypervisor directly instead of touching emulated hardware. Applications are not modified in either case.
Full virtualization: نظام الضيف يعمل دون تعديل. Paravirtualization: نواة نظام الضيف تُعدَّل لتستدعي الـ hypervisor مباشرة بدلاً من التعامل مع عتاد مُحاكى. والتطبيقات لا تُعدَّل في الحالتين.
Axis 2: where does the hypervisor run?
المحور 2: أين يعمل hypervisor؟
Type 1 (bare metal): directly on the hardware. Type 2 (hosted): on top of a host operating system.
Type 1 (bare metal): يعمل مباشرة على العتاد. Type 2 (hosted): يعمل فوق نظام تشغيل مضيف.
Hardware virtualization stack (slide 21)
مكدّس المحاكاة الافتراضية للعتاد (الشريحة 21)
- Hardware resources (CPU, RAM, networking) are shared between different OS instances.
موارد العتاد (CPU وRAM وnetworking) مشتركة بين نسخ أنظمة التشغيل المختلفة.
- The VMM translates the requests between the hardware and the OS.
الـ VMM يترجم الطلبات بين العتاد ونظام التشغيل.
- The OS instances are isolated from each other, each running on virtualized hardware that is mapped to physical resources.
نسخ أنظمة التشغيل معزولة عن بعضها، وكل منها يعمل على عتاد افتراضي مُعيَّن (mapped) إلى موارد فعلية.
- CPU extensions, Intel VT-x and AMD-V, make this efficient. Classic x86 had sensitive instructions that failed silently instead of trapping, so the VMM could not catch them; the extensions make them trap.
امتدادات المعالج، Intel VT-x وAMD-V، تجعل ذلك فعّالاً. فمعمارية x86 الكلاسيكية كانت تحتوي تعليمات حسّاسة تفشل بصمت بدلاً من أن تُحدث trap، فلا يستطيع الـ VMM اعتراضها، والامتدادات تجعلها تُحدث trap.
Slide 20 writes "Full virtualization (VMM = Type-2 Hypervisor)" and "Paravirtualization (Type-1 Hypervisor)". That merges two independent axes. Full virtualization also runs on bare metal (VMware ESXi), and paravirtualization is defined by modifying the guest, not by where the hypervisor runs. If the exam follows the slide, write the slide's pairing, then add one counterexample such as ESXi. That earns the marks either way.
الشريحة 20 تكتب "Full virtualization (VMM = Type-2 Hypervisor)" و"Paravirtualization (Type-1 Hypervisor)". وهذا يدمج محورين مستقلين. فـ full virtualization تعمل أيضاً على bare metal (مثل VMware ESXi)، وparavirtualization تُعرَّف بتعديل نظام الضيف، لا بمكان تشغيل الـ hypervisor. وإذا اتبع الامتحان الشريحة، فاكتب ربط الشريحة، ثم أضف مثالاً مضاداً واحداً مثل ESXi، فتكسب الدرجة في الحالتين.
Para modifies the guest OS. Not the hardware, not the applications. A true/false that says "paravirtualization runs unmodified guests" is false.
الـ Para تعدّل نظام تشغيل الضيف. لا العتاد ولا التطبيقات. وأي سؤال صح أو خطأ يقول "paravirtualization تشغّل ضيوفاً غير معدّلين" فجوابه خطأ.
"VMs are slow because everything is translated" describes emulation. A VM on the same ISA runs most instructions natively.
عبارة "الآلات الافتراضية بطيئة لأن كل شيء يُترجَم" تصف emulation. أما الـ VM على نفس ISA فتشغّل معظم التعليمات مباشرة.
Check yourself
اختبر نفسك
Running an Android app (ARM code) on an x86 PC with BlueStacks is an example of:
تشغيل تطبيق Android (شيفرة ARM) على حاسوب x86 باستخدام BlueStacks هو مثال على:
Slide 19 lists BlueStacks under emulation: running software made for different hardware. The guest ISA differs from the host, so instructions are translated, which breaks Popek and Goldberg's efficiency property for a VM.
الشريحة 19 تضع BlueStacks تحت emulation: تشغيل برمجيات مصنوعة لعتاد مختلف. فمعمارية الضيف تختلف عن المضيف، لذلك تُترجَم التعليمات، وهذا يكسر خاصية efficiency عند Popek and Goldberg.
What defines paravirtualization?
ما الذي يعرّف paravirtualization؟
Para means the guest kernel is changed to call the hypervisor directly. Option B is Type 2, the other axis. Option C is emulation. Applications are not modified.
Para تعني أن نواة الضيف تُعدَّل لتستدعي الـ hypervisor مباشرة. والخيار B يصف Type 2، أي المحور الآخر. والخيار C يصف emulation. والتطبيقات لا تُعدَّل.
In the legacy IT model of slide 17, who manages the operating system layer?
في نموذج legacy IT بالشريحة 17، من يدير طبقة نظام التشغيل؟
In legacy IT the customer manages everything from the data center to the applications. Providers take layers only in the cloud service models.
في legacy IT يدير العميل كل شيء من data center حتى التطبيقات. ولا يتولى المزوّد أي طبقة إلا في نماذج خدمات السحابة.
McCarthy's "each subscriber needs to pay only for the capacity that he actually uses" anticipates which cloud characteristic?
عبارة McCarthy "كل مشترك يدفع فقط مقابل السعة التي يستخدمها فعلاً" تسبق أي خاصية من خصائص السحابة؟
Metering use and billing for it is measured service. Network access and pooling appear elsewhere in the quote, but they are not about paying per use.
قياس الاستخدام والفوترة عليه هو measured service. أما الوصول عبر الشبكة والتجميع فيظهران في أجزاء أخرى من الاقتباس، لكنهما لا يتعلقان بالدفع حسب الاستخدام.
In the hardware virtualization stack (slide 21), which part is shared by all VMs?
في مكدّس hardware virtualization (الشريحة 21)، أي جزء مشترك بين كل الآلات الافتراضية؟
Everything above the hardware/software interface (application, library, OS, virtual hardware) is isolated per VM. Below it, the physical hardware is shared, and the VMM maps virtual resources onto it.
كل ما فوق hardware/software interface (التطبيق، والمكتبة، ونظام التشغيل، والعتاد الافتراضي) معزول لكل VM. وما تحته، أي العتاد الفعلي، مشترك، ويقوم الـ VMM بتعيين الموارد الافتراضية عليه.