Appunti per Scuola e Università
humanisticheUmanistiche
Appunti e tesine di tutte le materie per gli studenti delle scuole medie riguardanti le materie umanistiche: dall'italiano alla storia riguardanti le materie umanistiche: dall'italiano alla storia 
sceintificheScientifiche
Appunti, analisi, compresione per le scuole medie suddivisi per materie scientifiche, per ognuna troverai appunti, dispense, esercitazioni, tesi e riassunti in download.
tecnicheTecniche
Gli appunti, le tesine e riassunti di tecnica amministrativa, ingegneria tecnico, costruzione. Tutti gli appunti di AppuntiMania.com gratis!
Appunti
informatica
CComputerDatabaseInternetJava
Linux unixReti


AppuntiMania.com » Informatica » Appunti di linux unix » Introduzione a unix

Introduzione a unix




Visite: 1944Gradito:apreciate 4-stela [ Picolo appunti ]
Leggi anche appunti:

Generazione dei processi in unix


GENERAZIONE DEI PROCESSI IN UNIX I processi vengono creati a mezzo della

La storia di unix


La storia di UNIX Facciamo un po' di storia di UNIX, per capire perché ci

Introduzione a unix


INTRODUZIONE A UNIX Presentiamo di seguito alcune brevi nozioni sull'utilizzo
immagine di categoria

Scarica gratis Introduzione a unix

INTRODUZIONE A UNIX


Presentiamo di seguito alcune brevi nozioni sull'utilizzo del noto SO UNIX. Ne approfitteremo per ricordare anche alcuni fondamentali concetti relativi ai SO o per introdurne di nuovi.


È opportuno dire subito che quando si è in linea su di una macchina UNIX, si può sempre accedere ad un help in linea tramite il comando MAN seguito dal nome del comando del quale si desiderano spiegazioni (come peraltro accade in DOS e WINDOWS).


Veniamo ai principali comandi per la gestione delle directory. Il carattere separatore delle directory è '/'.

MKDIR serve a creare una nuova directory. CDIR cambia directory. LS 'cataloga' la directory nella quale ci si trova, ossia mostra l'elenco dei file ivi contenuti (come la dir del DOS).


UNIX è un SO multiutente. Inoltre, è possibile organizzare gli utenti in GRUPPI DI UTENZA. La multiutenza ha reso necessario l'inclusione di meccanismi per la protezione dei file. È possibile associare ad ogni file degli specifici permessi di accesso. Essi vengono modificati mediante l'istruzione CHMOD seguita da una serie di numeri, che indicano il proprietario del file, il gruppo di utenza di cui egli fa parte e il mondo esterno. I 'permessi' riguardano la scrittura, la lettura e l'esecuzione dei files.


Le principali funzionalità esterne che un SO offre sono le seguenti :


GESTIONE DEI PROCESSI: creazione, terminazione, sincronizzazione e scambio di messaggi tra processi;

GESTIONE DELLA MEMORIA CENTRALE: allocazione della stessa ai vari processi presenti nel sistema, che, indipendentemente dal proprio stato, necessitano di aree private di memoria;

GESTIONE DELLA MEMORIA AUSILIARIA: i processi hanno sovente bisogno di scambiare informazioni con le memoria di massa, in particolare i dischi;

GESTIONE FILES: creazione, eliminazione e gestione di file e directory;

INTERPRETAZIONE DEI COMANDI: la cosiddetta shell del SO.


Veniamo ora il caso particolare di UNIX. Lo schema a seguire mostra la strutturazione delle sue varie componenti.


UTENTI


SHELL E COMANDI

COMPILATORI E INTERPRETI


interfaccia tra livello esterno e KERNEL: il suo attraversamento può avvenire solo attraverso SYSTEM CALL


FILE SYSTEM


SCHEDULAZIONE CPU (gestione dei processi)

KERNEL

GESTIONE DELLA MEMORIA


DRIVER (di terminali, nastri, etc.)


interfaccia tra KERNEL e HARDWARE


HARDWARE


CONTROLLORI DI          CONTROLLORI DI CONTROLLORE DI

TERMINALI                                 NASTRI & DISCHI MEMORIA


TERMINALI   NASTRI, DISCHI MEMORIA


Le SYSTEM CALL possono essere classificate in tre categorie.


