Piattaforma (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica Etichetta: Annullato |
m Correzione typo (via JWB) |
||
(22 versioni intermedie di 12 utenti non mostrate) | |||
Riga 1:
[[File:Intel-core-i7-sandy-bridge.png|thumb|[[Processore]] [[Core i7|Intel Core i7]], esempio di piattaforma [[hardware]]]]
[[File:Gnome-2.20-screenshot.png|thumb|[[Linux]], esempio di piattaforma operativa]]
[[File:LAMP_software_bundle.svg|thumb|[[LAMP]], esempio di piattaforma [[software]]]]
== Descrizione ==
Gli altri componenti del sistema informatico in cui opera non sono visibili alla piattaforma stessa. Grazie a questa astrazione, una piattaforma può essere trasferita a diversi [[sistema informatico|sistemi informatici]] e funzionare correttamente. La complessità interna del sistema informatico viene aumentata con l'aiuto della tecnologia software, il che si traduce in un utilizzo semplificato da parte degli utenti umani.
I componenti o i livelli di astrazione di una tipica piattaforma sono: [[architettura informatica|architettura del computer]], [[stack software]], [[ambiente di esecuzione]], [[linguaggio di programmazione]].
== Classificazione ==
Riga 22 ⟶ 19:
==Obbiettivi e metodi==
L'idea alla base di una piattaforma è l'[[Astrazione (informatica)|astrazione]] e la semplificazione.
Questa semplificazione può essere ottenuta fornendo allo sviluppatore dell'applicazione un modello funzionale che sia un'astrazione selettiva di funzionalità più concrete, realizzato in genere
Una qualità che questi livelli di astrazione possono offrire è l'universalità, solitamente definita come [[compatibilità tecnica]]. Questa può riferirsi all'ampiezza, cioè alla quantità di dettagli diversi astratti, così come alla permanenza della piattaforma nel tempo. La compatibilità nel tempo può significare la garanzia di una compatibilità verso il basso quando una piattaforma viene ulteriormente sviluppata o la garanzia da parte del produttore che i nuovi “dettagli” astraibili (quali nuovi [[sistema operativo|sistemi operativi]], nuovo [[hardware]]) saranno integrati nella piattaforma non appena siano emersi (compatibilità verso l'alto).
Riga 36 ⟶ 33:
Una piattaforma per l'architettura di un processore utilizza un [[linguaggio macchina]] standardizzato, [[Parola (informatica)|parole]] di grandi dimensioni, un [[ordine dei byte]]. Un esempio di largo utilizzo è l'architettura dell'[[x86]].
Tuttavia, il modo in cui i singoli [[Instruction set|comandi]] di questo linguaggio macchina vengono elaborati internamente al microprocessore (ad esempio con [[Micro operazioni|Micro-op]]) può variare notevolmente all'interno della stessa piattaforma. Solo i risultati finali che i comandi forniscono rimangono invariati.
Le piattaforme hardware possono essere grossolanamente classificate in architetture [[CISC]] e [[RISC]]. Tuttavia, i confini tra questi due tipi di architettura stanno diventando sempre più labili nelle attuali architetture dei processori.
Riga 47 ⟶ 44:
===Piattaforma basata sul codice sorgente===
Oltre al concetto di piattaforma basato sulla compatibilità binaria, che consente la continua eseguibilità del software una volta creato, esiste anche il concetto di compatibilità attraverso la [[portabilità]] del [[codice sorgente]] di un programma applicativo. Questo non garantisce l'eseguibilità a lungo termine né un'ampia eseguibilità delle compilazioni dei programmi applicativi,<ref>{{
===Sistema operativo come piattaforma===
Riga 59 ⟶ 56:
A fini pubblicitari, i nomi dei marchi sono spesso riassunti in modo semplificato come piattaforme che in realtà sono tecnicamente differenziate. Un esempio ben noto è la “piattaforma Macintosh”, le cui piattaforme tecniche possono differire in modo sostanziale a seconda della generazione. Questa visione semplicistica è diventata in qualche modo parte del linguaggio e del [[senso comune]].
Ad esempio, l'azienda [[Apple]] si pubblicizza con la piattaforma “Macintosh” o “Mac”, anche se praticamente tutte le piattaforme che compongono Macintosh sono state sostituite (talora ripetutamente) nel corso dell'intero periodo della sua esistenza. Da un punto di vista tecnico, Macintosh è costituito e consisteva in piattaforme hardware e software molto diverse e talvolta incompatibili tra loro.
Infatti, nel corso della sua storia, il “Macintosh” ha utilizzato o utilizza [[680x0]], [[PowerPC]], [[IA-32]] o [[x64]] e [[ARM64]] dal punto di vista dell'architettura del processore. Le [[interfaccia (
Lo stesso vale per il marchio [[Windows]] spinto dalla [[Microsoft]]. Sebbene i cambiamenti non siano mai stati così estesi come nel caso del Macintosh, nemmeno Windows è una piattaforma standardizzata. Infatti, utilizza le piattaforme [[x86]] -[[IA-32]] e [[x64]]- e [[
===Apertura===
{{
I produttori di piattaforme hanno approcci diversi per quanto riguarda l'apertura o la chiusura delle loro piattaforme. Ciò riguarda, ad esempio, il modello di sviluppo, il modello di [[contabilità interna]] o il grado di apertura o libertà concesso all'uso ai diversi livelli.
===Aspetti industriali===
Nell'industria, le piattaforme costituiscono l'infrastruttura per i [[modello di business|modelli di business]] orientati alla [[digitalizzazione]].<ref>[https://www.cenit.com/de_DE/newsroom/article/news/welche-digitale-plattform-braucht-mein-unternehmen-907.html Welche digitale Plattform braucht mein Unternehmen?], cenit.com</ref> In questo caso, la piattaforma digitale funge da architettura informatica per “la generazione di dati, la strutturazione dei dati e i
==Esempi==
Un'interfaccia applicativa può essere descritta essenzialmente come un'interfaccia di programmazione ([[Application Programming Interface]], abbreviata come API) introdotta o inclusa dal sistema operativo. Tuttavia, esistono anche API [[multipiattaforma]] che sono disponibili su diversi sistemi operativi come ambiente di esecuzione e spesso devono essere installate successivamente.
===Software===
* [[AmigaOS]] ([[AROS]], [[MorphOS]])
* [[Android|Android Runtime]]
* [[Bada]]
* [[Blackberry]]
* [[Carbon (API)|Carbon]] ([[Mac OS|Mac OS (Classic)]], [[macOS]])
* [[Cocoa (software)|Cocoa]] (macOS, [[GNUstep]], [[iOS]], …)
* [[GNU]]-Software, e simili [[GNU]] ([[Unix]]/[[Berkeley Software Distribution|BSD]], [[Linux]], [[Fink (informatica)|Fink]], [[Cygwin]]…)
* [[Linux Standard Base]], LSB
* [[Native API]] ([[Microsoft Windows NT|Windows NT]])
* [[OpenVMS]]
* [[OS/2]]
* [[OS/400]]
* [[Palm OS]]
* [[POSIX|Portable Operating System Interface]], POSIX (Unix/BSD, macOS, Linux, Windows NT, …)
* [[Single UNIX Specification]], SUS ([[Unix]], macOS)
* [[Symbian]]
* [[Windows API|Windows Application Programming Interface]]: Win16, Win32, Win64 ([[Microsoft Windows|Windows]], [[Windows CE]], [[WinOS/2]], [[ReactOS]], [[Wine]], …)
* [[z/OS]]
* [[VM/CMS|z/VM]]
===Hardware===
* [[AMD]] [[Am29000]]
* [[Architettura ARM|ARM]]
* [[Atmel AVR]]
* [[DEC Alpha]] (64-Bit)
* [[IBM 801]]
* IBM [[System/360]] e [[System/370]] ([[Metodo di indirizzamento|indirizzamento]] a 24 bit, 1964 e 1970)
* IBM [[System/390]] (indirizzamento a 31 bit, 1990)
* IBM [[IBM Z|System z]] (indirizzamento a 64 bit, retrocompatibile con System/390, /370 e /360, 2000)
* [[Intel 4004]] (larghezza dei dati a 8 bit con [[Bus (informatica)#Bus dati per tutti i tipi|bus dati]] a bit, spazio indirizzi a 12 bit con [[Bus (informatica)#Bus indirizzi|bus indirizzi]] a 4 bit, 1971)
* [[Intel 4040]] (larghezza dei dati a 4 bit con bus dati a 4 bit, spazio indirizzi a 13 bit con bus indirizzi a 4 bit, 1974)
* [[Intel 8008]] (larghezza dei dati a 8 bit con bus dati a 8 bit, spazio indirizzi a 14 bit con bus indirizzi a 8 bit, 1972)
* [[Intel 8080]] (larghezza dei dati a 8 bit con bus dati a 8 bit, spazio indirizzi a 16 bit con bus indirizzi a 16 bit, 1974)
* Intel [[Architettura x86|x86]] (Intel 80x86 e processori compatibili)
** [[Intel 8086|8086]]/[[Intel 8088|8088]], [[Intel 80186|80186]]/[[Intel 80188|80188]], [[Zilog Z80|Z80]] e [[NEC V20|V20]] (parole a 16 bit con bus dati a 16 bit, spazio indirizzi a 20 bit con bus indirizzi a 20 bit, 1979)
** [[Intel 80286|80286]] (parole a 16 bit con bus dati a 16 bit, spazio indirizzi a 24 bit con bus indirizzi a 24 bit, 1982)<!--(16-Bit [[Protected Mode]], abwärtskompatibel zum 16-Bit-[[Real Mode|Real-Mode]] des 8086)-->
** [[Intel 80386|80386]] (parole a 32 bit con bus dati a 32 bit, spazio indirizzi a 32 bit con bus indirizzi a 24 bit, 1985)
** [[IA-32]] o i386 (retronimo x86-32) si riferisce al [[Instruction set|set di istruzioni]] compatibile con l'80386 e i suoi numerosi successori, come l'[[Am386]] o l'[[Intel 80486|80486]].
** [[x64]] o x86-64 ovvero AMD64 riferito al set di comandi compatibili con [[AMD Opteron|Opteron]] (larghezza dei dati a 64 bit, spazio indirizzi a 64 bit<!--, compatibile con IA-32 e x86 a 16 bit-->; implementato da [[AMD64]] per i processori di AMD e [[x86-64|Intel 64]] e per i processori di Intel)
** numerose estensioni del set di comandi per IA-32 e x64, si veda<!-- in ordine alfabetico: --> [[Advanced Vector Extension|AVX]], [[FMA (set di istruzioni)|FMA]], [[MMX]], [[Physical Address Extension|PAE]], [[Streaming SIMD Extensions|SSE]], uvm.
* [[Intel i960]]
* Intel Itanium [[IA-64]] (larghezza dati a 64 bit, spazio indirizzi a 64 bit, non compatibile con IA-32 e 16-Bit x86)
* [[Architettura MIPS|MIPS]]
* [[Motorola]] [[680x0]] (dal 2004 [[Freescale Semiconductor|Freescale]], dal 2015 [[NXP Semiconductors|NXP]])
** [[Motorola 6800|6800]] e [[Motorola 6809|6809]] (Motorola, bus dati a 8 bit, bus indirizzi a 8 bit, 1974)
** [[Motorola 68000|68000]] e [[Motorola 68010|68010]] (Motorola, bus dati a 16 bit, bus indirizzi a 24 bit, 1979)
** [[Motorola 68008|68008]] (Motorola, bus dati a 8 bit, bus indirizzi a 20 bit)
** [[Motorola 68012|68012]] (Motorola, bus dati a 16 bit, bus indirizzi a 32 bit)
** [[Motorola 68020|68020]] e [[Motorola 68330|68330]] (Motorola, bus dati a 32 bit, bus indirizzi a 32 bit, 1984)
** [[Motorola 68030|68030]], [[Motorola 68040|68040]] e [[Motorola 68060|68060]] (Motorola, bus dati a 32 bit, bus indirizzi a 32 bit, dal 1987)
** [[Freescale ColdFire|ColdFire]] (Freescale, 68060-Design, dal 2004)
** [[Motorola Dragonball|Dragonball]] (Freescale, vormals MC68328 della Motorola, dal 1995)
* [[Motorola 88000]]
* [[OpenRISC]]
* [[PDP-1]], [[PDP-4]], [[PDP-7]], PDP-9 e PDP-15 (18 bit)
* PDP-5, [[PDP-8]], PDP-12, PDP-14 e PDP-16 (12 bit)
* PDP-6 e [[PDP-10]] (36 bit)
* [[PDP-11]] (16 bit)
* [[PA-RISC]]
* Power
** [[IBM Power Systems|IBM Power]] (originariamente scritto POWER)
** IBM e Motorola (dal 2004 [[Freescale Semiconductor|Freescale]], dal 2015 [[NXP Semiconductors|NXP]]) [[PowerPC]]
* [[SPARC]]
* [[SuperH]]
* [[Virtual Address eXtension|VAX]] (32 bit)
== Note ==
Riga 76 ⟶ 144:
== Voci correlate ==
* [[Applicazione web]]▼
* [[Application programming interface]]▼
* [[Hardware]]
* [[Interfaccia (informatica)]]
* [[Piattaforma Java]]
* [[Software]]
* [[PaaS]]
▲* [[Applicazione web]]
▲* [[Application programming interface]]
== Altri progetti ==
{{interprogetto|preposizione=sulla}}
== Collegamenti esterni ==
|