Lezione 16. Il Software di base

Documenti analoghi
Linguaggi, compilatori e interpreti

Sistemi Operativi: Concetti Introduttivi

Linguaggi di Programmazione

LINGUAGGI DI ALTO LIVELLO

Linguaggi di programmazione

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

INFORMATICA. L informatica comprende:

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

Fondamenti di Informatica T. Il Software

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Il Software programmabili programma algoritmo

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

Elementi di programmazione

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Introduzione al funzionamento di un calcolatore elettronico

Linguaggi di alto livello, compilatori e interpreti

AMBIENTI DI PROGRAMMAZIONE

COMPILAZIONE. Tarsformazione di linguaggi

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Traduzione e interpretazione

Corso di Fondamenti di Informatica Linguaggi di Programmazione

I Linguaggi di Programmazione

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Sistema operativo & file system 1

Linguaggi, Traduttori e le Basi della Programmazione

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Componenti di un sistema operativo

Perché il linguaggio C?

Unità Didattica 2 I Linguaggi di Programmazione

Il Sistema Operativo. Informatica Sistema Operativo 1

Laboratorio di Calcolo Linguaggi di programmazione

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

10: I LINGUAGGI di PROGRAMMAZIONE PARTE 1

Note sui sistemi operativi

Architettura dei calcolatori e Software di sistema

Interfaccia del file system

Struttura Logica del S.O:

Premessa. Input /output e gestione dei file. I file e gli stream. Il puntatore al file. 21. I FILE NEL LINGUAGGIO C Versione 1.

; programma MOV AX, DATO_1. ; somma al contenuto dell' accumulatore il contenuto del registro B

Linguaggi di Programmazione

Sistema Operativo. (hardware e software) della della macchina

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina

Organizzazione di un SO monolitico

Sistemi Operativi. Lez. 0: Introduzione ai sistemi operativi

Sistemi di Elaborazione delle Informazioni 6 CFU. Il software di sistema

Il linguaggio di programmazione Python

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

Linguaggi di alto livello, compilatori e interpreti

Introduzione alla programmazione. Walter Didimo

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

Elementi di programmazione

Capitolo 6 Le infrastrutture SoftWare

Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE

LINGUAGGI DI ALTO LIVELLO

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione

Primi passi col linguaggio C

Sistemi Operativi. La gestione delle risorse

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Architettura di un calcolatore

COSTRUZIONE DI UN APPLICAZIONE

Input/Output. Livelli del sottosistema di I/O

2) Sistemi operativi. Lab. Calc. AA 2006/07

3. Programmi e algoritmi

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

Livelli del sottosistema di I/O

Introduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++

Corso di Informatica

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Elementi base di un calcolatore. Hardware: Architettura di un elaboratore: il "Cuore" Obiettivo: introdurre un po di terminologia

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Linguaggi di programmazione. Parte VII. Traduzione e collegamento. Interpretazione. Traduzione

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

INTRODUZIONE ALLA PROGRAMMAZIONE

Sistemi Di Elaborazione Dell informazione

Calcolatori Elettronici Parte VIII: linguaggi assemblativi

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Architettura di Von Neumann

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica

SISTEMI OPERATIVI. Fig. 1

Sistema Operativo (Software di base)

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Linguaggi e traduttori

Lezione 15 Il Set di Istruzioni (1)

Fondamenti di Algoritmi

COSTRUZIONE DI UN APPLICAZIONE

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

La Macchina Virtuale

Corso di Architettura (Prof. Scarano) 09/04/2002

Capitolo 6 Le infrastrutture SoftWare

Linguaggi di programmazione

Transcript:

Lezione 16 Software di base Il Software di base Con il termine software di base si intende l insieme dei programmai che consentono ad un utente di eseguire operazioni base come costruire e mandare in esecuzione un programma. Il software di base è costituito da: sistema operativo editori traduttori linker caricatori debugger 1

Il sistema operativo (S.O.) E un insieme di programmi che agiscono come intermediari tra l utente ed il calcolatore Rende il calcolatore una macchina astratta, indipenente cioè dalla sua propria realizzazione fisica, dal modello, e ne semplifica la gestione e l interazione Il Sistema Operativo Si distinguono i S.O. che lavorano in monoprogrammazione e quelli che lavorano in multiprogrammazione in monoprogrammazione è consentita l esecuzione di un programma alla volta in multiprogrammazione è possibile avere contemporaneamente più programmi attivi in stato diverso di avanzamento 2

