1 LINUX: struttura generale The layers of a UNIX system. User Interface.

Slides:



Advertisements
Presentazioni simili
PROCESS MANAGEMENT: STRUTTURE DATI
Advertisements

Meccanismi di IPC Problemi classici di IPC
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Programmazione concorrente
Il Sistema Operativo.
File System Cos’è un File System File e Directory
Java: programmazione concorrente con condivisione di memoria
Gestione del processore
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
SC che operano su processi
File system Casi di studio (3).
1 Reti di Calcolatori Esercitazione 1 Implementazione di un superserver Unix di rete Vedi: W.R. Stevens, Unix Network Programming, Prentice Hall Copyright.
I segnali.
1 System Call per Comunicazione tra Processi Pipe.
SC che operano su file (1)
Interfaccia del file system
I processi Concetto di processo Scheduling dei processi
Processi Concetto di processo Scheduling dei processi
Operating System Concepts
Threads: Sistemi Operativi I Corso di Laurea in Ingegneria Informatica
Struttura dei sistemi operativi (panoramica)
I Thread.
I Processi.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
1 Gestione del processore Il modello a processi sequenziali.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
Sistemi Operativi GESTIONE DEI PROCESSI.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Il sistema operativo Vito Perrone
I File.
Modulo 13: System call relative al File System
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Processi e Thread Job: Insieme di processi che condividono quote e limiti. Processo: Contenitore di risorse (una lista di thread, una lista di handle e.
Threads.
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
1 I segnali. 2 Prima un po’ di teoria…... 3 Stati dei processi in UNIX Idle Sleeping Zombified Runnable Running Fork iniziata waitpid Fork terminata.
Sistema Operativo (Software di base)
1 Il Buffer Cache Unix (Bach: the Design of the Unix Operating System (cap: 3)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
I processi.
T. MottaGenerazione e terminazione processi1 Creazione e terminazione dei processi Tommaso Motta
Il nucleo del Sistema Operativo
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
1 Esercitazione finale per il corso di Sistemi Operativi (A.A. 2001/2002)
Gestione del processore (Scheduler)
1 SC che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Chiamate di sistema Introduzione Errori : perror() Chiamate che lavorano su file.
1 File System ed Input/Output UNIX Caratteristiche del FS Unix Implementazione Il file system di Linux Organizzazione dell’ I/O.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Processi e Thread Processi Thread
1 Processi e Thread Processi e thread in Windows 2000.
1 SC per IPC Pipe. 2 Pipe : file speciali utilizzati per connettere due processi con un canale di comunicazione Se B cerca di leggere da una pipe vuota.
Gestione dei segnali I segnali sono interrupt software.I segnali –interrompono i processi qualunque cosa stiano essi facendo al momento della generazione.
I segnali.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1.1 Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2010/2011 Prof. Luca Ferrari.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Processi e Thread Processi e thread in Unix. 2 UNIX/Linux Molte versioni di UNIX –trattiamo le caratteristiche più comuni) Ci riferiamo allo standard.
1 System Call che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
1 System Call ancora Vediamo passo passo come funziona una SC.
1 System Call che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
© 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread G IORGIO P.
LINUX: struttura generale
Transcript della presentazione:

1 LINUX: struttura generale The layers of a UNIX system. User Interface

2 Processi in LINUX Ogni processo nasce con un solo thread Un processo gira in modalità utente; quando effettua una system call passa in modalità kernel e può operare sulle risorse del sistema. Il kernel possiede due strutture per ogni processo: –process table e user structure

3 Gestione dei Processi Process table : risiede sempre in RAM Contiene: parametri per lo scheduling (priorità, tempo consumato, ecc.) immagine di memoria (puntatori alle aree di memoria e al disco). informazioni sui segnali (quali segnali gestire, ignorare, ecc.) Stato del processo PID, PID del padre user e group id.

4 Gestione dei Processi User structure risiede su disco se il processo è swapped Contiene informazioni non necessarie quando il processo non è in esecuzione: –Registri macchina –tabella dei descrittori di file aperti –stato della system call corrente (parametri) –kernel stack –informazioni di accounting (tempo CPU, limiti, ecc.)

5 Creazione di Processi int pid = fork() –crea una copia esatta del processo invocante –restituisce 0 al figlio ed il PID del figlio al padre –duplica i dati e lo stack del padre nel figlio in unarea di memoria differente –i file aperti dal padre sono condivisi al figlio –Il figlio eseguirà lo stesso codice del padre

6 Creazione di Processi execl (nome_con_path, nome, argv) –Fa eseguire a un processo un codice diverso, con diversi parametri –Nome_con_path = nome delleseguibile compreso di path –nome = nome delleseguibile –Argv = lista di parametri deleseguibile separati da virgola, terminati da NULL Esempio di processo che lancia ls -l execl (/bin/ls, ls, -l, NULL); Esistono altre chiamate con differenti argomenti: execv, execve, execle, ecc..

7 Terminazione di processi wait(&status) –attende la terminazione di un processo figlio –dopo lesecuzione di wait, status contiene lesito della computazione del processo figlio (il codice di uscita del figlio e altre informazioni) exit(status) –termina il processo e restituisce il valore di status al padre (nella variabile status restituita da wait)

8 Terminazione di processi Processi zombie –processi terminati il cui padre non ha (ancora) eseguito la wait() –attendono di restituire il codice di terminazione e svanire, altrimenti rimangono zombie e sono eliminati da uno speciale processo detto init

9 Comunicazione fra processi Pipe : file speciali utilizzati per connettere due processi con un canale unidirezionale di comunicazione Se B cerca di leggere da una pipe vuota si blocca Se A scrive su una pipe piena, viene bloccato fino a che non viene letto qualcosa Lampiezza della pipe dipende dal sistema

10 Comunicazione fra processi Una pipe si crea con listruzione: int pd[2]; pipe(pd); Si legge da pd[0] e si scrive su pd[1] Per leggere: read (pd[0], buffer, lung); Per scrivere: write (pd[1], buffer, lung); Dove buffer è unarray di caratteri e lung è la lunghezza del messaggio.

11 Comunicazione fra processi Segnali (interruzioni software) –comunicano al processo il verificarsi di una certo evento –possono essere inviati solo ai membri del proprio gruppo (antenati, discendenti) –generalmente possono essere ignorati, catturati o possono terminare il processo (default per molti segnali) –per i segnali catturabili si può specificare un signal handler che viene mandato in esecuzione appena il segnale viene rilevato

12 Comunicazione fra processi Segnali (cont.) –particolari combinazioni di tasti inviano dei segnali al processo in foregroud Control-C corrisponde a SIGINT Control-Z corresponde a SIGTSTP –i segnali servono anche al SO per a comunicare al processo il verificarsi di particolari eventi (es. SIGFPE, errore floating-point)

13 I segnali previsti da POSIX

14 Chiamate di sistema relative ai processi s è un codice di errore pid è il codice di identificazione di un processo