1. Introducció als entorns de treball UNIX

1.1. Arquitectura d’un ordinador

Un ordinador és una màquina electrònica que és capaç de processar i emmagatzemar informació. John Eckert i John Mauchly van presentar a Filadèlfia el 15 de febrer de 1946 l’Electronic Numerical Integrator And Calculator (ENIAC), el que es considera el primer ordinador de propòsit general de la història. Aquesta màquina de trenta tones, que ocupava un pis complet de l’Escola Moore d’Enginyeria Elèctrica (Universitat de Pensilvània), resolia en una sola hora el mateix nombre de càlculs de trajectòries balístiques que dos-cents especialistes en dos mesos. Des d’aquest primer model fins a l’aparició dels microprocessadors d’última generació (integrats en telèfons mòbils i electrodomèstics), el progrés tecnològic ha estat increïblement veloç.

Els ordinadors, per poder manipular dades, fer càlculs o executar tasques preestablertes, requereixen d’uns components bàsics llistats a continuació:

  • La unitat central de processament (en anglès, Central Processing Unit o CPU). El «cervell» de l’ordinador, el qual executa els processos i càlculs.
  • La memòria central (en anglès, Random Access Memory o RAM). La memòria de l’ordinador és un dispositiu d’emmagatzemament temporal d’informació contínuament modificada per les operacions realitzades a la CPU. Programes i dades s’han de carregar prèviament en la memòria, i llavors són transferits al processador per a la seva execució.
  • Disc dur. Emmagatzematge estable de la informació. Actualment, hi ha dos tipus de discos: hard drive (HDD) o solid-state drive (SSD).
  • Dispositius d’entrada i sortida (I/O). Els dispositius d’entrada permeten la introducció d’informació o ordres a l’ordinador (teclat, ratolí, etc.), mentre que els dispositius de sortida proporcionen els resultats a l’usuari (pantalla, impressora, etc.).
  • Els perifèrics. Són dispositius que milloren la funcionalitat dels ordinadors (discos durs, llapis de memòria o targetes de xarxa).

Per poder fer que els ordinadors duguin a terme les tasques que els encomanem, necessitem poder crear programes (software) amb les instruccions exactes que volem executar. Els ordinadors no són capaços de processar llenguatge natural com nosaltres, el seu llenguatge és binari (Veritable o Fals, Obert o Apagat, 0 o 1). Això és a causa de l’arquitectura dels ordinadors, que està formada per milers o milions de transistors que individualment es poden encendre o apagar. Els transistors poden estar en estat actiu si una petita quantitat de corrent passa a través seu (1) o, si no hi ha corrent, el transistor està en estat 0. A partir d’aquests dos estats es pot generar un llenguatge completament nou.

Per poder comunicar les ordres que volem executar als ordinadors utilitzarem els llenguatges de programació, que transformaran les nostres instruccions en codi binari per poder-les processar.