Native API: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Lornova (discussione | contributi)
Nuovo articolo
 
Luigi923 (discussione | contributi)
Nessun oggetto della modifica
 
(22 versioni intermedie di 17 utenti non mostrate)
Riga 1:
In [[informatica]], il termine '''nativeNative API''' (o anche '''native system services''' o '''executive system services'''), in [[informatica]], indica i servizi interni dei [[sistema operativo|sistemi operativi]] appartenenti alla famiglia [[Windows NT]].
{{stub informatica}}
 
Le ''nativeNative API'' costituiscono l'interfaccia al [[kernel]] di più basso livello possibile, tuttavia non si tratta dell'[[Application programming interface|API]] ufficiale e documentata del sistema operativo, bensì di un'interfaccia privata sulla quale si appoggiano le [[Windows API]]. La compatibilità delle ''nativeNative API'' non è garantita tra differenti versioni di Windows NT, in quanto cambiamenti alla struttura del kernel potrebbero riflettersi in cambiamenti delle ''nativeNative 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. Le Native API sono l'equivalente delle [[system call]] dei sistemi operativi [[Unix]].
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 ''nativeNative API'' corrisponde una Windows API equivalente, ad esempio alla ''nativeNative API'' <ttcode>NtWriteFile</ttcode> corrisponde la Windows API <ttcode>CreateFileWriteFile</ttcode>.
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.
 
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 ''nativeNative API'' sono l'interfaccia con la quale vengono sviluppati i ''subsystem''.
Generalmente ad ogni ''native API'' corrisponde una Windows API equivalente, ad esempio alla ''native API'' <tt>NtWriteFile</tt> corrisponde la Windows API <tt>CreateFile</tt>.
 
Le ''nativeNative API'' sono implementate nella [[dynamic-link library|libreria]] <ttcode>Ntdll.dll</ttcode>. A ciascuna ''nativeNative 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''.
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 [[microprocessori]] più recenti); questa operazione viene definita ''system service dispatching''.
* [[Architettura Windows NT]]
 
== Collegamenti esterni ==
[[categoria:informatica]]
* [https://web.archive.org/web/20050327034343/http://www.sysinternals.com/ntw2k/info/ntdll.shtml Inside the Native API] - articolo introduttivo di [[Mark Russinovich]]
[[categoria:sistemi operativi]]
* [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]]