Introducció al programari de base

Mai com ara no s’havia disposat de tanta informació ni d’un accés tan estès a aquesta, de manera que en molts casos fer el tractament d’aquest volum d’informació esdevé una tasca complexa. Una tasca que s’aconsegueix automatitzar i simplificar gràcies als sistemes informàtics.

Estructura i components d'un sistema informàtic

Vivim en un món i una societat envoltats d’informació, gairebé podríem definir la nostra era com l’era de la informació, de manera que ens cal poder desxifrar, triar i tractar tot aquest volum d’informació. Tant en la nostra vida quotidiana com en la professional tenim la necessitat de tractar importants quantitats de dades i de treballar-hi, de manera que en molts casos sense l’ajuda de la tecnologia tant de les màquines com dels programes que aquestes ens permeten utilitzar, i fins i tot d’altres persones, no seríem capaços de processar aquestes dades.

Com millor sigui la interrelació entre aquestes tres parts -màquines, programes i recursos humans-, millor i més eficaç serà el tractament que podrem fer de les dades que componen la informació que volem tractar.

La informació

No tota la informació és sempre del mateix tipus i tampoc s’ha manipulat ni es manipula de la mateixa manera. En tot procés de comunicació hi ha implicats tota una sèrie d’elements i s’utilitzen diversos procediments.

Podem definir la informació de diverses maneres:

  • La informació és el resultat de la manipulació de les dades, treballant-les i ordenant-les amb la finalitat de produir un coneixement.
  • La informació és tota forma de representació de fets, objectes, valors, idees, etc., que permet la comunicació entre persones i l’adquisició del coneixement de les coses.

Elements de la informació

Les dades són tot allò que forma la informació.

La informació està formada per dades, les quals són fets, objectes, que no han estat manipulats.

Les dades no són totes del mateix tipus. Si pensem en la nostra adreça postal (per exemple, C/ Muntaner, 100, 3r), podem comprovar que hi ha diferents tipus de caràcters.

Un caràcter és cada un dels símbols que forma part de la informació.

Podem classificar les dades segons els tipus següents:

  • Numèriques. Formades per nombres (0, 1,…, 9).
  • Alfabètiques. Formades per lletres (A, B,…, Z).
  • Alfanumèriques. Formades per tots els caràcters. Amb aquestes dades no es poden fer operacions matemàtiques.

Representació de la informació

Per a un ordinador totes les dades són nombres: les xifres, les lletres, qualsevol símbol, i fins i tot les instruccions són nombres. Això vol dir que qualsevol quantitat, frase o dada s’emmagatzema en forma de nombre o, més concretament, en forma de zeros i uns.

Obligat per la seva arquitectura, l’ordinador emmagatzema les dades utilitzant un sistema de numeració diferent del sistema decimal: el sistema binari.

Mesura de la informació

En el camp de la informàtica, per mesurar la informació, s’utilitza una unitat base i els seus múltiples. Prendrem com a primera unitat el bit (binary digit).

El bit és la unitat base de mesura de la informació, que indica la quantitat mínima que forma la informació. Es representa mitjançant dos símbols, 0 i 1, anomenats bits.

Amb un sol bit només es pot emmagatzemar un 0 o bé un 1. Aquesta opció dóna 21 combinacions possibles.

Un grup de 8 bits s’anomena byte. També es coneix amb el nom d’octet.

Amb un byte (8 bits) es pot emmagatzemar un símbol de 256 (28) combinacions possibles.

Fa alguns anys, aquesta unitat era suficient per mesurar la quantitat d’informació que hi havia en aquells moments, però avui resulta massa petita per als grans volums d’informació que es manipula i s’utilitzen prefixos per anomenar als múltiples del byte. S’utilitzen prefixos del SI o bé els prefixos binaris (IEC 60027-2).

El SI és un sistema internacional de mesura. Utilitza potències amb base 10.

En la pràctica popular, els prefixos binaris corresponen a nombres similars als factors indicats en el SI. Els primers són potències amb base 2, mentre que els prefixos del SI són potències amb base 10. Aquesta diferència pot donar lloc a confusió a l’hora de mesurar quantitats de dades. Per tal d’evitar-ho, l’any 1998 la IEC va desenvolupar un estàndard on es varen definir unitats per a aquests prefixos binaris. A la taula podeu comparar tots dos sistemes de mesura de múltiples de bytes.

Taula: Múltiples de bytes del SI i de la IEC
Prefix del SI (SI) Prefix binari (IEC 60027-2)
kilobyte kB 103 bytes kibibyte KiB 210 bytes
megabyte MB 106 bytes mebibyte MiB 220 bytes
gigabyte GB 109 bytes gibibyte GiB 230 bytes
terabyte TB 1012 bytes tebibyte TiB 240 bytes
petabyte PB 1015 bytes pebibyte PiB 250 bytes

En el món informàtic, el qual ja s’ha estès cap a la vida quotidiana, és molt habitual utilitzar els prefixos del SI quan realment haurien de fer servir els prefixos de la IEC. Per exemple, ens podem trobar especificacions tècniques que parlen de GB (gigabytes) quan realment haurien de dir GiB (gibibytes). Això passa perquè són prefixos de mesura molt similars. Fixeu-vos que 1 megabyte (1 MB) equival a 1.000.000 de bytes (106), i 1 mebibyte (1 MiB) equival a 1.048.576 bytes (220).

A mida que els prefixos augmenten (Gibi, Tebi,…), també s’incrementa la diferència entre tots dos sistemes. Així doncs cal parar atenció a la utilització correcta de les unitats.

La capacitat d’emmagatzematge és el camp d’aplicació habitual dels prefixos binaris i de les mesures informàtiques a partir del byte. En el camp de les mesures de les velocitats de les comunicacions és més comuna la utilització de prefixos del SI i d’unitats a partir del bit. Així doncs us podeu trobar amb la velocitat d’una xarxa indicada a 100 megabits per segon (100 Mbps).

Codificació de la informació

La conversió de les dades que es volen emmagatzemar a un determinat codi es coneix com a codificació.

La nostra manera natural de codificar nombres és amb el codi de xifres aràbigues, on representem les quantitats numèriques amb 10 xifres, del 0 al 9.

Per a la representació de nombres és habitual la utilització de codis numèrics. Les codificacions que s’utilitzen en el camp de la informàtica són:

  • codificació binària. Utilitza 1 bit per xifra. Cada xifra pot valer: 0 o 1.
  • codificació octal. Utilitza 3 bits per xifra. Cada xifra pot valer: 0, 1, 2, 3, 4, 5, 6, 7.
  • codificació hexadecimal. Cada xifra ocupa 4 bits. Cada xifra pot valer: 0, 1, 2, 3, 4, 5, 6, 7 ,8 ,9, A, B, C, D, E, F.

Aquestes codificacions són múltiples de 2, i es fan servir perquè els ordinadors, internament, realitzen els càlculs matemàtics amb aritmètica binària.

La codificació hexadecimal és la que més habitualment s’utilitza ja que fa que els valors numèrics quedin amb el menor nombre de xifres de totes tres codificacions. Per exemple, l’adreça MAC d’una targeta de xarxa es codifica amb sis nombres hexadecimals, per exemple 00:16:0a:1c:7b:34. Si l’escrivíssim utilitzant sis nombres binaris tindríem 00000000:00010110:00001010:00011100:01111011:00110100.

ASCII: american standard code for information (codi estàndard americà per a l’intercanvi d’informació)

Quan les dades a codificar són caràcters alfabètics o alfanumèrics s’utilitzen codis que admeten la representació de més símbols. Algunes codificacions habituals són:

  • codificació ASCII. Utilitza 7 bits per caràcter. Permet la representació de 128 símbols diferents. També es coneix com a codificació ISO/IEC 8859.
  • codificació ASCII estesa. Utilitza 8 bits per caràcter. Permet 256 símbols. Hi ha diverses extensions de l’ASCII en funció dels símbols que ha de representar.
  • codificació Unicode. Té tres formes de codificació, on pot utilitzar 8, 16 o 32 bits (UTF-8, UTF-16 i UTF-32). Actualment té definits més de 50.000 símbols. Aquesta codificació unifica alfabets, ideogrames i d’altres formes d’escriptura.

També hi ha d’altres codificacions de 8 bits força utilitzades que ens podem trobar, com les definides per l’ISO (un exemple n’és la ISO 8859-1 d’abast europeu) i per Microsoft utilitzades en els seus sistemes operatius (per exemple la codificació Windows-1250 per als sistemes llatins).

Hi ha sistemes operatius que a l’hora d’instal·lar-los ens demanen amb quina codificació es vol treballar ja que pot haver-hi diverses possibilitats totes vàlides. Als sistemes Linux, per exemple, se’ns pot donar a triar d’entre La ISO 8859-1, o la ISO 8859-15 la qual afegeix el símbol de l’euro a la ISO 8859-1.

Tractament de la informació

La informació ha estat manipulada i tractada de diferents maneres, segons el moment històric i els avenços tecnològics que hi ha hagut en cada època.

Podem definir el tractament de la informació com el conjunt d’operacions que s’han d’efectuar sobre les dades que componen la informació.

En tot procés de tractament de la informació es considera que hi ha unes dades d’entrada i unes dades de sortida. Tal com es pot observar en la taula, quan es processa la informació es diferencien tres operacions: entrada, procés i sortida.

Taula: Operacions amb la informació
Operacions Funcions
Entrada Recollida de la informació
Depuració de les dades
Emmagatzematge de les dades
Procés Aritmètic
Lògic
Sortida Recollida dels resultats
Distribució de la informació

Els suports són elements materials utilitzats per guardar informació.

El tractament automàtic de la informació neix al voltant dels anys quaranta quan surten al mercat les màquines automàtiques, que tracten la informació sense la participació de les persones.

En el moment en què es comença a utilitzar el concepte de tractament automàtic de la informació, també es comença a utilitzar el terme informàtica.

La informàtica

Davant del repte de realitzar un tractament sobre un gran volum d’informació, i la necessitat d’eines que facilitin aquesta tasca, apareix la informàtica.

El terme informàtica va aparèixer a França l’any 1962 sota la denominació d’informatique. Aquesta paraula té el seu origen en les paraules:

INFORmation autoMATIQUE

Posteriorment, va ser acceptada per tots els països europeus; a Espanya el 1968 amb el nom d’informàtica. En els països de parla anglesa es coneix com a computer science.

El terme computer science fa referència a la ciència dels ordinadors o dels computadors.

Podem definir la informàtica com la ciència que estudia el tractament automàtic i racional de la informació.

Dintre del concepte d’informàtica, podem trobar tota una sèrie de tasques que es poden fer i que podem englobar en aquest concepte, d’entre les quals podem citar les següents:

  • El desenvolupament i la millora de noves màquines, és a dir, de nous ordinadors, i dels elements que hi estan relacionats.
  • El desenvolupament i la millora de nous mètodes automàtics de treball, que en informàtica es basen en l’anomenat sistema operatiu (SO).
  • Construcció d’aplicacions informàtiques, conegudes amb el nom de programes o paquets informàtics.

Sistema informàtic

La finalitat d’un sistema informàtic és aconseguir el millor tractament automàtic possible de la informació. En aquesta tasca hi intervenen tres elements principals.

Un sistema informàtic està format per un conjunt d’elements interrelacionats: maquinari, programari i recursos humans.

Cal involucrar tots els elements que hi intervenen combinant-los de la millor manera possible si es tracta d’optimitzar el processament de les vostres dades. Cal determinar quin és el programari que s’ajusta millor a la vostra màquina i cal veure quins són els programes adequats per al tractament que voleu de les vostres dades, i al mateix temps cal que la persona que utilitza la màquina i el programari en conegui el funcionament. De la bona relació entre aquests tres elements sorgirà un bon tractament de la informació.

En funció del volum d’informació amb què s’haurà de treballar, un sistema pot estar format per un sol ordinador amb el programari corresponent i l’usuari de la màquina, o bé pot estar format per moltes màquines connectades entre elles que utilitzen una gran diversitat de programari i un nombre elevat de persones treballant-hi. Fins i tot, si el volum de la informació a tractar és molt gran, pot ser que diversos sistemes informàtics estiguin interconnectats i treballin plegats.

Recursos humans

L’element humà és el més important dels que formen part d’un sistema informàtic. Sense les persones que estan al càrrec de la informàtica, no hi hauria la part física ni la part lògica.

Des del moment en què el sistema informàtic es converteix en una estructura gran, això implica un determinat nombre de persones que treballen i, per tant, una estructura definida i una distribució de les tasques i responsabilitats com també una bona administració dels recursos humans. Aquesta estructura està formada per les parts següents:

El terme ofimàtica fa referència a la utilització de la informàtica en els departaments de gestió administrativa de l’empresa.

  • Usuari: persona que utilitza la informàtica com a eina per desenvolupar el seu treball o ajudar-se en una activitat. Cal tenir uns coneixements informàtics bàsics, i, particularment, posseir uns grans coneixements sobre el funcionament de l’aplicació informàtica que està utilitzant, com, per exemple, l’usuari d’aplicacions ofimàtiques.
  • Personal informàtic: conjunt de persones que desenvolupen diferents funcions relacionades amb la utilització dels ordinadors en una empresa. Controlen i manipulen les màquines perquè donin el servei adequat a aquelles persones que necessiten utilitzar la informàtica per a les seves necessitats com a usuaris. El personal informàtic es pot classificar en els grups següents:
    • Direcció. Entre d’altres funcions, té la de coordinar i dirigir la part informàtica o algunes de les seves àrees (un departament, una àrea de programació, una àrea d’anàlisi, etc.).
    • Anàlisi. El personal que pertany a aquest grup són els responsables d’intentar trobar solucions o millores informàtiques als problemes que es plantegin.
    • Programació. Tradueixen a llenguatge de programació les solucions proposades pels analistes. La seva funció també és la de fer la traducció de les diferents accions al llenguatge natiu de la màquina (llenguatge màquina). Per provar-lo utilitzen jocs d’assaigs que són proposats pels mateixos analistes.
    • Explotació. Són els responsables d’executar els programes o les aplicacions que hi ha i de comprovar el funcionament dels equips i dels sistemes que hi ha.
    • Operadors. S’encarreguen del funcionament, l’execució i els processos directes del sistema, la preparació dels suports, els perifèrics i el material informàtic.

Programari

Els llenguatges de programació són un conjunt de regles o normes que fixen la sintaxi que cal utilitzar per donar ordres a un ordinador (exemples: el llenguatge C, Cobol, etc.).

El programari és la part que permet tant als usuaris com al personal informàtic interaccionar amb la màquina i aconseguir així un bon tractament de les dades i de la informació, que és la finalitat de tot sistema informàtic. Aquesta part del sistema informàtic també es coneix a vegades com a part lògica a causa del seu caràcter intangible. En anglès, i moltes vegades per extensió també en altres països, es coneix com a software.

Programari (software)

El programari és aquell component que es pot utilitzar en el món informàtic que no té existència física i que per tant no podem veure ni tocar; és a dir, el conjunt de:

  • Idees.
  • Dades o informacions.
  • Accions.

Aquesta part lògica té el seu origen en les idees (conceptes) i està composta per tot allò que fem servir en el camp de la informàtica que no podem veure ni tocar (els jocs d’ordinador, els programes de comptabilitat, els sistemes operatius, etc.).

No tots els elements lògics fan les mateixes funcions, per la qual cosa els podem classificar en:

  • Programari bàsic: és el conjunt de programes que l’equip físic necessita per tenir capacitat de treballar. Aquests configuren el que s’anomena en un sistema informàtic el sistema operatiu (per exemple, Unix, Linux, etc.).
  • Programari d’aplicació: són els programes que fan que l’ordinador desenvolupi una determinada tasca (per exemple, els jocs, els programes de gestió comercial, els programes de gestió de nòmines, etc.).

