الوحدة 6 · CS351

🎯 أهداف التعلم

Resource-Allocation Graph: Deadlock State مخطط تخصيص الموارد: حالة الجمود Deadlock Cycle حلقة الجمود R1 R2 R3 R4 T1 T2 T3 Process (عملية) Resource (مورد) Instance (نسخة) Request (طلب) Assignment (تخصيص)
c
/* Preventing Circular Wait by acquiring locks in order */
void *do_work_one(void *param) {
    pthread_mutex_lock(&first_mutex); // 1
    pthread_mutex_lock(&second_mutex); // 5
    /* Do work */
    pthread_mutex_unlock(&second_mutex);
    pthread_mutex_unlock(&first_mutex);
    pthread_exit(0);
}

void *do_work_two(void *param) {
    /* MUST acquire in the same order (1 then 5) to prevent deadlock */
    pthread_mutex_lock(&first_mutex); // 1
    pthread_mutex_lock(&second_mutex); // 5
    /* Do work */
    pthread_mutex_unlock(&second_mutex);
    pthread_mutex_unlock(&first_mutex);
    pthread_exit(0);
}
System State Space / فضاء حالات النظام Deadlock حالة الجمود Unsafe State حالة غير آمنة Safe State حالة آمنة All deadlocks are unsafe كل حالات الجمود غير آمنة May or may not deadlock قد تؤدي أو لا تؤدي لجمود No deadlock possible يستحيل حدوث حالة جمود
$$Need[i,j] = Max[i,j] - Allocation[i,j]$$
Resource-Allocation Graph رسم بياني لتخصيص الموارد Wait-for Graph رسم بياني للانتظار T1 R1 T2 R3 T3 R2 T1 T2 T3 Process (عملية) Resource (مورد) Dependency / Wait (اعتماد / انتظار)
Single Instance (نسخة واحدة) Multiple Instances (نسخ متعددة)
Prevention (الوقاية) Avoidance (التجنب) Detection & Recovery (الاكتشاف والتعافي)
🎓

حديث البروفيسور

❓ اسأل البروفيسور

البطاقات التعليمية

اختبر نفسك

1 / 10 🎯 نتيجتك: 0

🔐 خزنة الامتحان

🔑 مفهوم أساسي | Key Concept
⚠️ فخ امتحاني | Exam Trap
🤫 سر البروفيسور | Professor's Secret
⚠️ فخ امتحاني | Exam Trap
🔑 مفهوم أساسي | Key Concept