B.3. Funcionament intern d'un ordinador: les diferents capes involucrades
Un ordinador sovint es considera una cosa bastant abstracta, i la interfície visible externa és molt més simple que la seva complexitat interna. Aquesta complexitat ve en part del nombre de peces involucrades. No obstant això, aquestes peces es poden veure en capes, on una capa només interacciona amb les que estan immediatament a sobre o a sota.
Un usuari final pot passar sense saber aquests detalls... mentre tot funcioni. Quan s'enfronta a un problema com "Internet no funciona!", el primer que cal fer és identificar en quina capa s'origina el problema. Funciona la targeta de xarxa (maquinari)? És reconeguda per l'ordinador? El nucli Linux la “veu”? Estan correctament configurats els paràmetres de la xarxa? Totes aquestes preguntes aïllen una capa adequada i se centren en una potencial font del problema.
B.3.1. La capa més profunda: el maquinari
Comencem amb un recordatori bàsic que un ordinador és, abans que res, un conjunt d'elements de maquinari («hardware»). Generalment hi ha una placa principal (coneguda com a placa mare o «motherboard»), amb un (o més) processador(s), algunea RAM, controladors de dispositius i ranures d'extensió per a plaques opcionals (per a d'altres controladors de dispositius). La majoria d'aquests controladors són IDE (Parallel ATA), SCSI i Serial ATA, per connectar-se a dispositius d'emmagatzematge com ara discos durs. Altres controladors inclouen USB, que és capaç d'albergar una gran varietat de dispositius (des de càmeres web fins termòmetres, des de teclats fins a sistemes d'automatització domòtica) i IEEE 1394 (Firewire). Aquests controladors sovint permeten connectar diversos dispositius, de manera que el subsistema complet gestionat per un controlador es coneix normalment com a "bus". Les plaques opcionals poden ser targetes gràfiques (a les quals s'hi connectaran les pantalles del monitor), targetes de so, targetes d'interfície de xarxa, etc. Algunes plaques mare ja inclouen aquestes característiques i no necessiten targes opcionals.
B.3.2. L'Iniciador: la BIOS o la UEFI
El maquinari, per si sol, no pot realitzar tasques útils sense una part corresponent de programari que la dirigeix. Controlar i interactuar amb el maquinari és el propòsit del sistema operatiu i les aplicacions. Aquests, al seu torn, requereixen maquinari funcional per operar.
This symbiosis between hardware and software does not happen on its own. When the computer is first powered up, some initial setup is required. This role is assumed by the BIOS or UEFI, a piece of software embedded into the main board that runs automatically upon power-up. Its primary task is searching for software it can hand over control to. Usually, as you may have learned in
Secció 9.1, «Engegada del sistema», in the BIOS case, this involves looking for the first hard disk with a boot sector (also known as the
master boot record or
MBR), loading that boot sector, and running it. From then on, the BIOS is usually not involved (until the next boot). In the case of UEFI, the process involves scanning disks to find a dedicated EFI partition containing further EFI applications to execute.
El sector d'arrencada (o la partició EFI), al seu torn, conté una altra peça de programari, anomenada «bootloader» o “gestor d'arranc”, el propòsit del qual és trobar i executar un sistema operatiu. Com que aquest carregador d'arrencada no està incld a la placa mare sinó carregat des del disc, pot ser més “intel·ligent” que la BIOS, fet que explica per què la BIOS no carrega el sistema operatiu per si mateixa. Per exemple, el gestor d'arrencada (sovint GRUB en sistemes Linux) pot llistar els sistemes operatius disponibles i demanar a l'usuari que en triï un. Normalment es proporciona una opció predeterminada i un temps màxim per fer la tria. De vegades l'usuari també pot optar per afegir paràmetres per passar al nucli, i així successivament. Finalment, es troba un nucli, es carrega a memòria i s'executa.
La BIOS/UEFI també s'encarrega de detectar i inicialitzar diversos dispositius. Òbviament, això inclou els dispositius IDE/SATA (normalment discos durs) i unitats de CD/DVD-ROM), però també els dispositius PCI. Els dispositius detectats sovint es llisten a la pantalla durant el procés d'arrencada. Si aquesta llista passa massa ràpid, utilitzeu la tecla Pausa per congelar-la prou temps per llegir-ho. Els dispositius PCI instal·lats que no hi apareixen representa un mal auguri. En el pitjor dels casos, el dispositiu és defectuós. En el millor dels casos, és merament incompatible amb la versió actual de la BIOS o de la placa base. Les especificacions PCI evolucionen, i les plaques mare antigues no asseguren poder gestionar dispositius PCI més nous.
Tant la BIOS/UEFI com el gestor d'arrencada només s'executen durant uns pocs segons cadascuna; ara estem arribant a la primera peça de programari que s'executa durant un temps més llarg, el nucli del sistema operatiu. Aquest nucli assumeix el paper de director en una orquestra, i assegura la coordinació entre maquinari i programari. Aquest rol inclou diverses tasques: administrar el maquinari, gestionar processos, usuaris i permisos, el sistema de fitxers, etc. El nucli proporciona una base comuna a tots els altres programes del sistema.
Malgrat que tot el que passa fora del nucli es pot agrupar sota l'"espai d'usuari", encara es pot separar en capes de programari. No obstant això, les seves interaccions són més complexes que abans, i les classificacions poden no ser tan simples. Una aplicació utilitza habitualment biblioteques, que al seu torn impliquen el nucli, però les comunicacions també poden implicar altres programes, o fins i tot diferents biblioteques que es criden entre si.