Native API: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
Nessun oggetto della modifica |
||
(21 versioni intermedie di 17 utenti non mostrate) | |||
Riga 1:
Le
▲In [[informatica]], il termine '''native API''' (o anche '''native system services''' o '''executive system services''') indica i servizi interni dei [[sistema operativo|sistemi operativi]] appartenenti alla famiglia [[Windows NT]].
Generalmente ad ogni
▲Le ''native API'' costituiscono l'interfaccia al [[kernel]] di più basso livello possibile, tuttavia non si tratta dell'[[API]] ufficiale e documentata del sistema operativo, bensì di un'interfaccia privata sulla quale si appoggiano le [[Windows API]]. La compatibilità delle ''native API'' non è garantita tra differenti versioni di Windows NT, in quanto cambiamenti alla struttura del kernel potrebbero riflettersi in cambiamenti delle ''native API''. Per la scrittura di applicazioni è necessario utilizzare esclusivamente le Windows API, sebbene sia tecnicamente possibile utilizzare le ''native API'', che però sono documentate solo parzialmente.
La ragione per la quale esiste questo doppio strato di API deriva dal fatto che i sistemi operativi Windows NT possono disporre di differenti ''subsystem''. In Windows NT sono disponibili i ''subsystem'' Win32, [[Posix]] e [[OS/2]] (a partire da [[Windows XP]] è presente solo quello Win32). Pertanto le
▲Generalmente ad ogni ''native API'' corrisponde una Windows API equivalente, ad esempio alla ''native API'' <tt>NtWriteFile</tt> corrisponde la Windows API <tt>WriteFile</tt>.
Le
▲La ragione per la quale esiste questo doppio strato di API deriva dal fatto che i sistemi operativi Windows NT possono disporre di differenti ''subsystem''. In Windows NT sono disponibili i ''subsystem'' Win32, [[Posix]] e [[OS/2]] (a partire da [[Windows XP]] è presente solo quello Win32). Pertanto le ''native API'' sono l'interfaccia con la quale vengono sviluppati i ''subsystem''.
== Voci correlate ==
▲Le ''native API'' sono implementate nella [[dynamic-link library|libreria]] <tt>Ntdll.dll</tt>. A ciascuna ''native API'' corrisponde un servizio del kernel, che viene invocato tramite un [[interrupt]] ''0x2E'' (o con un'istruzione di [[linguaggio macchina]] ''sysenter'' o ''syscall'' sui [[microprocessore|microprocessori]] più recenti); questa operazione viene definita ''system service dispatching''.
* [[Architettura Windows NT]]
== Collegamenti esterni ==
* [https://web.archive.org/web/20050327034343/http://www.sysinternals.com/ntw2k/info/ntdll.shtml Inside the Native API] - articolo introduttivo di [[Mark Russinovich]]
* [https://msdn.microsoft.com/library/default.asp?url=/library/en-us/devnotes/winprog/ntcreatefile.asp Calling Internal APIs] - informazioni tecniche di [[Microsoft]]
{{portale|Microsoft}}
[[Categoria:Componenti di Windows]]
|