Maquinari

En un sistema informàtic destinat a tractar un nombre elevat d’informació, a banda de l’element humà i del programari, el tercer element important és el maquinari. El maquinari és tot element físic, material, del sistema informàtic com pot ser un ordinador, un teclat, una pantalla, suports d’emmagatzematge, cables de connexió i un llarg etcètera.

Dins d’aquest conjunt considerable d’elements físics que conformen una part important del sistema informàtic hi ha un element que sobresurt per damunt de la resta per la seva importància que és l’ordinador. La importància d’aquest element del maquinari rau en el fet que és l’eina que, amb l’ajuda del programari, permet dur a terme el tractament automàtic de la informació.

Un ordinador és un aparell o element físic que permet manipular dades seguint una llista d’instruccions.

El conjunt d’accions que s’ordenen i que executa un ordinador es coneix amb el nom de programa.

En general, un programa és un conjunt d’accions que s’han de fer seguint un ordre determinat per resoldre un determinat problema.

Lligat al concepte de programa tenim el d’aplicació informàtica.

Una aplicació informàtica és un conjunt d’un o més programes per realitzar un determinat treball en un sistema informàtic.

Aleshores un ordinador està format bàsicament per dues parts ben diferenciades: la part del maquinari (hardware) i la part del programari (software). Segons l’estructura de maquinari de Von Neumann, un ordinador consta de quatre seccions principals:

  • La unitat aritmeticològica (en anglès, arithmetic logic unit o ALU)
  • La unitat de control
  • La memòria central
  • Els dispositius d’entrada i sortida (E/S).

Aquestes quatre parts estan interconnectades mitjançant una sèrie de connexions de conductors anomenats busos.

La memòria és un conjunt de cel·les numerades d’emmagatzematge, en què cada una correspon a un bit o unitat d’informació. En general, aquest tipus de memòria és la que es pot reescriure milions de vegades i que, per tant, rep el nom de memòria RAM (de l’anglès random access memory).

CPU

És el component del computador que interpreta les instruccions que hi ha en els programes i processa les dades. És un dels components essencials d’una computadora juntament amb la memòria principal i els dispositius d’entrada i sortida.

La unitat de control, la unitat aritmeticològica i els registres formen el conjunt que es coneix com a CPU (sigles de l’anglès central processing unit, unitat central de processament). La unitat de control llegeix i interpreta les instruccions del programa una a una i les converteix en una sèrie de senyals de control que fan les altres parts de l’ordinador.

L’ALU té la capacitat de fer dos tipus d’operacions: aritmètiques i lògiques. El conjunt d’operacions aritmètiques que pot fer aquesta unitat pot ser divers, anant des de sumes i restes, passant per multiplicacions i divisions i arribant fins a arrels quadrades i funcions trigonomètriques. Les operacions lògiques que sempre retornen un 0 o bé un 1 corresponen a comparacions i a altres operacions lògiques com AND, OR, XOR, XNOT, etc.

Les diferents parts principals de l’ordinador estan situades i interconnectades entre elles en l’element conegut com a placa mare dins de l’ordinador. Podríem dir que la placa mare és el component que agrupa tota la resta i que permet que es puguin comunicar entre elles.

En una placa mare típica podem trobar el microprocessador, la memòria principal i també altres components com l’emmagatzematge extern i els controladors de vídeo i so. També s’hi poden afegir altres elements com a targetes d’expansió amb protocols com el PCI o bé mitjançant cables, tot i que cada vegada és més habitual que alguns d’aquests dispositius ja estiguin integrats directament a la placa com és el cas dels controladors de vídeo i so, el de xarxa Ethernet, els ports USB, etc.

En un ordinador personal típic, aquesta placa mare s’allotja dins de la torre juntament amb la font d’alimentació i alguns dispositius d’emmagatzematge o d’entrada i sortida com ara els discos durs o els CD o DVD.

La funció dels dispositius d’entrada i sortida en un ordinador és obtenir informació del món exterior i també comunicar els resultats obtinguts per l’ordinador a l’exterior. Hi ha un ventall molt extens de dispositius d’entrada i sortida, com el teclat, ratolí, pantalla, impressora, unitats de disc, càmeres web, etc., tots agrupats sota el nom de perifèrics.

Perifèrics

Generalment, els perifèrics es poden trobar fora de la caixa o torre de l’ordinador, tot i que en alguns casos com en els ordinadors portàtils poden estar integrats dins de la mateixa màquina, com és el cas del teclat, ratolí, pantalla, càmera web, etc. Per tant, podríem dir que el concepte de perifèric fa referència no tant a la posició física d’un component determinat com a la seva situació lògica o de connectivitat respecte al bus o connexió principal del sistema. Podríem dir que tot allò que no sigui la CPU, la memòria principal, la memòria secundària, com per exemple el disc dur, i el bus o connexió del sistema es considera perifèric. Podríem descriure un perifèric de la manera següent:

Entenem per perifèrics el conjunt de dispositius que, sense pertànyer al nucli fonamental de l’ordinador, format bàsicament per la CPU i la memòria principal més la secundària, permeten fer allò que coneixem com a operacions d’entrada i sortida (E/S), complementàries al procés de treball amb les dades que du a terme la CPU.

Un cop hem vist què entenem per perifèrics i quina és la seva funció dins del sistema informàtic, els classificarem aquests perifèrics tenint en compte una sèrie de criteris:

Segons la funció que tinguin els perifèrics els dividim en:

  • Perifèrics d’entrada. La seva funció és l’entrada de dades des de l’exterior fins a la memòria principal de l’ordinador (per exemple, el teclat, el ratolí, l’escàner, etc.).
  • Perifèrics de sortida. La tasca d’aquests dispositius és la de treure les dades de la memòria principal a l’exterior (per exemple, el monitor, les impressores, el plòter, etc.).
  • Perifèrics d’entrada/sortida. Són els dispositius que tenen la capacitat de poder fer les dues funcions anteriors, en una mateixa màquina (per exemple, les unitats de discos magnètics, les unitats de cintes magnètiques, etc.).
  • Perifèrics d’emmagatzematge. Són els dispositius que guarden dades i informació permanentment a diferència de la memòria RAM que s’esborra al tancar l’ordinador i per tant, és volàtil i temporal.
  • Perifèrics de comunicació. Són aquells perifèrics que s’encarreguen de comunicar-se amb altres màquines ja sigui per treballar conjuntament o bé per a enviar o rebre informació.

Els perifèrics no són fàcils ni còmodes d’utilitzar per als processos. D’altra banda, aquests no necessiten conèixer les característiques dels perifèrics, només els intercanvis de dades. Per tant, aquests detalls han d’estar amagats i així les operacions d’entrada/sortida seran independents del tipus i model del dispositiu. Generalment els perifèrics es troben fora de l’ordinador, encara que alguns (com per exemple, la targeta de so) són dins de l’ordinador. La transferència d’informació entre el processador i els perifèrics es fa a través del camí: processador, controlador, bus extern, interfíciei perifèric. En la figura teniu un esquema de l’operació d’entrada/sortida.

Figura Esquema de l’operació d’entrada-sortida

Adaptadors per a la connexió de dispositius

Els ordinadors no serien gaire útils sense els perifèrics que permeten l’aportació de dades i la recuperació del tractament d’aquestes. Hi ha molts tipus de perifèrics segons el tipus de dades que transmeten i, per tant, perquè el vostre ordinador pugui treballar amb dades, cal que hi pugueu connectar aquests perifèrics. Cal distingir entre la connexió física del perifèric a l’ordinador i la transmissió posterior de les dades fins a arribar al processador o bé el camí invers.

Com que hi ha una gran diversitat de perifèrics, també teniu una gran diversitat de connexions físiques d’aquests amb l’ordinador. Aquestes connexions són les que s’anomenen adaptadors.

Una vegada heu connectat físicament el perifèric amb l’ordinador mitjançant l’adaptador, cal que les dades es transmetin fins a la CPU: això es produeix per mitjà dels busos o dispositius de connexió.

Quan els dispositius són prou complexos, entre el dispositiu i la CPU cal afegir un maquinari anomenat controlador. Aquests controladors contenen l’estat del dispositiu, el controlen i comproven les dades que s’han transferit.

Finalment, perquè la comunicació entre el perifèric i el processador sigui possible, a banda de la connexió física també són necessaris uns components de programari, els anomenats drivers (o programes controladors), que es troben situats dins del nucli del sistema operatiu destinats a controlar i gestionar cada perifèric.

Drivers

Els drivers consten d’un programari i una sèrie d’informacions tècniques característiques del mateix dispositiu al qual estan associats, de manera que la finalitat d’aquest conjunt de programes és poder gestionar cada un dels diferents perifèrics.

Un driver consta d’un conjunt de programes i taules d’informació que formen part del nucli del sistema operatiu, i la seva finalitat és executar i controlar totes les operacions d’entrada i sortida sobre qualsevol perifèric que hi hagi connectat a l’ordinador.

Aquest programari se situa dins del nucli mateix del sistema operatiu i, per tant, és diferent segons el sistema operatiu en què treballeu. Generalment, aquests drivers els proporciona el fabricant del perifèric, ja que hi ha d’haver un driver per cada perifèric i per a cada sistema operatiu. Els fabricants de drivers acostumen a proporcionar els drivers corresponents als sistemes operatius propietaris, de pagament, i no acostumen a proporcionar els drivers corresponents per als sistemes operatius de codi lliure. Aquest punt és un problema per a aquests sistemes operatius, ja que cal aconseguir els drivers per altres vies que no són el fabricant i a vegades són drivers programats per usuaris d’aquests sistemes i no sempre amb les mateixes prestacions que els del fabricant. Tot i això, en aquest sentit es van produint avenços, i alguns fabricants comencen a proporcionar drivers per a tots els sistemes operatius.

Dispositius de comunicació. Busos

Els diferents perifèrics s’han de poder comunicar amb la CPU i intercanviar-hi dades. Aquest flux d’informació transcorre per mitjà dels dispositius de connexió o el que es coneix com a busos. Aquests busos no són més que un conjunt de cables o de pistes en un circuit integrat pels quals es transmeten dades en forma d’impulsos elèctrics.

Un bus de connexió és el conjunt de circuits encarregats de la connexió i de la comunicació entre la CPU i la resta d’elements de l’ordinador. Un bus és un conjunt de cables conductors o pistes d’un circuit imprès que proporcionen un camí per al flux d’informació, en forma d’impulsos elèctrics, entre els diferents elements que formen l’ordinador.

Per cada pista o cable circula 1 bit d’informació. Aleshores, un conjunt o un bloc de bits es pot transmetre un bit darrere l’altre pel mateix cable en el que es coneix com a transmissió en sèrie, o bé es pot transmetre per diferents cables a la vegada en el que es coneix com a transmissió en paral·lel. Aleshores tenim dos sistemes de transmissió de dades per un bus:

  • En paral·lel. Aquests sistemes permeten transmetre diversos bits simultàniament per diversos fils (com, per exemple, els busos FSB, ISA, ATA, SCSI, PCI, etc.). Dintre dels busos en paral·lel hi ha amplades de bus diferents (normalment de 8, 16, 32 i, actualment, 64 bits de transmissió paral·lela).
  • En sèrie. Transmeten un bit darrere l’altre, seqüencialment. En són exemples els busos USB, FireWire, Serial ATA, PCI Express, etc.

Tradicionalment, els busos eren en paral·lel i estaven lligats a la freqüència del rellotge del bus. Actualment, s’estan fent busos en sèrie molt ràpids aprofitant les seves característiques elèctriques i gràcies al fet que aquests busos no estan lligats al rellotge.

Moltes vegades, en fer referència als busos, no solament s’inclouen en el concepte els canals o línies de transmissió, sinó que també s’hi associen les ranures, slots o connectors finals que permeten comunicar els diferents elements del sistema amb la placa base.

Adaptadors

Heu de considerar que un adaptador és un dispositiu que permet connectar un perifèric a l’ordinador. Entenem per dispositiu l’element físic que permet la connexió del perifèric, però no la continuació en forma de bus de dades fins a la CPU. Aleshores els adaptadors tenen la finalitat d’acoblar el perifèric a l’ordinador, fan de connexió entre el perifèric i el bus que ha de traslladar les dades fins a la CPU.

En alguns perifèrics complexos com, per exemple, per a la reproducció del so, es requereix l’ús d’un controlador entre el perifèric -en aquest cas, per exemple, uns altaveus- i la CPU de l’ordinador, ja que la reproducció del so permet múltiples opcions que estan regulades pel controlador: per exemple, modificar el volum, controlar els greus, afegir efectes a la reproducció del so, etc. La utilització dels controladors coneguts com a targetes controladores fa que en aquests casos es necessitin dos adaptadors, un per connectar la targeta a la placa, i un altre per connectar el dispositiu a la targeta controladora. És a dir, la targeta controladora es col·loca entre el perifèric i la CPU, de manera que necessita una connexió entre el perifèric i la targeta, i una connexió d’aquesta a la placa mare perquè les dades puguin transcórrer entre el perifèric i la CPU.

A més de les targetes controladores, també hi ha targetes per ampliar les capacitats de l’ordinador com, per exemple, targetes amb connexions USB, targetes amb ports, targetes capturadores de vídeo, etc. Com en el cas de les targetes controladores, les targetes que amplien la funcionalitat dels ordinadors necessiten uns adaptadors per poder-les connectar a la placa. Una vegada connectades a la placa, aquestes targetes ofereixen més funcionalitats a l’ordinador i més adaptadors dels que ja incorpora la mateixa placa mare. Els dos tipus de targetes, les controladores i les que amplien les funcionalitats, es coneixen amb el nom de targetes d’expansió.

Xarxes

Fent una ullada a la història podríem veure que des de l’any 1833, en què gràcies a Samuel Morse va aparèixer el telègraf, l’evolució que han patit les xarxes de comunicació ha estat molt gran. En primer lloc, es van desenvolupar tota una sèrie de xarxes dedicades a la transmissió d’informació telegràfica i posteriorment es va seguir el mateix procés amb les xarxes telefòniques.

El telèfon fou patentat cap allà l’any 1876 per Alexander Graham Bell.

Però aquest panorama va canviar substancialment amb l’aparició de l’ordinador cap allà als anys 1940, ja que aleshores va aparèixer la necessitat de comunicar els computadors entre ells; aquest fet va permetre el desenvolupament de xarxes de comunicació especialitzades en la comunicació entre ordinadors. Durant aquest període de temps, s’ha desenvolupat una gran quantitat de tecnologies i tipus de xarxes per a la transmissió cada cop més eficient, ràpida i econòmica.

Davant d’aquesta diversitat de tipus de xarxes, podríem definir una xarxa informàtica així:

Una xarxa informàtica és un grup d’ordinadors interconnectats amb la finalitat d’intercanviar dades o bé de compartir recursos.

Com a resultat d’aquesta evolució, en l’actualitat conviu una gran quantitat de tipus de xarxes. Un exemple important de xarxa tant per la seva dimensió com per la seva evolució ràpida i complexa és la xarxa d’Internet.

Tipus de xarxes

Són moltes les connexions entre ordinadors que es poden fer, hi ha moltes opcions i possibilitats, depenent de la finalitat o de la mida de la xarxa, pot ser petita o molt gran, en funció de la distància entre els ordinadors que pot arribar a diversos països, de si hi ha jerarquia entre les diferents màquines, etc. Cada una d’aquestes opcions determinarà un tipus diferent de xarxa. Les necessitats de treball amb la informació i la disponibilitat de recursos determinaran en gran mesura quin és el tipus de xarxa que s’haurà de crear. Cal esmentar el fet que un mateix ordinador pot arribar a pertànyer a diverses xarxes alhora.