I servizi Un Sistema Operativo fornisce i seguenti servizi: Esecuzione dei programmi carica in memoria centrale un programma specificato dall utente e lo esegue Operazioni di ingresso/uscita Un programma può richiedere la lettura/scrittura di dati sia su mezzi di ingresso/uscita come video,stampanti e tastiera o verso la memoria di massa. Queste richieste sono inviate al SO che le rende così indipendenti dallo specifico mezzo I servizi Gestione file Un file è un insieme di informazioni in qualche modo correlate fra di loro (può essere un programma, un insieme di dati, un testo). Il SO scrive i file su dispositivi (nastri, dischi) e ne permette la gestione. Le operazioni che il SO rende disponibili sono: identificazione del file tramite un nome, creazione, cancellazione, copia, lettura, organizzazione in directory 3

I servizi Protezione In un sistema multiutente il SO deve garantire un sistema di proprietà dei dati in modo che solo il legittimo proprietario possa gestirli Rilevazione degli errori Il SO deve segnalare errori hardware (errori nella memoria centrale), errori nei mezzi di IN/OUT (scrittura difettosa su disco, mancanza di carta), errori nei programmi (accesso ad aree di memoria non permessa) Interazione con il sistema operativo Dopo la fase di installazione di un sistema operativo (eseguita tramite un apposito programma di installazione) l utente deve poter interagire con il SO tramite: attivazione del SO comunicazione tramite comandi comunicazione tramite chiamate al sistema 4

Interazione con SO Attivazione: Il sistema operativo viene conservato sulla memoria di massa e viene caricato in memoria centrale tramite un programma di bootstrap L accensione del calcolatore manda in esecuzione tale programma in modo automatico che copia il sistema operativo da locazioni fisse dalla memoria di massa Interazione con SO Comunicazione tramite comandi L interfaccia fra un SO e un utente è costituita da una serie di comandi digitati su un terminale e messaggi che il SO invia sul terminale. I comandi possono essere immessi in modo interattivo o in modalità batch (vengono letti da file) I comandi sono letti ed interpretati da un interprete dei comandi. L interprete è la parte del SO attiva inizialmente e quella a cui riturna il controllo dopo che sono state eseguite le funzioni richieste 5

Interazione con SO Comunicazione tramite chiamate al sistema Le chiamate al sistema forniscono l interfaccia ra i programmi in esecuzine ed il sistema operativo Es. IN/OUT viene fatto tramite funzioni che astraggono dal dispositivo permettendo una scrittura ad alto livello dei programmi Programmi di sistema Per la creazione e l esecuzione dei programmi sono necessari i seguenti software di base: Editore Traduttore Linker Caricatore Debugger 6

Editori E un programma con cui è possibile creare e manipolare in modo interattivo un file di caratteri In questo modo è possibile scrivere un programma in un linguaggio di alto livello L editore permette operazioni di inserimento e cancellazione di parole e frasi, modifiche, spostamenti e ricerche Traduttori Il Traduttore è un programma che converte un programma sorgente scritto in linguaggio simbolico in codice binario immediatamente comprensibile per il calcolatore. I traduttori si dividono in compilatori interpreti 7

Compilatori Un compilatore riceve in ingresso un intero file sorgente e restituisce un file oggetto. Successivamente è possibile mandare in esecuzione il programma. Si realizzano programmi veloci perché la fase di traduzione è eseguita una unica volta ed è inoltre possibile effettuare un ottimizzazione sul codice prodotto Interpreti Un programma Interprete legge una frase alla volta dal programma sorgente, la trasforma in una sequenza di istruzioni macchina e la manda in esecuzione. Le fasi di traduzione ed esecuzione si alternano ad ogni istruzione Permette la rilevazione e la correzione immediata ed interattiva degli errori 8

Linker Il programma Linker assembla più programmi oggetto prodotti separatamente. Diventa così possibile collegare programmi con sottoprogrammi o con librerie scritte da terze parti Caricatori Detto anche loader, ha il compito di trasferire un programma dalla memoria di massa alla memoria centrale. E possibile tradurre un sorgente in oggetto una unica volta e mandarlo in esecuzione più volte tramite il loader. 9

Programmi diagnostici Detti debugger, aiutano a controllare il flusso di esecuzione di un programma per individuare eventuali errori. Permettono di eseguire un programma passo passo, di specificare punti di arresto e di verificare il contenuto di registri e variabili, eventualmente di modificarli 10