Classificazione Software applicativo Programmi di sistema Sistemi di utensili. Presentazione del software di sistema Scarica la presentazione sullo schema del software di sistema

Software (software, software) - un insieme di programmi eseguiti da un sistema informatico. Il software è parte integrante sistema informatico. È una continuazione logica mezzi tecnici. L'ambito di un particolare computer è determinato dal software creato per esso. Il computer stesso non ha conoscenza in nessuna area di applicazione. Tutta questa conoscenza è concentrata nei programmi in esecuzione sui computer. Software (software, software) - un insieme di programmi eseguiti da un sistema informatico. Il software è parte integrante di un sistema informatico. È una logica continuazione dei mezzi tecnici. L'ambito di un particolare computer è determinato dal software creato per esso. Il computer stesso non ha conoscenza in nessuna area di applicazione. Tutta questa conoscenza è concentrata nei programmi in esecuzione sui computer.


Tutti i programmi in esecuzione su un computer possono essere suddivisi in tre tipi: programmi applicativi che assicurano direttamente l'esecuzione del lavoro necessario per gli utenti; programmi applicativi programmi di sistema progettati per controllare il funzionamento di un sistema informatico, eseguire varie funzioni ausiliarie, ad esempio: programmi di sistema gestione delle risorse del computer; creazione di copie delle informazioni utilizzate; controllare lo stato di salute dei dispositivi informatici; rilascio di informazioni di riferimento sul computer, ecc.; sistemi software strumentali che facilitano il processo di creazione di nuovi programmi per il computer. sistemi software strumentali




Un programma applicativo è qualsiasi programma specifico che contribuisce alla soluzione di un problema all'interno di una determinata area problematica. Al contrario, il sistema operativo o il tool software non contribuiscono direttamente a soddisfare le esigenze finali dell'utente. I programmi applicativi possono essere utilizzati in modo autonomo, ovvero per risolvere l'attività senza l'ausilio di altri programmi, o come parte di sistemi o pacchetti software.




Gli editor di documenti sono il tipo di software applicativo più utilizzato. Ti consentono di preparare documenti molto più velocemente e in modo più conveniente rispetto a una macchina da scrivere. Gli editor di testo possono fornire una varietà di funzioni, vale a dire: Processori di fogli di calcolo I processori di fogli di calcolo sono uno strumento utile per calcoli contabili e statistici. Ogni pacchetto ha centinaia di built-in funzioni matematiche e algoritmi per l'elaborazione di dati statistici. Inoltre, esistono potenti strumenti per collegare le tabelle tra loro, creare e modificare database elettronici. Sistemi progettazione assistita da computer(CAD) o CAD (Computer-Aided Design) è un pacchetto software progettato per creare disegni, documentazione progettuale e/o tecnologica e/o modelli 3D. Tra i sistemi di piccola e media classe nel mondo il sistema più diffuso è AutoCad di AutoDesk. Pacchetto domestico con funzioni simili - Bussola


Gli editor grafici consentono di creare e modificare i disegni. Gli editor più semplici offrono la possibilità di disegnare linee, curve, colorare aree dello schermo, creare etichette in vari caratteri, ecc. La maggior parte degli editor consente di elaborare le immagini ottenute utilizzando gli scanner. Rappresentanti di editori grafici - programmi Adobe Photoshop, Corel Draw. I sistemi di gestione dei database (DBMS) consentono di gestire grandi array di informazioni: i database. I sistemi software di questo tipo consentono l'elaborazione di matrici di informazioni su un computer, forniscono input, ricerca, ordinamento, selezione di record, reportistica, ecc. I rappresentanti di questa classe di programmi sono Microsoft Access, Clipper, Paradox, FoxPro. I sistemi integrati combinano le funzionalità di un sistema di gestione di database, un foglio di calcolo, un editor di testo, un sistema di grafica aziendale e talvolta altre funzionalità. Di norma, tutti i componenti di un sistema integrato hanno un'interfaccia simile, il che rende più facile imparare a lavorare con essi. Rappresentanti di sistemi integrati - Pacchetto Microsoft Office e la sua controparte gratuita Open Office.


Programmi di sistema vengono eseguiti insieme a quelli applicati e servono a gestire le risorse del computer come il processore centrale, la memoria, l'input-output. Si tratta di programmi di uso generale destinati a tutti gli utenti di computer. Sistemico Softwareè progettato per consentire al computer di eseguire i programmi applicativi in ​​modo efficiente.


Il software di sistema può essere suddiviso in: Software di base (software di base): un insieme minimo di strumenti software che garantiscono il funzionamento di un computer. Il software di base comprende: sistema operativo; shell operative (testo e grafica); sistema operativo di rete. Software di servizio del programma e complessi software, che espandono le capacità del software di base e organizzano un ambiente utente più conveniente: le utilità.


