اذهب إلى المحتوى

Aya Waadullah

الأعضاء
  • المساهمات

    7
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة Aya Waadullah

  1. بتاريخ On 31‏/5‏/2021 at 21:07 قال Wael Aljamal:

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

    بهذه الحالة العملية التي تنتهي ثانياً ستقوم بكتابة الرصيد الذي حسبته هي وسيتم تجاهل القيمة التي حسبتها العملية الأولى

    بدون مزامنة:

    
    SELECT balance FROM accounts.
    
    => balance = 100
    
    UPDATE accounts SET BALANCE = [balance + 120] WHERE ID = [5]
    
    UPDATE accounts SET BALANCE = [balance + 350] WHERE ID = [5]
    
    => balance = 450 // خطأ

    مع مزامنة سيتم تعديل balance بعد انتهاء أول عملية ثم ستقوم العملية الثانية بالتعديل على ناتج الأولى.

    لتصبح 570 = balance 

    هناك عدة حلول ممكنة لِ Synchronization وهي :-

    1 software solution for synchronization

    2 Hardware support for synchronizatio

    ● Disable interrupts 

    ● Test and set instruction 

    3 OS support for synchronization 

    ● Mutex locks 

    ● Semaphore 

    ما هو الحل المناسب لإستخدام هذا المثال (المعاملات البنكية) ؟

    هل يمكن التوضيح !!!

  2. بتاريخ On 31‏/5‏/2021 at 21:07 قال Wael Aljamal:

    بدون مزامنة:

    
    SELECT balance FROM accounts.
    
    => balance = 100
    
    UPDATE accounts SET BALANCE = [balance + 120] WHERE ID = [5]
    
    UPDATE accounts SET BALANCE = [balance + 350] WHERE ID = [5]
    
    => balance = 450 // خطأ

    مع مزامنة سيتم تعديل balance بعد انتهاء أول عملية ثم ستقوم العملية الثانية بالتعديل على ناتج الأولى.

    لتصبح 470 = balance 

    كيف تصبح 470 = balance !!!!!

    في هذا المثال " 100 = balance "

    100 + 120 = 220 (ناتج العملية الاولى)

    220 + 350 = 570 (ناتج العملية الثانية)

    من المفروض تصبح 570 = balance 

  3. بتاريخ منذ ساعة مضت قال Wael Aljamal:

    المثال العلمي: في المعاملات البنكية، قبل التعديل على رصيد أحد الحسابات يتم منع باقِ العمليات من التعديل أو قراءة قيمة الرصيد حتى يتم الإنتهاء من المعاملة الحالية وتعديل الرصيد.

     

    هل يمكن أن توضح أكثر كيف تستخدم ال process synchronization في المعاملات البنكية .

  4. ماذا تعني Process synchronization في operating Systems وكيف يمكن تطبيقها في التكنولوجيا البرامج، التطبيقات، الأجهزة، .... الخ ؟

    ارجو توضيحها بمثال علمي واقعي.

×
×
  • أضف...