Mutex_lock_interruptible-г хэзээ ашиглах вэ?

Агуулгын хүснэгт:

Mutex_lock_interruptible-г хэзээ ашиглах вэ?
Mutex_lock_interruptible-г хэзээ ашиглах вэ?

Видео: Mutex_lock_interruptible-г хэзээ ашиглах вэ?

Видео: Mutex_lock_interruptible-г хэзээ ашиглах вэ?
Видео: Цаг хугацаа гэж яг юу вэ? Хэрхэн цаг хугацааг зөв ашиглах вэ? 2024, Арваннэгдүгээр
Anonim

Mutex_lock_тасалдагдах функцийг ашиглан жолоочоо ямар нэгэн дохиогоор тасалдуулахыг зөвшөөрнө үү. Энэ нь таны системийн дуудлагыг дахин эхлүүлэхийн тулд бичих ёстой гэсэн үг юм. (Мөн ERESTARTSYS-г үзнэ үү.)

Би нэг CPU-д эргэх түгжээг түгжиж, өөр CPU-ийн түгжээг тайлж болох уу?

Нэг цөмт/нэг CPU-ийн систем дээр эргэх түгжээг ашиглах нь ихэвчлэн утгагүй, учир нь эргүүлэх санал хураалт нь зөвхөн боломжтой CPU-ийн цөмийг хааж байгаа тохиолдолд өөр ямар ч урсгал ажиллахгүй бөгөөд өөр ямар ч хэлхээ ажиллах боломжгүй тул, түгжээг бас нээхгүй.

Би spinlock барьж байхдаа Kmalloc Gfp_kernel руу залгаж болох уу?

Гэхдээ та, spinlock барьж байхдаа унтах ямар ч зүйлийг хийх боломжгүй. Жишээлбэл, хэрэглэгчийн санах ойд хүрсэн ямар ч функц, GFP_KERNEL туг бүхий kmalloc, семафорын функцууд эсвэл хуваарийн функцуудын аль нэгийг spinlock барьж байхдаа хэзээ ч бүү дууд. … Линукс дээрх семафорууд унтдаг.

Spinlock_t гэж юу вэ?

int spin_trylock(spinlock_t lock) Spinlock-ыг түгжинэ хэрэв түгжээгүй бол. Хэрэв түгжээг авч чадахгүй бол алдаа гарч, түгжээг эргүүлэхгүй. spin_lock_irq: spin_lock_irq(spinlock_t түгжих)

Цөмийн мутекс гэж юу вэ?

Линуксийн цөмд мутексууд нь дундын санах ойн систем дээр цуваажуулалтыг хэрэгжүүлдэг тусгай түгжих командыг хэлдэг бөгөөд зөвхөн "харилцан хасах" гэсэн ерөнхий нэр томъёонд хамаарахгүй. академи эсвэл ижил төстэй онолын сурах бичиг.

Зөвлөмж болгож буй: