( pentike | 2024. 08. 24., szo – 00:25 )

Összefoglalom magamnak, hogy mit értettem meg az itt tanultakból:

Nem mindegy, hogy simán hardver szinten nézzük a dolgokat OS nélkül, vagy OS-el.

OS nélkül a szál egy olyan utasítássorozat ami valamilyen külső hatásra fel tud függesztődni é
s utána folytatódni tud onnan ahol felfüggesztődött.  
Eszerint a megszakításkezelő rutin is egy szál mert a végrehajtása közben jöhet másik megszakí
tás aminek a végeztével folytatódhat.

Ha viszont van operációs rendszer akkor a szál definiciója kiegészül azzal a fontos dologgal,
hogy az egy folyamaton (process) belüli szálak közös címteret használnak ami megegyezik az őket tartalmazó folyamat címterével.
Ez a kitétel viszont nem teljesül? az megszakításkezelő rutinokra mert azok a kernel címterében futnak, nem a process címterében.
Vagy mégis?
https://www.sciencedirect.com/topics/engineering/interrupt-service-rout…
Itt azt írja, hogy

"Although an ISR might move data from a CPU register or a hardware port into a memory buffer, in general it relies on a dedicated interrupt thread, called the interrupt service thread (IST), to do most of the required processing."

tehát az ISR csak szól a kernelnek, hogy izé van, rúgd be az IST-t - ami ugyanolyan ütemező által ütemezett szál mint a többi - és a kernel szépen megfelelő prioval beütemezi az IST-t. Viszont mivel az IST a kernel része, ezért a kernel címterében fut, a process címteréhez nem fér hozzá. DE ettől még az ISR hozzáférHETNE?