Un sistema operativo è un complesso di programmi di sistema correlati, il cui scopo è organizzare l'interazione dell'utente con il computer e l'esecuzione di tutti gli altri programmi. Il sistema operativo può essere definito un'estensione software del dispositivo di controllo del computer. Il sistema operativo nasconde all'utente complessi dettagli non necessari di interazione con l'hardware, formando uno strato tra di loro. Di conseguenza, le persone vengono liberate dal lavoro molto laborioso di organizzare l'interazione con l'hardware del computer. Inoltre, è il sistema operativo che offre la possibilità di personalizzare il computer: il sistema operativo determina da quali componenti è assemblato il computer su cui è installato e si configura per funzionare con questi componenti. Le shell sono programmi progettati per semplificare il lavoro con complessi sistemi software come DOS. Trasformano una scomoda interfaccia utente della riga di comando in un'interfaccia grafica o di tipo menu intuitiva. Le shell forniscono all'utente un accesso ai file comodo ed esteso servizi di manutenzione. I sistemi operativi di rete sono un insieme di programmi che forniscono l'elaborazione, la trasmissione e l'archiviazione dei dati sulla rete. Il sistema operativo di rete fornisce agli utenti vari tipi di servizi di rete (gestione dei file, E-mail, processi di gestione della rete, ecc.), supporta il lavoro nei sistemi degli abbonati.


Utilità (lat. utilitas benefit): espandere e integrare le capacità corrispondenti sistema operativo o risolvere compiti importanti indipendenti. Descriviamo brevemente alcuni tipi di utilità: programmi di controllo, test e diagnostica programmi packer (archiviatori) programmi driver programmi antivirus programmi per la creazione backup programmi d'informazione per la gestione della memoria;programmi per l'ottimizzazione e il controllo della qualità dello spazio su disco;programmi per l'ottimizzazione e il controllo della qualità dello spazio su disco; programmi di comunicazione, ecc.


Programmi di monitoraggio, test e diagnostica utilizzati per verificare il corretto funzionamento dei dispositivi informatici e per rilevare malfunzionamenti durante il funzionamento; indicare la causa e la posizione del malfunzionamento; programmi driver che espandono la capacità del sistema operativo di gestire dispositivi I/O, RAM, ecc.; utilizzando i driver, è possibile collegare nuovi dispositivi al computer o l'uso non standard di quelli esistenti; packer (archiver), che consentono, attraverso l'uso di speciali algoritmi per il confezionamento delle informazioni, di comprimere le informazioni su dischi, ad es. creare copie più piccole di file, nonché combinare copie di più file in un unico file di archivio. L'uso di programmi di archiviazione è molto utile quando si crea un archivio di file, poiché nella maggior parte dei casi è molto più conveniente memorizzarli dopo averli compressi con programmi di archiviazione. I rappresentanti di questi programmi sono WinRar e WinZip.


Programmi antivirus progettati per prevenire l'infezione virus informatici ed eliminazione delle conseguenze dell'infezione da virus; Rappresentanti della famiglia di programmi antivirus: Kaspersky Antivirus, DrWeb, Norton Antivirus. i programmi per la creazione di copie di backup delle informazioni consentono di copiare periodicamente Informazioni importanti situato sul disco rigido del computer su supporti aggiuntivi. Rappresentanti del programma Prenota copia– APBackUp, software Acronis True Image per l'ottimizzazione dello spazio su disco e il controllo qualità; programmi di comunicazione progettati per organizzare lo scambio di informazioni tra computer. Questi programmi consentono di trasferire comodamente i file da un computer all'altro collegando le loro porte seriali con un cavo. Un altro tipo di tali programmi offre la possibilità di connettere i computer tramite rete telefonica(se hai un modem). Permettono di inviare e ricevere messaggi telefax. Rappresentanti dei programmi di comunicazione - Venta Fax, Cute FTP. programmi di gestione della memoria per un utilizzo più flessibile memoria ad accesso casuale;


Gli strumenti software sono programmi utilizzati per lo sviluppo, la modifica o lo sviluppo di altre applicazioni o programmi di sistema. Gli strumenti software possono aiutare in tutte le fasi dello sviluppo del software. Per il loro scopo, sono vicini ai sistemi di programmazione Sistemi di programmazione.


Un sistema di programmazione è un sistema per lo sviluppo di nuovi programmi in un particolare linguaggio di programmazione. I moderni sistemi di programmazione di solito forniscono agli utenti strumenti di programmazione potenti e convenienti. Includono: un compilatore o interprete, un compilatore o interprete, un ambiente di sviluppo integrato; strumenti per la creazione e la modifica di testi di programma; vaste librerie di programmi e funzioni standard; programmi di debug, ad es. programmi che aiutano a trovare e correggere errori nel programma; potenti librerie grafiche; utilità per lavorare con le librerie integrate sportello di assistenza; altre caratteristiche specifiche.


Translator (traduttore traduttore inglese) è un programma di traduzione. Converte un programma scritto in uno dei linguaggi di alto livello in un programma composto da istruzioni macchina. I traduttori sono implementati come compilatori o interpreti. In termini di lavoro, un compilatore e un interprete sono molto diversi. Il compilatore legge l'intero programma, lo traduce e crea una versione completa del programma in linguaggio macchina, che viene poi eseguita. Un interprete traduce ed esegue un programma riga per riga. Una volta compilato il programma, non sono più necessari né il programma sorgente né il compilatore. Allo stesso tempo, il programma elaborato dall'interprete deve essere ritradotto in linguaggio macchina ogni volta che il programma viene eseguito. I programmi compilati vengono eseguiti più velocemente, ma i programmi interpretati sono più facili da correggere e modificare. Sistemi di programmazione popolari: Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. Borland C++, Borland Delphi, ecc.


Oggi, la maggior parte dei sistemi passa senza problemi al Web. Il World Wide Web stringe sempre più applicazioni. I database stanno acquisendo interfacce utente basate sul Web per sostituire le applicazioni desktop precedentemente disponibili. In definitiva, è prevedibile che l'utente finale necessiti solo di un browser Web per poter soddisfare tutte le possibili esigenze software. In questo caso, all'utente non interessa quale sistema operativo controlla computer locale, la cosa principale è l'affidabilità e le prestazioni del server. (Ad esempio, un pacchetto Microsoft Office può essere installato su server remoti piuttosto che sui sistemi degli utenti finali, ma l'avvio delle applicazioni sarà rapido come sui PC locali). Pertanto, tutti i programmi potranno essere eseguiti sia in locale che in remoto tramite il Web.

"Software in un computer" - Sistemi di progettazione assistita da computer (CAD) o CAD (ing. Rappresentanti di editor grafici - Adobe Photoshop, programmi Corel Draw. Il software applicativo più comune. Gruppo Fic. Software. Sistemi di utensili. Oggi, la maggior parte dei sistemi passa senza problemi al Web.

"Lezione di software" - Autore: Insegnante MOU scuola secondaria n. 23 Grodinskaya Valentina Alekseevna e-mail: [e-mail protetta] Simulatori (babytype) Test Libri di testo elettronici. Utilizzato per comprimere i file per ridurre lo spazio su disco. Software dello strumento. Traduttori. Formazione dell'alfabetizzazione informativa degli studenti.

"Software per PC" - Software per computer. Dispositivi informatici. La storia dello sviluppo del software. I sistemi di programmazione sono strumenti per la creazione di programmi applicativi. Software applicativo. Programmi educativi per l'autoeducazione o nel processo educativo. Umano. Pacchetti matematici per calcoli ingegneristici complessi.

"Traduzione automatica di testo" - Dizionari informatici e sistemi per la traduzione automatica di testi. Sistemi di riconoscimento ottico della forma. Innanzitutto, utilizzando uno scanner, è necessario ottenere un'immagine di una pagina di testo in formato grafico. Sistemi di riconoscimento ottico dei documenti. Il risultato del riconoscimento è un simbolo il cui modello corrisponde al massimo all'immagine.

"Tipi di software" - I programmi educativi includono libri di testo elettronici, simulatori di formazione. MS Access. Photoshop. Microsoft Excel. Sistemi di programmazione. Programmi professionali. Microsoft PowerPoint. Tipi di software. AutoCAD Microsoft Access. Software di sistema. Molti utenti iniziano la loro comunicazione con il computer con giochi per computer.

"Software per un computer" - Programmi applicativi che assicurano direttamente l'esecuzione del lavoro necessario per gli utenti; Il computer, che è stato assemblato in fabbrica da chip, fili, schede e altre cose, è come una persona appena nata. Tutti i programmi in esecuzione su un computer possono essere suddivisi in tre categorie: Programmi di sistema: vengono utilizzati per gestire le risorse del computer.

Legame

La traduzione e le successive azioni per preparare un programma per l'esecuzione sono il processo di conversione di un programma scritto in un linguaggio formale in un altro sistema formale, un'architettura informatica in cui può essere eseguito (interpretato). Per comprendere questo processo, così come le differenze che esistono nei vari linguaggi di programmazione, viene introdotto il concetto di legame, così come tempo vincolante.

Il legame è il processo di stabilire una corrispondenza tra gli oggetti e le loro proprietà in un programma in un linguaggio formale (operazioni, operatori, dati) ed elementi dell'architettura del computer (comandi, indirizzi).

Tempo di rilegatura viene chiamata la fase di preparazione del programma per l'esecuzione (traduzione, collegamento, caricamento), in cui viene eseguita questa azione. Varie caratteristiche dello stesso oggetto (ad esempio una variabile) può essere associato a diversi elementi dell'architettura in momenti diversi, ovvero il processo di associazione non è un processo unico.

Software di sistema

Possibili tempi di rilegatura

Quando si determina la lingua; durante l'implementazione del compilatore;

durante la trasmissione, tra cui:

quando il preprocessore (macroprocessore) è in esecuzione

durante l'analisi lessicale, sintattica e semantica, la generazione e l'ottimizzazione del codice;

durante la composizione; durante il download del programma;

durante l'esecuzione del programma, tra cui: quando si entra in un modulo (procedura, funzione); in qualsiasi momento dell'esecuzione del programma.

Software di sistema

Legatura in int a,b; …a+b

Il tipo di variabile int è una variabile intera in una parola macchina di lunghezza standard (rappresentazione di un intero con segno, complemento a due), associata a una forma simile di rappresentazione dei dati in un computer durante la definizione di una lingua.

La dimensione specifica di una variabile int è determinata dall'implementazione del compilatore appropriato.

Il nome a può essere definito in un costrutto simile

# definisce un 0x11FF . In questo caso, il nome (pseudo-variabile) è associato al suo valore nella prima fase di traduzione - nel preprocessore.

Software di sistema

Legatura in int a,b; …a+b

Se una variabile è definita nel solito modo come int a; quindi l'associazione di una variabile con il suo tipo corrispondente avviene durante la traduzione (nella fase dell'analisi semantica).

