Järjestelmäkutsu

Wikipedia
Loikkaa: valikkoon, hakuun

Järjestelmäkutsu eli käyttöjärjestelmäkutsu ("systeemikutsu") on ohjelmoinnissa sovellusten käyttämä matalan tason mekanismi käyttöjärjestelmän tarjoamien palveluiden suorittamiseksi.

Intel-arkkitehtuuripohjaisissa x86-Linux-järjestelmissä järjestelmäkutsuja voidaan käyttää kahdella tavalla. Perinteinen tapa on käyttää keskeytystä 80h (tai 0x80, desimaaleina 128), jolloin järjestelmäkutsun numero laitetaan rekisteriin eax ja funktion parametrit rekistereihin ebx - edx. Uudempi ja nopeampi tapa on käyttää SYSENTER/SYSEXIT-käskyjä.[1]

MS-DOS-tyyppisissä käyttöjärjestelmissä taas käytetään keskeytystä 21h-järjestelmäkutsuun.

Esimerkki[muokkaa | muokkaa wikitekstiä]

Esimerkki on laadittu assembly-konekielellä Linux-järjestelmään. Siinä pyydetään käyttöjärjestelmää suorittamaan palvelu sys_close.

mov eax, 6 ; järjestelmäkutsu sys_close(unsigned int fd), sulkee tiedostokahvan
mov ebx, 1 ; tiedostokahva, 1 = stdout
int 80h    ; tee järjestelmäkutsu

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. Re: Intel P6 vs P7 system call performance Jasper Spaans. Viitattu 19.1.2008. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.