Tipus de xarxes segons l'abast

L’àrea que controla una xarxa pot ser molt diversa, pot ser des d’uns pocs metres fins a assolir distàncies entre països, de manera que tindreu diferents xarxes segons sigui l’amplitud de la distància a què es troben els diferents ordinadors que s’han de connectar. En funció de la necessitat de l’abast de la xarxa, podreu tenir diversos tipus de xarxes, com ara una Xarxa d’àrea personal (PAN, personal area network), una Xarxa d’àrea local (LAN, local area network), Xarxa d’àrea metropolitana (MAN, metropolitan area network) o bé una Xarxa d’àrea estesa (WAN, wide area network).

Tipus de xarxes segons el mètode de connexió

Una classificació de les xarxes segons el mètode de connexió consisteix a dividir-les bàsicament en dos tipus:

  • Xarxes guiades. Aquestes xarxes utilitzen uns mètodes de connexió que es coneixen com a guiats. Aquests mètodes consisteixen en la utilització de cables físics per connectar les diferents màquines que componen la xarxa. Els tipus de cables que s’utilitzen poden ser diversos: cable coaxial, fibra òptica, etc.
  • Xarxes no guiades. Com el seu nom indica, aquestes xarxes utilitzen mètodes de connexió que es coneixen com a no guiats, és a dir, els mètodes sense fil o wireless en anglès. Aquestes connexions entre els ordinadors poden ser de diversos tipus segons el tipus d’ones que utilitzin: ones de ràdio, infrarojos, microones, etc.

Tipus de xarxes segons la funcionalitat

Les xarxes també es poden classificar segons el tipus de relació que s’estableix entre les diferents màquines que la formen, aquesta relació pot ser bàsicament de dos tipus: client-servidor o bé d’igual a igual, que es coneix com a P2P o peer-to-peer.

La primera de les dues formes, la client-servidor, estableix una jerarquia entre els ordinadors, i en una definició més acurada podríem dir:

En informàtica s’anomena arquitectura de xarxa client-servidor la relació que s’estableix entre dos ordinadors, en la qual el servidor ofereix un recurs de qualsevol tipus a l’altre, el client, perquè en tregui algun profit o avantatge. Generalment, d’un servidor se’n beneficien diversos o molts clients.

El segon tipus de xarxa correspondria a la situació d’igual a igual, sense jerarquia entre les màquines connectades a la xarxa. La definició podria ser:

Les xarxes d’igual a igual defineixen un sistema de comunicació que no té clients ni servidors fixos, sinó una sèrie de màquines que es comporten alhora com a clients i com a servidors de les altres màquines de la xarxa. En aquest sistema les dades es transmeten per mitjà d’una xarxa dinàmica.

Exemples d’aplicacions que utilitzen xarxes d’igual a igual: BitTorrent, eDonkey, etc.

Tipus de xarxes segons la topologia

Quan parlem de connectar diversos ordinadors entre ells per formar una xarxa, aleshores apareix la topologia.

Es coneix com a topologia de la xarxa el tipus d’enllaç o cablejat que interconnecta els diferents ordinadors de la xarxa. Aleshores, atenent al tipus d’interconnexió, un ordinador de la xarxa pot tenir enllaços amb un o més dels altres ordinadors.

Hi ha diverses topologies o estructures de connexions entre les màquines d’una xarxa. Tot seguit veurem un recull de les més importants:

Protocols

Aquests estableixen una descripció de com han de ser els missatges per poder ser intercanviats pels diferents equips. També estableixen les regles que han de seguir per aconseguir-ho.

  • Xarxa en anell. La xarxa en forma d’anell és una topologia en què cada node o ordinador de la xarxa té una única connexió d’entrada i una de sortida, cada node o ordinador es connecta amb el següent fins que al final l’últim es connecta amb el primer.
  • Xarxa en anell doble. Una xarxa en anell doble correspon a una xarxa d’àrea local (fent referència al seu abast), en la qual els ordinadors o nodes estan connectats en un circuit doble tancat o d’anell.
  • Xarxa en estrella. De la interconnexió dels ordinadors en forma d’estrella, cal destacar que tots els nodes o màquines estan connectats a un node central o concentrador (hub) mitjançant enllaços punt a punt, de manera que aquest node central actua d’encaminador per transmetre els missatges entre les màquines. Aquest tipus d’interconnexió és fàcil d’implementar, fins i tot en xarxes grans, acostuma a ser econòmica i una fallada d’una màquina no afecta la resta.
  • Xarxa en bus. Aquesta tipologia de xarxa és aquella en què tots els nodes o ordinadors estan connectats a un mitjà de comunicació comú bidireccional que es coneix com a bus, on es troben ben definits els punts de terminació.
  • Xarxa d’arbre. La xarxa en forma d’arbre o jeràrquica és una xarxa en què cada node pot estar connectat a un node superior i del qual poden penjar diversos nodes inferiors formant un arbre. Aquesta topologia és com una sèrie de xarxes en estrella connectades entre elles de manera que no hi ha un node central en tot l’arbre. En canvi sí que hi ha un node d’enllaç troncal que acostuma a ser un concentrador o un switch des del qual es ramifica la resta de nodes.
  • Xarxa en malla. La xarxa en forma de malla és aquella en què cada node està connectat amb un o més nodes; d’aquesta manera quan s’ha d’enviar un missatge entre dos nodes es pot triar, d’entre diverses rutes, la més adequada. Actualment aquestes xarxes són recomanables per a instal·lacions sense fil o wireless.

Finalment, pel què fa al tipus de xarxes segons la interconnexió, cal que tingueu en compte que hi ha la possibilitat que una determinada xarxa estigui formada per una combinació de més d’un dels models anteriors. No sempre són xarxes unisistema. Així, per exemple, us podeu trobar amb una xarxa amb estructura bus-estrella, etc.

Tipus de xarxes segons la direccionalitat de les dades

Ara farem una classificació de diferents tipus de xarxes atenent a com es transmeten les dades dins de la xarxa. No a com estan interconnectats els ordinadors en la xarxa ni a com són les dades que es transmeten, sinó a com es transmeten. Així, bàsicament tenim tres tipus de transmissió de les dades:

  • Simplex (unidireccional). En aquest tipus de transmissió de les dades, simplement hi ha un ordinador dins de la xarxa que transmet les dades, i un altre ordinador que les rep. Un exemple pot ser la transmissió d’àudio o de vídeo per Internet, que en terminologia anglesa es coneix com a streaming.
  • Half-duplex o semidúplex (bidireccional). És un tipus de transmissió en què en un instant determinat, cada equip bé rep dades, bé en transmet.
  • Full-duplex o dúplex (bidireccional). Aquest és el cas de transmissió de dades per una xarxa en el qual tots dos ordinadors poden enviar i transmetre a la vegada; és el cas, per exemple, d’una videoconferència.

Cablatge i connectors

Bàsicament hi ha dos tipus de xarxa depenent del mètode escollit per connectar els ordinadors entre ells: el mètode de cables i el mètode sense cables o sense fil. Tot i la proliferació recent de les xarxes que utilitzen les ones per interconnectar les màquines, les xarxes amb fil continuen tenint la seva vigència i importància, de manera que moltes de les xarxes que es continuen muntant són xarxes que utilitzen cables.

A l’hora de muntar una xarxa d’ordinadors amb cable, cal que tingueu en compte quines són les diferents possibilitats a l’hora de fer físicament aquesta interconnexió. Una vegada decidit o establert quina serà la topologia de la xarxa pel què fa a l’estructura de la connexió entre els diferents ordinadors que la componen (anell, malla, etc.), caldrà que decidiu quin tipus de cable s’utilitzarà per fer les connexions i també quins seran els connectors que permetran connectar aquests cables amb els diferents elements que configuraran físicament la xarxa (targetes de xarxa, rosetes, concentrador, switch, etc.).

Per tant, a l’hora de fer la connexió física en el muntatge de la xarxa hi ha dos elements importants que heu de tenir en compte: els cables i els connectors. En funció dels paràmetres de la xarxa (com la velocitat en la transmissió de les dades, la distància, etc.) escollireu un determinat tipus de cable, i en funció de quins elements físics conformin la vostra xarxa (com el tipus de targetes de xarxa que incorporin les vostres màquines, els tipus d’encaminadors que utilitzareu) haureu d’escollir els tipus de connectors adequats per poder connectar el cable que heu escollit amb aquests components.

Trobareu una descripció més detallada de cada tipus de cables i connectors als annexos de la unitat.

Els cables més habituals amb els quals us podreu trobar són els de parells trenats, coaxials i de fibra òptica, cada un d’ells amb els determinats connectors corresponents.

Models OSI i TCP/IP

Cap allà als anys setanta, l’organisme de normalització ISO va dissenyar un model de referència amb l’objectiu de facilitar el desenvolupament d’estàndards de xarxes de computadores. El model s’anomenà interconnexió de sistemes oberts (open system interconnection, OSI). La idea del sistema obert és permetre el desenvolupament de protocols que permetin interconnectar sistemes desenvolupats per diferents fabricants.

El model OSI divideix el conjunt de protocols que formen part d’una xarxa d’ordinadors en set nivells, cada un independent del altres i amb unes funcions específiques. La terminologia introduïda en aquest model de referència s’ha convertit en un llenguatge comú en el context de les xarxes d’ordinadors. En el model OSI cada nivell és independent, ofereix serveis al nivell superior i fa servir el nivell inferior (excepte el nivell físic) per implementar els seus serveis.

El model que segueix la xarxa Internet és el model conegut com a TCP/IP. És un model desenvolupat abans del model OSI, a més a més el desenvolupament de TCP/IP va seguir una evolució més “pragmàtica” que l’especificació formal que hi ha en el model OSI.

Aquests dos models ens determinen clarament l’estructura global del funcionament d’una xarxa, englobant des del maquinari utilitzat, els cables i connectors, passant per les normes que determinen com han de ser els paquets que circulen per la xarxa, les regles que han de seguir en el seu camí per la xarxa, fins a quines aplicacions utilitzen els serveis de la xarxa i com les utilitzen. És a dir, els models OSI i TCP/IP engloben tot allò que té a veure amb el funcionament d’una xarxa.

Hi ha alguns conceptes de xarxa d’aquests models que s’utilitzen en la instal·lació i configuració dels sistemes operatius. Anem a veure’ls.

Adreçament físic

A l’hora d’integrar un ordinador en una xarxa cal conèixer que cada un dels dispositius tindrà una adreça física, la qual permetrà identificar l’enllaç en la xarxa a nivell físic, de manera única. Aquest adreçament físic correspon al número d’identificació en el nivell 2 del model OSI i s’anomena MAC (media acces control, o bé adreçament de control d’accés al medi) tant si correspon a una placa de xarxa com a Wi-Fi, adaptador, encaminador, etc.

L’adreçament físic o MAC de cada component és individual i únic per a cada dispositiu, és un identificador de 48 bits (sis blocs hexadecimals) que correspon únicament a un dispositiu de xarxa. Un exemple d’adreça MAC seria: 00-08-74-4C-7F-1D

El protocol encarregat d’esbrinar l’adreçament MAC d’un dispositiu és l’ARP (address resolution protocol). Aquest protocol permet que els ordinadors facin difusió d’una petició ARP demanant l’adreça MAC que correspon a una adreça IP en concret. Cada màquina va aprenent les adreces MAC i IP dels seus veïns, emmagatzemant aquesta informació en una taula de correspondència IP-MAC, anomenada taula ARP.

Adreça IP

Les adreces IP (versió 4) consten d’un número de 32 bits agrupats en quatre octets de manera que especifiquen una màquina dins d’una xarxa seguint el protocol TCP/IP.

Perquè pogueu veure quina és l’adreça MAC de la targeta de xarxa d’un ordinador en concret, cal que actueu de maneres diferents segons el sistema operatiu que hi ha instal·lat en la màquina. Aleshores l’obtenció de l’adreça MAC segons el sistema operatiu és:

Per a sistemes operatius privatius de l’entorn Windows, cal obrir un terminal de línia d’ordres (fent cmd desde Inici/Executar) i escriure la instrucció ipconfig/all. Aleshores us apareixerà sobre la pantalla del terminal tot d’informació sobre cada una de les targetes de xarxa de què disposi l’ordinador i entre aquesta informació trobareu l’adreça MAC, com podeu veure en la figura.

Figura Informació de la MAC en un entorn Windows

Per a sistemes operatius basats en Unix (com GNU/Linux o Mac OS), cal obrir un terminal de línia d’ordres (cal buscar Aplicacions\Sistema\Terminal o consola) i escriure amb privilegis de root l’ordre següent: ifconfig -a. Aleshores, en la pantalla del terminal apareixeran les diverses targetes de xarxa de què disposa l’ordinador amb la informació corresponent de cada una, entre la qual localitzareu la MAC, com podeu veure en la figura.

Figura Informació de la MAC en un entorn Linux

Adreçament lògic

A l’hora de muntar una xarxa informàtica, no n’hi ha prou com a pas previ d’elaborar d’un mapa amb les corresponents adreces físiques o MAC i com estan connectats entre ells i amb la resta de dispositius. També cal tenir en compte que els ordinadors es configuren amb adreces lògiques, sense importar on estan situats físicament.

L’adreçament lògic de cada un dels dispositius de la xarxa és un dels elements del nivell 3 del model OSI (nivell de xarxa). concretament en el model TCP/IP s’utilitza el protocol d’aquest nivell anomenat IP (Internet protocol).

El protocol IP s’utilitza per identificar unívocament tots els ordinadors d’una xarxa amb una adreça IP. Un exemple d’adreça IP és 192.168.3.76. Aquest és un protocol utilitzat a Internet, i la primera versió, i encara la més utilitzada, és la IPv4, tot i que actualment la versió IPv6 està en un fort desenvolupament.

Els dispositius de xarxa que ens trobem en un ordinador ja disposen d’adreça física (l’adreça física MAC corresponent). Per tal de poder treballar amb aquests dispositius amb un adreçament lògic, caldrà configurar-los l’adreça IP independentment de quina sigui la MAC i, per tant, això permet que Internet sigui independent de la tecnologia de xarxa utilitzada.

Com que una adreça IP és un nombre que identifica unívocament un dispositiu lògic connectat a la xarxa, aleshores, dins d’una mateixa xarxa cada adreça IP que s’utilitzi ha de ser única, no hi pot haver dues adreces IP iguals en una mateixa xarxa. Segons el protocol IP, versió IPv4, una adreça IP es representa mitjançant un nombre binari de 32 bits.

Les adreces IP s’expressen com nombres de notació decimal, es divideixen els 32 bits de l’adreça en quatre octets (un octet és un grup de 8 bits); el valor decimal màxim de cada octet és de 255 (el número binari de 8 bits més alt és 11111111, i aquests bits de dreta a esquerra tenen valors decimals d’1, 2, 4, 8, 16, 32, 64, 128, la suma dels quals és 255). Un exemple típic d’una IP en xarxa local podria ser 192.168.1.234.

El que és important és que una adreça IP us proporciona informació sobre la xarxa, la part de l’adreça que es coneix com el netid, i informació sobre la màquina, la part de l’adreça que es coneix com el hostid. Tenint en compte que el límit entre el netid i el hostid és variable, el que cal destacar és el següent:

Una adreça IP determina un ordinador dins d’una xarxa.

Adreces privades

