Rozdíl Mezi Systémovým Voláním A Voláním Funkcí

Rozdíl Mezi Systémovým Voláním A Voláním Funkcí
Rozdíl Mezi Systémovým Voláním A Voláním Funkcí

Video: Rozdíl Mezi Systémovým Voláním A Voláním Funkcí

Video: Rozdíl Mezi Systémovým Voláním A Voláním Funkcí
Video: 10 APLIKACÍ NA PRANKOVANÍ KAMARÁDA! 2024, Duben
Anonim

Systémové volání vs Volání funkcí

Typický procesor provádí pokyny jeden po druhém. Mohou ale nastat situace, kdy procesor musí zastavit aktuální instrukci a provést nějaký jiný program nebo segment kódu (umístěný na jiném místě). Poté se procesor vrátí k normálnímu provedení a pokračuje tam, kde přestal. Systémové volání a volání funkce jsou takové příležitosti. Systémové volání je volání podprogramu zabudovaného do systému. Volání funkce je volání podprogramu v rámci samotného programu.

Co je to systémové volání?

Systémová volání poskytují programům spuštěným v počítači rozhraní pro komunikaci s operačním systémem. Pokud program potřebuje požádat o službu (pro kterou sám nemá oprávnění) z jádra operačního systému, použije systémové volání. Procesy na úrovni uživatele nemají stejná oprávnění jako procesy přímo komunikující s operačním systémem. Například pro komunikaci s externím I / O zařízením nebo pro interakci s jinými procesy používá program systémová volání.

Co je volání funkce?

Volání funkce se také nazývá volání podprogramu. Subrutina (známá také jako procedura, funkce, metoda nebo rutina) je součástí většího programu, který je odpovědný za provedení konkrétního úkolu. Větší program může vykonávat velké pracovní vytížení a podprogram může provádět jen jednoduchý úkol, který je také nezávislý na zbývajícím kódování programu. Funkce je kódována takovým způsobem, že ji lze volat vícekrát a z různých míst (i z jiných funkcí). Když je funkce volána, procesor může přejít na místo, kde se nachází kód funkce, a provádět instrukce funkce jeden po druhém. Po dokončení funkcí se procesor vrátí přesně tam, kde přestal, a bude pokračovat v provádění počínaje další instrukcí. Funkce jsou skvělým nástrojem pro opětovné použití kódu. Mnoho moderních programovacích jazyků podporuje funkce. Kolekce funkcí se nazývá knihovna. Knihovny se často používají jako prostředek pro sdílení a obchodování softwaru. V některých případech může být celý program posloupností podprogramů (např. Kompilace kódu s vlákny).

Jaký je rozdíl mezi voláním systému a voláním funkcí?

Systémové volání je volání podprogramu zabudovaného do systému, zatímco volání funkce je volání podprogramu v rámci programu. Na rozdíl od volání funkcí se systémová volání používají, když program potřebuje provést nějaký úkol, pro který nemá oprávnění. Systémová volání jsou vstupními body do jádra operačního systému a nejsou spojena s programem (jako volání funkcí). Na rozdíl od systémových volání jsou volání funkcí přenosná. Časová režie systémového volání je větší než režijní hodnota pro volání funkce, protože musí dojít k přechodu mezi uživatelským režimem a režimem jádra. Systémová volání se provádějí v adresním prostoru jádra, zatímco volání funkcí se provádějí v adresním prostoru uživatele.

Doporučená: