لعبة حول نظام التشغيل بيني وبين المحاور | برنامج القوة

المؤلف | دليل الأخ

رئيس التحرير | Wu Xingling

إنتاج | مدونة CSDN

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

يبدأ شكل المقال بالحوار بين أكثر المقابلات المفضلة والمتقدمين للوظائف. بالإضافة إلى ذلك ، درس Brother Guide نظام التشغيل فقط عندما كان في الكلية ، لكنه نسي بشكل أساسي قراءة الكثير من الكتب والمدونات ذات الصلة خلال هذا الوقت لكتابة هذا المقال. إذا كان هناك أي شيء في النص يحتاج إلى إضافته وتحسينه ، يمكنك الإشارة إليه في منطقة التعليق. إذا كنت تعتقد أن المحتوى جيد ، فلا تنس النقر والمشاهدة!

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

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

أساسيات نظام التشغيل

1.1 ما هو نظام التشغيل؟

er المحاور: دعني أطرح سؤالًا بسيطًا أولاً! ما هو نظام التشغيل؟

أنا: دعني أقدم لك نظام التشغيل من خلال النقاط الأربع التالية!

  • نظام التشغيل (نظام التشغيل ، نظام التشغيل باختصار) هو برنامج يدير أجهزة الكمبيوتر وموارد البرامج ، وهو جوهر نظام الكمبيوتر وحجر الزاوية له ؛

  • نظام التشغيل هو في الأساس برنامج يعمل على الكمبيوتر ؛

  • يوفر نظام التشغيل للمستخدمين واجهة تشغيل تتفاعل مع النظام ؛

  • ينقسم نظام التشغيل إلى kernel و shell (يمكننا فهم shell كبرنامج تطبيقي يحيط بالنواة ، و kernel هو برنامج يمكنه تشغيل الأجهزة).

  • المزيد عن النواة: النواة مسؤولة عن إدارة عمليات النظام ، والذاكرة ، وبرامج تشغيل الجهاز ، والملفات ، وأنظمة الشبكات ، وما إلى ذلك ، والتي تحدد أداء النظام واستقراره. إنه جسر يربط التطبيقات والأجهزة.

    النواة هي قلب الصندوق الأسود خلف نظام التشغيل.

    1.2 استدعاء النظام

    المحاور: ما هو استدعاء النظام؟ هل يمكنك توضيح ذلك؟

    Me: قبل تقديم استدعاء النظام ، دعنا نفهم أولاً وضع المستخدم ووضع النظام.

    وفقًا لخصائص عملية الوصول إلى الموارد ، يمكننا تقسيم العملية التي تعمل على النظام إلى مستويين:

  • وضع المستخدم: العملية التي تعمل في وضع المستخدم أو يمكنها قراءة بيانات برنامج المستخدم مباشرة.

  • وضع النظام (وضع kernel): يمكنك ببساطة فهم أن العملية أو البرنامج الذي يعمل في وضع النظام يمكنه الوصول إلى أي مورد تقريبًا للكمبيوتر دون قيود.

  • بعد التحدث عن وضع المستخدم ووضع النظام ، ما هو استدعاء النظام؟

    يتم تشغيل البرامج التي نقوم بتشغيلها بشكل أساسي في وضع المستخدم. ماذا لو أطلقنا على الوظائف الفرعية على مستوى النظام التي يوفرها نظام التشغيل؟ ثم هناك حاجة إلى استدعاء النظام!

    بمعنى آخر ، في برنامج المستخدم الذي نقوم بتشغيله ، يجب أن تقوم جميع العمليات المتعلقة بالموارد على مستوى النظام (مثل إدارة الملفات ، والتحكم في العملية ، وإدارة الذاكرة ، وما إلى ذلك) بتقديم طلب خدمة لنظام التشغيل من خلال استدعاء النظام ، والعملية اكتمال النظام.

    يمكن تقسيم مكالمات النظام هذه تقريبًا إلى الفئات التالية وفقًا للوظائف:

  • إدارة المعدات. أكمل طلب أو إصدار الجهاز ، وبدء تشغيل الجهاز ووظائف أخرى.

  • إدارة الملفات. استكمال وظائف القراءة والكتابة وإنشاء وحذف الملفات.

  • تحكم العملية. استكمل وظائف إنشاء العملية وإلغائها وحظرها واستيقاظها.

  • عملية الاتصال. وظائف كاملة مثل تمرير الرسائل أو تمرير الإشارة بين العمليات.

  • إدارة الذاكرة. استكمل وظائف تخصيص الذاكرة وإعادة التدوير والحصول على حجم وعنوان مساحة الذاكرة التي تشغلها الوظيفة.

  • العمليات والخيوط

    2.1 الفرق بين العمليات والخيوط

    er المحاور: حسنًا! اني اتفهم! ثم تتحدث عنه: الفرق بين العمليات والخيوط.

    أنا: حسنًا! الشكل التالي هو منطقة ذاكرة Java ، فلنتحدث عن العلاقة بين الخيوط والعمليات من منظور JVM!

    إذا كنت لا تعرف الكثير عن منطقة ذاكرة Java (منطقة بيانات وقت التشغيل) ، فيمكنك قراءة هذه المقالة: "ربما تكون المقالة الأكثر وضوحًا حول منطقة ذاكرة Java"

    يمكن رؤيته من الشكل أعلاه: يمكن أن يكون هناك العديد من سلاسل العمليات في العملية ، وتتشارك سلاسل المحادثات المتعددة في كومة العملية وموارد منطقة الطريقة (metaspace بعد JDK1.8) ، ولكن كل مؤشر ترابط له عداد برنامج خاص به ومجموعة مكدسة افتراضية ومكدس الطريقة الأصلية.

    ملخّص: الخيط عبارة عن وحدة أصغر من العملية التي تنقسم إليها العملية. يمكن أن تولد العملية سلاسل عمليات متعددة أثناء تنفيذها. أكبر فرق بين سلاسل العمليات والعمليات هو أن كل عملية مستقلة بشكل أساسي ، وكل سلسلة رسائل ليست بالضرورة ، لأن سلاسل العمليات في نفس العملية من المحتمل أن تؤثر على بعضها البعض. إن تنفيذ مؤشر الترابط صغير ، ولكنه لا يفضي إلى إدارة الموارد وحمايتها ؛ فالعكس هو العكس.

    2.2 ما هي حالات العملية؟

    er المحاور: ما نوع الدولة التي لديك في هذه العملية؟

    أنا: نقسم العمليات بشكل عام إلى 5 حالات ، وهي مشابهة جدًا للخيوط!

  • حالة الإنشاء (جديد): يتم إنشاء العملية ولم تصل بعد إلى حالة الاستعداد.

  • حالة الاستعداد (جاهزة): العملية بالفعل في حالة جاهزة للتشغيل ، أي أن العملية قد حصلت على جميع الموارد المطلوبة باستثناء المعالج ، وبمجرد حصولها على موارد المعالج (الشريحة الزمنية المخصصة من قبل المعالج) ، يمكن تشغيلها.

  • قيد التشغيل: العملية قيد التشغيل على المعالج (يتم تشغيل عملية واحدة فقط في أي وقت تحت وحدة معالجة مركزية أحادية النواة).

  • حالة الحظر (الانتظار): تُعرف أيضًا باسم حالة الانتظار ، وتنتظر العملية حدثًا وتعلق العملية ، مثل انتظار إتاحة مورد أو انتظار اكتمال عملية الإدخال / الإخراج. حتى إذا كان المعالج خاملاً ، فلا يمكن تشغيل العملية.

  • تم الإنهاء (الإنهاء): العملية تختفي من النظام. قد تنتهي العملية بشكل طبيعي أو تنقطع لأسباب أخرى.

  • 2.3 التواصل بين العمليات

    المحاور: ما هي الطرق الشائعة للتواصل بين العمليات؟

    أنا: هناك حوالي 7 طرق مشتركة للتواصل بين العمليات.

    القسم التالي يلخص والمراجع: "Interprocess Communication IPC (InterProcess Communication)" يوصى بقراءة هذه المقالة ، والملخص جيد جدًا.

  • الأنابيب / الأنابيب المجهولة (الأنابيب): تستخدم للتواصل بين عمليات الوالدين والطفل أو عمليات الأخوة مع القرابة.

  • الأنابيب المسماة (أنابيب الأسماء): لا يمكن استخدام الأنابيب المجهولة إلا للاتصال بين العمليات بسبب افتقارها إلى الأسماء. من أجل التغلب على هذا النقص ، تم اقتراح خط أنابيب مشهور. تتبع الأنابيب الشهيرة بدقة أولاً في الخارج أولاً. يوجد الأنبوب المعروف كملف قرص ، والذي يمكنه تحقيق الاتصال بين أي عمليتين على الجهاز.

  • الإشارة: الإشارة هي طريقة اتصال أكثر تعقيدًا ، تُستخدم لإخطار عملية الاستلام بحدوث حدث ؛

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

  • الإشارات: الإشارات عبارة عن عداد تستخدمه عمليات متعددة للوصول إلى البيانات المشتركة. القصد من الإشارات هو المزامنة بين العمليات. تُستخدم طريقة الاتصال هذه بشكل أساسي لحل المشكلات المتعلقة بالمزامنة وتجنب ظروف السباق.

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

  • المقابس: تستخدم هذه الطريقة بشكل أساسي للتواصل بين العميل والخادم من خلال الشبكة. المقبس هو وحدة التشغيل الأساسية لاتصالات الشبكة التي تدعم TCP / IP. ويمكن اعتباره نقطة نهاية للتواصل ثنائي الاتجاه بين عمليات المضيفين المختلفين. ببساطة ، إنه عقد بين طرفي الاتصال. الوظائف ذات الصلة لإكمال عملية الاتصال.

  • 2.4 طرق التزامن بين الخيوط

    er المحاور: ما هي طرق المزامنة بين المواضيع؟

    Me: مزامنة الخيط هي التنفيذ المتزامن لخيوط أو أكثر التي تشترك في الموارد الهامة. يجب أن تتم مزامنة مؤشرات الترابط لتجنب التضارب في استخدام الموارد الحرجة. يحتوي نظام التشغيل بشكل عام على الطرق الثلاث التالية لمزامنة مؤشر الترابط:

  • Mutex (Mutex): يتم استخدام آلية كائن كائن المزامنة ، والخيوط فقط التي تحتوي على كائنات mutex يمكنها الوصول إلى الموارد العامة. نظرًا لوجود كائن كائن مزامنة واحد فقط ، يمكنك التأكد من عدم الوصول إلى الموارد المشتركة عن طريق سلاسل رسائل متعددة في نفس الوقت. على سبيل المثال ، الكلمة الرئيسية المتزامنة وأقفال مختلفة في Java هي مثل هذه الآليات.

  • Semaphore (Semphares): يسمح لعدة سلاسل وصول للوصول إلى نفس المورد في نفس الوقت ، ولكنه يحتاج إلى التحكم في الحد الأقصى لعدد سلاسل العمليات التي تصل إلى هذا المورد في نفس الوقت.

  • الحدث (الحدث): انتظر / إعلام: حافظ على التزامن متعدد الخيوط من خلال طريقة عملية الإخطار ، ويمكنه أيضًا إدراك عملية المقارنة لأولوية الخيوط المتعددة بسهولة.

  • 2.5 معالجة خوارزمية الجدولة

    المحاور: هل تعرف أي خوارزميات جدولة للعمليات في نظام التشغيل؟

    أنا: آه! هذه نقطة معرفة مهمة درسناها في الكلية!

    لتحديد العملية التي يتم تنفيذها أولاً وأي العملية التي يتم تنفيذها أخيراً لتحقيق أقصى استخدام لوحدة المعالجة المركزية ، قام علماء الكمبيوتر بتحديد خوارزميات هي:

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

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

    • خوارزمية جدولة دوران شريحة الوقت : جدولة دوران شريحة الوقت هي الخوارزمية الأقدم والأبسط والأعدل والأكثر استخدامًا والمعروفة أيضًا بجدولة RR (Round robin). يتم تعيين فترة زمنية لكل عملية ، تسمى الشريحة الزمنية ، وهي الوقت المسموح به للعملية.

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

    • جدولة الأولوية : قم بتعيين الأولوية لكل عملية ، وقم بتنفيذ العملية بأعلى أولوية أولاً ، وهكذا. يتم تنفيذ العمليات التي لها نفس الأولوية في FCFS. يمكن تحديد الأولوية بناءً على متطلبات الذاكرة أو متطلبات الوقت أو أي متطلبات موارد أخرى.

    أساسيات إدارة ذاكرة نظام التشغيل

    3.1 مقدمة في إدارة الذاكرة

    المحاور: ما هو الغرض الرئيسي من إدارة ذاكرة نظام التشغيل؟

    Me: إدارة الذاكرة لنظام التشغيل مسؤولة بشكل رئيسي عن تخصيص الذاكرة واستصلاحها (وظيفة malloc: التقدم بطلب للحصول على الذاكرة ، الوظيفة المجانية: الذاكرة المجانية) ، بالإضافة إلى ذلك ، تحويل العنوان هو تحويل العناوين المنطقية إلى عناوين فعلية مقابلة. وظيفة إدارة ذاكرة نظام التشغيل الأشياء الذي ينبغي فعلها.

    3.2 العديد من آليات إدارة الذاكرة المشتركة

    المحاور: هل تعرف آلية إدارة الذاكرة لنظام التشغيل؟ ما هي طرق إدارة الذاكرة؟

    أنا: لقد عرفت هذا قبل تعلم نظام التشغيل.

    ينقسم ببساطة إلى نوعين: طريقة إدارة التوزيع المستمر وطريقة إدارة التوزيع المتقطع. يشير أسلوب إدارة التخصيص المستمر إلى تخصيص مساحة ذاكرة مستمرة لبرنامج المستخدم ، مثل إدارة الكتلة. وبالمثل ، فإن طريقة إدارة التخصيص غير المتجاورة تسمح بتوزيع الذاكرة التي يستخدمها البرنامج في ذاكرة منفصلة أو غير متجاورة ، مثل إدارة الصفحة وإدارة المقطع.

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

  • إدارة الصفحة : الذاكرة الرئيسية مقسمة إلى حجم متساوٍ وثابت شكل صفحة واحدة صفحة واحدة ، الصفحة أصغر ، مقارنة بإدارة الكتل ، القسمة أكثر كثافة ، تحسين استخدام الذاكرة ، وتقليل التجزئة. تتوافق إدارة الصفحة مع العناوين المنطقية والعناوين الفعلية من خلال جداول الصفحات.

  • إدارة القطاع : على الرغم من أن إدارة الترحيل تعمل على تحسين استخدام الذاكرة ، إلا أن إدارة الترحيل ليس لها أي معنى عملي. تقسم إدارة القطع الذاكرة الرئيسية إلى مقاطع ، وتكون مساحة كل جزء أصغر بكثير من مساحة صفحة واحدة. ومع ذلك ، فإن الشيء الأكثر أهمية هو أن المقطع له أهمية عملية ، فكل مقطع يحدد مجموعة من المعلومات المنطقية ، على سبيل المثال ، هناك مقطع رئيسي للبرنامج الرئيسي ، مقطع البرنامج الفرعي X ، مقطع البيانات D ومقطع المكدس S. تتوافق إدارة المقطع مع العنوان المنطقي والعنوان الفعلي من خلال جدول المقطع.

  • er المحاور: الجواب ليس سيئا! ومع ذلك ، مفقودة آلية إدارة صفحة قطعة هامة جداً. تجمع آلية إدارة صفحة المقطع بين مزايا إدارة المقطع وإدارة الصفحة. بعبارات بسيطة ، تتمثل آلية إدارة صفحة المقطع في تقسيم الذاكرة الرئيسية إلى عدة أجزاء ، ويتم تقسيم كل جزء إلى عدة صفحات ، أي أن آلية إدارة صفحة المقطع منفصلة بين الأجزاء وداخل الشرائح.

    أنا: شكرًا لك ، المحاور! لقد نسيت هذا ~

    3.3 جدول سريع وجدول متعدد المستويات

    terالمقابلة: هناك مفهومان مهمان جدًا في آلية إدارة جدول الصفحات: جدول سريع وجدول صفحة متعدد المستويات ، يحل هذان الشيئان المشكلتين المهمتين في إدارة جدول الصفحة. أعطني مقدمة موجزة!

    : في إدارة الترحيل ، هناك نقطتان مهمتان:

    الترجمة من العنوان الافتراضي إلى العنوان الفعلي أسرع.

    حل المشكلة المتمثلة في أن مساحة العنوان الافتراضية كبيرة ، وجدول الصفحة سيكون كبيرًا جدًا.

    مشاهدة سريعة

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

    عملية ترجمة العنوان بعد استخدام الجدول السريع هي:

  • ابحث عن القائمة السريعة وفقًا لرقم الصفحة في العنوان الافتراضي ؛

  • إذا كانت الصفحة في الجدول السريع ، فاقرأ العنوان الفعلي المقابل من الجدول السريع مباشرةً ؛

  • إذا لم تكن الصفحة في الجدول السريع ، فقم بالوصول إلى جدول الصفحة في الذاكرة ، ثم احصل على العنوان الفعلي من جدول الصفحة ، وأضف إدخال جدول التعيين في جدول الصفحة إلى الجدول السريع

  • عند ملء القائمة السريعة وتسجيل صفحة جديدة ، يتم حذف صفحة في القائمة السريعة وفقًا لإستراتيجية حذف معينة.

  • بعد قراءتها ، ستجد أن الساعة السريعة تشبه إلى حد كبير ذاكرة التخزين المؤقت (مثل Redis) التي نستخدمها عادةً في النظام الذي نطوره. ابحث عن ظلها في مختلف الأدوات أو الأطر المستخدمة في التطوير.

    جدول صفحات متعدد المستويات

    الغرض الرئيسي من إدخال جداول الصفحات متعددة المستويات هو تجنب الاحتفاظ بجميع جداول الصفحات في الذاكرة وشغل مساحة كبيرة جدًا ، خاصة أن جداول الصفحات غير المطلوبة على الإطلاق لا تحتاج إلى الاحتفاظ بها في الذاكرة. ينتمي جدول الصفحات متعدد المستويات إلى السيناريو النموذجي للفضاء ، يمكنك التحقق من المقالة التالية للحصول على التفاصيل

    كيفية حفظ الذاكرة لجداول الصفحات متعددة المستويات: https://www.polarxiong.com/archives/ كيفية حفظ الذاكرة لجداول الصفحات متعددة المستويات. html

    الملخص

    من أجل تحسين أداء مساحة الذاكرة ، يقترح مفهوم جدول الصفحات متعدد المستويات ؛ ومع ذلك ، يذكر أن أداء الفضاء يعتمد على أداء إضاعة الوقت ، لذلك من أجل استكمال أداء الوقت الضائع ، يقترح مفهوم الجدول السريع (أي TLB). سواء كان جدولًا سريعًا أو جدول صفحات متعدد المستويات ، يتم بالفعل استخدام مبدأ محلية البرنامج. وسيتم عرض مبدأ المحلية في قسم الذاكرة الافتراضية لاحقًا.

    3-4 القواسم المشتركة والاختلافات بين آلية الترحيل وآلية التجزئة

    terمقابل: ما هي أوجه التشابه والاختلاف بين آلية الترحيل وآلية التجزئة؟

    أنا:

    ارضية مشتركة:

  • تعمل كل من آلية الترحيل وآلية التجزئة على تحسين استخدام الذاكرة وتقليل تجزئة الذاكرة.

  • يتم تخزين الصفحات والمقاطع بشكل منفصل ، لذلك كلاهما طرق تخصيص الذاكرة بشكل منفصل. ومع ذلك ، فإن الذاكرة في كل صفحة ومقطع مستمر.

  • الاختلاف :

  • يتم تحديد حجم الصفحة وتحديده بواسطة نظام التشغيل ؛ في حين أن حجم المقطع غير ثابت ، إلا أنه يعتمد على البرنامج الذي نقوم بتشغيله حاليًا.

  • الترحيل هو فقط لتلبية متطلبات إدارة ذاكرة نظام التشغيل ، والمقطع هو وحدة من المعلومات المنطقية ، والتي يمكن أن تنعكس في البرنامج كقطعة رمز وقطعة بيانات ، والتي يمكن أن تلبي احتياجات المستخدمين بشكل أفضل.

  • 3.5 العنوان المنطقي (الافتراضي) والعنوان الفعلي

    er المحاور: لقد ذكرت للتو مفهومي العنوان المنطقي والعنوان المادي ، لست واضحًا تمامًا ، هل يمكنك شرحه لي؟

    أنا: em ... حسنا! لا يمكن للبرمجة الخاصة بنا عمومًا سوى التعامل مع العناوين المنطقية. على سبيل المثال ، في لغة C ، يمكن فهم القيمة المخزنة في المؤشر كعنوان في الذاكرة. ويسمى هذا العنوان أيضًا العنوان المنطقي. يتم تحديد العنوان المنطقي بواسطة نظام التشغيل. يشير العنوان الفعلي إلى العنوان الموجود في الذاكرة الفعلية الحقيقية ، وبشكل أكثر تحديدًا ، العنوان في سجل عنوان الذاكرة. العنوان الفعلي هو العنوان الحقيقي لوحدة الذاكرة.

    3.6 عنونة وحدة المعالجة المركزية؟ هل تحتاج إلى مساحة عنوان افتراضية؟

    المحاور: هل تفهم معالجة CPU؟ لماذا تحتاج إلى مساحة عنوان افتراضية؟

    أنا: لا أعرف هذا الجزء حقًا!

    لذا بعد المقابلة ، ذهبت بصمت للتشاور مع الوثائق ذات الصلة! تركت الدموع بدون تكنولوجيا.

    يشير هذا الجزء إلى مقدمة موقع مايكروسوفت الرسمي ، العنوان: https://msdn.microsoft.com/zh-cn/library/windows/hardware/hh439648(v=vs.85).aspx

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

    لماذا توجد مساحة عنوان افتراضية؟

    لنتحدث عنه عندما لا توجد مساحة عنوان افتراضية! عندما لا تكون هناك مساحة عنوان افتراضية ، يصل البرنامج مباشرة ويعمل على الذاكرة الفعلية. ولكن ما هو الخطأ في ذلك؟

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

  • من الصعب بشكل خاص تشغيل برامج متعددة في نفس الوقت ، على سبيل المثال ، إذا كنت ترغب في تشغيل موسيقى WeChat وموسيقى QQ واحدة في نفس الوقت ، فلن تعمل. لماذا ا؟ لإعطاء مثال بسيط: عندما يقوم WeChat بتعيين عنوان ذاكرة 1xxx عند التشغيل ، تقوم موسيقى QQ أيضًا بتعيين عنوان ذاكرة 1xxx ، ثم يؤدي تعيين موسيقى QQ إلى الذاكرة إلى استبدال القيمة السابقة التي تم تعيينها بواسطة WeChat ، مما تسبب في WeChat هذا البرنامج سوف يتعطل.

  • باختصار: إذا تم الكشف عن العنوان الفعلي بشكل مباشر ، فسوف يسبب مشاكل خطيرة ، مثل الأضرار المحتملة لنظام التشغيل وصعوبة في تشغيل برامج متعددة في نفس الوقت.

    يتمتع الوصول إلى الذاكرة من خلال العناوين الافتراضية بالمزايا التالية:

    • يمكن للبرامج استخدام سلسلة من العناوين الظاهرية المجاورة للوصول إلى مخازن الذاكرة الكبيرة غير المجاورة في الذاكرة الفعلية.

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

    • يتم عزل العناوين الافتراضية المستخدمة من قبل عمليات مختلفة عن بعضها البعض. لا يمكن للكود الموجود في إحدى العمليات تغيير الذاكرة الفعلية المستخدمة من قبل عملية أو نظام تشغيل آخر.

    ذاكرة افتراضية

    4.1 ما هي الذاكرة الافتراضية (الذاكرة الافتراضية)؟

    المحاور: أسألك سؤال آخر منطقي! ما هي الذاكرة الافتراضية (الذاكرة الافتراضية)؟

    Me: هذا أمر شائع جدًا عند استخدام أجهزة الكمبيوتر ، وخاصة أنظمة Windows. في كثير من الأحيان نستخدم برامج تفتح الكثير من الذاكرة ، وقد تكون الذاكرة التي تشغلها هذه البرامج قد تجاوزت الذاكرة الفعلية للكمبيوتر الخاص بنا. لماذا هذا ممكن؟ هذا هو بالضبط بسبب وجود الذاكرة الافتراضية التي من خلال الذاكرة الافتراضية ، يمكن للبرامج أن تحتوي على مساحة خالية من الذاكرة تتجاوز حجم الذاكرة الفعلية للنظام. بالإضافة إلى ذلك ، توفر الذاكرة الافتراضية لكل عملية مساحة عنوان خاصة متسقة ، مما يعطي كل عملية وهمًا بأنها تتمتع بذاكرة رئيسية حصرية (لكل عملية مساحة ذاكرة مستمرة وكاملة). سيؤدي ذلك إلى إدارة الذاكرة بشكل أكثر كفاءة وتقليل الأخطاء.

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

    هناك بعض الجمل في ويكيبيديا التي تقدم الذاكرة الافتراضية بهذه الطريقة.

    الذاكرة الافتراضية: تجعل التطبيق يعتقد أن لديه ذاكرة متاحة مستمرة (مساحة عنوان مستمرة وكاملة) ، ولكن في الواقع ، يتم تقسيمها عادة إلى أجزاء ذاكرة فعلية متعددة ، وبعضها يتم تخزينه مؤقتًا على تخزين قرص خارجي ، تبادل البيانات عند الحاجة. مقارنة بالأنظمة التي لا تستخدم تقنية الذاكرة الافتراضية ، فإن الأنظمة التي تستخدم هذه التقنية تسهل كتابة البرامج الكبيرة واستخدام الذاكرة الفعلية الحقيقية (مثل ذاكرة الوصول العشوائي) بكفاءة أكبر. في الوقت الحاضر ، تستخدم معظم أنظمة التشغيل ذاكرة افتراضية ، مثل "الذاكرة الظاهرية" لعائلة Windows ؛ و "مساحة المبادلة" في Linux. من: https: //zh.wikipedia.org/wiki/Virtual Memory

    4.2 مبدأ المحلية

    ter مقابلة: لفهم تقنية الذاكرة الافتراضية بشكل أفضل ، يجب أن تعرف مبدأ المنطقة الشهيرة في أجهزة الكمبيوتر. بالإضافة إلى ذلك ، ينطبق مبدأ المحلية على كل من هياكل البرامج وهياكل البيانات ، وهو مفهوم مهم للغاية.

    أنا: مبدأ المحلية هو أساس تقنية الذاكرة الافتراضية ، وذلك بالتحديد لأن البرنامج يعمل مع مبدأ المحلية أنه لا يمكن تحميل سوى جزء من البرنامج في الذاكرة وبدء تشغيله.

    يتم اقتباس المحتوى التالي من الفصل 4 إدارة الذاكرة من البرنامج التعليمي لنظام تشغيل الكمبيوتر.

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

    يتم التعبير عن مبدأ التجمع في الجانبين التاليين:

    المنطقة الزمنية : بمجرد تنفيذ التعليمات في البرنامج ، قد يتم تنفيذ التعليمات مرة أخرى قريبًا ؛ إذا تم الوصول إلى البيانات ، فقد يتم الوصول إلى البيانات مرة أخرى قريبًا. يرجع السبب النموذجي لمحلية الوقت إلى العدد الكبير من عمليات الحلقة في البرنامج.

    المنطقة المكانية : بمجرد أن يصل البرنامج إلى وحدة تخزين ، سيتم الوصول إلى وحدة التخزين القريبة قريبًا ، أي أن العنوان الذي يصل إليه البرنامج خلال فترة زمنية معينة قد يتركز ضمن نطاق معين ، لأن التعليمات عادة ما تكون يتم تخزين البيانات وتنفيذها بالتتابع ، ويتم تجميع البيانات وتخزينها بشكل عام في شكل ناقلات ومصفوفات وجداول وما إلى ذلك.

    يتم تحقيق المنطقة الزمنية من خلال تخزين التعليمات والبيانات المستخدمة مؤخرًا في ذاكرة التخزين المؤقت واستخدام التسلسل الهرمي لذاكرة التخزين المؤقت. عادة ما يتم تحقيق الموقع المكاني باستخدام ذاكرة تخزين مؤقت أكبر ودمج آلية الجلب المسبق في منطق التحكم في ذاكرة التخزين المؤقت. تقنية الذاكرة الافتراضية هي في الواقع إنشاء هيكل ذاكرة "الذاكرة الخارجية التخزين" على مستويين ، باستخدام المبادئ المحلية لتحقيق ذاكرة التخزين المؤقت عالية السرعة.

    4.3 التخزين الظاهري

    المحاور: لقد تحدثت عن الذاكرة الافتراضية. تتحدث عن الذاكرة الافتراضية مرة أخرى!

    أنا:

    هذا الجزء من المحتوى يأتي من: الانتهاء من نقاط المعرفة لنظام تشغيل الدراسات العليا للملك.

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

    في الواقع ، أعتقد أن الذاكرة الافتراضية هي أيضًا إستراتيجية الوقت للفضاء. أنت تستخدم الوقت الحسابي لوحدة المعالجة المركزية والوقت الذي تقضيه في الصفحة داخل وخارج الصفحة ، مقابل مساحة افتراضية أكبر لدعم البرنامج. يجب أن أتنهد أن عالم البرمجة يكاد يكون إما وقتًا للفضاء أو الفضاء للوقت.

    4.4 الإدراك التقني للذاكرة الافتراضية

    المحاور: وماذا عن تطبيق تقنية الذاكرة الافتراضية؟

    Me: يجب أن يستند تنفيذ الذاكرة الافتراضية إلى إدارة الذاكرة المخصصة بشكل منفصل. هناك ثلاث طرق لتطبيق الذاكرة الافتراضية:

  • طلب إدارة تخزين الترحيل : بناءً على إدارة الترحيل ، من أجل دعم وظيفة الذاكرة الظاهرية ، تتم إضافة وظيفة طلب الترحيل ووظيفة استبدال الصفحة. يُعد طلب الترحيل حاليًا الطريقة الأكثر استخدامًا لتنفيذ الذاكرة الافتراضية. في نظام إدارة تخزين صفحات الترحيل ، قبل بدء المهمة ، يمكن تشغيل جزء فقط من المقطع الحالي الذي سيتم تنفيذه. إذا تبين أن الصفحة التي سيتم الوصول إليها ليست في الذاكرة أثناء تشغيل المهمة ، يقوم المعالج بإخطار نظام التشغيل بنقل الصفحة المقابلة إلى الذاكرة الرئيسية وفقًا لخوارزمية استبدال الصفحة المقابلة ، ويمكن لنظام التشغيل أيضًا استبدال الصفحة غير المستخدمة مؤقتًا إلى تخزين خارجي.

  • طلب إدارة التخزين المقسمة : استنادًا إلى إدارة التخزين المجزأ ، إضافة وظيفة تجزئة الطلب واستبدال المقطع. يشبه طلب أسلوب إدارة التخزين المقسم تمامًا طريقة إدارة تخزين التخزين المؤقت للطلب. قبل بدء المهمة ، يمكن تشغيل الجزء فقط من الجزء الحالي الذي سيتم تنفيذه ؛ أثناء عملية التنفيذ ، يمكنك استخدام الطلب للاتصال لمقاطعة التحميل الديناميكي للوصول لكن جزء البرنامج غير الموجود في الذاكرة ؛ عندما تكون مساحة الذاكرة ممتلئة ويحتاج إلى تحميل مقطع جديد ، يتم استدعاء جزء معين بشكل مناسب وفقًا لوظيفة الاستبدال ، وذلك لإفساح المجال للمقطع الجديد.

  • طلب إدارة تخزين صفحة الجزء

  • قل المزيد هنا؟ كثير من الناس مرتبكون بشأن طلب إدارة صفحات الترحيل وتخزينها. ما الفرق بين الاثنين؟

    يعتمد طلب إدارة تخزين الترحيل على إدارة الترحيل. الاختلاف الأساسي بينهما هو ما إذا كان يتم تحميل كل مساحة العنوان التي يتطلبها البرنامج في الذاكرة الرئيسية ، وهذا هو السبب في أن طلب إدارة تخزين الصفحات يمكن أن يوفر ذاكرة افتراضية ، والتي قمنا بتحليلها أعلاه.

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

    بغض النظر عن التنفيذ أعلاه ، نحتاج بشكل عام إلى:

  • مقدار معين من الذاكرة والتخزين الخارجي: عند تحميل البرنامج ، يجب تحميل جزء فقط من البرنامج في الذاكرة ، ويتم ترك الأجزاء الأخرى في التخزين الخارجي ، ومن ثم يمكن تنفيذ البرنامج ؛

  • خطأ في الصفحة : إذا كانت التعليمات التي سيتم تنفيذها أو أن البيانات التي سيتم الوصول إليها ليست في الذاكرة (تسمى خطأ الصفحة أو خطأ المقطع) ، فسوف يقوم المعالج بإخطار نظام التشغيل بنقل الصفحة أو المقطع المطابق إلى الذاكرة ، ثم يواصل تنفيذ البرنامج ؛

  • مساحة العنوان الافتراضية : تحويل العنوان المنطقي إلى العنوان الفعلي.

  • 4.5 خوارزمية استبدال الصفحة

    المحاور: من المفاهيم المهمة جدًا لإدارة الذاكرة الافتراضية هو خوارزمية استبدال الصفحة. ثم تتحدث عن دور خوارزمية استبدال الصفحة ما هي خوارزميات استبدال الصفحة الشائعة؟

    أنا:

    غالبًا ما يظهر هذا السؤال كاختبار مكتوب ، وقد تم تقديم إجابة جيدة عبر الإنترنت. لقد قمت بتلخيصه هنا.

    أثناء عملية تعيين العنوان ، إذا لم يتم العثور على الصفحة التي سيتم الوصول إليها في الذاكرة ، يحدث خطأ في الصفحة.

    تعني مقاطعة خطأ الصفحة أن الصفحة التي سيتم الوصول إليها ليست في الذاكرة الرئيسية ، ويحتاج نظام التشغيل إلى نقلها إلى الذاكرة الرئيسية قبل الوصول. في هذا الوقت ، أصبح الملف المعين للذاكرة بالفعل ملف مبادلة ترحيل.

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

    • خوارزمية استبدال صفحة OPT (أفضل خوارزمية استبدال الصفحة) : تحدد الخوارزمية المثلى (الأمثل ، OPT) الصفحات التي سيتم التخلص منها ولن يتم استخدامها في المستقبل ، أو الصفحات التي لن تتم زيارتها في أطول وقت ، وذلك لضمان أقل معدل خطأ للصفحة. ومع ذلك ، لا يمكن تنفيذ هذه الخوارزمية لأن الأشخاص لا يمكنهم حاليًا التنبؤ بأي من آلاف الصفحات في الذاكرة في العملية لن يتم الوصول إليها لأطول وقت في المستقبل. تستخدم عادة كطريقة لقياس خوارزميات الاستبدال الأخرى.

    • خوارزمية استبدال صفحة FIFO (First In First Out) (خوارزمية استبدال الصفحة أولاً بأول يخرج) : قم دائمًا بإزالة الصفحة الأولى التي تدخل الذاكرة ، أي حدد الصفحة الموجودة في الذاكرة لأطول وقت يتم التخلص منه.

    • LRU (الأقل استخدامًا حاليًا) خوارزمية استبدال الصفحة (خوارزمية استبدال الصفحة المستخدمة حاليًا) : خوارزمية LRU تمنح كل صفحة حقل وصول ، يُستخدم لتسجيل الوقت الذي مرت فيه الصفحة منذ آخر مرة تمت زيارتها يتم حذف الصفحات المستخدمة.

    • LFU (الأقل استخدامًا) خوارزمية استبدال الصفحة (خوارزمية استبدال الصفحة الأقل استخدامًا) : تحدد خوارزمية الاستبدال الصفحة التي تستخدم أقل قدر في الفترة السابقة كصفحة محذوفة.

    مرجع:

    "نظام تشغيل الكمبيوتر - تانغ Xiaodan" الإصدار الرابع

    "فهم متعمق لأنظمة الكمبيوتر"

    https://zh.wikipedia.org/wiki/I/O وحدة إدارة الذاكرة

    https://baike.baidu.com/item/Quick watch / 19781679

    https://www.jianshu.com/p/1d47ed0b46d5

    https://www.studytonight.com/operating-system

    https://www.geeksforgeeks.org/interprocess-communication-methods/

    https://juejin.im/post/59f8691b51882534af254317

    وانغ داو تشطيب نقاط المعرفة لنظام التشغيل للدراسات العليا: https://wizardforcel.gitbooks.io/wangdaokaoyan-os/content/13.html

    بيان حقوق النشر: هذه المقالة مقالة أصلية كتبها مدون CSDN "دليل الأخ" ، الذي يتبع اتفاقية حقوق الطبع والنشر CC 4.0 BY-SA. يُرجى إرفاق رابط المصدر الأصلي وهذا البيان لإعادة طبعه.

    الرابط الأصلي: https://blog.csdn.net/qq_34337272/java/article/details/105291118

    أضاف CloudAlibaba Cloud 200 مليار يوان ، ثم البنية التحتية الجديدة "الاستكشافية"!

    يبدو أنه غير ذي صلة. ما مدى تقاطع الفلسفة والتعلم الآلي؟

    background تم إخراج خلفية الفنون الليبرالية من Instagram ، و "شوتشا" أبعدها لبناء موقع ويب جديد لتتبع التاج. هذا المبرمج هو مجرد بقرة!

    reduce لتقليل تكلفة الحساب لعملية التنبؤ ، يجب أن تعرف طرق ضغط نموذج البرمجة اللغوية العصبية هذه

    know هل تعرف جميع أنظمة التخزين الموزعة المشتركة هذه؟

    nativeJingdong Zhilian Yunyun الممارسة الأصلية ، أقول لك ما هي القاعدة الذهبية للرصد وتسجيل الدخول

    قاعدة بيانات Serverless الأولى، والهندسة التقنية السري كله للصين

    استجابة ابل اي فون الإلكتروني إلى الضعف، جيثب 3 أيام متتالية من انفجار شديد أسفل الحالة؛ تينسنت مفتوحة المصدر أداة محول المنطق تسارع | المهوسون العناوين

    دوران السوق | قوة منطقة واحدة! سوتشو المعاملات السكنية، الأسبوع الرابع من أبريل 1493 طوق تصل 1.50

    تايوان أسطول المتضررين زار أماكن أخرى؟ تساي إنغ ون جيا باو: لا يان تاك: نعم

    هرعت الطابق السفلي لحفظ ساجد الركبتين الأرجواني، والابهام والأصدقاء نشيدة بعد تعلم هوية ......

    الأحمر الصافية واحدة شبكة ألف شاشة يدعو لك "الوفاء سلامة" عام 2020 للمشاركة في هونان (الربيع) مهرجان السياحة الريفية الثقافة

    حرب "الطاعون" الحرب "العجاف" كيفية إضافة بعض الأسئلة إلى إجابة؟ الأمين العام شي جين بينغ هذا الدليل

    2020 معرض الإسكان لوك على الانترنت 26 أبريل العروض العقارية من البث

    أقيل بعد 12 أيام، في تلقي سوبر الصينية أو أخبار سيئة والخبراء القانونيين حتى وراء قرار Hengda

    طرد في اليوم 14، والأحداث اللاحقة سوبر الصينية: التعرض على أمل أن Hengda انفصال سلمي، لا تريد أن تتصلب

    وسائل الاعلام تعليق مانشستر سيتي MVP: المنتخبة الأولى في العالم لاعب خط الوسط غير مثيرة للجدل، ومن المتوقع أن يحطم الرقم القياسي في الدوري الممتاز ما يقرب من 17 عاما من الله

    الثالثة وكان غرفة | انتعشت قيمة التداول بشكل حاد خلال الأسبوع الماضي، LPR اسقاط أقل وأقل، قلبك ذلك؟