Hi ha tota una sèrie d’adreces IP que no estan assignades a ordinadors d’Internet i que s’anomenen adreces privades. Aquestes adreces es poden utilitzar a l’hora de configurar una xarxa IP privada (heu de tenir en compte que aquestes no són enrutables a Internet):

  • 1 adreça de classe A: 10.0.0.0 - 10.255.255.255 (màscara 255.0.0.0)
  • 16 adreces de classe B: 172.16.0.0 - 172.31.255.255 (màscara 255.255.0.0)
  • 256 adreces de classe C: 192.168.0.0 - 192.168.255.255 (màscara 255.255.255.0)

NAT és l’acrònim de l’anglèsnetwork address translation o traducció d’adreces de xarxa.

Aquestes adreces privades es poden utilitzar per a les màquines o hosts, però quan aquestes màquines vulguin navegar per Internet caldrà que ho facin mitjançant una traducció d’adreces utilitzant un router o encaminador. Aquest sistema de pont entre les dues xarxes d’IP, la pública i la privada, es coneix amb el nom de NAT.

Màscara de xarxa

La màscara de xarxa permet distingir els bits que identifiquen la xarxa i els que identifiquen el host o màquina en una adreça IP. Per exemple, una màscara 255.0.0.0 indica que el primer octet identifica la xarxa i els altres tres octets identifiquen el host. Donada una adreça de classe A, 15.10.4.2, sabem que pertany a la xarxa 15.0.0.0 i el host o màquina a què es refereix és el 10.4.2 dins d’aquesta xarxa.

En algunes notacions, la màscara s’escriu comptant els bits que hi ha a 1, així per exemple la màscara 255.255.255.0 també es pot escriure com a 24.

VPN o xarxes virtuals

VPN són les inicials angleses de virtual private network, és a dir, xarxa privada virtual. Les xarxes VPN són una tecnologia que permet, a una xarxa d’àrea local, estendre’s per una xarxa pública o no controlada. És a dir, una xarxa local té continuació en una altra ubicació física totalment separada i per a això s’utilitza la connexió d’Internet. Un exemple seria la connexió de dues sucursals d’una empresa utilitzant la infraestructura d’Internet; per exemple, els usuaris o proveïdors es connecten amb l’empresa des de llocs remots (domicili particular, hotel, països estrangers, etc.) utilitzant Internet com a vincle d’accés i, una vegada estan autentificats, tenen un nivell d’accés molt similar al que tenen a la xarxa local de l’empresa.

Aquest tipus de xarxes redueixen despeses, donen confidencialitat i seguretat a les dades transmeses i faciliten la comunicació entre usuaris ubicats en llocs distants.

IP dinàmiques

Les IP les podem posar manualment en cada màquina mitjançant les eines d’administració de la targeta de xarxa (amb una eina d’entorn gràfic del programari de la targeta o a partir de l’entorn gràfic del mateix sistema operatiu o bé llançant una consola i utilitzant ordres de consola; sempre tenint els permisos d’administrador), o bé podem no posar la IP manualment en una màquina i deixar que sigui un servidor DHCP el que s’encarregui de donar una IP a cada màquina quan s’engegui. DHCP significa dinamic host configuration protocol, per tant, en la xarxa hi ha d’haver un servidor amb el servei DHCP activat. Quan un ordinador s’encén, fa una petició d’IP a la xarxa, de manera que el servidor la rep i li retorna una IP. Això implica que cada vegada que engeguem la màquina el servidor ens donarà una IP en relació amb les IP que ja ha anat donant a altres màquines, amb la qual cosa cada vegada tindreu un IP diferent, d’això ve el nom de dinàmica.

Actualment aquest és el sistema de funcionament de la majoria de companyies que ofereixen serveis d’Internet, cada vegada que el vostre router o encaminador s’encén fa una petició d’IP i la companyia que teniu contractada li serveix una IP, amb la qual cosa, cada vegada que reinicieu el vostre encaminador de casa navegareu per la xarxa d’Internet amb una IP diferent. Això és perquè les IP dins del protocol IPv4 s’estan acabant i, per tant, les companyies ja no poden continuar oferint IP fixes als clients. Això potser canviarà quan entri en funcionament el nou protocol IPv6. Aleshores, des del router o encaminador cap a dins de casa vostra, els vostres ordinadors poden tenir una IP fixa que vosaltres els haureu donat o bé treballaran amb el DHCP activat i aleshores és l’encaminador el que els serveix una IP cada vegada que enceneu un ordinador de casa (aquesta acostuma a ser la configuració per defecte) de manera que l’encaminador és el que fa el servei de NAT (o de traducció d’IP entre la vostra de l’ordinador, IP privada, i la que utilitza l’encaminador per navegar per Internet, IP pública).

Protocol IPv6

El nou protocol de treball per a les IP serà el IPv6. Aquest protocol funciona igual que l’IPv4 actual, és a dir, assigna IP a les màquines, però en comptes d’utilitzar quatre octets de 8 bits, 32 bits en total, utilitza 128 bits. Això significa que hi ha l’opció d’obtenir IP diferents (surt a milions d’adreces IP per a cada persona de la Terra).

Client-servidor

Dins d’una xarxa d’ordinadors, concretament, dins de l’apartat del mapa lògic es poden establir categories entre les diferents màquines sense que això modifiqui la connexió física. Una d’aquestes jerarquies de màquines és la que es coneix com a client-servidor.

En informàtica s’anomena arquitectura client-servidor la relació establerta entre dues entitats (per exemple, dues màquines de la xarxa), el servidor que ofereix algun tipus de recurs (físic, un CD, o de programari, un processador de textos, etc.), i el client, de manera que aquest client en tregui profit. El més habitual és que diversos clients s’aprofitin d’un servidor.

Per a la comunicació entre els clients i el servidor s’utilitza un protocol de comunicacions que descriu la manera en què es poden comunicar i quines informacions poden intercanviar (per exemple, el protocol HTTP és el que s’utilitza per servir pàgines web). Dins d’aquesta arquitectura client-servidor, un servidor adopta un paper passiu, espera peticions, i quan les rep les processa i les envia, mentre que un client adopta un paper actiu, envia una petició i després es manté a l’espera, i quan rep la resposta la processa. Com a exemples de client-servidor, teniu un servidor de pàgines web, un servidor de correu, un servidor d’arxius, un servidor d’aplicacions, etc.

Domini

En una xarxa d’ordinadors treballant en l’arquitectura client-servidor, en determinades aplicacions d’aquesta arquitectura com la d’un servidor d’arxius o d’aplicacions, cal utilitzar el que es coneix com a domini:

En una xarxa, s’anomena domini un conjunt d’ordinadors de la xarxa que deleguen o confien a un altre ordinador de la xarxa, conegut com a controlador de domini, l’administració dels usuaris i els privilegis que tenen aquests usuaris en aquesta xarxa.

Si la xarxa no és gaire gran, el controlador de domini pot ser un sol ordinador equipat amb un sistema operatiu del tipus servidor. És important la tasca del controlador de domini, ja que no solament selecciona els usuaris que es poden connectar al domini i utilitzar els serveis que s’hi presten sinó que, a més, estableix les regles i privilegis que tenen aquests usuaris. D’aquesta manera, en una xarxa on s’ha establert un domini (també hi ha la possibilitat d’establir diversos dominis amb diferents relacions de confiança entre aquests), quan un servidor rep una petició d’un usuari, aquest servidor pregunta al controlador del domini si aquest usuari pertany al domini, i en funció de la resposta del controlador del domini el servidor dóna servei a l’usuari o no. Depenent del tipus de servidors de la xarxa, i de la grandària que aquesta xarxa pugui tenir, hi ha la possibilitat que el servidor i el controlador de domini sigui la mateixa màquina dins de la xarxa.

Visualitzar l'adreça IP

Quan us trobeu administrant una xarxa, o bé elaborant un mapa lògic de la xarxa, i vulgueu visualitzar o saber quina IP té una determinada màquina, depenent del tipus de sistema operatiu de què disposi la màquina, el procés a seguir serà diferent per saber quina és la IP de la màquina. Si el sistema operatiu és privatiu de l’entorn Windows, caldrà que aneu a Inici\Executar\Escriure cmd i s’obrirà la consola d’ordres MS-DOS: aleshores haureu d’introduir en la consola la instrucció ipconfig/all, això us mostrarà per pantalla tota la informació referent a la targeta de xarxa amb la qual estigui treballant l’ordinador, i entre aquesta informació hi haurà l’adreça IP. Si el sistema operatiu és de l’entorn de programari lliure, Linux, aleshores caldrà que aneu al menú de Sistema, i busqueu i seleccioneu Consola o Terminal, i això us obrirà una consola en la qual haureu d’entrar amb drets de root, per exemple, escrivint su root, aleshores us demanarà la contrasenya (password) del superusuari i després que introduïu l’ordre ifconfig. Això us donarà tota la informació dels diferents dispositius de xarxa que tingui l’ordinador amb la configuració que tingui cada un. Entre aquesta informació trobareu l’adreça IP.

Finalment, a l’hora de treballar amb les xarxes, hi ha una instrucció molt important que serveix en els sistemes operatius privatius i lliures que és ping. Aquesta instrucció va seguida de l’adreça IP a la qual volem enviar un senyal en forma de paquets de xarxa, i aleshores aquesta IP ens contestarà. Això es fa servir molt per verificar la connexió física de dues màquines que estan dins de la mateixa xarxa o subxarxa.

D’aquesta manera l’elaboració d’un mapa lògic d’una xarxa ha d’incloure tots aquests elements que acabeu de veure. En un mapa lògic hi ha d’haver els diferents ordinadors que componen la xarxa distribuïts segons la connexió lògica a la xarxa, obviant-ne la situació física, i a més en cada un d’aquests ordinadors s’ha d’incloure la informació de la seva adreça IP, tant si és servidor com client, la màscara de xarxa o subxarxa, el nom d’usuari de la màquina, si pertany a un domini o no, i la contrasenya d’accés al domini si n’hi ha.

En el mapa lògic s’ha de plasmar la situació lògica de cada ordinador juntament amb la informació dels paràmetres de l’adreçament lògic.

El sistema operatiu

Actualment, un ordinador és una màquina molt complexa que pot constar d’un o més processadors, discos, escàners, targetes de comunicacions, impressores, mòdems, etc. Els dispositius que conté l’ordinador són de tipus divers (òptics, magnètics, etc.), tenen un funcionament molt variat, la tecnologia de funcionament i el tipus de suport utilitzat ténen característiques diferentes. Així, si un usuari vol fer servir aquest sistema de manera eficient, necessita conèixer-ne les característiques, controlar-ne el funcionament, etc. Per tant, cal pensar que hi ha d’haver una solució que permeti als usuaris utilitzar aquesta màquina d’una manera més senzilla, fàcil i eficient.

Per facilitar l’ús de l’ordinador s’ha posat per sobre del maquinari una capa de programari amb l’objectiu de gestionar les diferents parts de l’ordinador de manera eficient i, alhora, presentar a l’usuari una màquina virtual molt més senzilla d’entendre i utilitzar. Aquesta capa de programari és l’anomenat programari del sistema, la part més important del qual és el sistema operatiu.

Podem definir el sistema operatiu tenint en compte diferents paràmetres de valoració:

  • Segons la funció que tingui. Un sistema operatiu és el suport lògic que controla el funcionament de l’equip físic.
  • Des del punt de vista de l’usuari. Un sistema operatiu és un conjunt de programes i funcions que amaguen els detalls del maquinari donant a l’usuari un camí senzill i flexible d’accés al sistema.
  • Des del punt de vista de gestor de recursos. Un sistema operatiu és l’administrador de recursos oferts pel maquinari per obtenir un rendiment eficient.
  • Des del punt de vista del sistema i d’operació. Un sistema operatiu és el conjunt de programes relacionats entre si, que contribueixen al fet que l’ordinador faci correctament el seu treball.

Podem imaginar un sistema operatiu com els programes, que fan utilitzable el maquinari. El maquinari proporciona la “capacitat bruta d’operació”; els sistemes operatius posen aquesta capacitat d’operació a l’abast dels usuaris i administren de manera segura el maquinari per aconseguir un bon rendiment.

Els sistemes operatius són abans de tot administradors de recursos; el principal recurs que administren és el maquinari de l’ordinador (els processadors, els mitjans d’emmagatzematge, els dispositius d’E/S, les dades, etc.).

En funció de la comoditat i eficiència, un sistema operatiu és un conjunt de programes que actuen com a intermediari entre l’usuari i el maquinari de l’ordinador i el seu propòsit és proporcionar l’entorn en el qual l’usuari pot executar programes. Aleshores, l’objectiu principal d’un sistema operatiu és aconseguir que el sistema de computació s’utilitzi de manera còmoda i l’objectiu secundari és que el maquinari de l’ordinador s’utilitzi de manera eficient.

Des del punt de vista de comunicació entre l’usuari i el maquinari, un sistema operatiu és un conjunt de programes que controlen l’execució de programes d’aplicació i actuen com una interfície entre l’usuari i el maquinari d’un ordinador; així, un sistema operatiu explota i administra els recursos de maquinari de l’ordinador amb l’objectiu de proporcionar un conjunt de serveis als usuaris del sistema.

Enllaçadors i depuradors

Els enllaçadors són programes que permeten crear programes executables. Els depuradors són programes que permeten fer un seguiment dels programes informàtics per comprovar-ne pas a pas el funcionament.

En la figura es mostra els nivells de programari i maquinari d’un ordinador. També podeu observar com el sistema operatiu és l’única capa que treballa directament amb el maquinari. Per sobre del sistema operatiu es troba un nivell format pels traductors, editors de text i els intèrprets d’ordres. Els dos primers tipus de programes, juntament amb els enllaçadors i els depuradors, són útils per crear un nivell d’abstracció còmode per al desenvolupament de programes.

Figura Nivells de programari i maquinari d’un ordinador

La unió dels programes de les dues capes intermèdies de la figura conformen el programari de sistemes d’un ordinador. Finalment, hi ha el nivell constituït pels programes d’aplicació; aquests programes no donen un servei a altres programes, la seva finalitat és resoldre problemes concrets. Són els programes que executa un usuari no informàtic. Pertanyen a aquesta capa els processadors de text, els fulls de càlcul, les agendes electròniques, els jocs, etc.

El maquinari facilita els recursos bàsics de computació, mentre que els programes d’aplicació defineixen com s’han d’utilitzar aquests recursos per resoldre els problemes dels usuaris. Pot haver-hi molts usuaris diferents tractant de resoldre problemes diferents. Consegüentment, és habitual l’existència de diferents programes d’aplicació. El sistema operatiu controla i coordina l’ús del maquinari per part dels diferents programes d’aplicació dels diversos usuaris.

Els sistemes operatius construeixen recursos d’alt nivell que denominem virtuals, a força d’amagar els que realment hi ha en el nivell baix i que anomenem físics. En conseqüència, des del punt de vista de l’usuari o del procés, la màquina física és convertida pel sistema operatiu en una màquina virtual, també coneguda com a màquina estesa i que, a diferència de la física, ofereix a l’usuari moltes més funcions i més comoditat a l’hora d’utilitzar-la.

Màquina virtual o estesa

Una màquina virtual és una interfície que manté una màquina mitjançant la qual ens dóna comunicacions amb els dispositius de l’ordinador. D’aquesta forma nosaltres treballem a un nivell superior eliminant la complexitat d’aquests dispositius. Així podem mantenir diferents sistemes operatius en funcionament sobre una mateixa màquina.

A més, el sistema operatiu proporciona serveis dels quals no disposa el maquinari, com per exemple la possibilitat d’utilitzar l’ordinador per diversos usuaris, la multiprogramació, etc.

En la figura es pot visualitzar la relació que hi ha entre els usuaris i el sistema operatiu.

Figura Esquema de relació entre els usuaris i el sistema operatiu

Estructura del sistema operatiu

Els sistemes operatius han presentat o presenten diferents estructures a nivell intern.

