Big Data. Big Data. data that exceeds RDBMS capabilities
|
|
- Basilio Tommasi
- 8 anni fa
- Visualizzazioni
Transcript
1 Big Data Big Data data that exceeds RDBMS capabilities
2 Big Data Origini Il termine BigData è stato coniato da Google intorno al 2004 per descrivere una quantità di dati talmente grande da non poter essere gestita ed elaborata con le tradizionali tecnologie, file-system e RBDMS, a sua disposizione In queste pubblicazioni Google indicò anche la sua soluzione al problema : GFS : un file-system distribuito MapReduce: un nuovo approccio alla programmazione ed all'esecuzione del codice
3 Big Data Origini GFS è un file-system distribuito progettato da Google per la memorizzazione e la gestione di file di dimensioni enormi, dell'ordine di svariati Petabyte = Tbyte. MapReduce è un framework che, traendo spunto da un approccio tipico dei linguaggi funzionali (LISP), propone un modello di programmazione (DataFlow Programming) che consente di produrre facilmente applicazioni estremamente scalabili. Ma prima di entrare nei dettagli della soluzione cerchiamo di capire il problema...
4 Big Data Caratteristiche e difetti dei sistemi RDBMS I sistemi RDBMS sono basati su un rigido formalismo matematico che consente di: evidenziare le caratteristiche essenziali dei dati e le relazioni che tra essi intercorrono, eliminando tutte le ridondanze. Processo che prende il nome di normalizzazione e il cui risultato è un modello astratto dei dati, lo schema che definisce univocamente la struttura e il tipo dei dati. Per tale ragione i dati cui è stato applicato uno schema vengono definiti strutturati. Senza nulla togliere ai suoi innumerevoli pregi, il modello relazionale in ambito BigData presenta due difetti principali : rigidità dello schema perdita di informazione rispetto ai dati RAW
5 Big Data Implementazione dello schema Il processo di normalizzazione porta a suddividere i dati in tabelle, in cui ogni riga rappresenta un'istanza di un dato. I sistemi RDBMS sono progettati per consentire un accesso sicuro e un aggiornamento continuo di ogni singolo record presente sul database. Questo rende necessario l'uso di lock, per garantire che tutte le informazioni interessate da una modifica siano protette da modifiche concorrenti l'uso di chiavi ed indici per individuare rapidamente la posizione dei record di interesse l'uso di JOIN, per consentire la correlazione di informazioni conservate in tabelle diverse (eventualmente su DB diversi, anche remoti)
6 Big Data Conseguenze delle ottimizzazioni Alcune delle ottimizzazioni introdotte nel passaggio dal modello teorico a quello concreto dei sistemi RDBMS, hanno delle conseguenze negative rispetto ai BigData: lock serializzazione degli accessi ai dati e limitazione al parallelismo indici ed accesso casuale ai record random read access verso il disco JOIN perdita di località dei dati ( eventuale attesa per il trasferimento degli stessi da DB remoti)
7 Big Data una nuova prospettiva... La soluzione proposta da Google per risolvere questi problemi è di invertire la logica : Se le dimensioni dei dati sono molto più grandi di quelle del codice è più efficiente spostare il codice dove sono i dati da elaborare In questo modo è possibile garantire: la località dei dati (evitando i tempi di attesa necessari al loro trasferimento) l'assenza di lock e quindi il massimo parallelismo possibile un accesso sequenziale ai dati ed al disco, con velocità prossime al transfer-rate massimo consentito dall'hardware e indipendenti dal seek-time l'assenza di uno schema rigido che consente maggiore flessibilità e riduce il rischio di perdita di dati (schema-on-read) un sistema scalabile e fault-tolerant
8 Big Data Random Disk Access VS Sequential Disk Access Per farci un'idea dell'impatto reale dei limiti individuati da Google nei sistemi RDBMS, confrontiamo le velocità di accesso al disco in modalità: random-read (tipica dei sistemi RDBMS) sequential read (caratteristica di GFS + MapReduce) RDBMS La differenza di velocità è di circa 3 ordini di grandezza. GFS + MapReduce
9 Big Data Tabella Riassuntiva : MapRed VS RDBMS RDBMS MapReduce Dimensione dati Gigabytes Petabytes Tipo di accesso Interattivo e batch batch Aggiornamenti Frequenti letture e scritture Una scrittura tante letture Struttura Schema rigido Schema dinamico Scalabilità Non lineare lineare Con scalabilità lineare si intende che: se raddoppio i dati raddoppia il tempo di esecuzione se raddoppio i dati e le macchine il tempo di esecuzione è costante MapReduce non è un sostituto dei tradizionali RDBMS ma è complementare ad essi.
10 Hadoop here he comes! Tra il 2003 e il 2004 Google fece alcune pubblicazioni in cui annunciò al pubblico questi suoi risultati, mantenendo tuttavia chiuso il codice delle proprie implementazioni. Esplose così la rincorsa alle emulazioni che vide vincitore Hadoop, una implementazione open-source in Java sviluppata da Dough Cutting, l'autore di Lucene. Dopo la prima release Yahoo! che lavorava ad un progetto analogo si rese conto che Hadoop era più efficiente, abbandonò il suo progetto ed ingaggio Dough Cutting per proseguire lo sviluppo di Hadoop. Il progetto rimase open-source per attirare la collaborazione di altre aziende e consentire di competere con il sistema sviluppato da Google.
11 Hadoop tratti distintivi I principali di Hadoop riflettono, ovviamente, le sue origini e si rifanno alle soluzioni proposte da Google : Accessibilità: è in grado di funzionare sia su grandi cluster di macchine a basso costo (COTS), sia su infrastrutture cloud come Amazon EC2; Robustezza: ha funzionalità innate di fault-tolerance; essendo stato pensato, sin dal principio, per gestire eventuali malfunzionamenti dell'hardware (tipici dei sitemi COTS) e quindi ; Scalabilità: è in grado di scalare linearmente con l'aumentare dei dati da gestire; raddoppiando il numero dei nodi è in grado di processare il doppio dei dati nello stesso tempo; Semplicità: consente di scrivere facilmente e in maniera affidabile codice che viene automaticamente distribuito ed eseguito su un cluster (indipendentemente dal numero di macchine, da un minimo di 1 fino ad N )
12 Hadoop Componenti Fondamentali Il framework Hadoop si compone di tre elementi: Commons : un insieme di utility su cui si basano gli altri componenti HDFS : un file-system distribuito utilizzato per la memorizzazione dei dati Map-Reduce: il framework vero e proprio per il supporto alla programmazione distribuita
13 Hadoop HDFS HDFS (acronimo di Hadoop Distributed File System ) è un file system distribuito progettato sul modello del Google File System ed orientato alla gestione file di grandi dimensioni, dell'ordine dei petabyte 1PB = Terabyte = Gigabyte
14 HDFS Un file-system block oriented E' un file-system minimale, ispirato al Google FS, sviluppato per supportare Hadoop. Dunque con pochi semplici obiettivi da realizzare: possibilità di gestire file di dimensione superiore al petabyte alta velocità in lettura/scrittura (prossima al max-transfer rate del disco) fault-tolerance ridondanza dei dati Per far questo ogni file è rappresentato come un insieme non contiguo di blocchi e a differenza di un file-system tradizionale ciascun blocco non contiene informazioni relative al file, ai permessi, ai blocchi adiacenti o altri tipi di metadati, ma solo dati RAW.
15 HDFS Un file-system block oriented Un'altra differenza fondamentale, per ridurre l'impatto del seek-time sull'accesso al disco, è la dimensione dei blocchi. In un file-system tradizionale la dimensioni tipiche dei blocchi variano tra 512 bytes e 4Kbytes, su HDFS le dimensioni tipiche variano tra 64Mbyte e 256Mbyte. Inoltre ogni singolo blocco può essere replicato su più macchine diverse, garantendo così un semplice ma efficace meccanismo di ridondanza che aumenta la sicurezza del sistema.
16 HDFS architettura interna HDFS è caratterizzato da un'architettura interna di tipo master-slave: il master, detto NameNode, ha il compito di conservare e gestire la struttura del file-system e in generale tutto il sistema di metadati: suddivisione in cartelle (e loro gestione) posizionamento logico dei file nelle cartelle posizionamento fisico dei file sulle macchine (suddivisione in blocchi e posizionamento di ogni replica di ogni singolo blocco) regole di accesso (molto semplificate rispetto a Posix) gli slave, detti DataNode, hanno invece il solo compito di memorizzare i blocchi e consentirne l'accesso in lettura/scrittura alla massima velocità possibile
17 HDFS Architettura interna
18 Hadoop MapReduce MapReduce si rifà ad un modello di programmazione tipico dei linguaggi funzionali, ed in particolare del Lisp (ideato nel 1958 da John McCarthy). In Lisp esistono infatti due funzioni, mapcar e reduce, che si occupano di : mapcar : applicare una generica funzione ad ogni elemento di un insieme; reduce : applicare un operatore di aggregazione agli elementi di un insieme per combinarne i valori ( restituendo solitamente un insieme con un numero ridotto di elementi)
19 MapReduce Architettura del Framework Job Tracker Master Slave Task Tracker Slave Task Tracker Slave Task Tracker
20 MapReduce Architettura del Framework Come HDFS, il framework MapReduce è costituito da più tool organizzati secondo un'architettura master-slave: il nodo master, o JobTracker, ha il compito di gestire il ciclo di vita dei job : permanenza in coda interazione con il NameNode suddivisione in task scheduling del job riesecuzione di eventuali task falliti notifica sul progresso/fine del job
21 MapReduce Architettura del Framework i nodi slave, o TaskTracker, hanno il compito di gestire l'esecuzione dei singoli task : configurazione avvio e gestione di un numero limitato di tentativi notifica del progredire dell'elaborazione notifica del completamento / fallimento del task
22 MapReduce MapCar Operation Facciamo un semplice esempio per capire meglio il funzionamento di queste funzioni. Date due liste di numeri e vogliamo calcolare la somma dei rispettivi elementi. X Y X + Y
23 MapReduce... in stile procedurale Con i linguaggi di programmazione procedurali diciamo al compilatore cosa deve fare. Tipicamente per un problema di questo tipo si definisce un ciclo e si indica al compilatore ogni singola operazione da eseguire ad ogni ripetizione inizializza un contatore prendi la prima coppia di numeri calcola la somma scrivi il risultato nella nuova lista incrementa il contatore prendi la seconda coppia di numeri calcola la somma scrivi il risultato nella nuova lista
24 MapReduce...in stile funzionale: es. mapcar in Lisp Con i linguaggi di programmazione funzionali diciamo al compilatore come deve calcolare determinati risultati ma lasciamo a lui il compito di decidere come farlo. Tipicamente in un problema di questo tipo si dice al compilatore: il valore a destra è ottenuto sommando i due valori a sinistra In questo modo il compilatore può scegliere la strategia con cui realizzare le operazioni. Ad esempio in parallelo se ha più processori a disposizione
25 MapReduce Reduce L'operazione di Reduce combina gli elementi di un insieme e, in generale, restituisce un insieme con un numero di elementi minore. Ad esempio potremmo utilizzare Reduce per sapere quanti elementi erano dispari e quanti pari, oppure quanti risultati erano minori di 8: X + Y Reduce(' count(pari/dispari) ', X + Y ) 2 5 Reduce ( ' count(<8 )', X + Y ) 3 4
26 MapReduce Job Come il nome del framework suggerisce, l'unità elementare di programmazione in Hadoop, denominata JOB, è data dalla combinazione di un operazione di map e di un'operazione di reduce. In alcuni casi è possibile/conveniente omettere l'operazione di Reduce. In tal caso i Job sono detti map-only. Non è invece possibile omettere l'operazione di Map, anche se non altera in alcun modo i dati, una funzione di map va sempre specificata. Quindi un Job hadoop realizza un parallelismo di tipo SIMD (Single Instruction Multiple Data) in quanto applica in parallelo una stessa trasformazione su tutti i blocchi che costituiscono il file di input.
27 MapReduce map + reduce Input (map ' ( )) ( map <op> ' ( k-v, k-v, k-v ) ) ( ) ( k-v, k-v, k-v ) (reduce ' ) ( ) ( reduce <op> ' ( k-v, k-v, k-v ) ) Result
28 MapReduce Ciclo di vita di un Job
29 MapReduce Word Count
30 MapReduce Definizione formale di un Job Un job è costituito da un'operazione di map ed una di reduce. Formalmente queste si definiscono nel seguente modo: map : (K1, V1) list(k2, V2) reduce: (K2, list(v2)) list(k3, V3) dove (K,V) indica una generica coppia chiave valore. Grazie a questa definizione formale e sfruttando i generics di Java il Framework Hadoop è in grado di gestire ed eseguire qualunque Job indipendentemente dal tipo di dati reale su cui opererà.
31 Definizione formale Job Vincoli sui tipi dei dati L'analisi del ciclo di vita di un Job ha illustrato una sequenza di operazioni che vengono effettuate sui dati prima, durante e dopo l'esecuzione delle operazioni di map e reduce. 1.i dati vengono letti dalla sorgente (solitamente un file HDFS) e passati al map 2.i dati emessi dal map vengono ordinati e raggruppati e trasferiti al reduce 3.i dati emessi dal reduce vengono salvati sulla destinazione (solitamente un file HDFS) Queste operazioni pongono alcuni vincoli (relativamente leggeri) sui tipi di dati su cui le operazioni di map e reduce possono operare.
32 Definizione formale Job Vincoli sui tipi dei dati I vincoli imposti sui dati sono: deve esistere un meccanismo standardizzato per la lettura/scrittura dei dati deve esistere un meccanismo standardizzato per il confronto di due dati in modo da consentirne l'ordinamento In termini di linguaggio Java questo si traduce nell'implementazione di due interfacce Writable - void write(dataoutput d) void readfields(datainput di) Comparable - int compareto(t o) Che per semplicità vengono raggruppate nell'interfaccia WritableComparable.
33 Definizione formale Job Tipi di dati nativi Il framework fornisce dei tipi che rappresentano i tipi nativi di Java e che implementano queste interfacce: int IntWritable long LongWritable String Text Qualora si dovesse aver necessità di tipi personalizzati sarà necessario implementare queste interfacce per renderli compatibili con il framework.
34 MapReduce Dai dati RAW alle coppie Chiave-Valore Input Format Logical HDFS Input Format Job
35 Input Format Da RAW a WritableComparable Un InputFormat svolge due compiti fondamentali suddividere i dati di input in un insieme di split (ciascuno dei quali contiene un certo numero di record) fornire un RecordReader che legga i dati RAW presenti in uno split e restituisca degli oggetti di tipo WritableComparable Non bisogna confondere gli split con i blocchi HDFS. Gli split rappresentano un gruppo di record, ovvero una divisione logica dell'input, mentre i blocchi rappresentano una suddivisione fisica tipica di un particolare formato di memorizzazione. Uno split può indicare anche un gruppo di righe in una tabella di un DB.
36 Input Format Principali input format forniti dal framework I principali InputFormat forniti dal framework sono: FileInputFormat rappresenta un file su HDFS ed è in grado di gestire correttamente la presenza di split a cavallo tra due blocchi. TextInputFormat discende da FileInputFormat e fornisce un RecordReader che restituisce i dati in formato (LongWritable, Text) key [LongWritable] = distanza in byte dall'inizio del file value [Text] = una riga di testo KeyValueTextInputFormat - discende da FileInputFormat; usato per file testuali in cui ogni riga rappresenta una coppia chiave valore delimitata da un separatore; restituisce i dati in formato (Text, Text) key [Text] = una stringa rappresentante la chiave value [Text] = una stringa rappresentante il valore
37 Output Format Da WritableComparable a RAW Gli OutputFormat sono organizzati in maniera duale agli InputFormat ed eseguono l'operazione inversa. Una nota va spesa sul TextOutputFormat che converte i dati in stringhe, chiamando il metodo tostring() e li salva su file. Nel farlo tuttavia memorizza in ogni riga una coppia chiave valore, per cui il corrispondente InputFormat è il KeyValueTextInputFormat e non il TextInputFormat.
38 MapReduce Da RAW a Result
39 MapReduce Word Count
40 MapReduce Word Count : Pseudocodice InputFormat = KeyValueTextInputFormat Map input: key = linea di testo value = map(string key, String value): for each word w in key: EmitIntermediate(w, "1"); [..Framework.. Shuffle & Sort ] Reduce input: key = word values = lista di occorrenze es: {1, 1, 1,.. } reduce(string key, Iterator values): int result = 0; for each v in values: result = result + v; Emit( key, result);
41 MapReduce Algoritmi Complessi In generale non è possibile tradurre un algoritmo complesso in un singolo Job e quest'ultimo va visto come una singola unità di trasformazione dei dati di ingresso. L'algoritmo complessivo sarà dunque costituito da un grafo orientato (DAG: Direct Acyclic Graph) in cui ogni nodo rappresenta un singolo Job. Input Output
42 MapReduce Driver L'esecuzione di un algoritmo complesso, costituito da un DAG di Job, consente di realizzare un parallelismo più ampio, indicato con il termine MIMD (Multiple Instructions Multiple Data ) in quanto applica più operazioni contemporaneamente su più dati. Spesso per eseguire un algoritmo complesso e controllare l'intera esecuzione del DAG viene scritto un tool apposito, che viene denominato Driver per sottolineare il fatto che pilota l'intera pipeline. Questo modello di programmazione viene denominato DataFlow Programming, in quanto descrive il percorso che i dati seguono nell'attraversare le varie operazioni o job.
43 Interoperabilità Hadoop ed altri linguaggi di programmazione Hadoop è scritto in Java ed è quindi naturale l'interazione più diretta avvenga attraverso questo linguaggio. Tuttavia Hadoop offre due meccanismi che consentono la scrittura di Job Hadoop in molti altri linguaggi di programmazione. Questi due meccanismi sono Hadoop Streaming che fa uso degli stream per il passaggio delle coppie chiave valore Hadoop Pipes che usa dei socket per il passaggio delle coppie chiave valore
44 Interoperabilità Hadoop Streaming Hadoop Streaming uso gli stream di Unix (stdin e stdout) come interfaccia tra il framework e il Job, che dunque può esser scritto in un qualunque linguaggio che sia in grado di leggere dallo standard input e di scrivere sullo standard output. Hadoop Streaming ha una visione text-oriented dei dati, per cui il Task converte i dati di input in righe di testo e li passa al map attraverso lo standard input il map li elabora e scrive i risultati sullo standard output questi vengono poi raccolti e ordinati (come testo) un altro Task suddivide i dati provenienti dai vari map in righe di testo e le inoltra al reduce attraverso lo standard input il reduce le elabora e scrive i risultati sullo standard output questi vengono raccolti e memorizzati su file
45 Interoperabilità Hadoop Pipes Hadoop Pipes funziona in maniera simile a Streaming ma utilizza dei socket per il passaggio dei dati ed è principalmente orientata agli sviluppatori C++. Sia la chiave che il valore vengono forniti come stringhe ( std::string ). Un Job in chiavec++ deve sempre fornire due classi Mapper e Reducer ma i metodi map() e reduce() hanno un solo parametro d'ingresso MapContext e ReduceContext i cui metodi principali sono const std::string& getinputkey(); const std::string& getinputvalue(); void emit(const std::string& key, const std::string& value); il ReduceContext ha il metodo addizionale bool nextvalue(); per passare al valore successivo.
46 Interoperabilità Python + Hadoop = Pydoop A partire dal 2009 il CRS4 ha sviluppato Pydoop[1], una API per consentire la scrittura di Job MapReduce e l'interazione con HDFS anche a chi utilizza il linguaggio Python. È possibile scaricarlo da: Ed è compatibile con le maggiori distribuzioni di Hadoop: Apache Hadoop , 1.0.4, 1.1.2, or CDH 3u{4,5} or 4.{2,3,4,5}.0 [1] S. Leo and G. Zanetti. Pydoop: a Python MapReduce and HDFS API for Hadoop. In Proceedings of the 19th ACM International Symposium on High Performance Distributed Computing, , 2010.
47 Pydoop Architettura del sistema Pydoop utilizza Hadoop Pipes e le librerie Boost per realizzare la comunicazione tra i codice Python ed il framework Map Reduce o l'hdfs
48 Pydoop Python API Attraverso le API di Pydoop è possibile avere accesso diretto dal codice Python alla gran parte delle funzionalità offerte dal framework Hadoop: pydoop.pipes MapReduce API pydoop.hdfs HDFS API pydoop.hdfs.path Path Name Manipulations pydoop.hdfs.fs File System Handles pydoop.hdfs.file HDFS File Objects pydoop.utils Utility Functions pydoop.jc Pydoop Script Configuration Access pydoop.hadut Run Hadoop Shell Commands
49 Pydoop pydoop script Tuttavia l'accesso diretto alle API Pydoop richiede una profonda conoscenza del sistema e delle tecnologie utilizzate per integrarlo con Hadoop. Per semplificare la scrittura di job è stato creato Pydoop Script, che consente di scrivere un Job Hadoop semplicemente definendo le due funzioni mappre e reducer. A questo punto per lanciare il Job sarà sufficiente digitare sulla shell il comando : pydoop script myjob.py hdfs_input hdfs_output Pydoop Script lancia il Job utilizzando una configurazione di default. E' possibile modificare la configurazione specificando sulla riga di comando i parametri nel formato chiave=valore secondo lo standard tipico di Java (opzione -D property_name=property_value ).
50 Pydoop WordCount Utilizzando Pydoop script, possiamo realizzare il WordCount in Python, un unico script wordcount.py in cui definiamo le funzioni mapper e reducer def mapper(key, text, writer): for word in text.split(): writer.emit(word, "1") def reducer(word, icounts, writer): writer.emit(word, sum(map(int, icounts))) Per eseguire lo script è sufficiente digitare sul terminale pydoop script wordcount.py INPUT_PATH OUTPUT_PATH dove INPUT_PATH e OUTPUT_PATH sono dei path all'interno dell'hdfs
HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?
NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui
DettagliElaborazione dati parallela con map/reduce. Roberto Congiu rcongiu@yahoo.com
Elaborazione dati parallela con map/reduce Roberto Congiu rcongiu@yahoo.com Indice delle slide Introduzione a Map/Reduce Descrizione del modello Implementazione Ottimizzazioni Introduzione Map/Reduce e
DettagliMapReduce. Progettazione del Software a.a. 2012/13. Università degli Studi di Milano Dept. of Computer Science. Matteo Camilli
Università degli Studi di Milano Dept. of Computer Science MapReduce Matteo Camilli matteo.camilli@unimi.it http://camilli.di.unimi.it Progettazione del Software a.a. 2012/13 1 Motivazioni Vogliamo processare
DettagliI database relazionali (Access)
I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliInformatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati
Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliInformatica - A.A. 2010/11
Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire
DettagliIl software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi
Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi
DettagliSoftware relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi
Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi
DettagliIntroduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
DettagliBase di dati e sistemi informativi
Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per
DettagliIl database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
DettagliOttimizzazione delle interrogazioni (parte I)
Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
Dettagli1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliCapitolo 11 -- Silberschatz
Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono
DettagliArchivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
DettagliScenario di Progettazione
Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
DettagliBASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone
BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliSistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliLa Metodologia adottata nel Corso
La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliIl Sistema Operativo (1)
E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale
DettagliEsame di INFORMATICA
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello
DettagliLaboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliWord processor funzione Stampa Unione
Word processor funzione Stampa Unione La funzione Stampa unione permette di collegare un documento che deve essere inviato ad una serie di indirizzi ad un file che contenga i nominativi dei destinatari.
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
DettagliRegistratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
DettagliDefinizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
DettagliUn sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
DettagliCoordinazione Distribuita
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliGestione Risorse Umane Web
La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...
DettagliSistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1
GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria
DettagliSistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco
GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria
DettagliCLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO
CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO 1 Domanda [1 punto] Dato il formato in virgola mobile su 32 bit così definito (precisione singola): o 1
DettagliFinalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6
Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...
DettagliIntroduzione all Architettura del DBMS
Introduzione all Architettura del DBMS Data Base Management System (DBMS) Un DBMS è uno strumento per la creazione e la gestione efficiente di grandi quantità di dati che consente di conservarli in modo
DettagliL informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia
L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
Dettagli12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua
12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliIl Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliLinguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
DettagliARCHITETTURA DI RETE FOLEGNANI ANDREA
ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce
DettagliConcetti di base di ingegneria del software
Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza
DettagliIpertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,
Dettagliper immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1
Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella
DettagliGestione delle transazioni. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1
Gestione delle transazioni Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transazioni v L esecuzione concorrente dei programmi utente è essenziale per le buone prestazioni del DBMS Poiché
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
DettagliTesti di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
Dettaglie-dva - eni-depth Velocity Analysis
Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa
DettagliFoLUG Forlì Linux User Group. Partizionamento
FoLUG Forlì Linux User Group con la partecipazione della Circoscrizione n 3 di Forlì Partizionamento Quello che occorre sapere sul disco fisso per installare UBUNTU 10.10 o altri sistemi operativi. FoLUG
DettagliCPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
DettagliLinguaggi di programmazione
Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore
DettagliStruttura del calcolatore
Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU
Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
DettagliOrigini e caratteristiche dei calcolatori elettronici
Origini e caratteristiche dei calcolatori elettronici Lunedì, 09 ottobre 2006 Supercomputer, mainframe 1 Server, workstation, desktop, notebook, palmare Un po di storia 1642 Biagio Pascal 1671 Leibniz
DettagliArchitettura di un calcolatore
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von
DettagliSiamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliIn questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.
Release 5.20 Manuale Operativo ORDINI PLUS Gestione delle richieste di acquisto In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. La gestione
DettagliIl Sistema Operativo: il File System
Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliUso delle tabelle e dei grafici Pivot
Uso delle tabelle e dei grafici Pivot 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella riassuntiva basata su condizioni multiple che hanno punti di
DettagliArduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
Dettagli15 volte più veloce. per ridurre TCO e time-to-market
15 volte più veloce per ridurre TCO e time-to-market Instant Developer aumenta la produttività dei team di sviluppo riducendo il TCO e i tempi di realizzazione delle soluzioni software Instant Developer
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliMon Ami 3000 Varianti articolo Gestione di varianti articoli
Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione
DettagliCorso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Basi di Dati Claudio Marrocco I report I Report sono lo strumento più adatto per ottenere una copia stampata dei dati e delle informazioni ricavate dalle
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliLe Infrastrutture Software ed il Sistema Operativo
Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono
DettagliEVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO
EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi
DettagliSISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
DettagliLA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
DettagliBARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo
Release 4.90 Manuale Operativo BARCODE Gestione Codici a Barre La gestione Barcode permette di importare i codici degli articoli letti da dispositivi d inserimento (penne ottiche e lettori Barcode) integrandosi
Dettagli