Sistemi Operativi. Lezione 4 I processi: implementazioni

Documenti analoghi
Sistemi Operativi 2003/2004 WINDOWS 2000

Esame del Sistema Operativo Windows Architettura degli elaboratori 2 - T. Vardanega Pagina 204 # $ % &:,"( "(; "; 5 --$/-$0' 9 <43 --./-.

Esame del Sistema Operativo Windows. Esame del Sistema Operativo Windows. Esame del Sistema Operativo Windows. Esame del Sistema Operativo Windows

System Calls per la Gestione dei Processi

Genesi 1. Mono-utente in modalità command line Non multi-programmato Inizialmente ispirato a CP/M

Laboratorio di Sistemi Operativi

Sistemi Operativi. Lezione 3 Processi e Thread

Sistemi operativi. Fondamenti di Informatica

Descrizione generale dell architettura del sistema e dell interazione tra i suoi componenti. Descrizione del sottosistema di sicurezza locale.

Appendice A. A.1 Reti basate su Linux e Windows NT. A.2 Procedura di gestione delle richieste web ed

2. Nucleo del sistema operativo (la gestione dei processi)

Laboratorio di sistemi operativi A.A. 2010/2011 Gruppo 2 Gennaro Oliva Processi

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

Organizzazione di un SO monolitico

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a IX - 1

2. Nucleo del sistema operativo (la gestione dei processi)

Il Concetto di Processo

Processi Concetti di base. Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi

Sistema Operativo (Software di base)

System call per la gestione di processi

Processi. Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi. Il descrittore di processo (PCB)

I Processi nel SO UNIX

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Processi in Linux. Igino Corona 20 Ottobre 2009

Windows NT. Introduzione. Docente: Luigi Pomante Fabio Salice

Modalità di installazione di Linux Il pinguino si fa in quattro per noi

I Sistemi Operativi. Introduzione ai Sistemi Operativi (parte A) Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Processi. Introduzione. Effective user/group id. Fork

I Processi nel Sistema Operativo Unix

Sistemi Operativi. Il file system Casi di studio. Sistemi Operativi. Corso di laurea in Informatica. AA 2002/03 Bruschi, Rosti

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Il processo figlio : utilizza lo stesso codice che sta eseguendo il padre ;

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Introduzione ai sistemi operativi

Sistemi Operativi. Lez. 0: Introduzione ai sistemi operativi

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job.

I Processi. Il Concetto di Processo

Processi - II. Franco Maria Nardini

Struttura interna del sistema operativo Linux

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Corso di Laboratorio di Sistemi Operativi

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Introduzione. P4 termina prima di P3, P2 e P3 prima di P1 P1 P2 P3 P4 P1 P1 P2 P3 P4. Padre. P1,..., P4 sono processi. Figlio

Lezione XII: La gestione delle eccezioni in MINIX

Sistemi Operativi. Marzo-Giugno 2011 matricole congrue 0 mod 3. Controllo dei processi - I

Il software: Istruzioni per il computer

Componenti di un sistema operativo

Controllo dei Processi 1

Sistema operativo & file system 1

Laboratorio di Sistemi Operativi Marzo-Giugno 2008 matricole congrue 0 mod 3

il tipo di parallelismo dipende dal grado di cooperazione

Struttura Logica del S.O:

Capitolo 5: I thread

Il Software. Il software del PC. Il BIOS

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Il Sistema Operativo. Informatica Sistema Operativo 1

SISTEMI OPERATIVI. Struttura dei. Sistemi Operativi. Giorgio Giacinto 2015

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Il Sistema Operativo

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il modello a thread : motivazioni

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

INTRODUZIONE AI SISTEMI OPERATIVI

Sistema operativo (SO)

Corso di Laurea in Ingegneria Informatica. Laboratorio di Sistemi Operativi. II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione

Processi e thread. Concetto di processo

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Il Concetto di Processo

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

Sistemi Operativi. La gestione delle risorse

Introduzione al Multithreading

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

File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:

Sistemi operativi. Esempi di sistemi operativi

Architettura dei calcolatori e sistemi operativi. Il Nucleo del Sistema Operativo. N4 I servizi di Sistema

I sistemi operativi. Prof. Daniele Contarino

Sistemi Operativi. Descrizione e controllo dei processi

eseguire comandi dati dall'utente, utilizzando una macchina reale, di livello inferiore,

Capitolo 3: Strutture dei sistemi operativi

CAPITOLO 10 - Controllo dei Processi

ACSO Programmazione di Sistema e Concorrente

PROGRAMMA DISCIPLINARE SVOLTO a. s / 2016

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi prof. Augusto Celentano. Domande di riepilogo

Lezione 5. Processi e thread. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività:

Sistemi Operativi (modulo di Informatica II) I processi

Struttura dei Sistemi Operativi

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Opera=vi

Capitolo 3 -- Silberschatz

Transcript:

Lezione 4 I processi: implementazioni

UNIX

Creazione di un processo Assegna al processo un identificatore univoco Alloca spazio per il processo Inizializza il PCB Predisponi gli opportuni agganci con strutture dati interessate 3