Estructura monolítica

És l’estructura dels primers sistemes operatius. Podeu veure un esquema de l’estructura monolítica dels sistemes operatius a la figura.

Figura Estructura monolítica

L’estructura monolítica està formada per un programa que estava integrat per un conjunt de rutines entrellaçades de tal manera que cada una podia cridar qualsevol altra. L’estructura consisteix en el fet que no hi ha estructura.

Les tres principals característiques d’aquesta estructura són:

Un procediment és un bloc d’accions que són cridades des d’un mateix programa.

  1. És molt comuna. No existeix estructura pròpiament o és mínima.
  2. El sistema operatiu és una col·lecció de procediments que es poden cridar entre si.
  3. Cada procediment té una interfície ben definida en termes de paràmetres i resultats.

Una interfície és un conjunt d’eines que faciliten la comunicació entre els usuaris i el sistema.

Estructura jeràrquica o en capes

A mesura que anaven creixent les necessitats dels usuaris també anaven creixent els sistemes operatius. Aleshores, va caldre una més bona organització del programari, per la qual cosa es féu necessari un altre tipus d’organització. Una manera d’organitzar millor les coses va consistir a dividir el sistema operatiu en petites parts independents, però amb capacitat de relació amb les altres, de tal manera que cadascuna estigués perfectament definida i amb una interfície amb la resta dels elements.

Normalment aquest sistema s’estructurava en capes en què cada una tenia assignades funcions concretes i especialitzades. Aquesta divisió en capes va donar lloc a la divisió en funcions.

En l’estructura jeràrquica els sistemes operatius s’estructuren en les capes següents:

  • Planificació del processador: gestiona el processador i la manera com poden accedir al processador els diferents programes.
  • Gestió de memòria: gestiona la memòria i la utilització que se’n pot fer per part dels diferents programes.
  • Gestió d’entrada/sortida: gestiona cada un dels perifèrics de l’ordinador.
  • Sistema de fitxers: gestiona la informació dels usuaris i fixa els mecanismes de protecció necessaris per aconseguir un sistema de seguretat acceptable.
  • Programes d’usuari: aplicacions específiques d’utilització per part de l’usuari.

L’estructura jeràrquica també es pot representar en forma d’anelles (capes circulars). Les funcions d’un nivell superior poden invocar-ne d’altres dels nivells inferiors, però no les dels nivells superiors. En la següent figura podeu veure un esquema de l’estructura jeràrquica dels sistemes operatius.

Figura Estructura de sistemes jeràrquics o en capes

Estructura màquina virtual

Aquests sistemes presenten al programa una màquina que sembla idèntica a la màquina real, anomenada màquina virtual. El nucli d’aquest sistema operatiu s’anomena monitor virtual. El sistema de màquina virtual separa dos conceptes que solen estar junts en tots els sistemes operatius: la multiprogramació i la màquina estesa.

El VM/370 d’IBM és un exemple de sistema operatiu representatiu de l’estructura de màquina virtual.

El monitor virtual té com a missió fer la multiprogramació presentant als nivells superiors tantes màquines virtuals com se sol·licitin. No són màquines esteses sinó una replica exacta de la màquina real, de manera que en cada una d’aquestes es pot executar un sistema operatiu diferent, que serà el que ofereixi la màquina estesa a l’usuari.

Quan un programa executa una crida, la crida s’agafa i s’envia al sistema operatiu de la seva pròpia màquina virtual perquè la gestioni.

Les crides són funcions que té el mateix sistema operatiu per fer determinades tasques que poden ser invocades de diferents maneres en determinats moments.

Les 5 característiques principals del monitor virtual són:

  1. Proporciona varies màquines virtuals a la capa superior.
  2. Las màquines virtuals instrumenten còpies “exactes” del maquinari simple, amb el seu mode nucli /usuari, E/S, interrupcions i tot el que té una màquina real.
  3. Poden executar qualsevol sistema operatiu de forma directa sobre el maquinari.
  4. Les diferents màquines virtuals poden executar diferents sistemes operatius i en general així ho fan.
  5. Suporten perifèrics virtuals.

Mode nucli i mode usuari:

El mode nucli és l’entorn en el qual es pot gestionar el maquinari. En el mode usuari no és possible interactuar de manera directa amb el maquinari.

Estructura client/servidor

Es tracta de traslladar tot el codi possible a les capes superiors i alliberar tant com es pugui les capes inferiors del sistema operatiu per aconseguir un kernel mínim.

La idea principal de l’estructura client/servidor és implementar la major part de les funcions del sistema operatiu en la capa dels processos de l’usuari. Dos elements són la base d’aquesta política: elnucli i els processos. Es tracta de dissenyar un nucli tan petit com sigui possible, i de subministrar mecanismes per a la gestió d’accessos a la memòria i la comunicació entre programes. Les polítiques, les fixen els programes que fan moltes vegades les funcions que abans feien els sistemes operatius.

Els processos tant poden ser servidors com clients. Un programa d’aplicació normal és un client que crida al servidor corresponent per accedir a un fitxer o per fer una operació d’E/S sobre un dispositiu. A la vegada, un programa client pot actuar com a servidor d’un altre. El nucli té com a missió establir la comunicació entre els clients i els servidors.

El client representa aquell element que demana un servei a un altre anomenat servidor.

En la següent figura podeu veure un esquema de l’estructura client/servidor dels sistemes operatius. En aquest model, que es presenta en la figura, l’únic que fa el nucli és controlar la comunicació entre els clients i els servidors. En separar el sistema operatiu en parts, cada una controla una faceta del sistema, com el servei a fitxers, servei a processos, servei a terminals o servei a la memòria; cada part és petita i controlable. A més, tots els servidors s’executen com a processos en mode usuari, i no en mode nucli, no tenen accés directe al maquinari. En conseqüència, si hi ha un error en el servidor de fitxers, aquest pot fallar, però això no afectarà el funcionament general de tota la màquina.

Figura Estructura client-servidor

Mode usuari i mode supervisor

El mode usuari ofereix els entorns on corren totes les aplicacions d’usuari. Per exemple els programes Win32 corren en el subsistema Win32.

El mode nucli, supervisor o privilegiatse situa entre el mode usuari i la capa física (el maquinari) i evita que el mode usuari accedeixi directament al maquinari. El mode nucli és la residència dels diferents serveis del sistema operatiu que s’encarrega de totes les operacions internes d’aquest sistema operatiu.

En resum, podem dir que mentre s’està executant una crida del nucli estem en mode nucli i quan estem executant codi que no pertany al nucli es diu que estem en mode usuari. Això garanteix a nivell de maquinari que cap programa d’usuari pugui accedir als recursos generals del sistema, llevat que utilitzi crides al nucli, les quals podran establir, en funció dels permisos, l’accés al maquinari.

Hi ha diversos models client/servidor:

  • El client és un procés i el servidor és el seu sistema operatiu. Aquest cas representa una crida al sistema.
  • El client i el servidor són processos del sistema operatiu. En aquest cas s’utilitzen les crides al sistema per posar en contacte el client i el servidor.
  • El client i el servidor són processos de sistemes operatius diferents. En aquest cas s’utilitzen les crides al sistema d’accés a la xarxa per comunicar processos en màquines diferents.

En la següent figura podeu observar diferents models client/servidor.

Figura Models client-servidor

Una tendència dels sistemes operatius moderns és la de traslladar el codi a capes superiors, i eliminar la major part possible del sistema operatiu per mantenir un nucli mínim. El punt de vista usual és implantar la majoria de les funcions del sistema operatiu com processos d’usuari. Per sol·licitar un servei, com la lectura d’un bloc d’un fitxer, un procés d’usuari (anomenat en aquest cas procés client) envia la sol·licitud a un procés servidor, que realitza el treball i retorna la resposta.

Estructura orientada a l'objecte

Objecte

Un objecte és un element que té unes propietats i s’hi poden fer unes determinades accions. Els ordinadors, els usuaris o les impressores són alguns exemples d’objectes. Algunes accions que en podem fer són crear, modificar, copiar, etc.

Els nous sistemes operatius s’estan desenvolupant d’acord amb metodologies orientades a objectes. En comptes de veure el sistema operatiu com una col·lecció de funcions que es poden executar, la concepció dels nous sistemes es basa en una col·lecció d’objectes.

El nucli del sistema operatiu serà el responsable del manteniment de les definicions del tipus d’objectes suportats i del control dels privilegis d’accés a aquest. Quan un programa vol fer alguna operació sobre un objecte determinat, haurà d’executar una crida al sistema operatiu indicant quins drets té per poder-lo utilitzar i quina operació interna tracta de fer.

Estructura Multiprocessador

Cada cop calen sistemes més ràpids que suportin un volum de feina més gran, o per abordar problemes més costosos en temps de càlcul. Una manera d’aconseguir-ho es basa en la combinació de processadors. Aquesta opció és la més econòmica i permet construir sistemes amb un creixement escalar segons les necessitats.

Podem classificar les arquitectures multiprocessador segons la relació que hi ha entre processadors i memòria:

  • Multiprocessadors acoblats fortament. Aquest sistema també s’anomena sistemes de memòria compartida. En aquest cas, cada processador veu i, per tant, pot accedir directament a la totalitat de la memòria.
  • Multiprocessadors acoblats dèbilment. També s’anomenen sistemes de memòria distribuïda. Cada processador té accés només a una memòria privada. Els processadors es comuniquen entre ells a través de mecanismes de missatges.

Estructura per funcions

El codi del sistema operatiu es pot organitzar per les seves funcions. En la figura teniu un model de sistema operatiu per tipus de funcions. En aquest cas les agrupacions es fan segons el tipus de servei que es vol donar, sense tenir en compte la proximitat o la distància del maquinari, com en el cas de l’estructura en capes. Aquestes agrupacions es poden fer a partir de serveis d’E/S, la gestió de la memòria, etc. Aquesta estructura dóna una organització vertical.

Figura Model de sistema operatiu per tipus de funcions

Components d'un sistema operatiu

Cada sistema operatiu té la seva estructura concreta depenent de la seva finalitat, la seva mida,… Però bàsicament tots contenen els mòduls següents:

  • El nucli o kernel.
  • L’administrador de memòria.
  • El sistema d’entrada/sortida.
  • L’administrador d’arxius.
  • Sistema de protecció.
  • Interfície d’usuari.

Nucli o Kernel

El nucli és el mòdul més baix del sistema operatiu, descansa directament sobre el maquinari de l’ordinador. Entre les tasques que fa hi ha la manipulació de les interrupcions, l’assignació de treballs al processador i el de proporcionar una via de comunicació entre els diferents programes.

En general, el nucli s’encarrega de controlar la resta dels mòduls i sincronitzar-ne l’execució. El nucli conté:

Al planificador també se’l reconeix amb el nom de dispatcher.

  • Un planificador, el qual s’encarrega d’assignar el temps de processador als programes, d’acord amb una certa política de planificació que varia d’un sistema operatiu a un altre. Normalment s’utilitza una jerarquia de prioritats que determinen com s’assignarà el temps de CPU a cada programa. Una política de planificació molt comuna en els sistemes operatius multiprogramats i multiaccés són les tècniques de time slicing (fracció de temps). S’assigna a cada programa un cert interval de temps del processador. Si el programa no ha acabat durant aquest temps, torna a la cua de programes.
  • Submòdul per al control d’interrupcions (FLHI, first level interruption handler). Aquest submòdul està vinculat al planificador, ja que s’utilitzen interrupcions per modificar la seqüencialització del processos. És l’encarregat de donar resposta als quatre tipus d’interrupcions:
    • Interrupcions de programa
    • Interrupcions de rellotge del sistema
    • Interrupcions d’entrada/sortida
    • Interrupcions per fallada del maquinari
  • Comunicador de processos (semàfors, mecanismes de waiting/signal): encarregat d’evitar els bloquejos entre processos, i ajuda a la tornar a posar en marxa els processos, tasca molt important en el control de concurrència en sistemes operatius multiprogramats i de processos distribuïts.

El nucli del sistema operatiu generalment realitza les funcions següents:

  • Manipulació d’interrupcions.
  • Creació i destrucció de processos.
  • Canvi d’estats de processos.
  • Despatx (dispatcher).
  • Suspensió i represa de processos.
  • Sincronització de processos.
  • Comunicació entre processos.
  • Manipulació de blocs de control de procés.
  • Suport d’activitats d’E/S.
  • Suport de l’assignació i desassignació d’emmagatzematge.
  • Suport del sistema d’arxius.
  • Suport de mecanismes de crida/retorn al procediment.
  • Suport de certes funcions estadístiques del sistema.

Les funcions del nucli les podem resumir dient que permeten l’existència d’un ambient en el qual sigui possible donar servei a diversos usuaris i múltiples tasques en forma concurrent, repartint al processador entre tots ells i intentant mantenir en grau òptim una atenció individualitzada.

El sistema operatiu disposa de tres mecanismes d’accés al nucli: les excepcions, les interrupcions i els salts no programats (traps). Aquestes tres és basen essencialment en la tècnica de la interrupció de l’execució d’un programa.

El sistema operatiu disposa de tres mecanismes d’accés al nucli, però l’únic d’aquests esdeveniments que pot fer servir l’usuari per fer una petició al sistema operatiu és el salt no programat.

Un salt no programat es produeix quan el processador executa la instrucció de llenguatge màquina trap. En l’execució d’aquesta ordre estan implicades tres accions: el canvi de mode d’execució de mode usuari a mode nucli, l’execució d’una rutina de servei i el canvi de mode d’execució de mode nucli a mode usuari.

Nucli del sistema operatiu UNIX

El nucli del sistema operatiu Unix (anomenat kernel) és un programa escrit gairebé tot en llenguatge C, excepte d’una part corresponent a la manipulació d’interrupcions, expressada en el llenguatge assemblador del processador en què opera.

El kernel opera com un assignador de recursos per a qualsevol procés que necessiti fer ús de les facilitats de l’ordinador. És l’element central del sistema Unix.

El kernel té el control sobre l’ordinador; per tant, cap altre procés pot interrompre’l; només pot cridar-lo perquè proporcioni algun servei dels ja indicats. Un procés crida al kernel mitjançant mòduls especials anomenats crides al sistema.

El kernel consta de dues parts principals:

  • La secció de control de processos: aquesta, assigna recursos, programes, processos i dóna suport a les demandes de servei.
  • La de control de dispositius: supervisa la transferència de dades entre la memòria principal i els dispositius perifèrics.

En termes generals, cada vegada que un usuari utilitza qualsevol tecla d’un ordinador, o que s’hagi de llegir o escriure informació des de les unitats magnètiques, s’interromp el processador i el nucli s’encarrega d’efectuar l’operació de transferència.

Administrador de memòria

Aquest mòdul s’encarrega d’assignar certes porcions de la memòria principal (RAM) als diferents programes o parts dels programes que la necessiten, mentre que la resta de dades i els programes es mantenen en els dispositius d’emmagatzematge massiu.

És dir que l’administrador de memòria és el que:

  • Ubica, reemplaça, carrega i descarrega els processos en la memòria principal.
  • Protegeix la memòria dels accessos no volguts (accidentals o intencionats).
  • Permet compartir zones de memòria (indispensables per a la cooperació de processos).

La memòria virtual és una tècnica de gestió de memòria en la qual no és necessari tenir en un mateix moment tot el programa en la memòria principal per poder-se executar.

Un administrador de memòria necessita cinc funcions bàsiques:

  • Reubicació: permet el recàlcul d’adreces de memòria.
  • Protecció: evita l’accés de posicions de memòria sense permís.
  • Compartició: permet a processos diferents accedir a un mateix lloc de memòria.
  • Organització lògica: permet que els programes s’escriguin com mòduls compatibles i executables per separat.
  • Organització física: permet l’intercanvi de memòria principal i memòria secundària.

