Tecnologia di macOS: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Robot: Automated text replacement (-\[\[Categoria:Mac OS X +{{Mac OS X}\n[[Categoria:Mac OS X) |
Corretto: "progettate" |
||
(63 versioni intermedie di 43 utenti non mostrate) | |||
Riga 1:
{{F|sistemi operativi|febbraio 2013}}
[[Immagine:Mac OS X Tecnico.png|right|thumb|200px|I 5 Livelli]]▼
{{aggiornare|argomento=informatica}}
{{torna a|macOS}}
[[Mac OS X]] è il [[sistema operativo]] sviluppato da [[Apple Computer]] per i computer [[Macintosh]]. Mac OS X come tutti i moderni sistemi operativi è strutturato a livelli. Nella fattispecie è composto da cinque livelli. La suddivisione a livelli è una scelta molto comune tra i moderni sistemi operativi dato che consente uno sviluppo rapido del sistema operativo, consente di rendere il sistema operativo quasi totalmente indipendente dall'hardware, fornisce una architettura logica e consente di ottenere un sistema efficiente dato che i singoli moduli possono essere singolarmente analizzati e i colli di bottiglia eliminati tramite riprogettazione degli stessi ▼
▲'''[[
== Livello utente ==
[[File:Diagram of Mac OS X architecture.svg|thumb|upright=1.8|Architettura interna (per semplicità i due semi-livelli "grafica" e "servizi per le applicazioni" sono rappresentati uniti)]]
Questo livello è l'unico
* [[Aqua (informatica)|Aqua]]
Aqua è la tecnologia che racchiude la rappresentazione dell'interfaccia grafica. Questa tecnologia racchiude i temi utilizzati dall'interfaccia grafica per disegnare le finestre che compongono le applicazioni
* Accessibilità
* [[AppleScript]]
AppleScript è il linguaggio standard di ''scripting
* Bundle e Package
I Bundle e i Package sono i contenitori di software autoinstallanti
* [[Cambio utente rapido]]
Il Mac OS X consente a un utente di utilizzare il computer anche quando un altro utente risulta collegato al computer
* [[localizzazione (software)|Localizzazione]]
Mac OS X supporta molteplici lingue e tutti i maggiori stili di scrittura del pianeta. Tutti i componenti raccolti sotto questa denominazione si preoccupano di gestire i vari linguaggi del sistema operativo comprese le peculiarità di scrittura (
* Autoconfigurazione del Software
Per cercare di semplificare il normale utilizzo del computer, il sistema operativo dispone di
== Livello Applicazioni ==
Per sviluppare applicazioni per Mac OS X il programmatore dispone di diverse tecnologie utilizzabili. Alcune tecnologie svolgono compiti simili pur essendo
* [[Carbon (API)|Carbon]]
La tecnologia Carbon è stata sviluppata per permettere alle applicazioni progettate per [[Mac OS 9]] di essere utilizzate con Mac OS X con minime correzioni. Questa tecnologia per ragioni di compatibilità non si avvantaggia di molte delle caratteristiche del Mac OS X
* [[Cocoa (software)|Cocoa]]
Questa tecnologia è rivolta allo sviluppo di applicazioni native per Mac OS X. È progettata per sfruttare al
* [[
Il sistema operativo supporta nativamente le applicazioni Java e le Applet Java. Questo componente provvede a avviare la Java virtual machine e a gestire le comunicazioni tra la Java virtual machine e il sistema operativo.
* [[WebObjects]]
WebObjects è un insieme di programmi e librerie utilizzabili per sviluppare applicazioni native per il [[Web]].
* [[BSD]] e [[Apple X11|X11]]
Il nucleo del Mac OS X è basato su BSD, questo componente provvede a gestire le chiamate dei programmi BSD e a indirizzarle correttamente. X11 è un
== Grafica e multimedia ==
Durante lo
* [[Quartz (Mac OS X)|Quartz]]
Quartz è l'insieme delle tecnologie che si occupano del disegno e della gestione dell'interfaccia grafica del Mac OS X. La tecnologia Quartz è basata sul formato [[Portable Document Format|PDF]] per consentire una resa grafica elevata e indipendente dal dispositivo di visualizzazione.
* [[QuickTime]]
Riga 47 ⟶ 50:
Il sistema operativo dispone di una serie d componenti dedicati alla visualizzazione e alla elaborazione dei font. I componenti supportano anche la codifiche unicode a 16 bit per permettere di rappresentare correttamente lingue come il cinese o il coreano, lingue dotate di migliaia di simboli diversi.
* [[ColorSync]]
ColorSync è la tecnologia sviluppata da Apple per gestire i colori. Ogni dispositivo di ingresso (scanner, videocamere, fotocamere, ecc) e ogni dispositivo di uscita (monitor, stampante, ecc.) è dotato di una particolare rappresentazione dei colori. Lo spazio cromatico gestibile dal monitor è diverso dallo spazio cromatico gestibile dalla stampante e quindi per evitare di ottenere dei colori in stampa diversi da quelli visualizzati a monitor è stato sviluppato ColorSync. Il componente provvede utilizzando i profili colore dei singoli dispositivi a adattare i colori rappresentati a video con i colori stampati.
* [[Core Audio]]
Questo componente si preoccupa di gestire l'audio del computer. Permette di adattare l'audio prodotto dai programma con le reali capacità audio del computer e provvede a miscelare più canali, a generare effetti audio, ecc.
Riga 55 ⟶ 58:
Questo sottosistema provvede a gestire le stampanti installate. È in grado di gestire stampanti remote, di effettuare conversioni se necessario e di gestire la coda di stampa. Il sottosistema si occupa di gestire i fax ricevuti e si interfaccia a CUPS o a i driver proprietari sviluppati dai produttori delle stampanti.
* [[QuickDraw]]
Questa tecnologia si occupa di manipolare e visualizzare la grafica delle applicazioni che utilizzano [[Classic (
== Servizi per le applicazioni ==
Questo livello è composto da servizi forniti dal sistema operativo alle applicazioni. Questi servizi hanno lo scopo di consentire una più stretta integrazioni tra le applicazioni e il sistema operativo. Questo servizi sono nati nell'ottica di rendere più semplice e comodo l'utilizzo del computer per l'utente.
* [[
Il sistema operativo mette a
* Disc Recording
Questo insieme di librerie permettono agli applicativi di manipolare e gestire direttamente i dispositivi ottici riscrivibili come CD e DVD senza doversi preoccupare delle problematiche tecniche dato che queste sono gestite dal sistema operativo.
* Help
Mac OS X include un gestore delle guide in linea centralizzato. Questo consente all'utente di effettuare direttamente le ricerche in tutte le guide in linea installate e non soltanto in quella dell'applicazione in uso.
* Human Interface Toolbox
L'Human Interface Toolbox è una raccolta di oggetti (Toolbox) che possono essere utilizzati dai programmatori per realizzare interfacce grafiche conformi agli standard Aqua con semplicità.
* Image Capture
Image Capture è un componente che si preoccupa di gestire l'acquisizione di immagini da scanner o da fotocamera. Utilizzando questa libreria i programmatori non si devono preoccupare di gestire direttamente l'acquisizione delle immagini dato che viene gestito e processato in automatico dal sistema operativo.
* Ink
Questo componente si preoccupa di gestire il riconoscimento della scrittura a mano libera. Se l'utente collega al computer una tavoletta grafica il sistema riconosce la presenza del dispositivi e attiva il componente Ink. Questo componente provvede a gestire la tavoletta grafica e a riconoscerne i comandi.
* Keychain Services
Il sistema operativo fornisce un servizio di raccolta e gestione delle informazioni sensibili dell'utente. Questo componente gestisce le password, gli account e tutte le informazioni riservate che l'utente crea quando utilizza internet o durante il normale utilizzo del computer. Il servizio fornisce (dietro autentificazione
* Launch Services
Questo servizio provvede a attivare il programma appropriato quando l'utente effettua un doppio click su un file contenente dati.
* Open Directory
Open Directory è una tecnologia che provvede a fornire un metodo standard e trasparente per recuperare e gestire informazioni presenti in locale o su server remoti. Il servizio si avvale di plug-in che provvedono a gestire i singoli protocolli. Apple fornisce plug-in per LDAPv2, LDAPv3, NetInfo, AppleTalk, SLP, SMB, DNS, Microsoft Active Directory, Rendezvous e altri. Ulteriori protocolli possono essere gestiti con l'aggiunta di ulteriori plug-in.
* [[Apple Bonjour|Bonjour]]
Questo servizio fornisce l'implementazione Apple della tecnologia [[Zeroconf]],
* Search Kit
Questo insieme di librerie forniscono un motore di ricerca veloce e efficiente da utilizzare nelle applicazioni. Il motore di ricerca gestisce le lingue e gli alfabeti gestiti da Mac OS X e è in grado di indicizzare e analizzare elevate molti di dati in tempi rapidi. Viene utilizzato dal [[Finder]], dal programma di posta [[Mail (Apple)|Mail]] e da [[
* Security Services
I componenti sotto questo nome si occupano della gestione della sicurezza sotto Mac OS X. Il sistema operativo supporta tecnologie come il [[protocollo di rete]] [[Kerberos]], BSD e Common Data Security Architecture (CDSA). I componenti supportano la gestione dei [[certificati digitali]] e dei canali sicuri (VPN e SSL). I componenti utilizzano i Keychain Services per memorizzare le informazioni riservate.
* Tecnologia vocale
Mac OS X è dotato della tecnologia di riconoscimento audio e di sintesi vocale. Il sistema
* Web Kit
Questo componente si preoccupa di analizzare un file HTML e di tradurlo nella sua rappresentazione grafica. Viene utilizzato dal programma [[Safari (browser)|Safari]] e dal programma [[Mail (Apple)|Mail]] per mostrare le e-mail in formato HTML.
* Web Service Access
Questo componente fornisce una serie di servizi agli sviluppatori di applicazioni orientate al Web.
* XML Parsing
Riga 100 ⟶ 103:
* Bundle e plug-ins
* Stringhe
* Dati
* Data e ora
* Preferenze
Riga 111 ⟶ 114:
== Nucleo del Sistema Operativo ==
Questo è l'ultimo livello del sistema operativo. A questo livello i programmi accedono direttamente all'[[hardware]] della macchina. In questo livello si trova il nucleo del sistema operativo e tutti i componenti che per ottenere le migliori prestazioni possibili gestiscono direttamente i componenti hardware del computer.
* [[Apple Darwin|Darwin]]
Darwin è il nucleo del Mac OS X, è formato dal [[kernel]] [[XNU]] e dal sottosistema BSD. XNU è un kernel di derivazione Mach che supporta il [[multitasking]] ''preemptive'', supporta il ''multiprocessing'' simmetrico e i task in
* Network Support
Questo componente si preoccupa di gestire i dispositivi di rete. Essendo basato sul sottosistema BSD i dispositivi sono gestiti tramite moduli. Questo componente si occupa di gestire sia i protocolli logici che quelli fisici.
* [[AltiVec|Velocity Engine]]
Questo componente permette al programmatore di utilizzare le istruzioni multimediali incluse nell'unità di calcolo altivec dei processori [[PowerPC]] a partire dai processori [[PowerPC G4]]. L'unità altivec è stata progettata per lavorare in parallelo su elevati flussi di dati come possono essere i flussi multimediali.
* Supporto [[Java (linguaggio di programmazione)|Java]]
Per ottenere le migliori prestazioni dal linguaggio Java è stato necessario implementare direttamente le chiamate della [[Macchina virtuale Java|Java virtual machine]] al più basso livello possibile.
== Collegamenti esterni ==
* {{
{{macOS}}
{{portale|Apple}}
▲[[Categoria:Mac OS X]]
|