I PROCESSI.

Slides:



Advertisements
Presentazioni simili
Sistemi Operativi - Shell 1 Il sistema operativo LINUX La shell Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica.
Advertisements

Sistemi Operativi - Introduzione 1 Informazioni utili Per avere una distribuzione linux sul proprio pc: 1.
Sistemi Operativi - Introduzione 1 Gestione dei processi comando1 comando2 Last-login: … > … > comando1 output comando1 > comando2 output comando2 Esecuzione.
Shell dei comandi – ! Bash &/o Tcsh !
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Il nucleo del Sistema Operativo
1 Processi e Thread Processi e thread in Windows 2000.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Hardware e Software Hardware costituito dai componenti materiali, tangibili del computer: tastiera, video, mouse, scheda madre, scheda video, stampante,
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
LTSP (Linux Terminal Server Project) GNU/Linux ed Workshop di Enrico Teotti powered with Gentoo Linux Linux Day LUG Mantova.
1 14 marzo 2006 sommaruga andrea Fondazione Ordine Ingegneri di Milano VPN: Reti Private Virtuali VPN: RETI PRIVATE VIRTUALI LE POSSIBILITA' DI ACCESSO.
Introduzione a GNU/Linux. GNU/Linux Caratteristiche Compatibile con UNIX ® Multitasking Multiutente Libero.
1 Amministrazione di base del sistema Cristina Moretto Corso Base LinuxTrent
Lezione 11 Architetture dei VI Obiettivi di apprendimento: A.Tecniche di gestione degli errori B.Architetture dei VIs E.VI templates.
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
Basi di dati - Fondamenti
A cura dell’Ing. Buttolo Marco
Summary di (quasi) tutti gli utenti non presentati…
dCache Test effettuati al CNAF
Il Sistema Operativo Gestione dei Processi
I/O redirection AND PIPES
I Circuiti Sequenziali ed i Flip/Flop
Cosa succede quando premi invio
Il Sistema Operativo Ripasso
Applicazione web basata su web service e web socket
Dati in rete Appunti.
PROGRAMMAZIONE SHELL -
Terza Lezione → Navigare nel file System → parte 2
Microcontrollori e microprocessori
PROGRAMMAZIONE BASH - INTRODUZIONE
Sicurezza dati: Backup
I PERMESSI IN LINUX.
SISTEMA OPERATIVO - INTERPRETE DEI COMANDI -
INTRODUZIONE ALLA SHELL
I comandi.
“VIRTUAL BOX E CONDIVISIONE FILE”
I FILES AD ACCESSO SEQUENZIALE
ai termini e ai principi informatici utili per utilizzare Linux
LA GESTIONE DEI PACCHETTI
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
2018/9/ /9/11 USER ENVIRONMENT 1 1.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Operazioni pianificate
Ardis e il sistema qualità
La riorganizzazione dei processi sulla normativa Antiriciclaggio.
1.
Database
Italsoft srl Guida allo Sportello Italsoft srl
Il Sistema Operativo.
Progetto di Tecnologie Web 2014/2015 THERMOWEB
Processi e Thread Meccanismi di IPC (1).
Sistemi Operativi.
Rinnovi Firma Digitale «Clienti Aruba PEC» Firma Digitale ed ArubaKey
Realizziamo un fumetto
Scheduling in Linux (Kernel 2.4 e 2.6)
Introduzione alla nuova versione di PowerPoint
Processi e thread in Windows 2000
BLOGGALO.
LINUX: struttura generale
Italsoft srl Guida allo Sportello Italsoft srl
La struttura dei primi programma in C
SAGE – Un sistema per l’accounting dello storage in gLite
Scheduling (Schedulazione)
COMMERCIO SU AREE PUBBLICHE NUOVA GESTIONE
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
il povero manuale di sistema per sperimentare reti di computer
CLOUD.
Transcript della presentazione:

I PROCESSI

Cosa sono i processi I sistemi operativi attuali sono MULTITASKING, ovvero sembra che facciano più operazioni nello stesso momento, ma in realtà si spostano velocemente da un programma all'altro per il tempo che la Cpu decide di assegnare ad un'applicazione (timesharing) Linux organizza in processi quei programmi che aspettano a turno la Cpu All'avvio del computer vengono eseguiti degli init scripts, che caricano i processi principali del sistema operativo Alcuni possono essere daemons, ovvero agiscono in background senza avere un'interfaccia grafica

