AOSP - Android Open Source Project
ANDROID - Sistema operativo open-source per dispositivi mobili (tablet, smartphone, wearables)
- Sviluppo
- Applicazioni
- Java, Kotlin
- Uso SDK (sviluppatore KIT)
Disponibile:
- Open Source
- Codici disponibili per tutti
- Licenza Kernel - GPL (General Public License)
- Interfaccia rilasciata sotto Open Source Apache Public License
Dispositivo Mobile - caratteristiche:
- Risorse limitate
- I/O vincolati dalle caratteristiche
- Affidabilità funzionamento
- Energia limitata
- Proprietario caratteristiche hardware
Storia
- 2003: Fondazione Android Inc
- 2007: Prima versione : Android Beta SDK
- 2008: Android 1.0
- 2008: Successive release
Architettura Android
- Apps
- Framework
- Native Libraries
- Runtime
- HAL
- Linux Kernel
- Secure Elements
1. Kernel Linux
Si usa il kernel Linux con alcune modifiche
- Sistema gestione di memoria
- Power management
AOSP - Android Open Source Project
Android - Sistema Operativo Open-Source per dispositivi mobili (tablet, smartphone, wearables)
Sviluppo
- Open Source
- Applicazioni
- Java/Kotlin
- Uso SDK (sviluppatore kit)
Dispositivo Mobile → Caratteristiche
- Risorse limitate
- I/O vincolato dalle caratteristiche
- Affidabilità funzioni base
- Energia limitata
- Proprietario caratteristiche hardware
Storia
- 2003: Fondazione Android Inc
- 2007: Prima versione: Android Base SDK
- 2008: Android 1.0
- 2009: Successive release
Architettura Android
- Apps
- Framework
- Native Libraries
- Runtime
- HAL
- Linux Kernel
- Secure Elements
1. Kernel Linux
Si usa il Kernel Linux con alcune modifiche
- Sistema gestione di memoria
- Power management
- Sistema per comunicazione tra processi
- Logging centralizzato
Secure Enclaves: container per memorizzare componenti sensibili (dati per pagamenti)
LMK (Low Memory Killer)
- Gestione memoria basata su VM PRESSURE
- Task da eliminare
- Dettagli LMK: libera i titolari della task per evasione di memoria
Gestione energia
WAKELOCK - Riservato stato delle risorse chiaramenti disponibili e risposizionarli
Binder IPC Driver -> Open Binder
Sistema comunicazione sincrona:
- Condividere oggetti tra i processi
- Allocazione dinamica tramite REFERENCE COUNTING -> ogni processo ha un pool di thread per gestire comunicazione
- DISPOSITIVI STORAGE - FLASH MEMORY
- NO SEEK TIME - migliorano prestazioni negli accessi
- casuali (NO LATENZA dovuta ad operazioni)
- BLOCK ERASING - blocchi cancellati prima della
- scrittura (eseguire in istanti SU)
- WEAR LEVING - distribuire la durata delle
- scritture (evita di danneggiare una singola area di
- memoria)
FILE SYSTEM x dispositivi
mobili
- ROBUSTO
- PORTABILE
CARATTERISTICHE
SALVARE COLEZIONI
- (ES EXT4/EXT3 o YAFFS2)
2. HAL (Hardware Abstraction Level)
- INTERFACCIA tra DRIVER (basso livello) SERVIZI (alto
- livello). Definito dal linguaggio HIDL
- HAL TRANSFORMATION LANGUAGE
3. LIBRERIE NATIVE
- funzionalità basso livello - Accesso tramite FRAMEWORK
- BionicC - implementazione libreria standard
- C - ottimizzata per dispositivi embedd
Altro librerie sono:
- Sailfe
- Surface Manager
- SGL
- Open GL/ES
- Media frameworks
- Free Type
- WEBKIT
3.b. ANDROID RUNTIME
esegue files formati .dex .oat
- MACCHINA VIRTUALE
- REGISTER-BASED (meno istruzioni, eseguire codice occupa più memoria)
.dex -> Dalvik Executable
- portabilità
.oat - codice binario (generato da dex2oat)
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti di Sistemi operativi
-
Sistemi distribuiti - Appunti completi del corso
-
Domande di teoria Android,Ios,PX4,NuttX, Sistemi operativi
-
Domande frequenti Android