PROCESSOR AND O.S. MAIN FEATURES. A generic computer system architecture. G. Piscitelli Politecnico di Bari 1 of 23

Documenti analoghi
PROCESSOR AND O.S. MAIN FEATURES. A generic computer system architecture. G. Piscitelli Politecnico di Bari 1 of 22

Struttura dei Sistemi di Calcolo

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

THE O.S. INTERFACE. G. Piscitelli Politecnico di Bari 1 of 56

Schemi di paginazione nell architettura 86 (32 e 64 bit)

Architettura di un sistema di calcolo

Capitolo2: Architettura del calcolatore

STRUTTURE DEI SISTEMI DI CALCOLO

I/O DEVICES. A Typical PC Bus Structure. G. Piscitelli Politecnico di Bari 1 of 11

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

Lezione XII: La gestione delle eccezioni in MINIX

Capitolo 2: Strutture dei sistemi di calcolo

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Sommario. G. Piscitelli

Macchina di von Neumann/Turing

Sommario. G. Piscitelli

Il sistema delle interruzioni nel processore MC68000 (cenni)

Hardware di un Computer

SRT064 BTH SRT051 BTH SRT052 BTH

Question 1: introduction to computer programming

Interruzioni o eccezioni? 1

Dove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems

7 May INTERRUPT ED ECCEZIONI I. Frosio

Copyright 2012 Binary System srl Piacenza ITALIA Via Coppalati, 6 P.IVA info@binarysystem.eu

Enel App Store - Installation Manual - Mobile

REGISTRATION GUIDE TO RESHELL SOFTWARE

Uniprocessor Scheduling

Le virtual machine e la memoria virtuale

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Input/output. Sistemi Operativi Lez. 32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

Microcontrollori 12/03/2014. Progettazione Sistemi Elettronici 2013/2014 1

Mod INTERFACCIA USB/KEY USB/KEY INTERFACE. Sch./Ref.1067/003

O.S. ARCHITECTURE. monolitica, quando esso è composto da un unico modulo che serve le richieste dei programmi-utente una alla volta;

Introduzione agli interrupt

Strutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register

Le virtual machine e la memoria virtuale

Architettura di una CPU

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Maps. a.k.a, associative array, map, or dictionary

Sistemi Operativi Anno Acc. 2013/14 matricole congr. 1 mod 3!

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS

introduzione al corso di sistemi operativi a.a maurizio pizzonia

Architettura degli Elaboratori - 1

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai?

Two-rate three-color marker (trtcm)

Università degli Studi di Cassino

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Sistemi Operativi. Lezione 3 Processi e Thread

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

Modi di esecuzione user / kernel

Capitolo 6 - Array. Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.

REGISTRATION. Area Ricerca

Componenti principali

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues

DICHIARAZIONE DI RESPONSABILITÀ

SISTEMA DI ILLUMINAZIONE PER VERRICELLI WINDLASS LIGHTING SYSTEM

Sommario. Esempio di Modellazione mediante DASM: Grid OGSA. Grid secondo OGSA. Definizione Grid per OGSA. Stati di un Job e Requisiti DASM

IL MULTIPROCESSING. Tendenza attuale: distribuire il calcolo tra più processori.

Indice lezione: repeat. until CPU halt. Richiami e notazioni:

Introduzione ai Sistemi Operativi

Capitolo 5 - Funzioni

Downloading and Installing Software Socio TIS

Indice lezione: Pagina 2

Hard Disk Drive Duplicator Dock USB 3.0 to SATA HDD Duplicator

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

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

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

20x SSC Solution. For use in in situ hybridization procedures. For Research Use Only. Not for use in diagnostic procedures.

CPUSim. Laboratorio 30/11/2016

Testi del Syllabus. Docente BERTOZZI MASSIMO Matricola:

ENGINE COMPONENT DESIGN Cap. 7 AIAA AIRCRAFT ENGINE DESIGN R03-23/10/2013

Pseudo-operatori. Lo pseudo-operatore ORG

Università degli Studi di Cassino e del Lazio Meridionale

Il sistema di I/O. Sistemi Operativi 13.1

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I)

Architettura a bus singolo

Architettura a bus singolo

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

User Guide Guglielmo SmartClient

Light intensity regulator for Aim LED. Regolatore d intensità luminosa per Aim LED

La memoria cache. Lab di Calcolatori

Sistemi Operativi I & II. Argomenti del corso. Il Laboratorio di Sistemi Operativi. Questa lezione. Matteo Vaccari <vaccari@pobox.

INFORMATICA GENERALE

Esempio con Google Play tore Example with Google Play tore

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

19 touchscreen display

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

UNIVERSITÀ DEGLI STUDI DI TORINO

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Write Event 10 in Metrology Event Log

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

AVVISO n Giugno Mittente del comunicato : BORSA ITALIANA. Societa' oggetto dell'avviso

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

CABIN CREW TRAINING COMMUNICATION

