Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.

Slides:



Advertisements
Presentazioni simili
Memoria Virtuale in Linux
Advertisements

Puntatori Linguaggio C.
Programmazione Sicura
File System Cos’è un File System File e Directory
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
Gestione della Memoria
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
DLL: Dynamic Linking Library
1 System Call per Comunicazione tra Processi Pipe.
Mappare file in memoria
Gestione della memoria
Realizzazione del file system
Concetti di base: header file, funzione main(),set caratteri C++, token, operatori, espressioni etc. Flusso di controllo, cicli, costrutti.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
File.
Allocazione dinamica della memoria
Laboratorio di Linguaggi P R I M O C O M P I T I N O Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Windows 2000 supporta i seguenti file system:
Threads: Sistemi Operativi I Corso di Laurea in Ingegneria Informatica
Sistemi operativi II Esercizi d'esame
Sistema Operativo e Compilatore
Struttura dei sistemi operativi (panoramica)
I Thread.
Security Enhanced Linux (Selinux) A cura di : De Pascale Filippo 1.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
nome: sequenza di caratteri usata per denotare un oggetto
memoria gestita staticamente:
TCP_Wrapper Le richieste per un determinato servizio (ad. es. telnet, ftp, rsh, etc.) vengono soddisfatte soltanto se lindirizzo IP del richiedente rientra.
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
1 File System ed Input/Output UNIX Implementazione del File System Caratteristiche del File System Unix/Linux System Call relative al File System Linput/output.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
AN FI Array Array in Java. AN FI Array Dichiarazione di array in Java [ ]; //oppure u [] ; int a[]; int[] a; u La dimensione non è specificata.
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Java Contardi Carlo A.S. 2008/09.
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,
Unità Didattica 3 Linguaggio C
C. Gaibisso Programmazione di Calcolatori Lezione XVI Allocazione dinamica della memoria Programmazione di Calcolatori: allocazione dinamica della memoria.
Threads.
I processi.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
Gestione del processore (Scheduler)
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
1 Amministrazione dei processi nel sistema operativo Unix (Bach: the Design of the Unix Operating System (cap: 6, 7, 8)
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
1 File System ed Input/Output UNIX Caratteristiche del FS Unix Implementazione Il file system di Linux Organizzazione dell’ I/O.
Architettura di un calcolatore e linguaggio macchina.
Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Terza lezione 19/5/2007.
1 Gestione della Memoria Capitolo Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di.
Gestione della Memoria
1 Cenni di gestione della memoria Unix-Linux. 2 Organizzazione della Memoria Spazio logico dei processi A e B e memoria fisica Condivisione dell’area.
PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 28 Gennaio 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Esercizi.
1 Laboratorio di Programmazione di Sistema - C Susanna Pelagatti Ricevimento: Me ,
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Transcript della presentazione:

Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi che utilizzano lo stesso codice Data = variabili inizializzate BSS = variabili non inizializzate Process A Process B

Condivisione di File Two processes can share a mapped file. Un file mappato simultaneamente in due processi: accesso più veloce, utilizzato nelle librerie condivise

System Call per la Gestione della Memoria Non sono standard, al loro posto è usata una chiamata di libreria di più alto livello del C: malloc

Utilizzo malloc Alloca una serie di byte in memoria. Ha un utilizzo simile alla new di Java per dichiarare array dinamici: Esempio di allocazione di un vettore di 10 interi. int * vett; vett = (int *) malloc (10 * sizeof (int)); sizeof (int) = byte occupati da un intero. int * = puntatore ad interi (alla prima cella dellarea di memoria degli interi)

Gest. memoria nei processi Windows Layout di spazi di indirizzamento logici per 3 processi Le aree bianche sono private Le aree scure sono condivise

Gest. memoria nei processi Windows Aree mappate con le rispettive pagine su disco Il file lib.dll è mappato in due spazi di indirizzamento contemporaneamente

Gestione della sicurezza (Linux/Windows) Gestione della sicurezza in Linux Gestione della sicurezza in Windows 2000 Buchi nella sicurezza (allinterno del sistema). Attacchi dallesterno

Sicurezza in Linux Ogni file ha permessi di lettura, scrittura ed esecuzione. Ogni file ha un owner (proprietario) con un proprio UID (Identificativo utente) e GID (Identificativo gruppo). Lutente con UID 0 è detto root è può effettuare qualsiasi operazione sui file.

System Calls per la protezione dei file s è un codice di errore. uid e gid sono user ID e il group ID. Le ultime tre chiamate sono eseguibili solo dal root

Id effettivo e reale Problema: un programma deve accedere a risorse possedute dal root. Soluzione: settare il bit SETUID. Se tale bit è settato chi esegue il programma acquista, solo per lesecuzione, i diritti del proprietario del programma (il suo id effettivo diventa quello del proprietario). chmod a+s pippo (setta per il file pippo il bit SETUID per tutti). Attenzione: il programma non deve contenere buchi di sicurezza.

Sicurezza in Windows 2000 Ogni processo in Windows possiede un Access Token SID=Security ID (ogni utente ha il suo). DACL = Discretionary Access Control List Restricted SIDs sono utenti che hanno permessi limitati sul file. Privilegi: alcuni privilegi speciali (anche di superuser possono essere dati al processo). Un thread può passare la sua access token ad un altro (impersonificazione). Struttura di un access token

Security Descriptor Ogni oggetto possiede un security decriptor SACL=System Access Control List (Log) ACE=Access Control Element

API per la Sicurezza

Buchi nella sicurezza Cavalli di troia Login spoofing Porte segrete Bombe logiche Buffer overflow

Buffer Overflow (a) Il main è chiamato (b) Il metodo A è chiamato (c) Buffer overflow è mostrato in grigio