Milloin käytetään mutex_lock_interruptiblea?

Sisällysluettelo:

Milloin käytetään mutex_lock_interruptiblea?
Milloin käytetään mutex_lock_interruptiblea?

Video: Milloin käytetään mutex_lock_interruptiblea?

Video: Milloin käytetään mutex_lock_interruptiblea?
Video: Käyttöjärjestelmät ja Systeemiohjelmointi: Prosessinohjaus ja säikeet 2024, Syyskuu
Anonim

Käytä mutex_lock_interruptible-toimintoa , jotta mikä tahansa signaali voi keskeyttää ohjaimesi. Tämä tarkoittaa, että järjestelmäkutsu tulee kirjoittaa, jotta se voidaan käynnistää uudelleen. (Katso myös ERESTARTSYS.)

Voinko lukita spinlockin yhteen prosessoriin ja avata sen toisen prosessorin?

Spinlockien käyttäminen yhden ytimen/yhden suorittimen järjestelmässä ei yleensä ole järkevää, koska niin kauan kuin spinlock-kysely estää ainoan saatavilla olevan CPU-ytimen, mikään muu säiettä ei voi toimia, ja koska mikään muu säiettä ei voi toimia, lukkoa ei myöskään avata.

Voinko soittaa Kmallocin Gfp_kernelille, kun pidän spinlockia?

Et voi kuitenkaan tehdä mitään, mikä nukuttaa, kun pidät spinlockia. Älä esimerkiksi koskaan kutsu mitään funktiota, joka koskettaa käyttäjän muistia, kmallocia GFP_KERNEL-lipulla, mitään semaforifunktiota tai mitään aikataulutoimintoa pitäen samalla spinlockia. … Linuxin semaforit ovat nukkuvia lukkoja.

Mikä on Spinlock_t?

int spin_trylock(spinlock_t lock) Lukitsee spinlockin jos se ei ole jo lukittu. Jos lukkoa ei saada, se poistuu virheestä eikä pyöritä lukkoa. spin_lock_irq: spin_lock_irq(spinlock_t lock)

Mikä on ytimen mutex?

Linux-ytimessä mutexet viittaavat erityiseen lukitusprimitiiviin, joka pakottaa serialisoinnin jaetuissa muistijärjestelmissä, eivätkä vain yleistermiin, joka viittaa "keskinäiseen poissulkemiseen", joka löytyy korkeakoulut tai vastaavat teoreettiset oppikirjat.

Suositeltava: