Nozioni di base sui computer - Sistema S / W

Come sapete, il software di sistema funge da interfaccia per il sistema hardware sottostante. Qui discuteremo in dettaglio alcuni importanti software di sistema.

Sistema operativo

Operating system (OS)è l'ancora di salvezza del computer. Colleghi tutti i dispositivi di base come CPU, monitor, tastiera e mouse; collegare l'alimentatore e accenderlo pensando di avere tutto a posto. Ma il computer non si avvia o prende vita a meno che non abbia un sistema operativo installato al suo interno perché OS -

  • Mantiene tutte le parti hardware pronte a seguire le istruzioni per l'utente
  • Coordinate tra diversi dispositivi
  • Pianifica più attività in base alla priorità
  • Assegna risorse a ciascuna attività
  • Consente al computer di accedere alla rete
  • Consente agli utenti di accedere e utilizzare il software applicativo

Oltre all'avvio iniziale, queste sono alcune delle funzioni di un sistema operativo:

  • Gestione delle risorse del computer come hardware, software, risorse condivise, ecc.
  • Allocazione delle risorse
  • Prevenire errori durante l'utilizzo del software
  • Controllare l'uso improprio del computer

Uno dei primi sistemi operativi era MS-DOS,sviluppato da Microsoft per IBM PC. Era unCommand Line Interface (CLI)OS che ha rivoluzionato il mercato dei PC. DOS era difficile da usare a causa della sua interfaccia. Gli utenti dovevano ricordare le istruzioni per svolgere i loro compiti. Per rendere i computer più accessibili e facili da usare, Microsoft ha sviluppatoGraphical User Interface (GUI) sistema operativo basato chiamato Windows, che ha trasformato il modo in cui le persone utilizzavano i computer.

Assemblatore

Assembler è un software di sistema che converte i programmi a livello di assembly in codice a livello di macchina.

Questi sono i vantaggi forniti dalla programmazione a livello di assembly:

  • Aumenta l'efficienza del programmatore poiché è più facile ricordare i mnemonici
  • La produttività aumenta al diminuire del numero di errori e quindi il tempo di debug
  • Il programmatore ha accesso alle risorse hardware e quindi ha flessibilità nella scrittura di programmi personalizzati per il computer specifico

Interprete

Il principale vantaggio del linguaggio a livello di assembly era la sua capacità di ottimizzare l'utilizzo della memoria e l'utilizzo dell'hardware. Tuttavia, con i progressi tecnologici, i computer avevano più memoria e componenti hardware migliori. Quindi la facilità di scrittura dei programmi è diventata più importante dell'ottimizzazione della memoria e di altre risorse hardware.

Inoltre, si è sentita la necessità di eliminare la programmazione da una manciata di scienziati e programmatori di computer qualificati, in modo che i computer potessero essere utilizzati in più aree. Ciò ha portato allo sviluppo di linguaggi di alto livello che erano facili da capire a causa della somiglianza dei comandi con la lingua inglese.

Il software di sistema utilizzato per tradurre il codice sorgente del linguaggio di alto livello in codice oggetto del linguaggio a livello macchina riga per riga è chiamato un file interpreter. Un interprete prende ogni riga di codice e la converte in codice macchina e la memorizza nel file oggetto.

Il advantagedi usare un interprete è che sono molto facili da scrivere e non richiedono un grande spazio di memoria. Tuttavia, vi è un grosso svantaggio nell'utilizzo di interpreti, ovvero, i programmi interpretati richiedono molto tempo per l'esecuzione. Per superare questodisadvantage, soprattutto per programmi di grandi dimensioni, compilers erano sviluppati.

Compilatore

Il software di sistema che memorizza il programma completo, lo scansiona, traduce il programma completo in codice oggetto e quindi crea un codice eseguibile è chiamato compilatore. A prima vista i compilatori si confrontano sfavorevolmente con gli interpreti perché:

  • sono più complessi degli interpreti
  • necessita di più spazio di memoria
  • impiegare più tempo nella compilazione del codice sorgente

Tuttavia, i programmi compilati vengono eseguiti molto velocemente sui computer. L'immagine seguente mostra il processo passo-passo di come un codice sorgente viene trasformato in un codice eseguibile -

Questi sono i passaggi per la compilazione del codice sorgente in codice eseguibile -

  • Pre-processing - In questa fase le istruzioni del pre-processore, tipicamente utilizzate da linguaggi come C e C ++, vengono interpretate, cioè convertite in linguaggio a livello di assembly.

  • Lexical analysis - Qui tutte le istruzioni vengono convertite in lexical units come costanti, variabili, simboli aritmetici, ecc.

  • Parsing - Qui vengono controllate tutte le istruzioni per vedere se sono conformi a grammar rulesdella lingua. Se ci sono errori, il compilatore ti chiederà di correggerli prima di poter procedere.

  • Compiling - In questa fase il codice sorgente viene convertito in object code.

  • Linking- Se sono presenti collegamenti a file o librerie esterni, gli indirizzi del loro eseguibile verranno aggiunti al programma. Inoltre, se il codice deve essere riorganizzato per l'esecuzione effettiva, verranno riorganizzati. L'output finale è il fileexecutable code che è pronto per essere eseguito.