Per dur a terme aquestes funcions ens trobem amb sis tècniques utilitzades per l’administrador de memòria:

  • Partició fixa
  • Partició dinàmica
  • Partició simple
  • Segmentació simple
  • Memòria virtual paginada
  • Memòria virtual segmentada

La forma més comuna d’administració de la memòria implica crear una memòria virtual; amb aquest sistema, la memòria de l’ordinador apareix, per a qualsevol usuari del sistema, més gran del que és.

Sistema d'entrada/sortida (E/S)

Aquest component presenta a l’usuari les dades com una qüestió independent del dispositiu; és a dir, per als usuaris, tots els dispositius tenen les mateixes característiques i són tractats de la mateixa manera, en què és el sistema operatiu el responsable d’atendre les particularitats de cada un.

Coll d’ampolla: quan s’alenteix el rendiment del sistema per col·lapse, per excés d’informació i poca capacitat, etc.

Hi ha cinc funcions que el sistema d’entrada/sortida(E/S) ha de complir:

  1. Garantir l’accés als dispositius tenint en compte que un procés sols pot accedir a les parts a què tingui dret.
  2. Oferir un servei als processos, sense necessitat de conèixer el dispositiu d’E/S.
  3. Tractar les interrupcions, senyals rebuts pel processador d’un ordinador, indicant que ha d’interrompre el curs de l’execució actual i passar a executar un codi específic per tractar aquesta situació, generada pels dispositius.
  4. Planificar els accessos dels dispositius de manera que se’n pugui realitzar un ús equitatiu.
  5. Mantenir l’eficiència del sistema procurant que no apareguin colls d’ampolla.

En el moment en què el dispositiu, tant d’entrada com de sortida, fa un accés al sistema, el mateix gestor fa una diferenciació clara dels dispositius i els divideix en els següents:

  • Dispositius de bloc. Són els dispositius que tenen emmagatzemada la informació mitjançant blocs amb longitud fixa, és dir, es podrà llegir, escriure i fer-hi operacions de cerca. Exemple: el disc dur, CD, etc.
  • Dispositius de caràcter. Són els dispositius que envien i reben informació per mitjà de caràcters, sense tenir una longitud fixa. Aquests dispositius es podran llegir però no s’hi podran fer operacions de cerca.

D’altra banda, i depenent de les característiques del dispositiu E/S, cal distingir tres tipus d’E/S en funció de la sincronització del controlador:

  • E/S programada. La sincronització és du a terme fent un bucle d’espera activa fins a obtenir l’estat del controlador actiu.
  • E/S per interrupcions. El controlador activa una interrupció, senyal rebut pel processador d’un ordinador, indicant que s’ha d’interrompre el curs d’execució actual i passar a executar un codi específic per tractar aquesta situació, que permet la comunicació del sistema operatiu i deixa que el sistema operatiu faci altres tasques. És la base que permet implementar un sistema operatiu multiprogramat.
  • E/S per DMA. Els dispositius de blocs que necessiten una transferència de dades molt elevada han d’utilitzar l’accés directe a memòria per a les operacions d’E/S.

Les tècniques més utilitzades pels sistemes operatius per gestionar les entrades/sortides són dues:

  • Gestió de cues o spooling (simultaneous peripheral operation on-line). Les dades de sortida s’emmagatzemen de manera temporal en una cua situada en un dispositiu d’emmagatzematge massiu (l’spool), fins que el dispositiu perifèric corresponent es troba lliure; d’aquesta manera s’evita que un programa quedi retingut perquè el perifèric no està disponible. El sistema operatiu disposa de crides per afegir i eliminar arxius de la cua del gestor de cues (spooler).
  • Buffering. Espais de memòria principal que es reserven per a l’emmagatzemament intermedi de les dades que venen o van als dispositius d’E/S; així s’aconsegueixen compensar les diferents velocitats que presenten els dispositius externs i els dispositius interns, i s’incrementa l’eficiència del sistema sobretot en els sistemes operatius multiprogramació.

Administrador d'arxius

Aquesta part del sistema operatiu s’encarrega de mantenir l’estructura de les dades i els programes del sistema corresponents als diferents usuaris i d’assegurar l’ús efectiu dels mitjans d’emmagatzematge massiu.

L’administrador d’arxius també supervisa la creació, actualització i eliminació dels arxius, mantenint un directori amb tots els arxius que hi ha en el sistema en cada moment, i coopera amb el mòdul d’administració de memòria durant les transferències de dades des de i cap a la memòria principal i dels mitjans d’emmagatzematge massiu per mantenir l’estructura de l’organització.

Els arxius emmagatzemats en els dispositius d’emmagatzematge massiu tenen diferents propòsits. Alguns contenen informació que pot ser compartida. Uns altres són de caràcter privat i fins i tot secret. Per tant, cada arxiu està dotat d’un conjunt de privilegis d’accés, que indiquen l’extensió amb la qual es pot compartir la informació continguda en l’arxiu. El sistema operatiu comprova que aquests privilegis no siguin violats (administració de seguretat).

Hi ha unes condicions bàsiques que tot gestor d’arxius ha de concedir a tots els usuaris, i són:

  • Poder crear, llegir, esborrar i intercanviar fitxers.
  • Tenir el control dels fitxer d’altres usuaris.
  • Controlar quin tipus d’accés s’atorga a la resta d’usuaris.
  • Poder ordenar els fitxers mitjançant directoris.
  • Poder moure informació entre fitxers.
  • Permetre crear i restaurar còpies de seguretat.
  • Poder crear accessos directes.

Hi ha diferents sistemes d’arxiu, és a dir, diferents maneres d’organitzar la informació que s’emmagatzema en les memòries dels ordinadors com, per exemple: FAT, FAT32, EXT3, NTFS, XFS, etc.

Vegem en la taula una comparativa clara dels avantatges i inconvenients que té cada sistema d’arxius:

Taula: Comparativa de diferents sistemes d’arxius
Sistema d’arxius NTFS FAT32 EXT3
Criteris Windows 2000
Windows XP
Windows Vista
Windows 7,…
Windows 2000
Windows XP
Windows Vista
Windows 7,…
Distribucions Linux
Màxim nombre d’arxius 232-1 clústers 216-2 per carpeta Variable
Màxima dimensió de l’arxiu 244 bytes (16 TiB) menys 64 kiB 4GB menys 1 byte 16 GiB – 2 TiB

Sistema de protecció

Com que el sistema operatiu cada vegada és més complex, hem d’esperar més errors relacionats amb la seguretat.

Desgraciadament la complexitat està relacionada amb la dificultat de mantenir en ordre tots els objectius marcats pel mateix sistema operatiu, així doncs podem afirmar que com més cosses intenti fer un sistema operatiu més vulnerable podrà arribar a ser, sempre que el sistema de protecció no sigui l’adequat.

Aquí es gestionen els mecanismes que controlen l’accés als programes o als usuaris per poder arribar als recursos del sistema.

Així doncs, aquest sistema s’encarrega del següent:

  • Distingir entre l’ús autoritzat i no autoritzat
  • Especificar els controls de seguretat a fer
  • Forçar l’ús de mecanismes de protecció

Hi ha desenvolupats diferents models genèrics de protecció de recursos per als sistemes operatius, per controlar l’accés dels usuaris als recursos que poden ser protegits o per controlar el mateix sistema operatiu, que de vegades pot tenir un accés no apropiat. Tot seguit veurem alguns dels models de protecció més importants:

  • Model de la matriu d’accés: es tracta de definir una matriu en funció del conjunt de permisos d’accés (lectura, escriptura, etc.) que especifica els diferents permisos que té el subjecte per a cada objecte en funció de les operacions que pot fer. Matriu[subjecte,objecte].
  • Model de seguretat amb acreditació i amb informació classificada:
    • Cap usuari no pot llegir la informació classificada per sobre del seu nivell d’acreditació.
    • Cap usuari pot rebaixar la classificació de la informació.

Interfícies d'usuari dels sistemes operatius

Una interfície d’usuari és el conjunt d’elements amb què els usuaris es comuniquen o interaccionen amb els ordinadors o altres màquines.

Els sistemes operatius ofereixen dos tipus diferents d’interfícies d’usuari:

  • Interfícies d’usuari alfanumèriques o de línia d’ordres
  • Interfícies gràfiques d’usuari

Les interfícies d’usuari de línia d’ordres (o CLI, de l’anglès command line interface) ofereixen un entorn textual en què l’usuari pot introduir instruccions o ordres que l’entorn interpretarà i el sistema operatiu executarà. Podeu veure’n un exemple a la figura:

Figura Interfície d’usuari de línia d’ordres

Una interfície gràfica d’usuari (o GUI, de l’anglès Graphic User Interface) és una interfície d’usuari que utilitza elements gràfics i el llenguatge visual per interactuar de manera intuïtiva amb el sistema.

Les interfícies gràfiques d’usuari que ofereixen els sistemes operatius actuals requereixen, bàsicament, la interacció de l’usuari per mitjà del ratolí, tot i que també solen oferir suport per a la interacció per mitjà del teclat.

Els elements gràfics que solen incloure les interfícies gràfiques d’usuari són els següents:

  • Sistemes de finestres, que permeten organitzar cada tasca de l’usuari en una finestra diferent.
  • Icones o imatges petites que representen objectes del sistema que pot utilitzar l’usuari per realitzar les seves tasques.
  • Botons i barres d’eines integrades per conjunts de botons amb funcionalitats semblants.
  • Sistemes de menús desplegables, agrupats segons funcionalitats.
  • Barres de desplaçament verticals i horitzontals per visualitzar diverses zones de la pantalla.
  • Pestanyes, que organitzen les diverses parts d’una tasca en subpantalles.

Els sistemes operatius actuals, com les interfícies de les aplicacions, ofereixen interfícies gràfiques d’usuari molt evolucionades, basades en criteris d’usabilitat i que potencien els models mentals, facilitant la intuïció dels usuaris i tenint molt en compte les característiques psicològiques de les persones.

Tot i que hi ha altres tipus d’interfícies d’usuari -com ara interfícies basades en el reconeixement de la veu, tàctils o basades en menús-, els sistemes operatius ofereixen de manera generalitzada els dos sistemes bàsics: interfície gràfica d’usuari i interfície de línia d’ordres. De vegades, però, poden oferir, de manera addicional, altres tipus d’interfícies.

Respecte a les interfícies que els sistemes operatius ofereixen als usuaris, la tendència actual és presentar interfícies gràfiques.

A la figura podeu veure un exemple d’una interfície gràfica:

Figura Interfície d’usuari gràfica

Objectius i funcions d'un sistema operatiu

Els principals objectius dels sistemes operatius són:

  • Incrementar la productivitat dels usuaris (facilitant l’ús).
  • Proporcionar un entorn còmode i una abstracció del maquinari a l’usuari.
  • Optimitzar la utilització dels components o recursos del maquinari.
  • Gestionar els recursos del maquinari i del programari
  • Decidir qui, quan, com i durant quant de temps s’utilitza un recurs.
  • Resoldre conflictes entre peticions concurrents de recursos, preservant la integritat del sistema.
  • Maximitzar el rendiment del sistema informàtic.
  • Permetre la concurrència de processos.
  • Possibilitar l’execució de qualsevol procés en el moment que se sol·liciti, sempre que hi hagi suficients recursos lliures per a ell.
  • Ser eficient quant a reduir el temps que ocupa cada treball, el temps que no s’utilitza la CPU, el temps de resposta en sistemes multiaccés i el termini entre dues assignacions de CPU a un mateix programa.
  • Ser eficient quant a augmentar la utilització de recursos en general, com ara la memòria, els processadors, els dispositius d’E/S, etc.
  • Ser fiable, és a dir, un sistema operatiu no ha de tenir errors i ha de preveure totes les possibles situacions.
  • Ser de grandària petita.
  • Possibilitar i facilitar tant com es pugui el diàleg entre el maquinari i usuari.
  • Permetre compartir entre diversos usuaris els recursos de maquinari que té un ordinador.
  • Permetre als usuaris compartir dades entre ells, en cas necessari.
  • Facilitar les operacions d’E/S dels diferents dispositius connectats a un ordinador.

Procés i programa

Un procés és un programa en execució. Un programa és un conjunt d’accions que permet resoldre una situació determinada.

Les funcions dels sistemes operatius són:

  • Dóna comoditat. Un sistema operatiu fa més fàcil l’ús de l’ordinador.
  • Dóna eficiència. Un sistema operatiu permet que els recursos de l’ordinador s’usin de la manera més eficient possible.
  • Té habilitat per evolucionar. Un sistema operatiu s’haurà de construir de manera que permeti el desenvolupament, prova o introducció efectiva de noves funcions sense interferir amb el servei.
  • S’encarrega d’administrar el maquinari. El sistema operatiu s’encarrega de manipular de la millor manera els recursos de l’ordinador quant al maquinari, això és, assignar a cada procés una part del processador per poder compartir els recursos.
  • Relaciona dispositius (gestionar-los a través del nucli del S.O). El sistema operatiu s’ha d’encarregar de comunicar els usuaris amb els dispositius perifèrics, quan els usuaris ho demanin.
  • Organitza les dades per a un accés ràpid i segur.
  • Gestiona les comunicacions en xarxa. El sistema operatiu permet a l’usuari manipular amb gran facilitat tot allò que fa referència a la instal·lació i ús de les xarxes d’ordinadors.
  • Facilita les entrades i sortides. Un sistema operatiu permet fer més fàcil a l’usuari l’accés i manipulació dels dispositius d’entrada/sortida de l’ordinador.
  • Dóna tècniques de recuperació d’errors.
  • Evita que altres usuaris interfereixin. El sistema operatiu evita que els usuaris es bloquegin entre ells, informant-los si aquesta aplicació l’està utilitzant un altre usuari.
  • Genera estadístiques.
  • Comparteix el maquinari i les dades entre els usuaris.
  • Facilita la gestió de la memòria.
  • Accepta els treballs i permet conservar-los fins que finalitzen.
  • Detecta errors i actua de manera apropiada en el cas que es produeixin.
  • Controla les operacions d’E/S.
  • Controla les interrupcions.
  • Planifica l’execució de tasques.
  • Entrega els recursos a les tasques.
  • Retira els recursos de les tasques.
  • Protegeix la memòria contra l’accés indegut dels programes.
  • Suporta el multiaccés.
  • Proporciona a l’usuari una manipulació fàcil de tot el sistema.
  • Aprofita els temps morts del processador.
  • Comparteix els recursos de les màquines entre diversos processos al mateix temps.
  • Administra de manera eficaç el sistema com un tot.
  • Permet que els diferents usuaris es puguin comunicar entre ells, així com els protegeix uns d’altres.
  • Dóna als usuaris la facilitat d’utilitzar de manera senzilla tots els recursos i facilitats del sistema.
  • Administra i organitza els recursos per utilitzar-los de la millor manera possible.
  • Controla l’accés als recursos del sistema.

En general, es pot dir que els sistemes operatius fan dues funcions:

1. Faciliten la constitució d’una màquina virtual o estesa. El sistema operatiu posa al servei de l’usuari una màquina virtual que té unes característiques que són diferents (i més fàcils d’abordar) que les de la màquina real subjacent. Algunes àrees en les quals és freqüent que la màquina virtual sigui diferent de la màquina real que la suporta són:

  • Entrada/sortida (E/S). La capacitat d’E/S d’un maquinari bàsic pot ser que sigui extremadament complex i que requereixi sofisticats programes per a la seva utilització. Un sistema operatiu evita a l’usuari el problema d’haver de comprendre el funcionament d’aquest maquinari, posant al seu abast una màquina virtual més senzilla d’usar.
  • Memòria. Molts sistemes operatius presenten la imatge d’una màquina virtual en què la memòria difereix en grandària de la de la màquina real subjacent. Així, per exemple, un sistema operatiu pot utilitzar memòria secundària (discos magnètics, etc.) per crear la il·lusió d’una memòria principal molt més extensa de la que es disposa en la realitat. Alternativament, pot repartir la memòria principal entre diversos usuaris, de forma que cada un d’ells “vegi” una màquina virtual en què la memòria sigui més petita que la de la màquina real.
  • Sistema de fitxers. La majoria de les màquines virtuals incloent-hi un sistema de fitxers per a l’emmagatzematge a llarg termini tant de programes com de dades. El sistema de fitxers està basat en la capacitat d’emmagatzematge sobre cinta o disc de la màquina real. El sistema operatiu, però, permet a l’usuari accedir a la informació emmagatzemada a través de noms simbòlics en lloc de fer-ho a través de la seva posició física en el mitjà d’emmagatzematge.
  • Protecció i tractament d’errors. Des del moment en què la majoria dels ordinadors són compartits per un determinat nombre d’usuaris, és essencial que cada un d’ells estigui protegit dels efectes dels errors o de la mala fe dels altres. Els ordinadors varien considerablement respecte al grau de protecció que proporciona el seu maquinari bàsic, i és missió del sistema operatiu constituir una màquina virtual en la qual cap usuari pot afectar de manera negativa el treball dels altres.
  • Interacció a nivell de programa. Una màquina virtual pot possibilitar la interacció entre els diferents programes dels usuaris de forma que, per exemple, la sortida d’un d’ells s’utilitzi com a entrada d’un altre. La naturalesa concreta d’una màquina virtual dependrà de l’aplicació particular a la qual es destini. Així, per exemple, les característiques d’una màquina virtual que controli un sistema de temps real serà diferent de les d’una màquina virtual que s’utilitzi per al desenvolupament de programes.

En un sistema de temps real el sistema dóna resposta en el mateix moment en què es demana un intent d’accés a un recurs.

2. Faciliten la utilització compartida de recursos. Un sistema operatiu ha d’aconseguir que es comparteixin els recursos d’un ordinador entre un cert nombre d’usuaris que treballen de forma simultània. La finalitat d’això està en el fet d’incrementar la disponibilitat de l’ordinador respecte als usuaris i, al mateix temps, maximitzar la utilització dels recursos com processadors, memòries i dispositius d’E/S. La importància de la utilització eficient d’aquests recursos influeix en el cost d’utilització del sistema informàtic.

En resum es podria dir que els sistemes operatius són un conjunt de programes que creen la interfície del maquinari amb l’usuari, i que tenen dues funcions primordials, que són:

  • Gestionar el maquinari: es refereix al fet d’administrar d’una forma més eficient els recursos de la màquina.
  • Facilitar el treball a l’usuari: permet una comunicació amb els dispositius de la màquina.

Tipus de sistemes operatius

Cal tenir present que la classificació dels sistemes operatius ve donada per la funcionalitat.

Podem classificar els sistemes operatius segons:

  • La utilització de recursos, és dir, processos concurrents.
  • La interactivitat amb l’usuari.
  • El nombre d’usuaris que hi poden accedir.
  • El tipus d’aplicacions.
  • El nombre de processadors de què disposa l’ordinador.

Tanmateix podem trobar una altre tipus de classificació amb criteris diferenciats:

  • El tipus de tecnologia
  • La propietat i llicència d’ús
  • L’estat de desenvolupament (històrics o actius)

Cal tenir present que aquesta última classificació pot ser transversal i que és millor tenir un tipus de sistema operatiu adequat a la necessitat específica de l’usuari que el fa servir. Així, doncs, no hi ha sistemes operatius millors ni pitjors, sinó que és l’usuari qui ha de determinar quin és el sistema operatiu més adequat a les seves necessitats.

Els paquets en un sistema per lots corresponen a blocs d’informació.

Podem classificar els sistemes operatius seguint els criteris següents:

  • Segons la utilització de recursos. Aquesta classificació fa referència al nombre de programes que es vol executar simultàniament.
    • Sistemes monoprogramats. Només admeten un programa en el sistema i no permeten fer ús de les tècniques de multiprogramació. El programa és carregat en memòria i és allà fins que acaba de ser executat. Durant aquest període de temps no es pot executar cap altre programa.
    • Sistemes multiprogramats o multitasca. Utilitzen tècniques de multiprogramació i poden admetre un o més programes d’un o diversos usuaris simultàniament. Aquests sistemes els podem classificar de la manera següent:
      • Multitasca apropiativa. Consisteix en el fet que el sistema operatiu pot treure el control que té un programa sobre el processador.
      • Multitasca cooperativa. El programa controla el processador i és el responsable que altres programes també es puguin executar.
  • Segons la interactivitat. Aquesta classificació té en compte el tipus de feina a què són destinats els sistemes.
    • Sistemes de processament per lots (batch). Poden utilitzar la multiprogramació per executar diversos programes a la vegada. En el procés per lots, cada treball efectua una sèrie de passos seqüencials relacionats. Tots els paquetsd’un mateix treball s’ajunten per formar un únic lot.
    • Sistemes de temps compartit (times sharing). Sistemes que accepten que diversos programes competeixin pels recursos del sistema. Això implica que la CPU és assignada durant un període de temps limitat, anomenat quàntum. Així, quan un programa deixa d’executar-se, allibera la CPU.
    • Sistemes de temps real (real time). Sistemes multiprogramats i interactius més exigents, basats en una resposta ràpida sobre els sistemes que es vol controlar a partir de les informacions rebudes. Els sistemes que no necessiten una resposta ràpida s’anomenen de temps diferit.
  • Segons el nombre d’usuaris. Classifiquem els sistemes en funció del nombre d’usuaris que poden accedir a un ordinador.
    • Sistemes monousuari. Només permeten en un determinat moment la connexió d’un únic usuari a la vegada en el sistema. Utilitzen tècniques de monoprogramació executant un únic programa o poden ser sistemes multiprogramats, que faciliten a l’usuari l’execució d’uns quants programes a la vegada.
    • Sistemes multiusuari. Utilitzen tècniques de multiprogramació i ofereixen la possibilitat que diversos usuaris accedeixin a la vegada al sistema, i es pot utilitzar també temps real i temps compartit.
  • Segons el tipus d’aplicació. Aquesta classificació es basa en el tipus d’aplicacions informàtiques que executarà el sistema.
    • Sistemes de propòsit general. Es caracteritzen per la capacitat de poder executar qualsevol tipus d’aplicació informàtica.
    • Sistemes de propòsit especial. Han estat dissenyats específicament per donar servei a determinades aplicacions informàtiques.
  • Augmenten la productivitat. En els sistemes orientats a augmentar la productivitat, l’usuari té una visió idèntica a la que tindria, per exemple, en un sistema monoprocessador de propòsit general.
  • Augmenten la velocitat. En els sistemes orientats a augmentar la velocitat, l’usuari treballa de manera diferida. En aquest cas, el desenvolupament de les aplicacions i el treball interactiu en general s’efectuen en un sistema previ al multiprocessador anomenat front-end, que és l’encarregat d’enviar a les cues de treball diferit els processos que s’han de dur a terme, i de recollir-ne els resultats.
  • Segons el nombre de processadors. Aquesta classificació es basa en la quantitat de processadors de què disposa l’ordinador.
    • Sistemes monoprocessadors.L’ordinador disposa d’una única CPU i per tant tots els programes s’han d’executar en la mateixa CPU.
    • Sistemes multiprocessadors o multiprocés. L’ordinador disposa de diverses CPU, això permet que un mateix treball o diferents treballs s’executin en diferents CPU. En funció dels objectius de rendiment que tinguin fixats, els sistemes operatius multiprocessador poden tenir bàsicament dues aparences externes. Els sistemes operatius multiprocessador poden classificar-se en funció de la seva estructura interna en:
      • El model de supervisors separats. En el model de supervisors separats cada processador té un sistema operatiu independent que funciona com un sistema gairebé aïllat.
      • El model mestre/esclau. En aquest model un processador, el mestre, és l’encarregat d’executar el sistema operatiu. La resta de processadors, els esclaus, es dediquen a executar els processos que el mestre encarrega.
      • El model simètric. En aquest model tots els processadors tenen les mateixes competències. En general els recursos de tot el sistema estan a disposició de tots els processadors. En aquest cas, a diferència dels dos casos anteriors, el sistema s’executa en paral·lel.
  • Segons la distribució de les tasques del sistema. La feina es reparteix entre diversos processadors connectats en xarxa.
    • Sistemes centralitzats. Una mateixa màquina realitza totes les tasques del sistema operatiu.
    • Sistemes distribuïts. Un sistema operatiu distribuït és un sistema operatiu que engloba i gestiona un entorn distribuït de manera transparent per a l’usuari. Podríem definir l’entorn distribuït com diversos sistemes interconnectats amb una xarxa que són capaços de cooperar i comunicar-se gràcies a aquesta xarxa i al programari que la gestiona. Cada processador té la seva pròpia memòria local, no comparteixen rellotge. La comunicació entre els processadors és a través de línies de comunicació, busos d’alta velocitat o línies telefòniques. Hi pot haver processadors de diferents grandàries i funcions. Cada sistema situat de cada màquina pot realitzar tasques diferents i específiques i d’aquesta manera millorar el rendiment del sistema.

Bus

Els busos són línies de comunicació entre els principals components de l’ordinador. Hi ha els tipus següents:

  • Bus de control: línies de comunicació per on circulen senyals de control.
  • Bus de dades: línies de comunicació per on circulen les dades.
  • Bus del sistema: línies de comunicació entre el processador, la memòria i els perifèrics.

Externament els sistemes operatius distribuïts poden oferir els mateixos serveis que un sistema de propòsit general. Internament la seva estructura es basa en el model client/servidor.

Podem classificar sistema operatius distribuïts en:

a) El model monolític Aquest model és el que han utilitzat els sistemes operatius tradicionalment. El sistema monolític és un sistema operatiu en què els serveis que ofereix estan gestionats per servidors que majoritàriament formen part del nucli del mateix sistema i, per tant, es troben dintre del seu espai protegit. En cada node de la xarxa s’executa el sistema complert i internament els diferents nuclis es coordinen per portar a terme la gestió dels diferents recursos. En la figura podeu veure un esquema del model monolític.

Figura Model monolític

b) El model micronucli El micronucli és una capa de programari que es troba en totes les màquines del sistema, i que cobreix el maquinari i proporciona un entorn bàsic on s’executen els servidors que configuren els anomenats subsistemes. En la següent figura podeu veure un esquema del model micronucli.

Figura Model micronucli

Tendències actuals i futures dels sistemes operatius

Podem resumir les tendències actuals i futures en sistemes operatius en els següents punts:

Multimèdia és el conjunt d’equipament informàtic que permet gestionar text, imatges, so, vídeo, etc.

  • Paral·lelisme:
    • Increment de multiprocessadors.
    • Extensió de llenguatges paral·lels.
  • Commutació distribuïda: increment de les xarxes d’ordinadors connectades.
  • Sistemes tolerants a falles.
  • Interfícies d’usuaris més amigables:
    • Desenvolupament d’interfícies gràfiques.
    • Incorporació de la multimèdia en les interfícies.
    • Reconeixement de la veu.
    • Immersió en l’entorn: realitat virtual 3D (tres dimensions),tecnologia que permet simular situacions reals.
  • Sistemes oberts: estandardització de sistemes per compatibilitzar els diferents fabricants a nivell de:
    • Comunicacions de xarxa.
    • Interfícies d’usuari ofertes.
    • Aplicacions ofertes (diverses plataformes).
  • Sistemes orientats a objectes: aplicació de tècniques d’orientació a objectes als sistemes operatius.
  • Personalitats múltiples: en una mateixa màquina i en un sistema operatiu bàsic poden existir diferents sistemes operatius.

Els sistemes operatius segueixen evolucionant. La principal tendència quant a organització dels treballs és convertir-se en sistemes operatius distribuïts.

Els sistemes operatius distribuïts estan dissenyats per a l’ús en grup d’ordinadors connectats però independents que comparteixen recursos. En un sistema operatiu distribuït, un procés pot executar-se en qualsevol ordinador de la xarxa per augmentar el rendiment d’aquest procés.

En els sistemes distribuïts totes les funcions bàsiques d’un sistema operatiu, com mantenir els sistemes d’arxius, garantir un comportament raonable i recuperar dades en cas de problemes, resulten més complexes.

En la figura podeu veure un esquema del model en xarxa i del model distribuït.

Figura Model en xarxa i model distribuït

No s’ha de confondre un sistema operatiu de xarxa amb un sistema operatiu distribuït. En un sistema operatiu de xarxa els ordinadors estan interconnectats a través dels mitjans de comunicacions: programari i maquinari. En aquest tipus de xarxa els usuaris saben on està executant-se el seu treball i guardant la seva informació.

En canvi, en els sistemes operatius distribuïts hi ha un programari que distribueix les tasques dels usuaris sobre una xarxa d’ordinadors, i per als usuaris és transparent on es realitzen les seves tasques i es guarda la seva informació.

Principals sistemes operatius

Alguns dels conceptes que s’utilitzen a l’hora de treballar amb els sistemes operatius i les seves inicials estan recollits a la següent taula.

Taula: Llista d’acrònims anglesos relacionats amb els sistemes operatius
S.O Acrònim
MVS multiple virtual storage
MV/SP multiple virtual/storage system product
VM virtual machine
VAX virtual address extension
OS operating system
DOS disk operating system
IBM international business machines
DEC digital equipment corporation

En el camp informàtic hi ha i hi ha hagut un gran nombre de sistemes operatius. Alguns són simples adaptacions o variacions d’altres. Vegem-los.

  • Dintre dels sistemes de tipus multiusuari podem destacar els següents:
    • MVS. És un sistema basat en l’arquitectura 370 d’IBM. Al principi dels anys vuitanta apareixen les versions més potents, com la MVS/ SP, i un any després apareix la versió MVS/ESA, amb més prestacions. Hi ha una varietat denominada VM, que converteix una única màquina real en un conjunt de màquines virtuals. Dintre d’aquesta màquina, l’usuari pot executar qualsevol sistema operatiu.
    • DECVMS o VMS de DEC. Es basen en l’arquitectura de Digital i tenen el seu origen en el sistema operatiu VMS dels sistemes VAX. Pretenen que les aplicacions puguin compartir la informació i els recursos independentment del sistema informàtic en què s’estan executant.
  • Unix. És un sistema multiusuari, creat a partir del llenguatge C. És modular i admet programes de diferents fabricants. El nucli és interactiu, el shell es pot convertir en un llenguatge de programació, té moltes utilitats i eines de desenvolupament. En el mercat hi ha diverses versions amb una certa compatibilitat entre si: SCO Unix, Linux, BSD, AIX, Solaris, etc.
  • El Theos és un sistema multiusuari que està destinat a la gestió de petites i mitjanes empreses. Posseeix una gran facilitat de programació i és molt fàcil d’aprendre. L’estructura d’arxius és semblant a la del sistema DOS. El Xenix és un altre sistema multiusuari. És una variant d’Unix pensada per a entorns multiusuari. Hi ha versions compatibles amb Unix System V.
  • Dins dels sistemes del tipus monousuari tenim:
  • OS/2. És un sistema multitasca dissenyat per a ordinadors personals. El seu funcionament es basa en un processador per a cada usuari i disposa d’una interfície gràfica de connexió. Hi ha versions també per a xarxa (OS/2 WARP Server).
  • DOS. Sistema operatiu monotasca i monousuari. Ha estat un sistema molt utilitzat des de l’aparició del primer PC. Avui dia, la tendència és que desaparegui per les limitacions que té. Hi ha diferents fabricants que comercialitzen el DOS amb diferents noms. Les marques més conegudes són les versions MS-DOS (Microsoft), i PC-DOS (IBM).
  • Windows-x. Tenen una arquitectura de 32 bits, multitasca, que permet executar múltiples aplicacions simultàniament i de manera completa sempre que les aplicacions siguin de 32 bits. Destaca per tenir un entorn gràfic molt potent. Hi ha diferents versions amb característiques diferents: Windows 3.x, Windows 95, Windows 98, Windows NT Workstation, Windows 2000 Professional Edition, Windows Vista, etc.

Tots aquests sistemes operatius, ja siguin monousuari o multiusuari, han incorporat poc o molt la interconnexió gràfica d’usuari (GUI), que permet una utilització més fàcil del sistema a base d’elements gràfics.

Un altre factor que cal tenir en compte, i que està relacionat amb els sistemes operatius actuals, són les xarxes locals, algunes de les quals utilitzen sistemes operatius especials (Windows NT Server, Windows 2000Server, Windows 2003 Enterprise Edition etc.) i d’altres que funcionen eficientment amb modificacions dels sistemes operatius anteriorment comentats (Unix/Xenix, OS/2 i DOS).

Cada sistema operatiu té les seves pròpies limitacions, normalment a causa de la seva filosofia de funcionament o de les disponibilitats de memòria i de recursos físics. En el món MVS, per exemple, preval la seguretat i la fiabilitat de les aplicacions, mentre que en altres entorns es valoren més les capacitats de càlculs o la rapidesa del desenvolupament.

En els sistemes operatius propietaris de l’entorn dels miniordinadors, com l’OS/400, creat per a l’ordinador IBM AS/400, i el VMS de DEC, creat per al VAX Computer, el futur que tenen està lligat al maquinari concret.

Sistemes propietaris i sistemes oberts

Un sistema propietari és aquell sistema que per a la seva utilització cal estar registrat. Els sistemes oberts permeten la seva utilització de manera lliure.

L’Unix ha estat creat i pensat per a tot tipus d’ordinadors. Això ha provocat que algunes versions hagin hagut de ser reduïdes per poder-ne utilitzar en els PC (Minix). Avui dia, però, el desenvolupament dels microordinadors de 64 bits, amb capacitats més potents de maquinari, fan que el seu futur sigui molt prometedor, especialment la versió Linux per la seva gratuïtat d’utilització i la seva contínua evolució.

Els sistemes DOS estan limitats pel fet de ser monousuari i monotasca, excepte si es combina amb versions de l’entorn Windows 9x, ja que ofereix la possibilitat de poder treballar en multitasca. L’aparició de les xarxes d’àrea local (LAN) ha resolt algunes limitacions, ja que avui dia hi ha la possibilitat de la integració entre sistemes que fa pocs anys era impensable (Unix/NetWare, Unix/Windowsx, Unix/DOS, etc.).

Durant la dècada dels noranta ha sorgit un nou entorn que és el dels sistemes clients/servidors. Aquest concepte no està limitat a la grandària dels ordinadors sinó a la funció que tenen. L’aparició de les xarxes d’ordinadors personals interconnectades ha motivat l’aparició de nous equips, la funció essencial dels quals és centralitzar determinats serveis per oferir-los a un conjunt d’ordinadors de la xarxa. Un servidor pot, per exemple, oferir disc dur a altres ordinadors ampliant la capacitat d’emmagatzematge d’aquests o, fins i tot, tenir d’única còpia de les aplicacions. Els sistemes operatius més utilitzats per a sistemes servidor/client són Unix, OS/2 i Windows NT, Windows 2000 Server, etc.

La majoria dels sistemes operatius actuals han estat dissenyats perquè siguin fàcils d’utilitzar. En contrapunt, els sistemes operatius del futur estaran dissenyats per a un ús i desenvolupament fàcils. El disseny estarà fet amb poques disminucions quant a la seva facilitat d’implementació, amb l’excepció de la seva modularitat i estandardització. A causa d’aquests principis de disseny, el sistema operatiu del futur no serà difícil d’implementar. Aquestes mateixes qualitats de treball dels programadors, també quant a la majoria dels projectes de desenvolupament, necessitaran només assemblar objectes d’alt nivell. Aquests mòduls, que s’hauran de dissenyar, seran reutilitzables i fàcilment adaptables a les necessitats de cada programador.

Tipus d'aplicacions

L’ordinador està format per dos elements fonamentals: l’element físic o maquinari i l’element lògic o programari.

El maquinari (hardware) fa referència a tot allò que podem veure i tocar (el monitor, el teclat, la CPU, etc.).

El programari (software) fa referència als elements que no tenen existència física, com les idees, els conceptes, els programes, les aplicacions, etc.

Ara ens centrarem en el programari, que és on es troben els diferents tipus d’aplicacions. Podem fer una diferenciació clara entre:

Programa: seqüència d’instruccions que un ordinador pot interpretar i executar.

  • Programari del sistema. Constitueix el conjunt de programes que controlen el funcionament de l’ordinador juntament amb els recursos i la resta de programes, proporcionant a l’usuari una interfície còmoda en la comunicació amb l’ordinador. Dins d’aquest programari podem diferenciar entre:
    • Programari de control. És el programari orientat a facilitar i millorar el rendiment dels processos en l’ordinador; aquest programari s’agrupa depenent del recurs a optimitzar. Podem dir que el programari de control inclou una combinació dels elements següents:
      • Sistema operatiu. És el conjunt de diferents programes que controlen el funcionament d’un ordinador. Possiblement és la part més important del programari del sistema.
      • Controladors de dispositius (drivers). Programes que permeten al sistema operatiu interactuar amb el perifèric.
  • Programari de serveis. És el conjunt de programes o utilitats que permeten la construcció de programes incloent eines com ara:
    • Compiladors. Tradueixen programes amb llenguatge font en programes que poden ser interpretats pels objectes.
    • Editors de textos. Amb què es pot escriure text i desar-lo en la memòria secundària.
    • Depuradors. Programes que permeten depurar o netejar els errors d’un altre programa.

Cal tenir present que avui en dia hi ha eines especialment dissenyades per al desenvolupament de programari base com ara els IDE (entorns integrats de desenvolupament) amb una bona interfície gràfica per a l’usuari en què s’agrupen totes les eines anteriors de manera que el programador no necessiti introduir múltiples ordres per interpretar, compilar i depurar.

  • Programari d’aplicació. En aquest grup trobem tot el programari que permet a l’usuari dur a terme una o diverses tasques específiques. Dins d’aquest grup podem diferenciar entre:
    • Programari d’aplicació horitzontal. És el tipus de programari que es pot utilitzar per a diferents finalitats.
      • Processadors de textos. programes orientat a la creació de documents de text com per exemple: Lotus Word Pro, Microsoft Word, Corel WordPerfect, OpenOffice.org Writer.
      • Fulls de càlcul. Són programes orientats a la utilització d’informació en què es requereixen càlculs matemàtics, com ara: Quattro Pro, Lotus 1-2-3, OpenOffice.org Calc, Microsoft Excel.
      • Bases de dades. Són programes que permeten manipular grans quantitats de dades relacionades. Aquests programes són els mateixos sistemes gestors de bases de dades que fan que l’usuari interaccioni amb la mateixa BD. Exemples: MySQL, Microsoft Access,dBase, etc.
      • Comunicació de dades. Són programes que ens permeten navegar per la xarxa mundial de la informació Internet. Exemples: Safari, Mozilla Firefox, MSN Explorer, Internet Explorer, Netscape Navigator, Kazaa, MSN Messenger Yahoo! Messenger, Opera, etc.
    • Programari d’aplicació vertical. És el tipus de programari fet a mida per a les necessitats de l’usuari o l’entitat que compra aquest tipus de programari.
      • Aplicacions per gestionar les multes de trànsit. Aquestes aplicacions són específiques per als mossos d’esquadra, però no per a qualsevol altra entitat.
      • Aplicacions per gestionar les nòmines dels treballadors d’una empresa X. Aquestes aplicacions són específiques per a l’empresa X, ja que tenen unes necessitats específiques.

Aquesta és una manera de simplificar la quantitat de programari d’aplicació que podem trobar avui en dia. Cada vegada es creen més aplicacions horitzontals específiques al sistema operatiu depenent de si el sistema operatiu és de programari lliure o de propietari.

Llicències

A qualsevol creador li agrada que la seva obra sigui reconeguda, perquè vol tenir un reconeixement no lucratiu o bé perquè en vol treure un rendiment econòmic. Això ens dóna peu a parlar en termes informàtics del següent:

La llicència és el contracte entre el programador d’un programari sotmès a la propietat intel·lectual sobre el drets d’autor i l’usuari, en què es defineixen amb precisió els drets i deures de cada part. És el programador, o la persona a qui li hagi donat permís sobre els drets d’explotació, qui tria el tipus de llicència segons es vulgui distribuir el programari.

El copyright o drets d’autor és la forma de protecció proporcionada per les lleis vigents a la majoria de països, als autors de programari tant per al publicat com per al pendent de publicar.

El copyleft és l’antítesi del copyright, mitjançant la legislació pròpia dels drets d’autor, per assegurar que la persona que rep una còpia o obra derivada del programari pugui fer servir, modificar i també distribuir tant el treball com les seves versions.

Cal tenir present que hi ha diferents tipus de programari en funció del propietari que l’ha creat, com també de la disponibilitat d’utilització i distribució posterior; així, doncs, podem fer una distinció com:

  • Programari lliure (free software). Programari que es pot modificar per fer-hi millores i redistribuir-lo al públic, copiat i utilitzat per a qualsevol propòsit; per tant, ha d’anar acompanyat del codi font per poder fer efectives aquestes llibertats que el caracteritzen.
  • Programari de domini públic. És un programari que no requereix llicència. Els drets d’explotació són per a tota la humanitat, perquè pertany a tots per igual. És un programari que qualsevol pot fer servir sempre dins de la legalitat i fent referència a l’autor original. Aquest programari pot venir d’un autor que l’ha donat a la humanitat o els drets d’autor del qual han expirat.
  • Programari semilliure. És un programari que manté les característiques del programari lliure per als usuaris individuals o entitats educatives sense cap lucre, però que prohibeix aquestes llibertats per a una utilització comercial.
  • Programari gratuït (freeware). És un programari que es pot redistribuir lliurement però no es pot modificar perquè el codi font no està disponible. Així doncs, un programari gratuït no és un programari lliure.
  • Programari de prova o shareware. És un programari que permet la redistribució, però no inclou el codi font i, per tant, no es pot modificar. A més, passat un període de temps, normalment es necessari pagar una llicència per continuar-lo utilitzant.
  • Programari descatalogat o abandonware. És un programari en què els drets d’autor no són reconeguts o en què la companyia que els va crear ja no el ven; així, doncs, apareix el terme abandon, que ve de ser abandonat.
  • Programari piratejat o warez. És un programari que es distribueix violant el copyright de l’autor; així doncs, està fora de la llei.
  • Programari de propietat. És un programari en què per copiar-lo, modificar-lo, redistribuir-lo o utilitzar-lo s’ha de sol·licitar permís al propietari o pagar. També s’anomena programari no lliure, programari privat, programari privatiu, programari amb propietari i programari de propietat.
  • Programari comercial. És un programari creat per una empresa que vol treure beneficis de la seva utilització.

Codi font

Conjunt de línies de text que són les instruccions que ha de seguir l’ordinador per executar un programa.

Tipus de llicències

Per fer una distribució més simplificada dels diferents tipus de llicències que trobem en el mercat, ens centrarem en dos punts de vista:

Des del punt de vista del programari de propietat:

  • Llicència CLUF (contracte de llicència per a l’usuari final) o EULA (end user license agreement). Llicència per la qual la utilització del producte sols està permesa a un únic usuari, en aquest cas el comprador. Aquesta llicència es troba en format paper en el mateix producte o en format electrònic. Tant el Word com l’Excel de Microsoft són exemples clars d’utilització d’aquesta llicència.
  • Codi obert o open source. Mostra una visió pràctica; és a dir, la distribució del codi font fa que el programari sigui de qualitat millor, més segur, creatiu, evolucioni més ràpidament i s’orienti a les necessitats de l’usuari. Darrere del codi obert s’amaga una empresa amb generacions de beneficis. En canvi, el programari lliure dóna una visió més moral i defensa la utilització del programa perquè es pugui copiar, distribuir, estudiar o modificar sense cap restricció.

Així doncs, hi ha dos tipus de llicències, la de codi obert i la de programari lliure, encara que totes dues s’acostumen a barrejar i a conèixer amb el terme de programari lliure. El més estricte seria considerar-les per separat, tot i que el programari lliure compleix tots els requisits per ser programari de codi obert; així, la llicència de programari lliure GNU/GPL es podria considerar una llicència de codi obert.

Des del punt de vista del programari lliure considerem les llicències:

  • Llicència GPL (general public license of GNU). Es tracta d’una llicència que fa servir el copyleft. L’usuari té dret a utilitzar el programa amb llicència GNU GPL, modificar-lo i distribuir les versions modificades i obligar que aquestes versions modificades estiguin sota la llicència GNU GPL; és a dir, si tenim un codi A amb llicència GPL i modifiquem part del programa i afegim un codi B, obtenim el conjunt A+B sempre amb llicència GNU GPL. El GNU és un projecte creat l’any 1984 per desenvolupar un sistema operatiu com si fos l’UNIX però de programari lliure.
  • Llicència AGPL(llicència pública general d’Affero). Es tracta d’una ampliació de la GPL dissenyada específicament per assegurar la cooperació amb la xarxa si el programari es troba a servidors de xarxa; és a dir, inclou l’obligació de distribuir el programari si aquest s’executa per oferir serveis per mitjà de la xarxa.
  • Llicènncia LGPL(lesser general public license of GNU). Es tracta de la llicència que tenen les biblioteques de programari lliure.
  • Llicència FDL (free documentation license). Es tracta de la llicència que tenen el manuals i la documentació en general del programari lliure.

Per acabar, en la taula farem una comparativa entre la llicència EULA i la GPL.

Taula: Comparativa entre la llicència de tipus EULA i la de tipus GPL
Llicència EULA sistema operatiu Windows XP Llicència GPL sistema operatiu Linux
Es prohibeix la còpia. Permet la còpia, modificació i redistribució del programari, ja que té el codi font.
És pot utilitzar amb un únic ordinador amb un màxim de dos processadors. Es pot vendre i es poden cobrar serveis sobre el programari.
No es pot utilitzar com a servidor web (web server) ni com a file sever. Qualsevol patent sobre el programari ha de ser llicenciada pel benefici de tots.
Cal registrar-se als trenta dies d’utilització. El programari modificat no ha de tenir cost per a la llicència.
La llicència pot deixar de ser vàlida si s’efectuen canvis al maquinari. No
Si la companyia vol, les actualitzacions del sistema poden modificar la llicència. No
Només es pot transferir una vegada a un altre usuari. Es pot trametre a molts usuaris.
Imposa una limitació sobre l’enginyeria inversa. No
Dóna dret a Microsoft perquè en qualsevol moment pugui recollir informació sobre el sistema i la seva utilització i perquè lliuri aquesta informació a tercers. No
La garantia és per als primers noranta dies. No ofereix garantia.
Les actualitzacions i els pedaços no tenen garantia. Proporciona garantia dels drets de l’usuari a la còpia, modificació i redistribució del programari.
Cost per obtenir la llicència. Llicència gratuïta.
Anar a la pàgina anterior:
Referències
Anar a la pàgina següent:
Activitats