Se una variabile è definita come esterna (globale, al di fuori del corpo della funzione), il significato della sua traduzione è allocare memoria per essa nel segmento di dati del programma, che viene creato per il modulo corrente (file). Allo stesso tempo, l'associazione della memoria distribuita a una RAM specifica viene eseguita in più fasi:

Software di sistema

Legatura in int a,b; …a+b

quando tradotta, la variabile è legata a qualche indirizzo relativo nel segmento di dati del modulo oggetto (ovvero, la sua posizione è fissa solo rispetto all'inizio del modulo).

durante il collegamento, i segmenti di dati e comandi di vari moduli oggetto vengono combinati in un file di programma comune, che è un'immagine della memoria del programma. In esso, la variabile riceve già un indirizzo relativo dall'inizio dell'intero programma.

quando si carica un programma in una determinata area di memoria, potrebbe non trovarsi dall'inizio di quest'area. In questo caso, gli indirizzi delle variabili specificate in indirizzi relativi dall'inizio del modulo di programma vengono vincolati agli indirizzi di memoria, tenendo conto del movimento del modulo di programma.

Software di sistema

Legatura in int a,b; …a+b

se il programma non funziona nella memoria fisica, ma nella memoria virtuale, il processo di caricamento potrebbe essere leggermente diverso. Modulo software condizionalmente considerato caricato in uno spazio di indirizzi virtuale (con o senza riposizionamento sia dell'intero programma che dei suoi singoli segmenti). L'effettivo caricamento del programma in memoria viene effettuato già durante il funzionamento del programma in parti (segmenti, pagine) e l'instaurazione della corrispondenza (o collegamento) di indirizzi virtuali e fisici viene eseguita dinamicamente dal sistema operativo utilizzando il hardware appropriato.

Software di sistema

Legatura in int a,b; …a+b

Se una variabile è definita come automatica (locale all'interno del corpo di una funzione o di un blocco), viene inserita nello stack del programma:

durante la traduzione ne viene determinata la dimensione e vengono generati dei comandi che gli riservano memoria sullo stack al momento dell'inserimento nel corpo della funzione (blocco). Cioè, durante la traduzione, la variabile è associata solo a un indirizzo relativo nello stack del programma;

l'associazione di una variabile locale al suo indirizzo nel segmento dello stack viene effettuata durante l'esecuzione al momento dell'ingresso nel corpo della funzione (blocco). A causa di questo metodo di associazione, ci sono tante "istanze" di variabili locali in una funzione ricorsiva quante sono le volte in cui la funzione chiama se stessa.

1 diapositiva

La presentazione per la lezione è stata creata da: insegnante di informatica MKOU "Basinskaya OOSh" Gaidukova Anna Andreevna * *

2 diapositiva

Una stampante; PROCESSORE; Tastiera; Memoria flash; Tenere sotto controllo; RAM; Dispositivo CD ROM. Senza quale dei seguenti dispositivi il computer non può funzionare: * *

3 diapositiva

Determinare il possibile volume dei seguenti supporti utilizzando le opzioni di risposta indicate (1,44 MB, 700 MB, 120 GB, 512 MB, 4,7 GB): CD-R; DVD-R; Memoria flash; Dischetto; Disco magnetico rigido. * *

4 diapositiva

Compila la tabella * * Dispositivo Azione con informazioni (memorizzazione, input, output, elaborazione) Processore RAM Disco rigido CD-RW Tastiera Monitor Stampante

5 diapositiva

Andrey ha un gioco TETRIS sul disco rigido del suo computer. Il suo amico Kolya non ha un gioco del genere. Cosa deve essere fatto da Andrey in modo che Kolya possa farlo da solo computer di casa giocare a questo gioco (nota che il computer di Kolya non è connesso a Internet)? * *

6 scivolo

* Sistema operativo del software per computer: garantisce il funzionamento congiunto di tutti i dispositivi informatici e fornisce all'utente l'accesso alle sue risorse utilizzando l'interfaccia grafica del sistema operativo. I driver di dispositivo sono programmi speciali che controllano il funzionamento dei dispositivi del computer e coordinano lo scambio di informazioni con altri dispositivi (ogni dispositivo ha il proprio driver). *

7 scivolo

* Funzioni del sistema operativo Test di singoli componenti hardware, memoria e altri componenti hardware Accoppiamento del programma applicativo con l'hardware (programmi speciali - i driver vengono utilizzati per questo) Utilizzo del computer in modalità multiprogramma (ovvero, è possibile eseguire più programmi contemporaneamente), mentre il sistema operativo monitora la distribuzione delle risorse interne e la sequenza di esecuzione dei comandi Per comodità dell'utente con il computer, viene utilizzata un'interfaccia: un insieme di strumenti e regole per l'interazione di un computer e una persona *

8 scivolo

9 diapositiva

* Installazione del sistema operativo Installazione del sistema operativo - i file del sistema operativo vengono copiati dal disco di distribuzione a HDD computer. I file del sistema operativo sono archiviati nella memoria a lungo termine su un disco rigido chiamato unità di sistema. Il sistema operativo, come altri programmi, può essere eseguito se si trova nella RAM del computer. Pertanto, è necessario scaricare i file del sistema operativo da disco di sistema nella memoria di lavoro. *

10 diapositiva

* Caricamento del sistema operativo Il caricamento del sistema operativo inizia in uno dei tre casi: dopo: l'accensione del computer; premendo il pulsante di ripristino unità di sistema computer; pressione simultanea della combinazione di tasti sulla tastiera: (Ctrl) + (Alt) + (Canc) Nel processo di caricamento del sistema operativo: vengono testate le prestazioni del processore, della memoria e di altri dispositivi; brevi messaggi diagnostici sul processo di test vengono visualizzati sullo schermo del monitor dopo che il sistema operativo ha terminato il caricamento, l'utente è in grado di controllare il computer utilizzando l'interfaccia grafica del sistema operativo. *

11 diapositiva

12 diapositiva

* Programmi standard Windows Paint OS è un editor grafico che consente di creare, visualizzare e modificare disegni o fotografie scansionate L'imaging viene utilizzato per visualizzare e modificare file grafici come disegni digitali o fotografie scansionate Calcolatrice: una calcolatrice elettronica è un analogo di un palmare convenzionale calcolatrice Blocco note - editor di testo, utilizzato per creare e modificare file di testo formato semplice WordPad è un editor di testo utilizzato per creare e formattare file di testo con formattazione complessa *

13 diapositiva

* Software applicativo Un'applicazione è un programma che consente di elaborare informazioni testuali, grafiche, numeriche, audio e video, lavorare in reti di computer senza conoscenze di programmazione. L'applicazione viene eseguita su un sistema operativo specifico. Tipi di applicazione: 1. Applicazioni scopo generale(calcolatrici, fogli di calcolo, editor di testi, suoni e grafica, lettori multimediali, database, programmi di sviluppo di presentazioni, programmi di comunicazione, ecc.). 2. Applicazioni per scopi speciali (programmi di contabilità, enciclopedie, programmi di formazione, sistemi di traduzione automatica, sistemi di programmazione, giochi per computer, ecc.) *

diapositiva 2

Organizzazione della memoria

La memoria fisica a cui il processore ha accesso tramite il bus degli indirizzi è chiamata memoria ad accesso casuale (o memoria ad accesso casuale - RAM). La RAM è organizzata come una sequenza di celle - byte. Ogni byte ha il suo indirizzo univoco (il suo numero), chiamato fisico. L'intervallo di valori per gli indirizzi fisici dipende dalla larghezza del bus degli indirizzi del processore. Per 80486 e Pentium, è nell'intervallo da 0 a 232 - 1 (4 GB). Per i processori PentiumPro/II/III/IV, questa gamma è più ampia - da 0 a 236 - 1 (64 GB). Il processore 8086 aveva 1 MB di memoria con un bus di indirizzi a venti bit, da 0 a 220-1.

diapositiva 3

L'hardware del processore supporta due modelli di utilizzo della RAM: nel modello segmentato, le aree di memoria continue (segmenti) sono assegnate al programma e il programma stesso può accedere solo ai dati che si trovano in questi segmenti.Il modello di pagina può essere considerato come un add -sul modello segmentato. L'applicazione principale di questo modello è legata all'organizzazione della memoria virtuale, che consente al sistema operativo di utilizzare uno spazio di memoria maggiore della quantità di memoria fisica per il funzionamento dei programmi combinando memoria operativa e operativa in un unico spazio di indirizzi. memoria esterna

diapositiva 4

A proposito, un altro nome per un indirizzo fisico è un indirizzo lineare. Tale dualità nel nome è dovuta proprio alla presenza di un modello di paging dell'organizzazione della RAM. Questi nomi sono sinonimi solo quando il paging degli indirizzi è disabilitato (in modalità reale, il paging è sempre disabilitato). Nel modello di pagina, gli indirizzi lineari e fisici hanno significati diversi. Il meccanismo di gestione della memoria è completamente basato su hardware e consente: memorizzazione compatta dell'indirizzo nella macchina flessibilità delle istruzioni del meccanismo di indirizzamento protezione degli spazi degli indirizzi dei task in un sistema multitasking supporto della memoria virtuale

diapositiva 5

Nella famiglia di processori 80x86, la scelta del metodo di accesso alla memoria è determinata dalla modalità operativa del processore. In modalità reale, il processore può accedere solo al primo megabyte di memoria, i cui indirizzi vanno da 00000 a FFFFF in esadecimale. In questo caso, il processore opera in modalità a programma singolo (cioè può eseguire un solo programma alla volta). Tuttavia, allo stesso tempo, può interromperne l'esecuzione in qualsiasi momento e passare alla procedura di gestione di un'interruzione ricevuta da uno dei dispositivi periferici. A qualsiasi programma che il processore sta eseguendo in questo momento è consentito l'accesso senza restrizioni a qualsiasi area di memoria entro il primo megabyte: alla RAM - mediante lettura e scrittura, e alla ROM, ovviamente, solo mediante lettura. La modalità reale del processore viene utilizzata nel sistema operativo MS DOS, nonché in Sistemi Windows 95 e 98 durante l'avvio in modalità di emulazione MS DOS.

diapositiva 6

In modalità protetta, il processore può eseguire più programmi contemporaneamente. In questo caso, a ciascun processo (ovvero programma in esecuzione) possono essere assegnati fino a 4 GB di RAM. Per impedire l'influenza reciproca dei programmi in esecuzione l'uno sull'altro, vengono assegnate aree di memoria isolate. Sistemi operativi come MS Windows e Linux funzionano in modalità protetta. Nella modalità di indirizzamento virtuale del processore 8086, quest'ultimo funziona effettivamente in modalità protetta. Ogni compito ha il suo macchina virtuale, a cui viene allocata un'area di memoria isolata di 1 MB ed emula completamente il funzionamento di un processore 80x86 in modalità di indirizzamento reale. Ad esempio, nei sistemi operativi Windows 2000 e XP, viene creata una macchina virtuale del processore 8086 ogni volta che un utente avvia una finestra dell'interprete dei comandi (sessione MS DOS).

Diapositiva 7

Modalità di indirizzamento reale Le caratteristiche distintive del meccanismo di indirizzamento della memoria fisica in modalità reale sono le seguenti: L'intervallo di modifica dell'indirizzo fisico va da 0 a 1 MB, poiché per l'indirizzamento vengono utilizzati solo 20 bit di ordine inferiore del bus di indirizzi. di memoria indirizzata utilizzando registri a 16 bit è 64 KB. indirizzando un indirizzo fisico specifico in tutta la RAM disponibile, viene utilizzata la segmentazione della memoria, ovvero suddividendo lo spazio degli indirizzi disponibile in segmenti da 64 KB e utilizzando invece di un indirizzo logico fisico nella forma:, ad es. combinazioni di indirizzo iniziale del segmento e offset intra-segmento L'indirizzo iniziale del segmento a 16 bit viene inserito in uno dei sei registri di segmento (CS, DS, ES, SS, FS o GS) I programmi operano direttamente solo sull'offset a 16 bit specificato rispetto all'inizio del segmento

Diapositiva 8

La cifra esadecimale meno significativa in ogni indirizzo di segmento è zero, cioè l'indirizzo di qualsiasi segmento sarà sempre un multiplo di 16 byte; i confini del segmento si trovano ogni 16 byte di indirizzi fisici. Ciascuno di questi blocchi di 16 byte è chiamato paragrafo.

Diapositiva 9

Gli indirizzi specificati nei programmi nella forma "segment-offset" vengono automaticamente convertiti dal processore in indirizzi lineari a 20 bit durante l'esecuzione dell'istruzione secondo lo schema seguente:

Diapositiva 10

Esempio: un byte dato nella forma "segment-offset": 8000:0250 in trascrizione esadecimale. Indirizzo logico: 8000:0250 –––––––––––––––––––––––––––– Segmento: 80000 + Offset: 0250 ––––––– ––– ––––––––––––––––– Indirizzo fisico: 80250 In un tipico programma scritto per processori 80x86, di solito ci sono tre segmenti: codice, dati e stack. All'avvio del programma, i loro indirizzi di segmento di base vengono caricati rispettivamente nei registri CS, DS e SS. Nei restanti tre registri ES, FS e GS, il programma può memorizzare puntatori a segmenti aggiuntivi.

diapositiva 11

Svantaggi di questa organizzazione della memoria: i segmenti vengono posizionati in modo incontrollabile da qualsiasi indirizzo divisibile per 16 (poiché il contenuto del registro del segmento viene spostato di 4 bit dall'hardware) e, di conseguenza, il programma può accedere a qualsiasi indirizzo, inclusi quelli che non in realtà non esiste; i segmenti hanno una dimensione massima di 64 KB i segmenti possono sovrapporsi ad altri segmenti

diapositiva 12

Modalità di indirizzamento protetto Durante l'esecuzione in modalità protetta, a ciascun programma può essere allocato un blocco di memoria di dimensioni fino a 4 GB, i cui indirizzi in rappresentazione esadecimale possono variare da 00000000 a FFFFFFFF. Si dice che al programma sia assegnato uno spazio di indirizzi lineare. In modalità protetta, i registri di segmento (CS, DS, SS, ES, FS, GS) non memorizzano indirizzi di base a 16 bit di segmenti, ma selettori-puntatori a descrittori di segmento situati in una delle tabelle dei descrittori di sistema. Sulla base delle informazioni contenute nel descrittore, il sistema operativo determina gli indirizzi lineari dei segmenti di programma. Esistono due tipi di tabelle: GlobalDescriptorTable (tabella dei descrittori globali) e LocalDescriptorTables (tabelle dei descrittori locali).

diapositiva 13

Struttura del selettore del descrittore di segmento: il descrittore è composto da 8 byte, che includono l'indirizzo di base del segmento, la dimensione e altre informazioni:

Diapositiva 14

Il descrittore 0 è illegale: può essere caricato in modo sicuro in un registro di segmento per indicare che il registro di segmento non è attualmente disponibile, ma viene generato un interrupt se si tenta di utilizzarlo. In un tipico programma scritto per la modalità protetta, di solito ci sono tre segmenti: codice, dati e stack, le cui informazioni sono memorizzate nei tre registri di segmento elencati di seguito. Il registro CS memorizza un puntatore al descrittore del segmento del codice del programma Il registro DS memorizza un puntatore al descrittore del segmento dei dati del programma Il registro SS memorizza un puntatore al descrittore del segmento dello stack del programma

diapositiva 15

La conversione di una coppia selettore-offset in un indirizzo fisico procede come segue: se il paging è disabilitato (di un bit nel registro di controllo globale), l'indirizzo lineare viene interpretato come un indirizzo fisico e inviato alla memoria per la lettura o la scrittura. Se invece è disponibile il paging, l'indirizzo lineare viene interpretato come un indirizzo virtuale e mappato a un indirizzo fisico utilizzando la tabella delle pagine.

diapositiva 16

I modelli di memoria sono supportati nell'hardware in modalità protetta: FlatModel (modello piatto, solido o lineare) - organizzazione della memoria, in cui tutti i segmenti sono mappati su un'unica area di indirizzi lineari. Per fare ciò, tutti i descrittori di segmento puntano allo stesso segmento di memoria, che corrisponde all'intero spazio di indirizzi fisici a 32 bit del computer. Per un modello piatto, devono essere creati almeno due descrittori, uno per i riferimenti al codice e uno per i riferimenti ai dati.

Diapositiva 17

I descrittori sono memorizzati in una speciale tabella di sistema chiamata Global Descriptor Table (GDT). Per un modello flat, ogni descrittore ha un indirizzo di base pari a 0. Il valore del campo che definisce il limite del segmento viene moltiplicato per il processore per 1000 esadecimale. I segmenti possono coprire l'intero intervallo di 4 GB di indirizzi fisici o solo quegli indirizzi che sono mappati alla memoria fisica. Impostando il limite del segmento su 4 gigabyte, il meccanismo di segmentazione impedisce la generazione di eccezioni per i riferimenti di memoria che vanno oltre il limite del segmento.

Diapositiva 18

Questo modello consente di escludere il meccanismo di segmentazione dall'architettura del sistema, poiché tutte le operazioni di memoria fanno riferimento a uno spazio di memoria comune. Dal punto di vista di un programmatore, questo modello è il più facile da usare, poiché un singolo numero intero a 32 bit è sufficiente per memorizzare l'indirizzo di qualsiasi variabile o istruzione.

Diapositiva 19

MultisegmentedModel Ogni programma ha la propria tabella descrittore di segmento chiamata Local Descriptor Table (LDT). In questo caso, diventa possibile per ciascun processo creare il proprio insieme di segmenti che non si intersecano in alcun modo con segmenti di altri processi. Di conseguenza, ogni segmento risiede in uno spazio di indirizzi isolato.

Diapositiva 20

La figura mostra che ogni voce nella tabella dei descrittori locali definisce un diverso segmento di memoria. Ogni descrittore di segmento specifica la sua lunghezza esatta. Ad esempio, un segmento che inizia all'indirizzo 3000 è lungo 2000 byte in esadecimale perché il valore del campo descrittore che definisce il limite del segmento è 0002 e 0002x1000=2000. Per analogia, la lunghezza del segmento che inizia all'indirizzo 8000 è A000. Va notato che il modello piatto è implementato come un caso speciale di un modello segmentato, quando il programma fa riferimento a un segmento, sotto il quale è allocato l'intero spazio lineare.

diapositiva 21

Paging (modello di memoria di paging) Questo modello è una forma di gestione della memoria per modellare un ampio spazio di indirizzi non segmentato utilizzando parte della memoria del disco e uno spazio di indirizzi frammentato. Fornisce l'accesso a strutture di dati più grandi della memoria disponibile, memorizzandole in parte nella RAM e in parte su disco. Secondo questo modello, lo spazio degli indirizzi lineare è suddiviso in blocchi Le stesse dimensioni(di solito 4 KB), che sono chiamate pagine (pagina).

diapositiva 22

La figura mostra un indirizzo lineare diviso in tre campi: Directory, Pagina e Offset. Il campo Directory viene utilizzato come indice nella directory della pagina, specificando la posizione del puntatore alla tabella della pagina corretta.

diapositiva 23

Il campo Pagina viene quindi elaborato come indice nella tabella delle pagine per trovare l'indirizzo fisico del frame della pagina. Per ottenere l'indirizzo fisico del byte o della parola richiesta, l'ultimo campo Offset viene aggiunto all'indirizzo del frame della pagina. Di conseguenza, puoi facilmente assicurarti che la quantità totale di RAM utilizzata da tutti i programmi in esecuzione sul computer superi la quantità di memoria reale del computer. Questo è il motivo per cui la memoria di paging viene spesso definita memoria virtuale. Le prestazioni del sistema di memoria virtuale sono fornite da un programma speciale che fa parte del sistema operativo, chiamato gestore della memoria virtuale (gestore della memoria virtuale).

diapositiva 24

L'organizzazione di paging della memoria è la migliore soluzione al problema della mancanza di memoria. Il fatto è che prima di iniziare l'esecuzione, qualsiasi programma deve essere caricato nella RAM, la cui dimensione è sempre limitata (ad esempio, a causa delle caratteristiche di progettazione del computer o del prezzo del modulo di memoria). Gli utenti di computer di solito caricano più programmi contemporaneamente in memoria per poter passare da uno all'altro durante il lavoro (ad esempio, passare da una finestra all'altra). D'altra parte, la memoria su disco è molto più grande della RAM del computer e inoltre questa memoria è molto più economica. Pertanto, a causa dell'utilizzo della memoria del disco quando si utilizza il paging della memoria, l'utente ha l'impressione di disporre di una quantità illimitata di RAM. Certo, devi pagare per tutto: la velocità di accesso alla memoria del disco è di diversi ordini di grandezza inferiore rispetto alla RAM.

Diapositiva 25

Quando un programma è in esecuzione, le sezioni della sua RAM (o pagine) che non sono attualmente in uso possono essere salvate su disco senza problemi. Si dice che parte dell'attività sia stata trasferita su disco. Ha senso memorizzare nella RAM del computer solo quelle pagine a cui il processore accede attivamente, ad esempio eseguendo un codice di programma. Se il processore deve accedere a una pagina di memoria che è attualmente paginata su disco, il file errore di sistema(o interruzione) per mancanza di una pagina (pagefault). Questo errore viene gestito dal gestore della memoria virtuale del sistema operativo, che trova una pagina su disco che contiene il codice o i dati desiderati e la carica in un'area libera della RAM.

diapositiva 26

Strettamente correlato alla memoria virtuale è il tema della protezione. Il Pentium supporta quattro livelli di sicurezza, dove il livello 0 è il più privilegiato e il livello 3 è il meno privilegiato. In ogni momento, il programma in esecuzione si trova a un certo livello e ogni segmento del sistema ha anche il proprio livello.

Diapositiva 27

Il livello 0 è il kernel del sistema operativo, che gestisce le operazioni di I/O, la gestione della memoria e altri problemi di massima priorità. Al livello 1, un gestore delle chiamate di sistema. I programmi utente a questo livello possono accedere alle procedure per effettuare chiamate di sistema, ma solo a un elenco di procedure specifico e protetto. Il livello 2 contiene routine di libreria, possibilmente condivise da più programmi in esecuzione. I programmi utente possono chiamare queste procedure e leggere i loro dati, ma non possono modificarli. Infine, i programmi utente vengono eseguiti al livello 3, che è il meno sicuro.

Visualizza tutte le diapositive