Parte VI. Istruzioni ed indirizzamento

Transcript:

A generic computer system architecture G. Piscitelli Politecnico di Bari 1 of 23

A generic computer system operation The initial program (bootstrap program) stored in the ROM initializes the system (registers, controllers, memory). Then localizes, locates and loads into memory the kernel, starting the first process (initiator) and waiting for some event to occurr. An event is usually signaled by an interrupt from either the hardware or the software. The O.S. is interrupt driven. Hardware may trigger an interrupt by sending a signal to the CPU. Software may trigger an interrupt by executing a supervisor call (SVC). G. Piscitelli Politecnico di Bari 2 of 23

HARDWARE PROTECTION Dual-Mode Operation Sharing system resources requires operating system to ensure that an incorrect program cannot cause other programs to execute incorrectly. Provide hardware support to differentiate between at least two modes of operations. 1. User mode execution done on behalf of a user. 2. Monitor mode (also kernel mode or system mode) execution done on behalf of operating system. Mode bit added to computer hardware to show the current mode: monitor (0) or user (1). When an interrupt or fault occurs hardware switches to monitor mode. Privileged instructions can be issued only in monitor mode. G. Piscitelli Politecnico di Bari 3 of 23

HARDWARE PROTECTION I/O Protection All I/O instructions are privileged instructions. Must ensure that a user program could never gain control of the computer in monitor mode (i.e., a user program that, as part of its execution, stores a new address in the interrupt vector). G. Piscitelli Politecnico di Bari 4 of 23

Tipi di interruzioni Interruzione interna (o trap): è quella generata dal software ed è causata da un errore (divisione per zero, indirizzo errato di memoria) o dalla richiesta di un servizio del S.O. Ha carattere sincrono, in quanto il processo che lancia la trap va nello stato di wait provocando l'avvio di un segmento di codice del nucleo del sistema operativo (Supervisor Call o SVC). Interruzione esterna (o interrupt): ha carattere asincrono, in quanto al verificarsi di un evento, la sua occorrenza è segnalata alla CPU tramite un segnale in ragione del quale viene provocato l avvio di un segmento di codice del nucleo del sistema operativo. Ogni processore ha una propria architettura di SVC ed interrupt, anche se le diverse architetture hanno molte caratteristiche in comune. G. Piscitelli Politecnico di Bari 5 of 23

SVC operation System calls provide the interface between a running program and the operating system. Generally available as assembly-language instructions. Languages defined to replace assembly language for systems programming allow system calls to be made directly (e.g., C, C++) Three general methods are used to pass parameters between a running program and the operating system. Pass parameters in registers. Store the parameters in a table in memory, and the table address is passed as a parameter in a register. Push (store) the parameters onto the stack by the program, and pop off the stack by operating system. G. Piscitelli Politecnico di Bari 6 of 23

Interrupt operation Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines. Interrupt architecture must save the address of the interrupted instruction. Incoming interrupts are disabled (interrupt masking) while another interrupt is being processed to prevent a lost interrupt. G. Piscitelli Politecnico di Bari 7 of 23

Gestione di un interrupt Ogni processore ha un proprio meccanismo di gestione degli interrupt. Quando avviene un interruzione il sistema operativo preserva lo stato della CPU. Il meccanismo più semplice prevede che quando la CPU viene interrotta, si completi l istruzione corrente, si salvi il contesto computazionale corrente (registri e program counter) in una locazione di memoria (fissa o indicizzata in base al dispositivo da cui è pervenuto l interrupt) e si passi ad eseguire l interrupt handler, che si trova ad un indirizzo prefissato di memoria e che, in base al codice dell interrupt, trasferisce l esecuzione all indirizzo specificato nell interrupt vector, che occupa le prime posizioni di memoria e che è costituito da tanti indirizzi quanti sono gli interrupt previsti dal processore. Ogni indirizzo rimanda al segmento di codice che serve quel particolare interrupt. Per rendere più rapide le operazioni, negli attuali meccanismi di gestione degli interrupt viene usato direttamente il vettore delle interruzioni, senza interrupt handler. Al termine dell esecuzione del segmento di codice indirizzato dall interrupt vector, si ripristina il contesto computazionale e la CPU riprende l esecuzione interrotta. Nelle architetture più recenti il contesto computazionale viene salvato sullo stack del sistema. Una SVC viene servita facendo anche essa riferimento al vettore delle interruzioni. G. Piscitelli Politecnico di Bari 8 of 23

OPERAZIONI DEI SISTEMI DI CALCOLO I dispositivi di I/O e la CPU possono funzionare concorrentemente Ogni controller di dispositivo gestisce un particolare tipo di dispositivo. Ogni controller ha un buffer locale La CPU muove dati da/per la memoria principale per/da i buffer locali dei controller l I/O avviene tra il dispositivo e il buffer locale del controller Il controller informa la CPU al termine della sua operazione, generando un interrupt. G. Piscitelli Politecnico di Bari 9 of 23

