www.wikidata.uk-ua.nina.az
Sistemnij viklik angl system call v informatici ce sposib vikoristannya zastosunkami servisiv yadra operacijnoyi sistemi Ce mozhut buti servisi pov yazani z aparatnoyu skladovoyu komp yutera napriklad dostup do diska keruvannya procesami ta potokami ta bagato inshogo Sistemni vikliki zabezpechuyut interfejs mizh procesom ta operacijnoyu sistemoyu Zmist 1 Privileyi 2 Biblioteka yak poserednik 3 Prikladi 4 Realizaciya 5 Peremikannya kontekstiv 6 Primitki 7 PosilannyaPrivileyi RedaguvatiArhitektura praktichno vsih suchasnih mikroprocesoriv okrim deyakih vbudovanih sistem realizuye model bezpeki za yakoyu isnuye bagato rivniv prav yaki mozhut nadavatisya programnomu zabezpechennyu Napriklad programa zazvichaj vikonuyetsya u vlasnomu adresnomu prostori ta ne maye dostupu do pam yati inshih program ta operacijnoyi sistemi programa zazvichaj ne maye privileyiv na pryamij dostup do obladnannya Operacijna sistema vikonuyetsya na vishomu rivni privileyiv ta maye pryamij dostup do komp yutera Tim ne mensh bagatom zvichajnim programam potriben zhorstkij disk ta inshi komponenti komp yutera Sistemni vikliki yak pravilo realizuyutsya za dopomogoyu pererivan Pererivannya avtomatichno peremikaye procesor na potribnij riven privileyiv ta daye pravo na vikonannya yadru operacijnoyi sistemi yake viznachaye chi nadavati servis programi sho zrobila sistemnij viklik Yaksho servis treba nadati to yadro vikonuye pevnij nabir instrukcij yaki programa ne mozhe vikonati bezposeredno peremikaye procesor na riven privileyiv programi ta povertaye pravo na vikonannya Biblioteka yak poserednik RedaguvatiZ operacijnimi sistemami stvoryuyut biblioteki chi API yaki ye poserednikami mizh zvichajnimi programami ta sistemoyu Chasto ce realizaciyi standartnoyi biblioteki movi C libc napriklad glibc yaki nadayut obgortki dlya sistemnih viklikiv Prikladi RedaguvatiV Unix ta inshih POSIX sumisnih operacijnih sistemah populyarnimi sistemnimi viklikami ye open read write close wait exec fork exit ta kill Bagato operacijnih sistem mayut sotni viklikiv Napriklad Linux maye bilsh nizh 300 FreeBSD bilshe 500 1 Mikroyadro Neutrino operacijnoyi sistemi QNX versiyi 6 3 maye 63 sistemnih vikliki 2 Vidslidkovuvati vikoristannya programami servisiv operacijnoyi sistemi mozhna za dopomogoyu program strace ta truss Voni dozvolyayut zapustiti proces ta povidomlyati pro vsi vikliki sho vin robit abo priyednatisya do procesu sho vzhe isnuye ta perehoplyuvati jogo sistemni vikliki Ci mozhlivosti takozh realizovani za dopomogoyu sistemnih viklikiv Realizaciya RedaguvatiRealizaciya sistemnih viklikiv potrebuye komand perehodu vid odnogo kodu do inshogo a ce operaciyi sho zalezhni vid arhitekturi Trivialnij sposib realizaciyi ce vikoristannya programnogo pererivannya Pererivannya peredaye keruvannya operacijnij sistemi tomu nomer potribnogo sistemnogo vikliku potribno lishe zapisati u pevnij registr procesora ta vikonati komandu pererivannya Bagato RISC procesoriv proponuyut lishe takij sposib v toj chas yak procesori arhitekturi CISC taki yak x86 pidtrimuyut dodatkovi tehnologiyi Napriklad SYSCALL SYSENTER SYSRET SYSEXIT dva mehanizmi sho buli rozrobleni nezalezhno odin vid odnogo kompaniyami AMD ta Intel Ce instrukciyi shvidkogo peremikannya kontekstu yaki sproektovani dlya realizaciyi sistemnih viklikiv sho ne potrebuyut pererivan V yadri Linux z versiyi 2 5 vzhe vikoristovuyutsya ci funkciyi Ranishe vikoristovuvalasya instrukciya INT 0x80 a nomer vikliku zapisuvavsya v registr EAX 3 Starij x86 mehanizm sho nazivavsya shlyuzom vikliku angl call gate proponuvav programam bezposeredno viklikati funkciyi yadra vikoristovuyuchi bezpechni mehanizmi peremikannya kontekstu yaki zabezpechuvala operacijna sistema Cej pidhid ne stav populyarnim mabut cherez te sho vin potrebuvav dalni vikliki ta pogano vplivav na perenosnist programnogo zabezpechennya Dlya arhitekturi IA 64 vikoristovuyetsya instrukciya EPC angl Enter Privileged Mode Dlya pershih vosmi viklikiv vikoristovuyut registri a dlya inshih stek Peremikannya kontekstiv RedaguvatiSistemni vikliki vikonuyutsya u rezhimi yadra yakij peremikaye procesor do bilsh privilejovanogo rivnya ale ne obov yazkovo zminyuye kontekst procesu Aparatni zasobi bachat svit v terminah rezhimu vikonannya sho viznachayutsya statusom procesora a proces ce lishe abstrakciya rivnya operacijnoyi sistemi Tomu sistemnij viklik ne zavzhdi potrebuye peremikannya kontekstu na inshij proces a vikonuyetsya v konteksti procesu yakij zrobiv viklik 4 5 Primitki Redaguvati FreeBSD syscalls c the list of syscall names and IDs Arhiv originalu za 27 lipnya 2013 Procitovano 18 bereznya 2012 QNX 6 3 microkernel source code Anonymous 19 grudnya 2002 Linux 2 5 gets vsyscalls sysenter support KernelTrap Arhiv originalu za 15 lipnya 2012 Procitovano 1 sichnya 2008 Bach Maurice J 1986 The Design of the UNIX Operating System angl Prentice Hall s 15 16 Discussion of syscall implementation at ProgClub including quote from Bach 1986 Arhiv originalu za 1 veresnya 2013 Procitovano 18 bereznya 2012 Posilannya RedaguvatiLinux system call reference A list of modern Unix like system calls Interactive map of Linux kernel Linux 2 2 system calls with IA 32 calling conventions angl How System Calls Work on Linux i86 Sysenter Based System Call Mechanism in Linux 2 6 Kernel command using Linux system calls IBM developerWorks HOWTO for Implementing a System Call on Linux 2 6 Amit Choudhary Modular system programming on Minix 3 A simple open Unix Shell in C language examples on System Calls under Unix nbsp Ce nezavershena stattya pro operacijni sistemi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Otrimano z https uk wikipedia org w index php title Sistemnij viklik amp oldid 36881187