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
Let us start with a basic reminder that a computer is, first and foremost, a set of hardware elements. There is generally a main board (known as the motherboard), with one (or more) processor(s), some RAM, device controllers, and extension slots for option boards (for other device controllers). Most noteworthy among these controllers are IDE (Parallel ATA), SCSI, and Serial ATA, for connecting to storage devices such as hard disks. Other controllers include USB, which is able to host a great variety of devices (ranging from webcams to thermometers, from keyboards to home automation systems) and IEEE 1394 (Firewire). These controllers often allow connecting several devices so the complete subsystem handled by a controller is therefore usually known as a “bus”. Option boards include graphics cards (into which monitor screens will be plugged), sound cards, network interface cards, and so on. Some main boards are pre-built with these features, and don't need option boards.
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.
Aquesta simbiosi entre maquinari i programari no es produeix per si sola. Quan l'ordinador s'engega per primera vegada es requereix una configuració inicial. Aquest rol és assumit per la BIOS o la UEFI, una peça de programari continguda a la placa mare que s'executa automàticament a l'engegada. La seva tasca principal és la cerca de programari al que pot passar el control. En general, tal com probablement heu après a
Secció 9.1, «Engegada del sistema», en el cas de la BIOS, això implica buscar el primer disc dur amb un sector d'arrencada (també conegut com el
master boot record,
MBR, o “registre mestre d'arrencada”), carregar aquest sector d'arrencada i executar-lo. A partir de llavors, la BIOS normalment no resta implicada (fins a la següent arrencada). En el cas de la UEFI, el procés implica l'escaneig de discs per trobar una partició EFI dedicada que contingui més aplicacions EFI per executar.
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.