Creazione di un processo Il kernel gestisce due strutture dati per ogni processo attivo La tabella del processo Sempre residente in memoria centrale La User Area Scaricata su disco quando il processo non è in memoria 4

Tabella del processo Contiene le seguenti informazioni: Parametri di scheduling Parametri per la gestione della memoria e del codice Signal Altre: PID, PID del padre, Stato 5

U-Area Contiene le seguenti informazioni: Registri macchina Descrittori dei file Accounting Stack del kernel 6

Implementazione La creazione di un processo avviene per duplicazione di un processo già esistente p_id = fork() Genera un processo identico al processo che ha eseguito la fork(), l unica differenza è che il processo padre ha un p_id > 0, il figlio ha p_id = 0 Con execv è possibile modificare i dati e il codice 7

Processi in UNIX Process creation in UNIX. 8

SYSCALL s è un codice d errore pid è l identificatore del processo residual è il tempo che intercorrerà sino al prossimo segnale 9

Esempio di Shell 10

Il comando ls 11

12

Thread in POSIX The principal POSIX thread calls. 13

Flag per un clone Linux 14

La creazione dei processi Quando il computer viene acceso un programma residente in ROM, legge il contenuto del primo blocco del disco di boot e lo esegue Questo settore (Master boot record) contiene un programma di bootstrap e una partition table Il bootstrap viene eseguito e carica dalla partizione attiva il boot 15

La creazione dei processi Il boot carica, dopo averli individuati, nelle opportune zone di memoria: il kernel e altre parti del s.o. tra cui il primo processo utente di nome init Viene avviato il kernel che avvia i vari servizi e per ultimo il processo init Il processo init verifica quanti terminali sono connessi al sistema e per ciscuno di essi esegue una fork 16

La creazione dei processi Ogni figlio esegue poi il comando /usr/bin/getty che genera la linea login: Quando l utente inserisce nome e password viene richiamato il programma /usr/bin/login che verifica la correttezza dei dati Se i dati sono corretti viene richiamato il programma /bin/sh 17

W2000

Il sistema operativo 19

Oggetti 20

Tipi di oggetto 21

Processi e Thread 22

Processi e Thread 23

Processi Un processo viene creato quando un altro processo chiama la funzione API Win 32 CreateProcess Tutti i processi sono creati uguali, anche se esiste una gerarchia implicita nel fatto che al processo chiamante viene restituito un gestore del nuovo processo 24

Thread Ogni processo viene creato con un solo thread I thread sono creati con la funzione API Win32 CreateThread In W2000 i thread sono gestiti a livello di kernel 25

Implementazione dei processi La funzione CreateProcess chiama una procedura in kernel32.dll che svolge le seguenti azioni: Esamina del file eseguibile associato (POSIX, OS/2, MS-DOS, W2000) per predisporre il corretto ambiente di esecuzione; Chiama la Syscall NtCreateProcess per la creazione delle strutture dati, terminate le operazioni la syscall restituisce il controllo a kernel32.dll 26

Implementazione dei processi Chiama la syscall NtCreateThread per la creazione del thread iniziale Passa i parametri caratteristici del nuovo processo al relativo ambiente d esecuzione (Win32, MS-Dos, OS/2, ecc.), che provvede ad aggiornare i propri valori Il processo (thread) può ora andare in esecuzione 27

Job, Process, Thread & Fiber Mgmt. API Calls 28

La creazione dei processi Quando il computer viene acceso, un programma residente in ROM legge il contenuto del primo blocco del disco di boot e lo esegue Questo settore (Master boot record) contiene un programma di bootstrap e una partition table Il bootstrap individua la partizione attiva, legge il boot sector ed esegue il programma ivi presente: il boot 29

La creazione dei processi Il boot individua il file ntldr, lo carica in memoria e lo esegue Ntldr legge il file boot.ini che elenca tutte le versioni di hal.dll e ntoskrnl.exe disponibili e altri parametri relativi al sistema hw. Ntldr quindi seleziona i file hal.dll e ntoskrnl.exe più appropriati e i driver necessari per avviare il sistema e li carica in memoria Il controllo viene passato a ntoskrnl.exe Vengono chiamate le varie componenti dell esecutivo per provvedere all inizializzazione delle aree di memoria di loro competenza 30

La creazione dei processi Viene creato il primo processo: session manager (smss.exe) che provvede ad attivare: Il sottosistema Win32 (csrss.exe) Dll Winlogon.exe 31

La creazione dei processi Winlogon.exe provvede a: Identificare l utente Attivare il processo di autenticazione (lsass.exe) Attivare il processo services.exe che attiva tutti i processi demoni per lo spazio utente, e carica tutti i driver non ancora caricati 32

Booting Windows 2000 33

Environmental Subsystems (2) File fondamentali in W2K Modalita` d esecuzione Numero di chiamate di funzione esportate Contenuto principale di ciascun file Chiamate in win32k.sys non esportate formalmente Non chiamate direttamente 34