I processi sono organizzati in PID Un processo può lanciare un altro processo, ovvero il processo che lo fa è parent, il processo che viene eseguito è child. I processi vengono organizzati in PID Il kernel tiene traccia dell'utente del processo, della memoria occupata da esso, come per i normali file, della posizione in memoria del processo per ripristinarlo successivamente, ecc...

Il comando ps Comando ps PID TTY TIME CMD 11391 pts/3 00:00:00 bash 11459 pts/3 00:00:00 ps Comando ps x (tutti i processi della sessione utente corrente, per tutti i terminali) In questo caso nella seconda riga è indicato ?, poiché sono processi dell'interfaccia grafica e non eseguiti da terminale 4403 ? Sl 0:17 /usr/lib/i386-linux- gnu/xfce4/panel/wrapper-2.0 /usr/lib/i386-linux- gnu/xfce4/panel/plugins/lib 4413 ? Sl 0:00 /usr/lib/i386-linux- gnu/xfce4/panel/wrapper-1.0 /usr/lib/i386-linux- gnu/xfce4/panel/plugins/lib 4438 ? Sl 0:01 /usr/lib/i386-linux-gnu/xfce4/panel- plugins/xfce4-verve-plugin 52 20971579 xfce4-verve-plugin 4656 ? S 0:00 init --user --startup-event indicator- services-start 4663 ? Sl 0:00 /usr/lib/i386-linux-gnu/indicator- keyboard-service --use-gtk

Gli stati dei processi R → processo in esecuzione S → il processo non è in esecuzione e sta aspettando di entrare in esecuzione, per esempio se l'utente ne fa richiesta D → sta aspettando di ricevere i dati dalla memoria secondaria T → fermato Z → processo figlio che non è stato cancellato quando il padre ha terminato l'esecuzione < → un processo ad alta priorità N → un processo a bassa priorità

ps aux USER User ID. Il proprietario del processo %CPU Percentuale di utilizzo della CPU %MEM Memoria usata in percentuale VSZ Dimensione della memoria virtuale RSS Resident Set Size. L'ammontare di memoria fisica (RAM) che il processo utilizza START Data e ora di quando è iniziato il processo

Comando top Visione in tempo reale dei processi che occupano maggiormente memoria, ordinati in ordine decrescente di occupazione di memoria Alcune informazioni di top (che è come il task manager di windows a linea di comando) Data e ora attuale Up time: in ore da quando è stato acceso il computer Gli utenti collegati Carico medio: i processi che sono in stato runnable e attendono di essere eseguiti dalla CPU

Comando top → continua Numero di processi nei vari stati %us % di CPU utilizza per i processi degli utenti %sy % utilizzata dal kernel 98.3%id % di CPU non utilizzata %wa % di processi che s%wa % di processi che sono in attesa di I/Oono in attesa di I/O Mem → memoria fisica utilizzata Swap → memoria virtuale utilizzata

Gestire i processi Avviare un processo da terminale Avviamo per esempio gedit, un editor di testo Da terminale scriviamo, semplicemente, gedit Possiamo chiudere il processo usando la combinazione di tasti CTRL+C Possiamo avviare anche un processo in background in questo modo Nomeprogramma & Viene aperto il programma, viene mostrato il numero del job (numerazione all'interno di quelli aperti dalla shell corrente) e di seguito il suo PID all'interno di tutti i processi del sistema Vediamo tutti i job eseguiti dal terminale corrente usando il comando jobs

Gestire i processi → continua Possiamo far ritornare in foreground un programma in background, tramite questo comando fg %numerojob Il programma ritorna in foreground ed è possibile terminare tramite CTRL+C Possiamo a volte fermare un programma senza terminarlo Si usa CTRL+Z Il programma può essere anche in questo caso rimesso in foreground tramite fg e in background tramite bg

Terminare un processo → kill Il comando kill segnala al programma che il processo deve essere terminato e pertanto se un programma è ben gestito, salverà i dati non salvati che potrebbero essere persi Senza specificare nulla, il programma viene terminato (la stessa cosa di CTRL+C) Si usa il comando kill seguito dal PID del processo o dal numero del job Si può specificare anche l'operazione che deve essere effettuata sul processo (v. pagina successiva)

Il comando kill INT → come fare CTRL+C, che termina il programma TERM → Il programma viene terminato STOP → il programma è interrotto, ma può essere ripreso CONT → per riprendere un programma stoppato ESEMPIO kill -INT pid_processo Si possono vedere tutti i segnali che possono essere inviati ai processi tramite il comando kill, tramite kill -l

Killall terminare più processi killall nomeprogramma Se abbiamo più processi dello stesso programma possiamo terminare tutti in una volta con questo comando