1) manipolazione dei files (in questo ambito ricadono anche quei dispositivi che vengono visti dal SO come files speciali);

2) controllo dei processi (incluse le loro intercomunicazioni);

3) manipolazioni di informazioni (ad esempio, le chiamate di sistema con le quali si chiede qual è la data o l'ora corrente, quanti utenti sono collegati, etc.).


Com'è noto, la parte che riguarda peculiarmente questo corso è quella della GESTIONE DEI PROCESSI. Consideriamo, per cominciare, una visione astratta (cioè, non legata ad un contesto particolare) dell'IMMAGINE DI UN PROCESSO IN MEMORIA. Anche in questo caso faremo ricorso ad uno schema.



TESTO Le istruzioni del programma.


DATI Rappresenta tutte le informazioni che sono utilizzate dal processo durante il

proprio ciclo di vita (dati globali e locali)

HEAP


Quest'area serve per l'allocazione dinamica della memoria, le variabili locali

(temporanee) e per i record di attivazione delle procedure richiamate



STACK


USER Quest'area è accessibile solo al KERNEL e contiene informazioni

BLOCK che concernono la gestione del processo.




Alla creazione di un processo corrisponde la creazione del suo descrittore. Esso consiste in una struttura dati che contiene tutte le informazioni fondamentali per la gestione del processo: il suo identificatore, il riferimento al padre, i puntatori all'area dati e all'area testo, quali sono i files che esso utilizza, etc.. In UNIX gli identificatori dei vari processi sono raccolti in una apposita tabella dei processi o PROCESS STRUCTURE[1] che contiene i seguenti identificatori:


PID = Process IDentifier

PPID = Parent Process IDentifier

PGID = Process Group IDentifier

UID e GID = identificatori dell'utente che ha lanciato il processo, usati per il

controllo dei permessi

DIRECTORY CORRENTE

PRIORITÀ (per lo scheduling dei processi)

TERMINALE da cui è stato lanciato





In UNIX  il PID è un numero intero positivo che viene automaticamente associato al processo nel momento della sua creazione. La creazione di un processo avviene sempre da parte di un altro processo, che viene indicato come processo PADRE. Il PPID conservato nel descrittore ha lo scopo di identificarlo univocamente.

Quanto al PGID, esso si deve alla possibilità offerta da UNIX di dichiarare processi appartenenti ad uno stesso gruppo. Ad esempio, è conveniente raggruppare più processi che devono lavorare su uno stesso determinato file: uno che deve leggerlo, uno che lo elabora, uno che lo riscrive etc..


I comandi possono essere seguiti da opzioni, premettendo a queste ultime un trattino (-). Ad esempio, il comando % PS  - AUX (il segno di percentuale non è altro che un prompt, cioè un simbolo usato dal SO per comunicare che si trova in attesa di comandi) permette di visualizzare tutte le informazioni relative ai processi di un determinato utente .


In LINUX c'è il comando TRACE che, dato un particolare processo, permette di seguire 'dal vivo' la catena di system call che il processo richiede:

% TRACE  - P pid





Sembra di capire (anche dal seguito) che il descrittore, l'insieme delle informazioni relative ad un certo processo, sia un sottoinsieme della process structure, relativa all'insieme di tutti i processi, come una singola riga è sottoinsieme di una tabella.  Dal Silberschatz-Galvin risulta però che 'process structure' è sinonimo di 'descrittore' (pag.579), o sbaglio?


Riporto testualmente ciò che segue subito dopo negli appunti dalle lezioni di De Carlini, il cui significate non sono riuscito a capire:

"Digitando questo comando (con eventuali opzioni) si ha a video l'elenco di tutti i propri processi con altre informazioni come :

USER        PID %CPU %MEM SIZE RSS

text

data

stack "


Scarica gratis Introduzione a unix
Appunti su:



Scarica 100% gratis e , tesine, riassunti



Registrati ora

Password dimenticata?
  • Appunti superiori
  • In questa sezione troverai sunti esame, dispense, appunti universitari, esercitazioni e tesi, suddivisi per le principali facoltà.
  • Università
  • Appunti, dispense, esercitazioni, riassunti direttamente dalla tua aula Universitaria
  • all'Informatica
  • Introduzione all'Informatica, Information and Comunication Tecnology, componenti del computer, software, hardware ...