Servicing an I/O operation To start an I/O operation the CPU loads the appropriate registers into the device controller. The device controller examines the content of the registers to determin the action to take and starts the requested transfer of data. The I/O operation may be accomplished in two different ways: Synchronous or asynchronous I/O. Once the transfer is completed, the controller sends an interrupt to the CPU to signal it has finished the requested operation. G. Piscitelli Politecnico di Bari 10 of 23

Invocazione del sistema operativo Dato che le istruzioni di I/O sono privilegiate, come può il programma utente eseguire dell I/O? Attraverso le system call, il metodo con cui un processo richiede un azione da parte del sistema operativo: Solitamente sono un interrupt software (trap) Il controllo passa attraverso il vettore di interrupt alla routine di servizio della trap nel sistema operativo, e il mode bit viene impostato a monitor. Il sistema operativo verifica che i parametri siano legali e corretti, esegue la richiesta, e ritorna il controllo all istruzione che segue la system call. con l istruzione di ritorno, il mode bit viene impostato a user G. Piscitelli Politecnico di Bari 11 of 23

Synchronous and asynchronous I/O (a) Synchronous method After I/O starts, control returns to user program only upon I/O completion. A special wait instruction idles the CPU until the next interrupt or a tight wait loop (busy wait) continues until an interrupt occurs, transferring control to another part of the O.S. (contention for memory access). At most one I/O request is outstanding at a time, no simultaneous I/O processing. (b) Asynchronous method After I/O starts, control returns to user program without waiting for I/O completion. A system call is requested to allow user to wait for I/O completion. If no user or O.S. process needs for CPU, a wait instruction or wait loop is requested G. Piscitelli Politecnico di Bari 12 of 23

Synchronous and asynchronous I/O G. Piscitelli Politecnico di Bari 13 of 23

Device Status Table To override the problem of the wait instruction or of the tight loop, and to be able to keep track of many I/O requests at the same time, the O.S. uses a table, the Device Status table, containing an entry for each I/O device. The O.S. indexes into I/O device table to determine device status and to modify table entry to include interrupt. Device-status table contains entry for each I/O device indicating its type, address, and state. G. Piscitelli Politecnico di Bari 14 of 23

Direct Memory Access (DMA) Used for high-speed I/O devices, to avoid programmed I/O for large data movement. Able to transmit information at close to memory speeds. Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention. Only one interrupt is generated per block, rather than the one interrupt per byte. G. Piscitelli Politecnico di Bari 15 of 23

MEMORY TYPES Main memory only large storage media that the CPU can access directly. Secondary storage extension of main memory that provides large nonvolatile storage capacity. Most common secondary storage: Magnetic disks made from rigid metal or glass platters covered with ironmagnetic recording material Disk surface is logically divided into tracks, which are subdivided into sectors. The disk controller determines the logical interaction between the device and the computer. G. Piscitelli Politecnico di Bari 16 of 23

STORAGE DEVICE HIERARCHY I sistemi di memorizzazione sono organizzati gerarchicamente, secondo velocità, costo e volatilità. G. Piscitelli Politecnico di Bari 17 of 23

STORAGE DEVICE HIERARCHY G. Piscitelli Politecnico di Bari 18 of 23

CACHE MEMORY Use of high-speed memory to hold recently-accessed data. Requires a cache management policy. Caching introduces another level in storage hierarchy. This requires data that is simultaneously stored in more than one level to be consistent. Una cache memory serve a duplicare i dati più frequentemente usati di una memoria, in una memoria più veloce. La memoria principale può essere vista come una cache per la memoria secondaria. G. Piscitelli Politecnico di Bari 19 of 23

HARDWARE PROTECTION Memory Protection Must provide memory protection at least for the interrupt vector and the interrupt service routines. In order to have memory protection, add two registers that determine the range of legal addresses a program may access: Base register holds the smallest legal physical memory address. Limit register contains the size of the range Memory outside the defined range is protected. G. Piscitelli Politecnico di Bari 20 of 23

HARDWARE PROTECTION Memory Protection Even if 2 programs share the same program addresses but use 2 different data addresses G. Piscitelli Politecnico di Bari 21 of 23

HARDWARE PROTECTION Memory Protection Essendo eseguito in modo monitor, il sistema operativo ha libero accesso a tutta la memoria, sia di sistema sia utente Le istruzioni di caricamento dei registri base e limite sono privilegiate G. Piscitelli Politecnico di Bari 22 of 23

HARDWARE PROTECTION CPU Protection Timer interrupts computer after specified period to ensure operating system maintains control. Timer is decremented every clock tick (1/50 of second, commonly). When timer reaches the value 0, an interrupt occurs. Timer commonly used to implement time sharing. Time also used to compute the current time. Load-timer is a privileged instruction. G. Piscitelli Politecnico di Bari 23 of 23