Ե՞րբ օգտագործել mutex_lock_interruptible:

Բովանդակություն:

Ե՞րբ օգտագործել mutex_lock_interruptible:
Ե՞րբ օգտագործել mutex_lock_interruptible:

Video: Ե՞րբ օգտագործել mutex_lock_interruptible:

Video: Ե՞րբ օգտագործել mutex_lock_interruptible:
Video: Ի՞նչ: Որտե՞ղ: Ե՞րբ: Ամառային եթերաշրջան - 15․07․2023 / Что? Где? Когда? Армения 2024, Սեպտեմբեր
Anonim

Օգտագործեք mutex_lock_interruptible ֆունկցիան, որպեսզի ձեր վարորդն ընդհատվի ցանկացած ազդանշանով: Սա ենթադրում է, որ ձեր համակարգային զանգը պետք է գրվի այնպես, որ այն հնարավոր լինի վերագործարկել: (Տես նաև ERESTARTSYS):

Կարո՞ղ եմ կողպել պտտվող կողպեքը մեկ պրոցեսորի մեջ և ապակողպել այն մեկ այլ պրոցեսորի մեջ:

Մեկ միջուկային/մեկ պրոցեսորային համակարգի վրա պտտվող կողպեքների օգտագործումը սովորաբար անիմաստ է, քանի որ քանի դեռ պտտվող հարցումը արգելափակում է միակ հասանելի պրոցեսորի միջուկը, ոչ մի այլ շղթա չի կարող աշխատել, և քանի որ ոչ մի այլ շղթա չի կարող աշխատել, կողպեքը նույնպես չի ապակողպվի.

Կարո՞ղ եմ զանգել Kmalloc Gfp_kernel-ը պտտվող կողպեք պահելիս:

Դուք չեք կարող, այնուամենայնիվ, անել մի բան, որը կքնի պտտվող կողպեքը պահելիս:Օրինակ, երբեք մի զանգահարեք որևէ գործառույթ, որը դիպչում է օգտվողի հիշողությանը, kmalloc-ին GFP_KERNEL դրոշակով, սեմալիստական որևէ գործառույթ կամ ժամանակացույցի որևէ գործառույթ՝ պտտվող կողպեքը պահելով: … Linux-ի սեմաֆորները քնած կողպեքներ են:

Ի՞նչ է Spinlock_t?

int spin_trylock(spinlock_t lock) Կողպում է spinlock եթե այն արդեն կողպված չէ: Եթե չկարողանա ձեռք բերել կողպեքը, այն դուրս է գալիս սխալմամբ և չի պտտվում կողպեքը: spin_lock_irq: spin_lock_irq(spinlock_t lock)

Ի՞նչ է միջուկի մուտեքսը:

Լինուքսի միջուկում mutexe-ները վերաբերում են որոշակի կողպման պարզունակությանը, որն ապահովում է սերիալիզացիա ընդհանուր հիշողության համակարգերում, և ոչ միայն ընդհանուր տերմինը, որը վերաբերում է «փոխադարձ բացառմանը», որը հայտնաբերված է: ակադեմիական կամ նմանատիպ տեսական դասագրքեր։

Խորհուրդ ենք տալիս: