Post on 08-Nov-2014
Introducció als sistemes operatiusJosep Esteve Estruch
Sistemes operatius monolloc
Sistemes operatius monolloc Introducció als sistemes operatius
Índex
Introducció ............................................................................................... 5
Resultats d’aprenentatge ....................................................................... 7
1. Caracterització dels sistemes operatius, tipus i aplicacions ......................................................................................... 9
1.1. Els components físics i lògics d’un sistema informàtic.
El programari base ...................................................................... 9
1.1.1. Part física d’un sistema informàtic ................................ 10
1.1.2. Part lògica d’un sistema informàtic ............................... 10
1.1.3. Part humana d’un sistema informàtic ........................... 11
1.2. Codificació de la informació en diferents sistemes
de representació .......................................................................... 12
1.2.1. Definició de la informació ............................................... 12
1.2.2. Elements de la informació .............................................. 12
1.2.3. El sistema binari ............................................................... 13
1.2.4. Mesura de la informació .................................................. 14
1.2.5. Sistemes de representació de la informació
numèrica ............................................................................ 16
1.2.6. Teorema fonamental de la numeració ........................... 18
1.2.7. Conversió entre sistemes de numeració ....................... 18
1.2.8. Operacions bàsiques amb sistemes de numeració ....... 21
1.2.9. Representació dels nombres enters ............................... 23
1.2.10.Representació dels nombres en coma o punt fix ......... 25
1.2.11.Sistemes de representació de la informació
alfanumèrica ..................................................................... 26
1.2.12.Codificació interna de les dades ..................................... 27
1.3. Sistemes transaccionals ............................................................. 28
1.3.1. Tipus de sistemes d’informació ...................................... 30
1.3.2. Transaccions ..................................................................... 30
1.4. Concepte, elements i estructura d’un sistema operatiu ........ 31
1.4.1. Definició de sistema operatiu ......................................... 32
1.4.2. Elements d’un sistema operatiu ..................................... 34
1.4.3. Estructura d’un sistema operatiu ................................... 35
1.5. Funcions del sistema operatiu. Recursos ................................. 40
1.5.1. Objectius dels sistemes operatius ................................... 41
1.5.2. Funcions dels sistemes operatius ................................... 41
1.5.3. Recursos dels sistemes operatius. Concurrència,
comunicació, sincronització i interbloqueig
de processos ...................................................................... 43
1.6. Arquitectura del sistema operatiu ............................................. 46
Sistemes operatius monolloc Introducció als sistemes operatius
1.7. Evolució històrica. Sistemes operatius actuals ....................... 49
1.7.1. Generacions informàtiques ............................................. 49
1.7.2. Sistemes operatius actuals .............................................. 55
1.8. Classificació del sistemes operatius ......................................... 59
1.9. Gestió de processos. Estats dels processos.
Prioritat i planificació ................................................................. 61
1.9.1. Els processos ..................................................................... 61
1.9.2. Operacions amb els processos ......................................... 62
1.9.3. Tipus de processos ............................................................ 63
1.9.4. Estats dels processos ....................................................... 64
1.9.5. Planificació del processador ............................................ 66
1.9.6. Algorismes de prioritats ................................................... 75
1.10.Gestió de la memòria ................................................................. 75
1.10.1.Conceptes generals del gestor de memòria .................. 75
1.10.2.La gestió de la memòria en sistemes
monoprogramats .............................................................. 77
1.10.3.La gestió de la memòria en sistemes
multiprogramats ............................................................... 78
1.10.4.La memòria virtual .......................................................... 79
1.11.Gestió d’entrada/sortida ............................................................ 82
1.11.1.Interfície dispositiu perifèric - ordinador ...................... 83
1.11.2.Programari de control d’E/S ........................................... 84
1.12.Gestió de la informació .............................................................. 85
1.12.1.Estructura de la informació ............................................ 86
1.12.2.Sistema de fitxers ............................................................ 87
1.12.3.Mètodes d’accés als fitxers ............................................. 89
1.12.4.Directoris d’arxius ........................................................... 90
1.12.5.Seguretat dels arxius ....................................................... 92
2. Configuració de màquines virtuals .................................................. 94
2.1. Descripció de màquina real i de màquina virtual .................... 94
2.1.1. Virtualització ..................................................................... 95
2.1.2. Amfitrió i hoste ................................................................. 95
2.2. Avantatges i inconvenients de la virtualització
i de les màquines virtuals ........................................................... 96
2.3. Programari lliure i propietari per a la creació de màquines
virtuals: instal·lació ..................................................................... 99
2.4. Creació de màquines virtuals per a sistemes operatius
lliures
i propietaris .................................................................................. 104
2.5. Configuració i utilització de màquines virtuals ....................... 105
2.6. Comprovació del funcionament correcte de les instal·lacions
i les configuracions dutes a terme ............................................ 106
2.7. Documentació del procés d’instal·lació i de les seves
incidències ................................................................................... 107
2.8. Interpretació de la documentació tècnica ................................ 111
Sistemes operatius monolloc 5 Introducció als sistemes operatius
Introducció
En aquesta unitat formativa estudiareu un tipus de programari bàsic per
al bon funcionament del maquinari, que forma part de l’ordinador i que
s’anomena sistema operatiu (SO).
Segurament us heu plantejat alguna vegada de quina manera els ordina-
dors gestionen la informació que han de manipular. Doncs bé, en aquesta
unitat funcional comentarem com els ordinadors tracten la informació i
de quins mecanismes disposen.
Aquest programari bàsic (SO) controla tot el maquinari. En aquesta unitat,
anomenada “Introducció als sistemes operatius. Creació de màquines vir-
tuals”, veurem la necessitat de l’existència del sistema operatiu i en dona-
rem algunes definicions. En l’apartat “Caracterització dels sistemes
operatius. Tipus i aplicacions” comentarem l’evolució que han tingut els
sistemes operatius des de diferents aspectes, ja que d’alguna manera la
seva evolució va paral·lela a la dels ordinadors. En aquesta evolució intro-
duirem una sèrie de conceptes que s’apliquen en el disseny de sistemes
operatius, com són la monoprogramació, la multiprogramació, el temps
compartit, el temps real, els sistemes multiusuaris i monousuaris, el mul-
tiprocés, la multitasca, etc. No tots els sistemes operatius tenen les matei-
xes característiques i tampoc estan destinats a fer les mateixes tasques.
Per això, farem diferents classificacions en funció de diversos criteris.
Un altre aspecte que estudiareu és el que fa referència als processos: la
importància que tenen, el seu funcionament, els estats en què poden estar
i les seves possibles transicions. Coneixereu els processos concurrents i
cooperatius que es basen a compartir recursos. La sincronització i l'inter-
canvi d’informació entre els processos concurrents i cooperatius són ele-
ments que cal considerar per assegurar les relacions entre els processos.
També estudiarem la gestió de la memòria: veureu diferents propostes
que van des de la gestió de la memòria real fins a la gestió de la memòria
virtual, i aprendreu el funcionament de les tècniques de paginació, de seg-
mentació... També parlarem dels controladors de dispositius (drivers)
d’entrada/sortida de l’ordinador, que treballareu des de l’aspecte del ma-
quinari i també del programari.
Pel que fa a la gestió de fitxers, veureu com el sistema operatiu gestiona
la informació en els suports de discos magnètics en els aspectes de l’orga-
nització de la informació, de laccés a la informació i des d’altres aspectes.
Sistemes operatius monolloc 6 Introducció als sistemes operatius
Així mateix, comentarem la importància de la seguretat en un sistema in-
formàtic i com el sistema operatiu pot participar en aquesta feina.
Es pot investigar el funcionament dels sistemes operatius mitjançant la
utilització de les màquines virtuals, entre d’altres. En l’apartat “Configu-
ració de màquines virtuals” estudiarem la diferència entre les màquines
reals i les màquines virtuals i el seu funcionament. Una vegada ja en co-
negueu el funcionament, instal·lareu algun tipus de programari lliure o
propietari amb aquest tipus de tecnologia. També creareu i configurareu
màquines virtuals, i comprovareu el funcionament del sistema i de les
configuracions fetes.
Així mateix, haureu de documentar tot el procés d’instal·lació, de configu-
ració i de comprovació de les màquines virtuals amb les seves incidències
i solucions adoptades.
Aquesta unitat formativa és bàsica per poder entendre l’ordinador, saber-
lo utilitzar correctament i comprendre el funcionament general dels sis-
temes operatius. Un altre aspecte que heu de considerar és la importància
d’instal·lar i configurar màquines virtuals, ja que cal saber-les utilitzar per
poder instal·lar i configurar sistemes operatius monousuaris i multiusua-
ris en una fase posterior.
En general heu de conèixer com l’ordinador manipula la informació, qui-
nes unitats de mesura utilitza i com codifica la informació que ha de ges-
tionar. Pel que als sistemes operatius, heu de ser conscients de la
importància que tenen avui dia, ja que són necessaris perquè els sistemes
informàtics funcionin correctament. Finalment, heu de saber com funcio-
nen les màquines virtuals, com les heu d’instal·lar, configurar i documen-
tar i conèixer-ne la utilitat.
Sistemes operatius monolloc 7 Introducció als sistemes operatius
Resultats d’aprenentatge
En acabar la unitat heu de ser capaços del següent:
1. Diferenciar els conceptes de programari bàsic i de programari
d’aplicacions informàtiques.
2. Descriure els elements principals d’un sistema informàtic.
3. Diferenciar els diferents tipus de personatges implicats en un sis-
tema informàtic.
4. Descriure les funcions principals dels sistemes operatius.
5. Diferenciar la informació de les dades.
6. Saber aplicar les diferents unitats de mesura de la informació.
7. Saber aplicar les tècniques de codificació de la informació.
8. Diferenciar conceptes relacionats amb els sistemes operatius: la
multiprogramació, la monoprogramació, el temps real, el temps
diferit, el multiprocés, el sistema monousuari i multiusuari, etc.
9. Assenyalar els possibles avantatges i inconvenients dels sistemes
operatius.
10. Indicar l’evolució dels sistemes operatius i les seves previsions de
futur.
11. Saber classificar els sistemes operatius des d’aspectes diversos.
12. Descriure l’arquitectura dels sistemes operatius.
13. Descriure la funció del nucli dels sistemes operatius.
14. Explicar el funcionament de la interfície d’usuari en els sistemes
operatius.
15. Explicar el funcionament dels principals algorismes de planifica-
ció del processador.
16. Descriure els conceptes de paral·lelisme, concurrència, sincro-
nització, comunicació i interbloqueig.
Sistemes operatius monolloc 8 Introducció als sistemes operatius
17. Distingir les diferents tècniques de gestió de la memòria real.
18. Interpretar el funcionament de la memòria paginada i de la me-
mòria segmentada.
19. Comentar la importància dels processos.
20. Descriure les diferències entre la gestió de la memòria real i la
gestió de la memòria lògica.
21. Explicar la importància de la gestió dels dispositius d’entrada/sor-
tida.
22. Valorar la importància de la gestió de la informació en els suports
de discos magnètics.
23. Reconèixer diferents alternatives per a estructurar un sistema de
fitxers.
24. Conèixer les principals tècniques de seguretat referides als siste-
mes operatius.
25. Diferenciar les màquines reals i les màquines virtuals.
26. Conèixer el funcionament de les màquines virtuals.
27. Descriure els avantatges d’utilitzar les màquines virtuals.
28. Explicar els tipus de virtualitzacions.
29. Diferenciar el programari propietari i el programari lliure.
30. Saber interpretar les diverses fases de la instal·lació i de la confi-
guració del programari en un sistema informàtic.
31. Instal·lar el programari per a la creació de màquines virtuals.
32. Crear màquines virtuals.
33. Configurar màquines virtuals.
34. Comprovar el funcionament del sistema informàtic juntament
amb les màquines virtuals instal·lades i configurades.
35. Documentar tot el procés d’instal·lació i de configuració de les mà-
quines virtuals i també les incidències aparegudes i solucions
adoptades.
Sistemes operatius monolloc 9 Introducció als sistemes operatius
1. Caracterització dels sistemes operatius, tipus i aplicacions
Els protagonistes principals dels sistemes informàtics són el maquinari i
el programari. Aquests dos elements són bàsics per al correcte funciona-
ment d’un sistema informàtic. Altres components que també cal destacar
són els elements humans i la informació.
1.1. Els components físics i lògics d’un sistema informàtic.
El programari base
Els ordinadors no han nascut en els últims anys, en realitat les persones
sempre han buscat tenir dispositius que les ajudin ha efectuar càlculs pre-
cisos i ràpids. Des de l’aparició de les calculadores binàries fins als nostres
dies, hi ha molt poques activitats humanes que no estiguin lligades d’una
manera o una altra a les màquines electròniques. Així, doncs, podem defi-
nir l’ordinador de moltes maneres i seguidament n’indiquem algunes:
• L’ordinador és una màquina formada per una sèrie d’elements físics
connectats d’una manera lògica i racional que tracten la informació au-
tomàticament.
• L’ordinador és una màquina electrònica ràpida i exacta que és capaç
d’acceptar dades per un medi d’entrada, processar-les automàticament
sota el control d’un programa prèviament emmagatzemat i proporcio-
nar la informació resultant a un medi de sortida.
• L’ordinador és un dispositiu electrònic capaç de rebre un conjunt d’ins-
truccions i executar-les fent càlculs sobre les dades numèriques i rela-
cionant-les amb altres tipus d’informació per a obtenir un altre conjunt
de dades o informació com a resposta.
• L’ordinador és un sistema electrònic que porta a cap operacions arit-
mètiques i de lògica a alta velocitat d’acord amb les instruccions inter-
nes que són executades sense intervenció humana. A més, té la
capacitat d’acceptar i d’emmagatzemar dades d’entrada, processar-les
i produir resultats de sortida automàticament. La seva funció principal
és el processament de dades.
El conjunt d’accions que s’ordenen i que executa un ordinador es coneix
amb el nom de programa. Lligat a aquest concepte tenim el d’aplicació in-
formàtica.
Una operació lògica és aquella en què el resultat només pot ser vertader o fals.
El procés de dades equival a la manipulació de dades.
Sistemes operatius monolloc 10 Introducció als sistemes operatius
A vegades es parla de sistema informàtic com una expressió més concreta
del terme informàtica.
En un sistema informàtic hi ha els elements constitutius interrelacionats
següents: la part física, la part lògica i la part humana.
1.1.1. Part física d’un sistema informàtic
L’element físic d’un sistema informàtic també es coneix amb el nom de
maquinari (hardware).
1.1.2. Part lògica d’un sistema informàtic
L’element lògic d’un sistema informàtica també es coneix amb el nom de
programari (software).
No tots els elements lògics fan les mateixes funcions, per la qual cosa els
podem classificar en programari bàsic i programari d’aplicació.
Un sistema informàtic és el conjunt d’elements necessaris per a
la realització i l’explotació d’aplicacions informàtiques. S’hi in-
clouen els elements de programari, de maquinari i els humans.
Podem definir la informàtica com la ciència que estudia el trac-
tament automàtic i racional de la informació.
El maquinari (hardware) fa referència a tot allò que podem veure
i tocar (el monitor, el teclat, la CPU, etc.).
El programari (software) té l’origen en les idees (conceptes) i és
compost per tot allò que fem servir en el camp de la informàtica que
no podem veure ni tocar (per exemple, els jocs d’ordinadors, els pro-
grames de comptabilitat, els sistemes operatius, etc.).
El programari bàsic és el conjunt de programes que l’equip físic
necessita per a tenir capacitat de treballar. Aquests configuren el
que s’anomena en un sistema informàtic el sistema operatiu (per
exemple, Unix, Linux, etc.). En altres paraules, el programari bà-
sic és format per tots els programes que capaciten el maquinari
per a poder funcionar correctament.
Programa i aplicació informàtica
En general, un programa és un conjunt d’accions que s’han de fer seguint un ordre determinat per a resoldre un problema determinat.
Una aplicació informàtica és un conjunt d’un o més programes per a dur a terme un treball determinat en un sistema informàtic.
L’explotació d’una aplicació informàtica equival a la utilització d’una aplicació informàtica.
El terme informàtica té l’origen en les paraules: INFORmació autoMÀTICA.
Les inicials UCP o CPU corresponen a la unitat central de processament o central processing unit.
Pes del programari
Avui dia té més pes el programari que el maquinari, a causa, sobretot, del cost, del manteniment i del valor que representen els avenços en els seus continguts.
Exemples de programari
Unix i Linux són sistemes operatius i, per tant, els podem considerar programari bàsic.
Com a cas de programari d’aplicació tenim, per exemple, els jocs d’ordinador, els programes de gestió comercial, els programes de gestió de nòmines, etc.
Sistemes operatius monolloc 11 Introducció als sistemes operatius
1.1.3. Part humana d’un sistema informàtic
L’element humà d’un sistema informàtic és l’element més important que
forma part de la informàtica o d’un sistema informàtic. Sense les persones
que estan al càrrec de la informàtica, no hi hauria ni la part física ni la part
lògica.
Dins del que hem anomenat part humana, podem distingir els elements
següents:
• Usuari. És la persona que utilitza la informàtica com a eina per a desen-
volupar el seu treball o com a ajuda en una activitat. Cal tenir uns co-
neixements informàtics basics i, particularment, tenir uns grans
coneixements sobre el funcionament de l’aplicació informàtica que es-
tà utilitzant, com, per exemple, l’usuari d’aplicacions ofimàtiques.
• Personal informàtic. És el conjunt de persones que desenvolupen dife-
rents funcions relacionades amb la utilització dels ordinadors en una
empresa. Controlen i manipulen les màquines perquè donin el servei
adequat als usuaris.
El personal informàtic
El personal informàtic es pot classificar en els grups següents:
1) Direcció. Entre 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.).
2) Anàlisi. El personal que pertany a aquest grup és el responsable d’intentar trobar millores infor-màtiques o solucions als problemes que es plantegin.
a) Segons el tipus d’anàlisi poden ser:
• Analistes funcionals. Busquen solucions generals a un problema determinat.• Analistes orgànics. Les solucions proposades pels analistes orgànics són més concretades o
especificades.
b) Segons l’objectiu de l’anàlisi que en facin poden ser:
• Analistes de sistemes. S’ocupen de buscar millores o solucions a problemes quant al sistema(per exemple, millorar el sistema operatiu, les comunicacions, etc.).
• Analistes d’aplicacions. S’ocupen de buscar millores o solucions quant als usuaris per a lesaplicacions que utilitzen o possibles aplicacions futures que hagin d’utilitzar.
3) Programació. El personal de programació tradueix al llenguatge de programació les solucionsproposades pels analistes. La seva funció també és la de fer la traducció de les diferents accions alllenguatge natiu de la màquina (llenguatge màquina). Per a comprovar que la traducció funciona,utilitzen jocs d’assaig que són proposats pels mateixos analistes. Els programadors poden ser:
a) Programadors de sistemes. Tradueixen les accions relacionades amb el sistema i expressadesen llenguatge natural, utilitzant llenguatges de programació.
El programari d’aplicació són els programes que fan que l’ordina-
dor desenvolupi una tasca determinada.
Ofimàtica
Amb el terme ofimàtica ens referim a la utilització de la informàtica en els departaments de gestió administrativa de l’empresa.
Imatge que simbolitza els usuaris
Llenguatgesde programació
Els llenguatges de programació són un conjunt de regles o normes que fixen la sintaxi que cal utilitzar per a donar ordres a un ordinador. El llenguatge C o el llenguatge Cobol en són alguns exemples.
Llenguatge màquina
El llenguatge màquina és el llenguatge utilitzat pels ordinadors. És format per senyals binaris. Els senyals binaris són formats per dos estats: activat i desactivat (on, off).
Sistemes operatius monolloc 12 Introducció als sistemes operatius
b) Programadors d’aplicacions. Tradueixen les accions relacionades amb un problema de
gestió, de disseny, etc., expressades de manera natural, utilitzant els llenguatges de programa-
ció.
4) Explotació. El personal d’explotació s’encarrega d’executar els programes o les aplicacions i de
comprovar el funcionament dels equips i dels sistemes.
5) 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.
En un sistema informàtic a més dels elements físics, lògics i humans tam-
bé podem trobar un altre element no menys important com pot ser la in-
formació.
1.2. Codificació de la informació en diferents sistemes
de representació
Contínuament ens arriba informació per diferents canals. Les vies poden
ser molt variades: les imatges, els sons, els escrits, els senyals, etc. Si po-
guéssim mesurar aquest volum d’informació, al final del dia comprovarí-
em que és molta la quantitat que en rebem.
1.2.1. Definició de la informació
Hi ha diverses maneres de definir la informació.
Tota informació és formada per dades o unitats relacionades.
1.2.2. Elements de la informació
La informació és formada per les dades. Les dades s’utilitzen per a produir
informació que ens ajuda a prendre decisions.
Les dades no són totes del mateix tipus. Si pensem en la nostra adreça
postal, podem comprovar que hi ha diferents tipus de caràcters.
La informació és el resultat de la manipulació de les dades.
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.
Les dades són fets o objectes que no han estat manipulats.
El llenguatge natural és el llenguatge propi de cada persona.
Les dades són tot allò que forma la informació.
Un caràcter és cadascun dels símbols que forma part de la informació.
Sistemes operatius monolloc 13 Introducció als sistemes operatius
En l’actualitat, l’ésser humà expressa, comunica, emmagatzema i manipu-
la la informació mitjançant un sistema numèric –amb el sistema decimal–
i un sistema alfabètic –amb un llenguatge o idioma determinats.
Així mateix, l’ordinador, a causa de la construcció basada fonamentalment
en circuits electrònics digitals, tracta aquests dos sistemes utilitzant el sis-
tema binari i un sistema de codis.
Per qüestions tècniques, en la majoria dels casos, els circuits electrònics
d’un ordinador estan dissenyats per a reconèixer els senyals elèctrics di-
gitals; per tant, és necessari que els mètodes de codificació interna s’ori-
ginin en el sistema binari i que amb aquests mètodes es pugui representar
qualsevol informació i ordre, perquè així els podrem manipular amb l’or-
dinador.
Això ens obliga a transformar internament totes les dades, tant numèri-
ques com alfanumèriques, en una representació binària perquè l’ordina-
dor sigui capaç de manipular-les.
En els circuits electrònics, des del punt de vista lògic, és costum represen-
tar la presència de tensió en un punt del circuit per mitjà del nombre 1,
mentre que el 0 representa l’absència de tensió. Aquesta terminologia es
coneix com la lògica positiva. També es pot aplicar la lògica negativa, en
què s’intercanvia el significat d’aquests dos dígits.
1.2.3. El sistema binari
Per a un ordinador totes les dades són nombres: les xifres, les lletres, qual-
sevol símbol, i fins i tot les instruccions són nombres. Això vol dir que qual-
Podem classificar les dades segons els tipus següents:
1) Numèriques. Formades per nombres (0, 1, ..., 9).
2) Alfabètiques. Formades per lletres (A, B, ..., Z).
3) Alfanumèriques. Formades per tots els caràcters.
Un codi és la manera diferent d’interpretar una mateixa informa-
ció. Per exemple, el símbol X, fent servir el codi alfabètic, és una lle-
tra, mentre que si apliquem el codi de les xifres romanes és el
nombre 10.
Nombre i nombre alfanumèric
La diferència entre un nombre i un nombre alfanumèric és que amb els alfanumèrics no es poden fer operacions matemàtiques.
Un senyal digital és una magnitud que només pot tenir dos valors (on i off; activat/desactivat).
Estats dins d’un ordinador
A l’ordinador no circulen nombres (zeros i uns), sinó que hi pot haver tensió o no. Aquests dos estats, nosaltres els interpretem com a zero i u (passar corrent, no passar corrents).
Sistemes operatius monolloc 14 Introducció als sistemes operatius
sevol quantitat, frase o dada s’emmagatzema en forma de nombre o més
concretament, en forma de zeros i uns.
Obligat per aquesta arquitectura, l’ordinador utilitza un sistema de nume-
ració diferent del sistema decimal: el sistema binari.
L’ordinador pot representar les dades de dues maneres:
• mitjançant sistemes numèrics,
• mitjançant codis alfanumèrics.
1.2.4. Mesura de la informació
En el camp de la informàtica, per a mesurar la informació, s’utilitza una
unitat base i els seus múltiples. Prendrem com a primera unitat el bit (bi-
nary digit).
Tota la informació, les dades i els caràcters són formats per bits. Alesho-
res, a cada caràcter s’hauria de fer correspondre un bit. Per tant, si utilit-
zem aquests símbols, només podem representar la informació mitjançant
els bits de dos caràcters: l’un assignat al bit 0 i, l’altre, al bit 1.
Com que tenim i utilitzem més de dos caràcters, aquest sistema no és el
més adient per a representar la informació. Per això, es va decidir treba-
llar en grups de quatre bits, anomenats quartets, per a representar tots els
caràcters. El nombre total de combinacions possibles amb els bits 0 i 1 se-
rien: 16 (24 = 16). Això permet representar tots els nombres i alguns ca-
ràcters més, però no tots els símbols.
Finalment, es va decidir treballar en grups de vuit bits, que dóna 256 com-
binacions possibles (28) i permet representar tots els símbols.
En la taula 1, es mostra un resum dels prefixos utilitzats en la mesura de
la informació que ens resultarà molt útil.
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.
Un grup de vuit bits s’anomena byte. Aquest grup també es coneix
amb el nom d’octet.
El sistema binari utilitza dos símbols: el zero i l’u.
Els quartets són un sistema per a representar la informació en grups de quatre bits.
Sistemes operatius monolloc 15 Introducció als sistemes operatius
Taula 1. Prefixos d’ús convencional en informàtica
L’ús convencional ha provocat confusions: 1.024 (210) no és 1.000. Els fabri-
cants de dispositius d’emmagatzematge, habitualment, utilitzen els prefixos
binaris; per tant, un disc dur de 28 GB té una capacitat aproximada de 28 230
bytes. Els enginyers de telecomunicacions, en canvi, utilitzen el SI: una con-
nexió de 1 Mbps equival a una transferència de 106 bits per segon.
Les següents són les principals unitats de mesura informàtica:
• Un kilobyte són 1.024 (210) bytes. El símbol és kB. És una unitat de me-
sura comuna per a la capacitat de memòria o emmagatzematge dels
microordinadors. Els PC d’IBM més antics, per exemple, tenien una
capacitat màxima de 640 K, o prop de 640.000 caràcters de dades.
• El megabyte (MB) és una unitat de mesura de la quantitat de dades in-
formàtiques. El símbol és MB. És un múltiple binari del byte, que equi-
val a 220 (1.048.576) bytes i a 1.024 kB, traduït a efectes pràctics com a
106 (1.000.000) bytes.
• Un gigabyte és una unitat de mesura informàtica equivalent a 210 me-
gabytes (1.024 MB). El símbol és GB. De vegades, en llenguatge infor-
mal, els gigabytes s’anomenen gigues.
• D’una manera similar, un terabyte (de símbol, TB) és igual a 1.024 gi-
gabytes o 240 bytes.
Nom Símbol Potències binàries i valors decimalsHexadecimal
Nombre Valors en el SI Diferència
unitat 20 = 1 160 u(n) 100 = 1 0%
kilo k 210 = 1.024 162,5 mil 103 = 1.000 2%
mega M 220 = 1.048.576 165 milió 106 = 1.000.000 5%
giga G 230 = 1.073.741.824 167,5 miler 109 = 1.000.000.000 7%
tera T 240 = 1.099.511.627.776 1610 bilió 1012 = 1.000.000.000.000 10%
peta P 250 = 1.125.899.906.842.624 1612,5 biliard 1015 = 1.000.000.000.000.000 13%
exa E 260 = 1.152.921.504.606.846.976 1615 trilió1018 = 1.000.000.000.000.000.0 00
15%
zetta Z 270 = 1.180.591.620.717.411.303.424 1617,5 triliard1021 = 1.000.000.000.000.000.0 00.000
18%
yotta Y 280 = 1.208.925.819.614.629.174.706.176 1620 quadrilió1024 = 1.000.000.000.000.000.0 00.000.000
21%
Hi ha confusió respecte als símbols de les unitats de mesura de la
informació, ja que no són part del SI. La pràctica recomana que el
bit es representi amb el símbol b i el byte amb el símbol B.
SI és l’abreviatura de sistema internacional.
Sistemes operatius monolloc 16 Introducció als sistemes operatius
• Un petabyte (de símbol, PB) és igual a 1.024 terabytes. 1 PB = 210 TB
= 220 GB = 230 MB = 240 kB = 250 bytes.
• Un exabyte és una unitat de mesura informàtica i el seu símbol és EB.
Equival a 260 bytes o a 1.024 petabytes.
• Un zettabyte és una unitat de mesura informàtica i el seu símbol és ZB.
Equival a 1.024 (210) exabytes o 270 bytes.
• Un yottabyte és una unitat de mesura informàtica i el seu símbol és
YB. Equival a 1.024 (210) zettabytes, o 280 bytes.
• Un brontobyte és una unitat de mesura informàtica i el seu símbol és
BB. Equival a 1.024 (210) yottabytes, o 290 bytes.
Exemple de conversió d’unitats de mesura
Disposem d’un disc dur amb una capacitat de 250 GB. A quants bytes i bits equival?
1) Primerament, calculem el nombre de bytes de la manera següent:
2) Podem calcular el nombre de bits a partir del resultat del punt anterior:
1.2.5. Sistemes de representació de la informació numèrica
Un sistema de numeració permet representar la informació numèrica per
mitjà de dades de significació numèrica i operar-hi, amb uns símbols i
unes regles determinats.
Un sistema de numeració és el conjunt dels símbols i les normes
que s’utilitzen per a la representació de la informació numèrica.
En tot sistema de numeració hi ha una base del sistema que indi-
ca el nombre de símbols que podem utilitzar. La notació és: (base.
Els sistemes de numeració són conjunts de dígits utilitzats per a repre-
sentar quantitats. Així, hi ha els sistemes de numeració decimal, bina-
ri, octal, hexadecimal, romà, etc. Els quatre primers es caracteritzen
per tenir una base (nombre de dígits diferents: 10, 2, 8 i 16, respectiva-
ment), mentre que el sistema romà no té base i la seva utilització resul-
ta més complicada, tant amb nombres com en les operacions bàsiques
(sumes, restes, multiplicacions i divisions).
250 GB 1.024 MB 1.024 KB
1.024 bytes 268.435.456.000 bytes1 GB 1 MB 1 KB
268.435.456.000 bytes
8 bits 2.147.483.648.000 bits1 byte
Sistemes operatius monolloc 17 Introducció als sistemes operatius
Quan la majoria de la gent escolta la paraula digital, immediatament pensa
en un ordinador digital, encara que l’ordinador sigui una de les moltes aplica-
cions dels circuits electrònics i dels principis digitals. El terme digital prové
de la forma en què es representen quantitats o magnituds físiques.
Un sistema digital és una combinació de dispositius (generalment elec-
trònics) dissenyada per a manipular quantitats físiques o informació
que estigui representada de manera digital (per exemple, els ordina-
dors, les calculadores digitals, els equips d’àudio i vídeo digital, els te-
lèfons digitals, etc.).
La tecnologia digital utilitza molts sistemes de nombres. Els més co-
muns són:
1) Sistema decimal. El sistema decimal és el més conegut, ja que l’utilit-
zem contínuament. És format per deu símbols –0, 1, 2, 3, 4, 5, 6, 7, 8, i 9–
amb els quals es pot representar qualsevol quantitat numèrica. Aquest sis-
tema també és conegut com de base 10. És un sistema de valor posicional.
2) Sistema binari. És el sistema de numeració que utilitzen internament
els circuits digitals que configuren el maquinari dels ordinadors actuals.
La base és 2, i això vol dir que es fan servir dos símbols per a representar
la informació, que són 0 i 1. Cadascun d’aquests símbols és conegut per la
paraula bit (de l’anglès binary digit). Una combinació de vuit bits s’ano-
mena byte (per exemple, 10011001).
3) Sistema octal. La base és 8. Per tant, els símbols que es poden aplicar
són 0, 1, 2, 3, 4, 5, 6 i 7.
4) Sistema hexadecimal. La base és 16. Per aquest motiu, es fan servir set-
ze símbols, dels quals els deu primers són els nombres 0, 1, 2, 3, 4, 5, 6, 7, 8
i 9, i els sis següents són les lletres A, B, C, D, E, F (els valors respectius
són de 10 per a A, 11 per a B, 12 per a C, 13 per a D, 14 per a E i 15 per a
F). Per exemple, 19AC3 és un nombre en base hexadecimal.
Una magnitud analògica –com una tensió elèctrica o la velocitat–
pot tenir qualsevol valor dins d’un interval continu. Per exemple, la
tensió a la sortida d’un micròfon podria ser dins de qualsevol valor
entre 0 mV i 10 mV. En la representació digital, les quantitats –re-
presentades per dígits– no poden tenir qualsevol valor, sinó sols va-
lors discrets. Per exemple, un rellotge digital marca el temps del dia
en forma de dígits decimals (hores, minuts i segons). Ara bé, el
temps varia d’una manera contínua, però la posició de les busques
del rellotge no varia d’una manera contínua, sinó a passos (segons).
És a dir, el rellotge només pot donar valors discrets.
mV és el símbol de mil·livolts. 1 mV són 10–3 volts.
En un sistema de valor posicional el valor d’un dígit depèn de la posició.
Sistemes operatius monolloc 18 Introducció als sistemes operatius
1.2.6. Teorema fonamental de la numeració
Els sistemes de numeració són posicionals; és a dir, el valor relatiu de
cada símbol és determinat pel seu valor absolut i per la seva posició rela-
tiva respecte de la coma decimal. Tot nombre es pot convertir al sistema
decimal, utilitzant el teorema fonamental de la numeració.
Exemples de conversió a decimal
1) Donat el número 1011(2, en calculem el valor decimal. Apliquem el TFN:
1011(2 = 1 23 + 0 22 + 1 21 + 1 20 = 8 + 0 + 2 + 1 = 11(10
Recordeu que qualsevol nombre elevat a zero val 1.
2) Tenim la quantitat 3221,03(4 que s’expressa en base 4, aquesta base utilitza per a representarquantitats els dígits 0, 1, 2 i 3. Quin serà el valor corresponent en el sistema decimal?
3 43 + 2 42 + 2 41 + 1 40 + 0 4–1 + 3 4–2 = 3 64 + 2 16 + 2 4 + 1 1 + 0 0,25 + 3 0,0645 = 233,1875(10
1.2.7. Conversió entre sistemes de numeració
Moltes vegades, ens trobarem amb la necessitat de convertir quantitats
d’un sistema de numeració a un altre. En aquests casos, cal tenir en comp-
te tota una sèrie de regles.
1) Conversió de nombres enters
Per a comprovar com s’efectua la conversió de nombres enters, analitza-
rem els casos següents amb exemples:
a) Conversió d’una base b a base 10. Es pot fer mitjançant els mètodes se-
güents:
• Teorema fonamental de la numeració
Exemple d’aplicació del teorema fonamental de la numeració
Representeu el 4123(5 en base 10 segons el teorema fonamental de la numeració.
4123(5 = 4 53 + 1 52 + 2 51 + 3 50 = 500 + 25 + 10 + 3 = 538 (10
El teorema fonamental de la numeració (TFN) diu que el valor
decimal d’una quantitat expressada en altres sistemes de nume-
ració s’expressa segons el polinomi següent:
... + x4b4 + x3b3 + x2b2 + x1b1 + x0b0 + ...
en què el símbol b representa la base i x són els dígits del nombre.
Matemàticament, es compleix que a0 = 1 (a representa un nombre).
Sistemes operatius monolloc 19 Introducció als sistemes operatius
• Regla de Ruffini (figura 1)
Figura 1. Regla de Ruffini
b) Conversió de base decimal a base b. Hi ha diversos mètodes, però el més
fàcil és el de divisions successives per la base. Es tracta d’anar dividint el
nombre i els quocients successius entre la base fins que trobem un quocient
més petit que el divisor (base). La unió de tots els residus obtinguts escrits en
ordre invers i de l’últim quocient ens donarà el resultat buscat.
Exemple de conversió de base decimal a base b
Passeu el nombre 75(10 a base 2. 75/2 = 37 + residu 137/2 = 18 + residu 1 18/2 = 9 + residu 09/2 = 4 + residu 1 4/2 = 2 + residu 02/2 = 1 + residu 0 El resultat és:1 (últim quocient)0 (últim residu)0 (penúltim residu)1 (antepenúltim residu)0 (...)1 (...)1 (...) El resultat serà: 1001011(2
c) Conversió de base b a base b’. El mètode que s’ha de seguir pot ser el
següent:
• Passar el nombre en base b a base 10.
• Passar el resultat anterior a la base b’.
Exemple de conversió de base b a base b’
Passeu el nombre 101(2 a base 3.
1) 101(2: és el 5 en base 10. Heu d’aplicar el TFN.2) 5(10: és el 12(3. Podeu aplicar la regla de Ruffini.
2) Conversió de nombres decimals
Comprovarem com es fa la conversió de nombres decimals analitzant els
exemples dels casos següents:
a) Conversió d’una base b a base 10. El mètode que utilitzarem és el del
teorema fonamental de la numeració.
Sistemes operatius monolloc 20 Introducció als sistemes operatius
Exemple de conversió de base b a base 10
Passeu el nombre 210,3(4 a base 10. Apliquem el TFN:
210,3(4 = 2 42 + 1 41 + 0 40 + 3 4–1 = 32 + 4 + 0 + 3/4 = 32 + 4 + 0 + 0,75 = 36,75(10
b) Conversió de base decimal a 3base b. Ho explicarem mitjançant un
exemple.
Exemple de conversió de base decimal a base b
Passeu el nombre 12,35(10 a base 2. El mètode que utilitzarem és el següent:
1) Prenem la part entera i seguim el mateix procés que amb els nombres enters (mètode de les di-visions successives).
12(10 = 1100(2
2) A continuació, agafem la part fraccionària del nombre, 0,35, la multipliquem per la base i n’aga-fem la part entera.
0,35 2 = 0,70. Agafem el valor 0 del 0,70.
3) Repetim el procés anterior amb la part fraccionària del resultat anterior.
0,70 2 = 1,40. Agafem el valor 1 d’1,40.
4) Repetim el procés anterior amb la part fraccionària del resultat anterior.
0,40 2 = 0,80. Agafem el valor 0 de 0,80.
5) Com més vegades repetim el procés, més precís serà el resultat. El resultat serà 1100,010(2
c) Conversió de base b a base b’. S’ha d’aplicar el mateix mètode de la con-
versió de nombres enters, però aplicats a nombres fraccionaris.
Exemple de conversió de base b a base b’
Transformeu el nombre 12,2(3 a base 2.
1) Passem el nombre 12,2(3 a base 10.
12,2(3 = 1 31 + 2 30 + 2 3–1 = 3 + 2 + 2/3 = 5 + 0,66 = 5,66(10
2) Passem el nombre 5,66(10 a base 2.
5,66(10 = 101,101(2.
d) Hi ha una regla que ens permet passar més directament de binari a oc-
tal i de binari a hexadecimal.
• Pas binari-octal: amb el nombre binari fem grups de tres dígits comen-
çant per la dreta i després el passem a decimal.
Exemple de binari-octal
Passeu el binari 10.111 a octal. El procés pot ser:
1) 111(2. En base 10 és 7; i en octal és el 7.2) 10(2. En base 10 és 2; i en octal és el 2.
El resultat que obtenim és 27(8.
Sistemes operatius monolloc 21 Introducció als sistemes operatius
• Pas binari-hexadecimal: amb el nombre binari fem grups de quatre dí-
gits començant per la dreta.
Exemple de binari-hexadecimal
Passeu 101011(2 a hexadecimal. El procés pot ser:
1) 1.011(2 en base 10 és 11; i correspon a l’hexadecimal B.2) 10(2 en base 10 és 2; i correspon a l’hexadecimal 2.
El resultat que obtenim és 2B(16.
1.2.8. Operacions bàsiques amb sistemes de numeració
De la mateixa manera que en el sistema de numeració decimal podem fer
les operacions bàsiques de càlcul (suma, resta, multiplicació i divisió), en
el sistema binari octal i hexadecimal també les podem fer. En presentem
a continuació alguns exemples.
1) Suma en binari
La suma en qualsevol base binària es fa igual que en el sistema decimal. Si el
resultat no és en la base corresponent s’ha d’expressar en base binària.
Exemple de suma en binari
Feu la suma següent en binari: 111 + 11 + 1.
El procés pot ser el següent:
1)
111 11 + 1 ____ 123
2) Passem el dígit 3 a binari 11.
3) Substituïm aquest valor en 3 i tornem a sumar:
12 + 11 ____ 131
4) Cal repetir el procés en tots els dígits que no siguin en la base corresponent. Així, el resultat serà1011. No obstant això, s’ha de comprovar.
2) Resta en binari
L’algorisme de la resta en binari és el mateix que en el sistema decimal.
Les restes bàsiques 0 – 0, 1 – 0 i 1 – 1 són evidents:
0 – 0 = 0; 1 – 0 = 1; 1 – 1 = 0
Sistemes operatius monolloc 22 Introducció als sistemes operatius
La resta 0 – 1 es resol igual que en el sistema decimal, agafant una unitat
prestada de la posició següent: 0 – 1 = 1 i en porto 1. Això equival a dir en
decimal: 2 – 1 = 1. Aquesta unitat prestada s’ha de retornar sumant-la a la
posició següent.
Exemples de resta en binari
Restem 17 – 10 = 7 Restem 217 – 171 = 46
10001 11011001–01010 –10101011 _____ ________ 00111 00101110
Exemple de resta en binari
Fem l’operació següent en binari:
1 0 1 1 0 – 1 1__________
1 0 0 1 1
Comproveu-ho!
3) Multiplicació en binari
La multiplicació en qualsevol base binària es fa igual que en el sistema de-
cimal. Si el resultat no és en la base corresponent, s’ha d’expressar en base
binària.
Exemple de multiplicació en binari
Fem l’operació següent en binari:
1 0 0 1 0 1 0 1 ____________ 1 0 0 1 0 0 0 0 0 0 +1 0 0 1 0_______________ 1 0 1 1 0 1 0
Cal comprovar que el resultat sigui en la base corresponent.
4) Divisió en binari
La divisió en qualsevol base binària es fa igual que en el sistema decimal.
Exemple de divisió en binari
Fem l’operació següent en binari:
11011 101
101 101 quocient
00111
101
010 residu
Sistemes operatius monolloc 23 Introducció als sistemes operatius
1.2.9. Representació dels nombres enters
Exemples de paraules
1) Paraules d’1 byte
a) Nombres enters sense signe: 28 = 256 combinacions diferents. Valors possibles: 0 a 255b) Nombres enters amb signe: 27 = 128 combinacions diferents. Valors possibles: –128 a 127
2) Paraules de 2 bytes
a) Nombres enters sense signe: 216 = 65.536 combinacions diferents. Valors possibles: 0 a 65.535b) Nombres enters amb signe: 215 = 32.768 combinacions diferents. Valors possibles: –32.768 a32.767
3) Paraules de 4 bytes
a) Nombres enters sense signe: 232 = 4.294.967.200 combinacions diferents. Valors possibles: 0 a4.294.967.199b) Nombres enters amb signe: 231 = 2.147.483.600 combinacions diferents. Valors possibles –2.147.483.600 a 2.147.483.599
En tots els mètodes que explicarem a continuació, suposem que treballem
amb un ordinador en què la paraula és d’un byte i que el bit del signe és a
la part esquerra del byte (nombres positius, 0, i nombres negatius, 1).
1) Mòdul i signe
Els ordinadors poden fer servir diferents mètodes per a representar
internament els nombres enters, positius i negatius. Entre altres
mètodes destaquen:
1) Mòdul i signe.
2) Complement a 1.
3) Complement a 2.
4) Excés a 2n – 1.
La paraula és el nombre de bytes que pot gestionar l’ordinador, és a
dir, el nombre de bits que l’ordinador és capaç de manipular per a
fer operacions internes. Aquesta quantitat depèn del disseny de la
màquina: hi ha ordinadors amb paraules de 8, 16, 32 i 64 bits. Per ai-
xò, la representació d’un mateix nombre serà diferent en màquines
de paraules diferents.
El mètode de mòdul i signe representa els nombres positius i nega-
tius de la manera que s’indica a continuació: el nombre es passa a
binari i el resultat es col·loca en el byte de dreta a esquerra. Cal re-
cordar que el bit en què es guarda el signe se situa a la part esquerra
del byte. Les posicions no utilitzades s’omplen amb zeros.
Paraula
En un ordinador disposem d’un nombre limitat de bits per a la representació d’un nombre. Aquest límit és fixat pel concepte de paraula.
Sistemes operatius monolloc 24 Introducció als sistemes operatius
Exemple de mòdul i signe
Representem el nombre 10(10.
Resultat: 0 0 0 0 1 0 1 0
Exemple de mòdul i signe
Representem el nombre –10(10.
Resultat: 1 0 0 0 1 0 1 0
2) Complement a 1 (C – 1)
Exemple de complement a 1
Representem el nombre –10(10.
1) El binari serà 0 0 0 0 1 0 1 0.2) Canviem els bit 0 per 1 i el bit 1 per 0. El resultat serà: 1 1 1 1 0 1 0 1.
3) Complement a 2 (C – 2)
Exemple de complement a 2
Representem el nombre –10(10.
1) El complement a 1 serà 1 1 1 1 0 1 0 1.2) Sumem 1 al bit que és més a la dreta. El resultat serà 1 1 1 1 0 1 1 0.
4) Excés a 2n – 1
El mètode de complement a 1 (C – 1) representa els nombres po-
sitius igual que el mètode de mòdul i signe. Per als nombres ne-
gatius el procés és el següent:
a) Es representa com a positiu.
b) Es canvien els bits 0 per 1 i els bits 1 per 0.
El mètode de complement a 2 (C – 2) representa els nombres po-
sitius igual que en el mètode de mòdul i signe. Per als nombres
negatius el procés és el següent:
a) Es representa igual que el mètode de complement a 1.
b) Se suma el valor 1 al bit que és més a la dreta.
La variable n representa el nombre de bits que forma la paraula
de l’ordinador. El procés de càlcul que seguirem és el següent:
a) Valor = 2n – 1 + nombre.
b) Passem el valor a binari.
c) El col·loquem en el byte.
Sistemes operatius monolloc 25 Introducció als sistemes operatius
Exemple d’excés a 2n – 1
Representem el nombre 10(10.
1) Valor = 2n – 1 + 10 = 28 – 1 + 10 = 128 + 10 = 138.
2) El valor 138 en binari és 1 0 0 0 1 0 1 0.
3) El resultat serà 1 0 0 0 1 0 1 0.
1.2.10. Representació dels nombres en coma o punt fix
Amb la representació dels nombres en coma, el punt decimal de les quanti-
tats se situarà en un lloc determinat. El punt fix s’utilitza per a la representa-
ció de nombres enters, suposant que el punt decimal és implícitament a la
dreta dels bits.
1) Mètode del decimal desempaquetat
Exemple de format desempaquetat
Representem en format desempaquetat el nombre +1999(10.
1 9 9 + 9
11110001 11111001 11111001 11001001
El resultat en binari serà 11110001 11111001 11111001 11001001.
Poden emprar els mètodes següents de representació dels nom-
bres en coma o punt fix:
• decimal desempaquetat,
• decimal empaquetat.
El procés de càlcul que cal seguir en utilitzar el mètode de deci-mal desempaquetat és el següent:
a) Representarem cada dígit utilitzant 1 byte.
b) Cada byte és format per dues zones de 4 bits cadascuna. La pri-
mera s’anomena àrea de zona (si posa 1111, si el que volem repre-
sentar són nombres) i, l’altra, àrea de dígit (col·locarem el dígit
del nombre en binari).
c) En l’àrea de zona del byte que se situa més a la dreta posarem
el signe del nombre (positius, 1100; negatius, 1101, per exemple).
Sistemes operatius monolloc 26 Introducció als sistemes operatius
2) Mètode del decimal empaquetat
Exemple de format empaquetat
Representem el nombre +1999 en format empaquetat.
0 1 9 9 9 +
0000 0001 1001 1001 1001 1100
1.2.11. Sistemes de representació de la informació alfanumèrica
A l’hora d’introduir dades a l’ordinador, per a manipular-les, l’ideal seria co-
municar-se amb l’ordinador de manera parlada o escrita utilitzant el mateix
llenguatge que fem servir per a comunicar-nos amb altres persones.
El teclat d’un ordinador o les barres d’impressió tenen gravats el propi joc
de caràcters. Quan premem una tecla, el dispositiu produeix un senyal
elèctric que representa i transporta el caràcter contingut en aquesta tecla;
aquest senyal transmet el caràcter corresponent a l’ordinador per mitjà
d’un cable o d’altres dispositius.
El procés de càlcul que seguirem en utilitzar el mètode del deci-mal empaquetat és el següent:
a) Cada dígit es representa amb quartets.
b) 2 dígits s’utilitzen per a omplir un byte.
c) El signe se situa en l’últim quartet del byte que és més a la dreta.
d) Els quartets no utilitzats d’alguns bytes s’omplen amb zeros.
Avui dia, les formes naturals de comunicació encara no estan sufici-
entment desenvolupades. L’ordinador només entén la informació
en forma de senyals elèctrics que nosaltres representem mitjan-
çant dos símbols, el 0 i l’1. En aquest sentit, treballa i opera seguint
les regles de l’aritmètica binària.
Dades
Les dades formen la informació i es representen mitjançant lletres, nombres i altres símbols, que en conjunt formen el que s’anomena en anglès character set.
Impulsos elèctrics
Els impulsos elèctrics són formats per senyals que corresponen a zeros i a uns (equivalents a dos estats: off (apagat) i on (engegat).
Teclat
Cadascun dels senyals elèctrics produïts per un teclat és format
per una sèrie d’impulsos o tren d’impulsos. Cada caràcter es
transmet per mitjà d’un tren d’impulsos i segons un codi deter-
minat. Tant els codis binaris utilitzats pels dispositius d’entrada
de dades com el teclat i la cinta magnètica varien segons el dis-
positiu que els tracti. Aquests codis s’anomenen codis externs.
Sistemes operatius monolloc 27 Introducció als sistemes operatius
Hi ha d’haver una conversió de codis entre formes externes i internes.
Aquesta conversió es pot fer dins del mateix dispositiu d’entrada, dins del
processador, abans d’arribar al processador, en un dispositiu anomenat
interfície o connexió.
També cal indicar que, en tot aquest procés, hi ha un sistema de control
d’errors per a assegurar que les dades arribin correctament a la destina-
ció. Les tècniques de control d’errors poden ser molt variades, una d’elles
és l’anomenada tècnica de control de paritat.
1.2.12. Codificació interna de les dades
Tenim diferents sistemes de codificació interna de les dades:
1) Codi ASCII. És un codi que es fa servir avui dia per a representar cada
caràcter en forma d’un byte i que s’aplica principalment en els microordi-
nadors.
2) Codi EBCDIC. També és un codi de 8 bits i s’aplica principalment en
grans ordinadors. A la taula 2 podeu veure la representació de diversos ca-
ràcters en codis ASCII i EBCDIC.
A l’ordinador s’utilitza un únic codi binari per a totes les dades,
independentment d’on vinguin. Aquest codi s’anomena codi in-tern o codi alfanumèric, i és diferent d’un fabricant a un altre
(IBM fa servir el codi EBCDIC als grans ordinadors i als microor-
dinadors aplica el codi ASCII).
Hi ha dos tipus de control de paritat:
1) Paritat parella. El nombre total de bits 1 en cada byte ha de ser
parell; si no, en el bit de paritat es posa un 1 i, en cas contrari, es
posa un 0.
2) Paritat senar. El nombre total de bits 1 en cada byte ha de ser
senar; si no, en el bit de paritat es posa un 1 i, en cas contrari, es
posa un 0.
Es denomina codificació la manera diferent d’entendre un mateix
símbol en funció del sistema d’avaluació que fem servir. No té el
mateix significat el símbol X interpretat com a lletra que com a
nombre en el sistema de codificació romana.
La interfície és un dispositiu de connexió que converteix els codis externs en interns o al revés.
El control de paritat és una tècnica de control d’errors en la transmissió de la informació.
ASCII
ASCII és la sigla d’American standard code for information interchange, en català, codi estàndard americà per a l’intercanvi d’informació.
Sistemes operatius monolloc 28 Introducció als sistemes operatius
Taula 2. Representació de caràcters en els codis ASCII i EBCDIC
3) Codi Unicode. És un codi de 16 bits; per tant, el nombre de caràcters
que podem representar és de 216: 65.536 caràcters.
També cal recordar que en tota comunicació, a més de les dades que hem
de transmetre, hi ha altres senyals, principalment de control, que cal tenir
en compte, com ara: el començament i la fi de capçalera, el començament
i la fi de transmissió, etc.
El codi Unicode proporciona un nombre per a cada caràcter, independent-
ment de la plataforma, el programa i l’idioma. Abans d’inventar-se el sis-
tema Unicode, hi havia centenars de sistemes de codificació diferents per
a assignar nombres. Cap codificació no tenia prou nombres per a repre-
sentar tots els caràcters que s’utilitzen en el món.
1.3. Sistemes transaccionals
La informació ha estat manipulada i tractada de diferents maneres, se-
gons el moment històric i els avenços tecnològics que hi ha hagut en cada
època.
Caràcter ASCII EBCDIC Caràcter ASCII EBCDIC
A 01000001 11000001 N 01001110 11010101
B 01000010 11000010 O 01001111 11010110
C 0100 0011 11000011 P 01010000 11010111
D 01000100 11000100 Q 01010001 11011000
E 01000101 11000101 R 01010010 11011001
F 01000110 11000110 S 01010011 11100010
G 01000111 11000111 T 01010100 11100011
H 01001000 11001000 U 01010101 11100100
I 01001001 11001001 V 01010110 11100101
J 01001010 11010001 W 0101 0111 1110 0110
K 01001011 11010010 X 01011000 11100111
L 01001100 11010011 Y 01011000 11101000
M 01001101 11010100 Z 01011010 11101001
Podem definir el tractament de la informació com el conjunt d’ope-
racions que s’han d’efectuar sobre les dades que componen la infor-
mació.
EBCDIC
EBCDIC és la sigla d’extended binary coded decimal interchange code, en català, codi ampliat d’intercanvi de decimals codificats en binari.
Unicode és l’acrònim d’universal code, en català, codi universal.
El consorci Unicode
El consorci Unicode és una organització sense ànim de lucre creada per a desenvolupar, difondre i promoure l’ús de la norma Unicode, que especifica la representació del text en productes i estàndards moderns. És integrat per una àmplia gamma de corporacions i organitzacions de la indústria informàtica i del processament de la informació.El consorci es finança amb les quotes dels socis. L’afiliació és oberta a organitzacions i individus de qualsevol part del món que donin suport a la norma Unicode i que vulguin col·laborar en la seva difusió i aplicació.
Sistemes operatius monolloc 29 Introducció als sistemes operatius
En tot procés de tractament de la informació hi ha d’haver tres elements
imprescindibles perquè el tractament sigui eficient: l’emissor, el canal i el
receptor.
Moltes vegades hem sentit la paraula sistema d’informació i potser ens
hem preguntat què vol dir això.
Un sistema d’informació fa quatre activitats bàsiques:
1) L’entrada d’informació és el procés mitjançant el qual el sistema d’infor-
mació agafa les dades que necessita per a processar la informació. Les entra-
des poden ser manuals o automàtiques. L’entrada d’informació de manera
manual consisteix que la informació és subministrada per l’usuari, mentre
que en l’entrada d’informació automàtica les dades o les informacions són
subministrades per altres sistemes. Les unitats típiques d’entrada de dades
als ordinadors són els terminals, les cintes magnètiques, les unitats de discos
magnètics, els codis de barres, els escàners, els teclats, etc.
2) L’emmagatzematge de la informació és una de les activitats o capaci-
tats més importants que té un ordinador, ja que mitjançant aquesta propie-
tat el sistema pot recordar la informació guardada en la fase o en el procés
anteriors. Aquesta informació s’acostuma a emmagatzemar en estructu-
res d’informació anomenades arxius i bases de dades. Els dispositius tí-
pics d’emmagatzematge són els discos magnètics (per exemple, els discos
durs i els discos flexibles o disquets) i les unitats de CD/DVD.
3) El processament de la informació és la capacitat del sistema d’informa-
ció per a fer càlculs d’acord amb una seqüència d’accions preestablertes
L’emissor és el responsable de generar la informació (per exem-
ple, una persona quan parla, un llibre quan llegim, etc.).
El canal és l’element que permet la transmissió de la informació
(per exemple, l’aire quan parlem, el fil de telèfon en les comuni-
cacions telefòniques, etc.).
El receptor és l’element que rep la informació (per exemple, en
aquest moment concret, sou vosaltres que esteu estudiant aques-
ta unitat didàctica).
Un sistema d’informació és un conjunt d’elements que interactuen
entre ells amb l’objectiu d’aconseguir uns fins determinats (per
exemple, una empresa, un negoci, etc.).
Elements d’un sistema d’informació
Per a aconseguir els seus objectius, un sistema d’informació utilitza diversos elements:
1) El maquinari necessari perquè el sistema d’informació pugui operar.
2) El programari que gestiona la informació que cal tractar.
3) Els recursos humans que interactuen amb el sistema d’informació.
Arxiu i bases de dades
Un arxiu és un conjunt d’informació relacionada.
Una base de dades és un conjunt de fitxers relacionats.
Sistemes operatius monolloc 30 Introducció als sistemes operatius
determinada. Aquests càlculs es poden fer amb dades introduïdes en el
sistema o bé amb dades que estan emmagatzemades en el mateix sistema.
Aquesta característica dels sistemes permet la transformació de les dades
origen en una informació que pot ser utilitzada per a prendre decisions a
posteriori.
4) La sortida de la informació és la capacitat d’un sistema d’informació
per a treure la informació processada o bé les dades d’entrades a l’exterior.
Els dispositius típics de sortida són les impressores, els terminals, les cin-
tes magnètiques, els discos magnètics, els altaveus, etc. També cal dir que
la sortida d’un sistema d’informació pot constituir l’entrada a un altre sis-
tema d’informació.
1.3.1. Tipus de sistemes d’informació
Els sistemes d’informació que aconsegueixen l’automatització de proces-
sos operatius dins d’una organització s’anomenen sistemes transaccio-
nals, ja que el seu fi és processar transaccions.
1.3.2. Transaccions
Els sistemes transaccionals duen a terme transaccions.
ACID
Tota transacció ha de complir quatre propietats conegudes amb el nom d’ACID:
1) Atomicitat (atomicity): és la propietat que assegura que l’operació s’ha fet amb èxit o no i, pertant, davant d’un problema en el sistema no pot quedar a mitges.
2) Consistència (consistency): és la propietat que assegura que només es comença el procés quees pot acabar.
Un sistema transaccional és un tipus de sistema d’informació disse-
nyat per a recollir, emmagatzemar, modificar i recuperar qualsevol
tipus d’informació que és generada en una organització (per exem-
ple, el traspàs d’una quantitat de diners entre comptes bancaris, sis-
temes de reserves de bitllets de transports i d’espectacles, etc.).
Una transacció és un conjunt d’accions que es fa sobre una estruc-
tura de dades complexa i que és format per diversos processos que
s’han d’aplicar un després de l’altre. Tota transacció genera o modi-
fica la informació que es troba eventualment emmagatzemada en
un sistema d’informació.
Objectius dels sistemes d’informació
En els propers anys, els sistemes d’informació intentaran aconseguir dins de les organitzacions els objectius següents:
1) L’automatització dels processos operatius.
2) Que el subministrament d’informació sigui la base del procés en la presa de decisions.
3) L’assoliment d’avantatges competitius a partir de la implementació i de l’ús.
Organització
Una organització és un conjunt d’elements que funciona de manera coordinada i que té objectius comuns.
Les principals característiques dels sistemes transaccionals
Les principals característiques dels sistemes transaccionals són les següents:
1) Permeten l’automatització de les tasques operatives en les organitzacions.
2) Acostumen a ser els primers sistemes d’informació que s’implementen en una organització.
3) Els processos que duen a terme són simples i poc sofisticats.
4) S’utilitzen per a subministrar informació a grans bases de dades.
5) Els avantatges d’aquests sistemes en una organització són ràpidament visibles.
Sistemes operatius monolloc 31 Introducció als sistemes operatius
3) Aïllament (isolation): és la propietat que assegura que una operació no en pot afectar d’altres.
4) Permanència (durability): és la propietat que assegura que una vegada executada l’operació,aquesta persistirà i no es podrà desfer encara que falli el sistema.
1.4. Concepte, elements i estructura d’un sistema operatiu
Per a definir què és un sistema operatiu, cal tenir presents dos aspectes
relacionats amb l’ordinador: el maquinari i el programari.
L’ordinador és format per dos elements fonamentals: l’element físic o ma-
quinari i l’element lògic o programari.
Actualment, un ordinador és una màquina molt complexa que pot cons-
tar d’un o més processadors, discos, escàners, targetes de comunicaci-
ons, impressores, mòdems, etc. Els dispositius que conté són de tipus
divers (òptics, magnètics, etc.), tenen un funcionament molt variat (al-
guns comparteixen el mateix dispositiu), la tecnologia de funcionament
és diferent i el tipus de suport utilitzat té característiques diferents. Així,
si un usuari vol fer servir aquest sistema d’una manera eficient, necessi-
ta conèixer les característiques, controlar-ne el funcionament, etc. Per
tant, cal pensar que hi ha d’haver una solució que permeti als usuaris uti-
litzar aquesta màquina d’una manera més senzilla, fàcil i eficient.
Per a definir el concepte de sistema operatiu, cal conèixer el significat de
sistema informàtic.
Per a 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 d’una manera eficient i, alhora, presentar a
l’usuari una màquina virtual molt més senzilla d’entendre i utilit-
zar. Aquesta capa de programari és l’anomenat programari del sis-tema, la part més important del qual és el sistema operatiu.
Un sistema informàtic és un conjunt d’elements necessaris per a
la realització i la utilització de les aplicacions informàtiques. Els
components principals d’un sistema informàtic són:
• el maquinari,
• el sistema operatiu,
• els programes d’aplicació,
• els usuaris.
Maquinari i 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.
Una màquina virtual representa la simulació d’una màquina real.
Un sistema informàtic monoprocessador és format per una única unitat central de procés (CPU).
Aplicacions informàtiques
Les aplicacions informàtiques són un conjunt de programes informàtics d’àmbit divers (exemples: programes de gestió, de jocs, de matemàtiques, d’eines ofimàtiques, etc.).
Funció dels elements d’un sistema informàtic
Cadascun dels elements d’un sistema informàtic té una funció important:
1) El maquinari proporciona els recursos bàsics del sistema informàtic: el processador, la memòria, dispositius d’E/S, etc.
2) El sistema operatiu és un conjunt de programes que serveixen d’intermediari o interfície entre els usuaris i el maquinari.
3) Els programes d’aplicació són aplicacions informàtiques concretes (per a resoldre els problemes de computació dels usuaris).
4) Els usuaris són objectes que fan ús de l’ordinador (persones, altres ordinadors i màquines).
Sistemes operatius monolloc 32 Introducció als sistemes operatius
1.4.1. Definició de sistema operatiu
Podem definir el sistema operatiu tenint en compte diferents paràme-
tres de valoració:
1) Segons la funció que tingui. Un sistema operatiu és el suport lògic que
controla el funcionament de l’equip físic.
2) Des del punt de vista de l’usuari. Un sistema operatiu és un conjunt de
programes i funcions que amaguen els detalls del maquinari de manera
que donen a l’usuari un camí senzill i flexible d’accés al sistema.
3) Des del punt de vista de gestor de recursos. Un sistema operatiu és l’ad-
ministrador de recursos oferts pel maquinari per a obtenir un rendiment
eficient.
4) Des del punt de vista del sistema i de l’operació. Un sistema operatiu
és el conjunt de programes relacionats entre ells que contribueixen al fet
que l’ordinador faci correctament la feina.
5) En funció de la comoditat i de l’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
d’una manera còmoda, i l’objectiu secundari és que el maquinari de l’ordi-
nador s’utilitzi d’una manera eficient.
6) 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 que 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.
En la figura 2 es mostren els nivells de programari i de maquinari d’un or-
dinador. També hi podeu observar que el sistema operatiu és l’única capa
que treballa directament amb el maquinari. Per sobre del sistema opera-
tiu 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 a crear un nivell d’abstracció còmode per al des-
envolupament de programes.
E/S o e/s és l’abreviatura d’entrada-sortida.
Sistema operatiu, un administrador de recursos
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 d’una manera segura el maquinari per a 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.).
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 a comprovar-ne pas a pas el funcionament.
Sistemes operatius monolloc 33 Introducció als sistemes operatius
Figura 2. Nivells de programari i maquinari d’un ordinador
La unió dels programes de las dues capes intermèdies de la figura confor-
men el programari de sistemes d’un ordinador. Finalment, hi ha el nivell
constituït pels programes d’aplicació. Aquests programes no donen un ser-
vei 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 elec-
trò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 a resoldre els problemes dels usuaris. Hi pot haver molts usuaris dife-
rents que tractin de resoldre problemes diferents. Consegüentment, és
habitual l’existència de diferents programes d’aplicació.
El sistema operatiu, d’altra banda, proporciona serveis dels quals no dis-
posa el maquinari, com, per exemple, la possibilitat d’utilitzar l’ordinador
per diversos usuaris, la multiprogramació, etc.
En la figura 3 es pot visualitzar la relació que hi ha entre els usuaris i el
sistema operatiu.
El sistema operatiu controla i coordina l’ús del maquinari que
fan els diferents programes d’aplicació dels diversos usuaris.
Els sistemes operatius construeixen recursos d’alt nivell que denomi-
nem virtuals, a còpia 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 es-tesa, que, a diferència de la física, ofereix a l’usuari moltes més funci-
ons 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 manera, nosaltres treballem a un nivell superior i eliminem la complexitat d’aquests dispositius. Així podem mantenir diferents sistemes operatius en funcionament sobre una mateixa màquina.
Sistemes operatius monolloc 34 Introducció als sistemes operatius
Figura 3. Esquema de relació entre els usuaris i el sistema operatiu
1.4.2. Elements d’un sistema operatiu
Vegem amb detall els elements que formen els sistemes operatius:
1) Nucli. El nucli és el mòdul més baix del sistema operatiu i descansa di-
rectament sobre el maquinari de l’ordinador. Entre les tasques que fa hi
ha la manipulació de les interrupcions, l’assignació de treballs al proces-
sador i l’oferiment d’una via de comunicació entre els diferents progra-
mes. En general, el nucli s’encarrega de controlar la resta dels mòduls i
sincronitzar-ne l’execució. El nucli conté un submòdul anomenat planifi-
cador, el qual s’encarrega d’assignar els temps de processador als progra-
mes, 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 comú en els sistemes operatius multiprogramats
i multiaccés són les tècniques de time slicing (fracció de temps). S’assig-
na a cada programa un cert interval de temps del processador. Si el pro-
grama no ha acabat durant aquest temps, torna a la cua de programes.
Els sistemes operatius són formats, bàsicament, per les estructu-
res següents:
• el nucli (kernel),
• l’administrador de memòria,
• el sistema d’entrada/sortida,
• l’administrador d’arxius.
Intèrpret d’ordres
De vegades, es considera que l’intèrpret de comandaments, o intèrpret d’ordres, és una estructura més del sistema operatiu.
El sistema operatiu s’encarrega de "traduir" les ordres que l’usuari ingressa mitjançant el teclat o altres dispositius a un "llenguatge" que la màquina pugui entendre.
Sistemes operatius monolloc 35 Introducció als sistemes operatius
2) Administrador de memòria. Aquest mòdul s’encarrega d’assignar cer-
tes 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.
D’aquesta manera, quan s’assigna una part de la memòria principal es fa
d’una manera estructurada, seguint un ordre determinat. La manera 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.
3) Sistema d’entrada/sortida (E/S). Aquest component presenta a l’usua-
ri 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 trac-
tats de la mateixa manera, i el sistema operatiu és el responsable d’aten-
dre les particularitats de cadascun d’ells. Una tècnica molt comú,
especialment en la sortida d’informació, és l’ús de gestors de cues (spoo-
lers). Les dades de sortida s’emmagatzemen d’una manera temporal en
una cua situada en un dispositiu d’emmagatzematge massiu (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à dispo-
nible.
4) Administrador d’arxius. Aquesta part del sistema operatiu s’encarrega
de mantenir l’estructura de les dades i els programes del sistema corres-
ponents als diferents usuaris i d’assegurar l’ús efectiu dels mitjans d’em-
magatzematge massiu. L’administrador d’arxius també supervisa la
creació, l’actualització i l’eliminació dels arxius, i manté 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 la memòria principal i cap a ella i dels mitjans d’emmagatzematge mas-
siu per a mantenir l’estructura de l’organització.
1.4.3. Estructura d’un sistema operatiu
Hi ha diferents estructures a escala interna que han de presentar o que
presenten els sistemes operatius. Bàsicament són set:
1) Estructura monolítica
L’estructura monolítica d’un sistema operatiu és formada per un
programa que és integrat per un conjunt de rutines entrellaçades de
tal manera que cadascuna pot cridar qualsevol altra. L’estructura
consisteix en el fet que no hi ha estructura.
Privilegis d’accés dels arxius
Els arxius desats en els dispositius d’emmagatzematge massiu tenen diferents propòsits. Alguns contenen informació que pot ser compartida. D’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.
Sistemes operatius monolloc 36 Introducció als sistemes operatius
L’estructura monolítica és l’estructura dels primers sistemes operatius.
Les següents són les principals característiques d’aquesta estructura:
• És una estructura molt comú. De fet, no hi ha una estructura pròpia-
ment o és mínima.
• El sistema operatiu és una col·lecció de procediments que es poden cri-
dar entre ells.
• Cada procediment té una interfície ben definida en termes de paràme-
tres i resultats.
En la figura 4 podeu veure un esquema de l’estructura monolítica dels sis-
temes operatius.
Figura 4. Sistemes monolítics
2) 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 organització del
programari més bona, per la qual cosa va esdevenir necessari un altre ti-
pus d’organització. Una manera d’organitzar millor les coses va consistir
a dividir el sistema operatiu en petites parts independents, però amb ca-
pacitat 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è cadascuna te-
nia assignades funcions concretes i especialitzades. Aquesta divisió en ca-
pes va donar lloc a la divisió en funcions.
Els sistemes operatius d’estructura jeràrquica s’organitzen en
les capes següents:
• Planificació del processador: gestió del processador i de la mane-
ra com poden accedir al processador els diferents programes.
Un procediment és un bloc d’accions que es criden des d’un mateix programa.
Una interfície és un conjunt d’eines que faciliten la comunicació entre els usuaris i el sistema.
Sistemes operatius monolloc 37 Introducció als sistemes operatius
L’estructura jeràrquica també es pot representar en forma d’anelles (ca-
pes circulars). Les funcions d’un nivell superior en poden invocar d’altres
dels nivells inferiors, però no dels nivells superiors. En la figura 5 podeu
veure un esquema de l’estructura jeràrquica dels sistemes operatius.
Figura 5. Sistemes jeràrquics o en capes
3) Estructura de màquina virtual
Aquests sistemes presenten al programa una màquina que sembla idènti-
ca a la màquina real, anomenada màquina virtual. El nucli d’aquest siste-
ma operatiu s’anomena monitor virtual. El sistema de màquina virtual
separa dos conceptes que solen ser junts en tots els sistemes operatius: la
multiprogramació i la màquina estesa.
• Gestió de memòria: gestió de la memòria i de la utilització que en
poden fer els diferents programes.
• Gestió d’entrada/sortida: rutines que gestionen cadascun dels
perifèrics de l’ordinador.
• Sistema de fitxers: gestiona la informació dels usuaris i fixa els
mecanismes de protecció necessaris per a aconseguir un sistema
de seguretat acceptable.
• Programes d’usuari: aplicacions específiques d’utilització per
part de l’usuari.
El monitor virtual té com a missió fer la multiprogramació de ma-
nera que presenta als nivells superiors tantes màquines virtuals
com se sol·licitin. No són màquines esteses sinó una rèplica exacta
de la màquina real, de manera que en cadascuna es pot executar un
sistema operatiu diferent, que serà el que ofereixi la màquina este-
sa a l’usuari.
Sistemes operatius monolloc 38 Introducció als sistemes operatius
Les característiques principals del monitor són:
• Proporciona diverses màquines virtuals a la capa superior.
• 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.
• Poden executar qualsevol sistema operatiu d’una manera directa sobre
el maquinari.
• Les diferents màquines virtuals poden executar diferents sistemes
operatius i en general així ho fan.
• Suporten perifèrics virtuals.
4) 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 a aconseguir
un nucli mínim.
Els processos tant poden ser servidors com clients. Un programa d’aplica-
ció normal és un client que crida el servidor corresponent per a accedir a
un fitxer o per a 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 mis-
sió establir la comunicació entre els clients i els servidors.
En la figura 6 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 cadascuna d’elles controla una fa-
ceta del sistema, com el servei a fitxers, servei a processos, servei a termi-
nals 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,
i no tenen accés directe al maquinari. En conseqüència, si hi ha un error
La idea principal de l’estructura client/servidor és implementar la
major part de les funcions del sistema operatiu en la capa dels pro-
grames de l’usuari. Dos elements són la base d’aquesta política: el
nucli i els processos. Es tracta de dissenyar un nucli tan petit com
sigui possible i de subministrar mecanismes per a la gestió d’acces-
sos 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.
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.
El VM/370 d’IBM és un exemple de sistema operatiu representatiu de l’estructura de màquina virtual.
El client representa l’element que demana un servei a un altre anomenat servidor.
Crida
Les crides són funcions que té el mateix sistema per a fer determinades tasques que poden ser invocades de diferents maneres en determinats moments.
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.
Sistemes operatius monolloc 39 Introducció als sistemes operatius
en el servidor de fitxers, aquest pot fallar, però això no afectarà el funcio-
nament general de tota la màquina.
Figura 6. Estructura de sistema operatiu client/servidor
Mode usuari i mode supervisor
El mode usuari ofereix els entorns en què corren totes les aplicacions d’usuari. Per exemple, elsprogrames Win32 corren en el subsistema Win32.
El mode nucli, supervisor o privilegiat se situa entre el mode usuari i la capa física (el maquinari) ievita que el mode usuari accedeixi directament al maquinari. El mode nucli és la residència dels di-
ferents serveis del sistema operatiu que s’encarrega de totes les operacions internes del sistemaoperatiu.
En resum, podem dir que mentre s’executa una crida del nucli som en mode nucli i quan executemcodi que no pertany al nucli es diu que som en mode usuari. Això garanteix en l’àmbit del maquinari
que cap programa d’usuari no pugui accedir als recursos generals del sistema, tret que utilitzi cridesal nucli, les quals podran establir l’accés al maquinari en funció dels permisos.
5) Estructura orientada a l’objecte
Els nous sistemes operatius s’estan desenvolupant d’acord amb metodo-
logies 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.
6) Estructura multiprocressador
Cada cop calen sistemes més ràpids que suportin un volum de feina més
gran o que permetin 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.
El nucli del sistema operatiu és el responsable del manteniment de
les definicions dels tipus d’objectes suportats i del control dels pri-
vilegis d’accés a aquests objectes. Quan un programa vol fer alguna
operació sobre un objecte determinat, haurà d’executar una crida al
sistema operatiu en què indiqui quins drets té per a poder-lo utilit-
zar i quina operació interna intenta fer.
Objecte
Un objecte és un element que té unes propietats i s’hi poden fer unes accions determinades. Els ordinadors, els usuaris o les impressores són alguns exemples d’objectes. Algunes accions que hi podem fer són crear, modificar, copiar, etc.
Sistemes operatius monolloc 40 Introducció als sistemes operatius
Podem classificar les arquitectures multiprocessador segon la relació que
hi ha entre processadors i memòria:
• Multiprocessadors acoblats fortament. Aquest sistema també s’anomena
sistema de memòria compartida. En aquest cas, cada processador veu la
totalitat de la memòria i, per tant, hi pot accedir directament.
• Multiprocessadors acoblats dèbilment. També s’anomenen sistemes
de memòria distribuïda. Cada processador té accés només a una me-
mòria privada. Els processadors es comuniquen entre ells mitjançant
mecanismes de missatges.
7) Estructura per funcions
El codi del sistema operatiu es pot organitzar per les seves funcions. En
la figura 7 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 maqui-
nari, 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 7. Model de sistema operatiu per tipus de funcions
1.5. Funcions del sistema operatiu. Recursos
Un mateix sistema operatiu pot treballar en múltiples plataformes de ma-
quinari; així que s’ha de poder adaptar a les necessitats de cadascuna
Sistemes operatius monolloc 41 Introducció als sistemes operatius
d’elles, de manera que pugui complir els objectius pels quals ha estat dis-
senyat.
1.5.1. Objectius dels sistemes operatius
Els principals objectius dels sistemes operatius són:
• Incrementar la productivitat dels usuaris (facilitant-ne l’ús).
• Proporcionar un entorn còmode i l’abstracció del maquinari a l’usuari.
• Optimitzar la utilització dels components o dels recursos del maqui-
nari.
• 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 manera que es pre-
servi 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 en què se sol·-
liciti sempre que hi hagi prou recursos lliures per a fer-ho.
• 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 dos 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 pre-
veure totes les possibles situacions.
• Tenir una grandària petita.
• Possibilitar i facilitar tant com es pugui el diàleg entre el maquinari i
l’usuari.
• Permetre compartir entre diversos usuaris els recursos de maquinari
que té un ordinador.
• Permetre als usuaris compartir dades entre ells, si escau.
• Facilitar les operacions d’E/S dels diferents dispositius connectats a un
ordinador.
1.5.2. Funcions dels sistemes operatius
Per a aconseguir els seus objectius, el sistema operatiu, com a element
controlador dels diferents components del sistema informàtic, té encoma-
nades una sèrie de funcions. Les funcions més importants són les se-
güents:
• Administra el processador.
• Administra la memòria.
Procés concurrent
Un procés concurrent és l’estat que es dóna quan en un mateix moment el sistema operatiu intenta utilitzar un mateix recurs per a processos diferents.
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.
Sistemes operatius monolloc 42 Introducció als sistemes operatius
• Relaciona dispositius (els gestiona mitjançant el nucli). El sistema ope-
ratiu s’ha d’encarregar de comunicar els usuaris amb els dispositius pe-
rifè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 molta facilitat tot el que fa referència a la
instal·lació i a l’ú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 la 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, i els informa si aquesta aplicació està
sent utilitzada per un altre usuari.
• Genera estadístiques.
• Comparteix el maquinari i les dades entre els usuaris.
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 ope-
ratiu posa al servei de l’usuari una màquina virtual que té unes caracterís-
tiques 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:
a) Entrada/sortida (E/S). La capacitat d’E/S d’un maquinari bàsic pot ser
que sigui extremament complexa i que requereixi programes sofisticats
per a utilitzar-lo. Un sistema operatiu evita a l’usuari el problema d’haver
de comprendre el funcionament d’aquest maquinari i posa al seu abast
una màquina virtual més senzilla d’usar.
b) Memòria. Molts sistemes operatius presenten la imatge d’una màqui-
na 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 a crear la il·lusió d’una memòria
principal molt més extensa que la que es té en la realitat. Alternativa-
ment, pot repartir la memòria principal entre diversos usuaris, de manera
que cadascun d’ells “vegi” una màquina virtual en què la memòria sigui
més petita que la de la màquina real.
c) Sistema de fitxers. La majoria de les màquines virtuals inclouen un sis-
tema de fitxers per a l’emmagatzematge a llarg termini tant de programes
com de dades. El sistema de fitxers es basa en la capacitat d’emmagatze-
matge sobre cinta o disc de la màquina real. El sistema operatiu, no obs-
tant això, permet a l’usuari accedir a la informació emmagatzemada a
partir de noms simbòlics en lloc de fer-ho a partir de la seva posició física
en el mitjà d’emmagatzematge.
El kernel és el nucli del sistema operatiu.
Perifèrics
Un dispositiu perifèric és el maquinari que cal que estigui connectat amb l’ordinador per a poder funcionar. Alguns exemples en són el teclat, el ratolí, etc.
Una xarxa d’ordinadors és un sistema que permet compartir recursos entre dispositius informàtics.
Memòries secundàries
Les memòries secundàries són dispositius que permeten emmagatzemar informació d’una manera permanent. Alguns d’aquests dispositius poden ser: discos durs, disquets, CD, DVD, etc.
Un nom simbòlic és equivalent al concepte d’àlies.
Sistemes operatius monolloc 43 Introducció als sistemes operatius
d) Protecció i tractament d’errors. Des del moment en què la majoria dels
ordinadors són compartits per un nombre determinat d’usuaris, és essen-
cial que cadascun d’ells estigui protegit dels efectes dels errors o de la
mala fe dels altres. Els ordenadors varien considerablement pel que fa al
grau de protecció que proporciona el seu maquinari bàsic; la missió del sis-
tema operatiu és constituir una màquina virtual en què cap usuari no pu-
gui afectar d’una manera negativa el treball dels altres.
e) Interacció a nivell de programa. Una màquina virtual pot possibilitar la
interacció entre els diferents programes dels usuaris de manera que, per
exemple, la sortida d’un d’ells s’utilitzi com a entrada d’un altre. La natu-
ralesa concreta d’una màquina virtual dependrà de l’aplicació particular a
què es destini. Així, per exemple, las característiques d’una màquina vir-
tual que controli un sistema de temps real serà diferent de les d’una mà-
quina virtual que s’utilitzi per al desenvolupament de programes.
2) Utilització compartida de recursos. Un sistema operatiu ha d’aconse-
guir que es comparteixin els recursos d’un ordinador entre un cert nom-
bre d’usuaris que treballen de manera simultània. La finalitat és
incrementar la disponibilitat de l’ordinador respecte als usuaris i, alhora,
maximitzar la utilització dels recursos com processadors, memòries i dis-
positius d’E/S. La importància de la utilització eficient d’aquests recursos
influeix en el cost d’utilització del sistema informàtic.
1.5.3. Recursos dels sistemes operatius. Concurrència,
comunicació, sincronització i interbloqueig de processos
Una de les tasques dels sistemes operatius és la compartició dels recursos
d’un ordinador entre usuaris que treballen de manera simultània. Les tèc-
niques de multiprogramació i els sistemes multiprocés en què es poden
executar programes de manera simultània compartint els mateixos recur-
sos solen donar lloc a conflictes importants que ha de resoldre el gestor de
processos i, per tant, el processador. Per tot això, la majoria dels sistemes
operatius ofereix als usuaris diferents mecanismes i facilitats per a poder
Els sistemes operatius són un conjunt de programes que creen la in-
terfície del maquinari amb l’usuari i que tenen dues funcions pri-
mordials, que són:
• Gestionar el maquinari: es refereix al fet d’administrar d’una
manera 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.
Maquinari bàsic d’un ordinador
El maquinari bàsic d’un ordinador el forma el maquinari que n’és una part fonamental: la memòria, la CPU, els bussos, etc.
En un sistema de temps real el sistema dóna resposta en el mateix moment en què es demana una petició.
Pseudoparal·lelisme
Si només hi ha un únic processador que gestiona la multiprogramació, l’execució simultània de diverses activitats donarà lloc a un pseudoparal·lelisme, ja que des del punt de vista de l’usuari semblarà que hi ha una execució simultània, encara que només una activitat pot fer ús del processador i en cap cas no es podran executar en el mateix processador dos processos alhora.
El pseudoparal·lelisme és la sensació d’execució simultània d’activitats diferents en un mateix processador.
Sistemes operatius monolloc 44 Introducció als sistemes operatius
controlar l’execució dels processos i afavorir l’accés a les mateixes dades
a fi d’evitar possibles conflictes. Aquests mecanismes es basen en algoris-
mes o eines que permeten la sincronització d’aquests processos o que afa-
voreixen la cooperació entre ells. Per a comprendre els mecanismes que
gestionen l’accés de més d’un procés a les mateixes dades, s’han de com-
prendre els conceptes de paral·lelisme, concurrència, comunicació,
sincronització i interbloqueig de processos.
Un altre aspecte que hem de considerar fa referència a la concurrència.
En un sistema multiprocessador també es poden presentar situacions de
concurrència sempre que les activitats necessitin actuar entre elles, com-
partir informació o per necessitats de funcionament.
A més de la sincronització, també hi ha una altra manera d’establir una
connexió entre els processos: la cooperació o la comunicació.
Paral·lelisme és l’execució de diverses activitats en processadors dife-
rents al mateix temps. És un concepte físic, ja que només hi pot haver
paral·lelisme quan hi ha la presència de diversos processadors.
La concurrència (sistemes concurrents i cooperatius) es produeix
quan algunes activitats s’executen simultàniament. Com que neces-
siten utilitzar els mateixos recursos s’han de sincronitzar per a ac-
tuar conjuntament.
La sincronització dels processos és absolutament necessària si volem
que una activitat impedeixi a una altra accedir a certes dades compar-
tides mentre no es compleix una condició determinada; aleshores hem
de sincronitzar les activitats amb aquesta condició. Com que el sistema
operatiu no coneix la semàntica de les activitats dels processos, el pro-
gramador és l’encarregat d’assegurar que la sincronització es duu a ter-
me d’una manera correcta. Per a ajudar en aquesta tasca, els sistemes
multiprogramats i els llenguatges de programació ofereixen una sèrie
d’eines que permeten establir la sincronització i l’intercanvi d’informa-
ció entre tots els processos concurrents i cooperatius.
En els processos concurrents, normalment cal intercanviar resul-
tats parcials, enviar informació de l’estat dels processos o intercan-
viar informació general. Els diferents sistemes han proposat
diversos mecanismes que permeten comunicar certes quantitats
d’informació entre els processos.
Condició necessària de la concurrència
Perquè dues activitats siguin concurrents és necessari que hi hagi alguna relació entre les activitats: cooperació en un treball determinat o un ús conjunt de la informació o dels recursos. Per exemple, en un sistema monoprocessador l’existència de la multiprogramació és una condició, però no és suficient perquè hi hagi concurrència, ja que els processos es poden executar d’una manera independent.
Sincronització
La sincronització és la situació en la qual una activitat impedeix que altres puguin tenir accés a unes dades mentre les està utilitzant un altre procés.
Exemple de concurrència
Un editor de textos i un compilador es poden executar simultàniament però no són concurrents. En canvi, un procés que escriu en un fitxer i un altre procés que intenta llegir les dades escrites en el fitxer sí que són concurrents, atès que el funcionament d’un interfereix en el funcionament de l’altre.
Sistemes operatius monolloc 45 Introducció als sistemes operatius
En els sistemes en què hi ha compartició de recursos entre processos es
poden donar situacions en què els processos no es puguin continuar exe-
cutant i es bloquegin d’una manera indefinida. Aquest problema es pot ge-
neralitzar a qualsevol tipus de recurs compartit.
Un recurs pot ser tant un dispositiu com una certa quantitat d’informació
(per exemple, un registre d’un fitxer, etc.). En un ordinador hi pot haver
molts tipus de recursos.
Podem classificar els recursos en:
• Reutilitzables. Només els pot utilitzar un procés. Això implica que els
altres processos han d’esperar (estat bloquejat).
• Consumibles. Són els recursos que una vegada utilitzats desapareixen.
Hi ha d’haver un procés productor i un procés consumidor. Aquest és
el cas dels processos que s’envien informació per mitjà de missatges,
els quals es creen i es consumeixen.
Exemple d’utilització d’un recurs
Suposem que fem una excursió per la muntanya i ens trobem en un pont pel qual només pot passaruna persona. Si intentem passar-hi podem trobar-nos en les situacions següents:
1) Que no hi hagi altres persones que intentin passar en el mateix moment en sentit contrari. Enaquest cas, no hi haurà cap problema.
2) Que hi hagi a l’altre extrem del pont una persona amb la intenció de passar i que cap dels dos novulguem cedir el pas a l’altre. Tots dos comencem a creuar el pont, per tant, tots dos estem fentservir el mateix recurs simultàniament. El resultat és que al final xocarem i ningú més no podrà uti-litzar el pont. Quedarà ocupat indefinidament.
3) Per a evitar el cas anterior, es podria pensar a dissenyar un sistema de barreres que s’obrissinquan ningú no fa servir el pont, però que tanqués la del costat contrari quan se’n fes servir una. Po-dria succeir que en un mateix moment arribessin dues persones als extrems oposats i tanquessinel pas a l’altre extrem alhora; aleshores ningú no podrà creuar el pont i les dues persones quedaranbloquejades a l’entrada del pont (interbloqueig).
4) Si una persona dels extrems fos molt educada podria deixar passar la persona que hi ha a l’altrabanda del pont, però es podria donar el cas que quan aquest encara no ha acabat de passar entrésuna altra persona del darrere aprofitant el permís de passar i que aquesta situació es repetís inde-finidament (espera indefinida).
5) El pas pel pont podria ser regulat per un guarda que obrís el pas en un extrem o en l’altre segons eltemps que fa que les persones són a la cua d’espera. Aquesta mesura resoldria tots els problemes.
Podem definir un recurs com una entitat que s’utilitza per a dur a
terme un treball determinat en el sistema i que només el pot fer ser-
vir un únic procés en un moment determinat.
L’interbloqueig, o abraçada mortal (deadlock), es produeix quan
cada procés del conjunt espera una acció que només es pot dur a
terme en un altre procés conjunt.
Utilitzar els recursos
Perquè un procés pugui utilitzar un recurs ha d’efectuar les operacions següents:
1) Sol·licitar el recurs. Si el recurs no està disponible, el procés quedarà bloquejat fins que s’hi pugui assignar el recurs. Si s’hi assigna un recurs, el procés quedarà desbloquejat i passarà a l’estat de "preparat".
2) Utilitzar el recurs. Fer les operacions que sol·liciti el procés.
3) Alliberar el recurs. Perquè altres processos el puguin utilitzar.
Sistemes operatius monolloc 46 Introducció als sistemes operatius
1.6. Arquitectura del sistema operatiu
L’estructura d’un sistema operatiu varia en funció de molts paràmetres;
no obstant això, pràcticament tots es poden englobar en tres components:
el nucli (kernel), les utilitats de baix nivell del sistema i la interfície
d’usuari. En la figura 8 podeu veure com mitjançant el sistema operatiu,
l’usuari pot interaccionar amb el sistema operatiu.
Figura 8. Estructura d’un sistema operatiu
1) El nucli (kernel) del sistema operatiu es considera la part bàsica. És el
programari responsable de facilitar als diferents programes l’accés segur
al maquinari de l’ordinador.
El nucli és un àrea d’execució privilegiada (supervisora o nucli) i, per tant,
està dotat d’unes proteccions fortes. Quan una rutina que s’està executant
a l’àrea d’usuari (no supervisora o no privilegiada) demana un servei del
sistema, pot accedir al nucli. En la figura 9 podeu veure un esquema dels
diferents modes d’execució d’un procés.
En qualsevol sistema en què hi ha processos que esperen opera-
cions sobre els recursos i decisions de planificació del sistema
operatiu, és possible que un determinat procés esperi indefinida-
ment el recurs volgut, mentre que d’altres reben l’atenció del sis-
tema. Aquesta situació es coneix amb el nom d’espera indefinidao mort per inanició.
L’espera indefinida és una situació en la qual un procés espera
indefinidament l’alliberament d’algun recurs que mai no li serà
concedit.
El nucli del sistema operatiu controla totes les operacions que im-
pliquen processos i representen només una petita part del codi de
tot el sistema operatiu però que s’utilitza àmpliament. És en la me-
mòria principal. És la part del sistema operatiu que es troba perma-
nentment carregada a la memòria, és a dir, és el conjunt de
processos actius propietat del sistema que poden oferir un servei
d’una manera immediata.
En un procés interactiu hi ha un diàleg entre l’usuari i el sistema informàtic.
Funcions del nucli del sistema operatiu
El nucli del sistema operatiu generalment executa les funcions següents:
• Manipulació d’interrupcions.
• Creació i destrucció de processos.
• Canvi d’estats de processos.
• Distribució (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.
Sistemes operatius monolloc 47 Introducció als sistemes operatius
Figura 9. Modes d’execució d’un procés
El nucli del sistema operatiu
El nucli del sistema operatiu Unix (anomenat kernel) és un programa escrit en quasi la seva totalitaten llenguatge C, excepte en una part corresponent a la manipulació d’interrupcions, expressada enel 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 lesfacilitats de l’ordinador. És l’element central del sistema Unix.
El kernel té el control sobre l’ordinador, per tant, cap altre procés no el pot interrompre; només elpot cridar perquè proporcioni algun servei dels ja indicats. Un procés crida el kernel mitjançant mò-duls especials anomenats crides al sistema.
El kernel consta de dues parts principals:
1) La secció de control de processos: aquesta assigna recursos, programes, processos i dóna su-port a les demandes de servei.
2) La de control de dispositius: supervisa la transferència de dades entre la memòria principal i elsdispositius perifèrics.
En termes generals, cada vegada que un usuari utilitza qualsevol tecla d’un ordinador, o que s’hagide llegir o escriure informació des de les unitats magnètiques, s’interromp el processador i el nuclis’encarrega d’efectuar l’operació de transferència.
2) Les utilitats de baix nivell són un conjunt de programes que, sense for-
mar part del nucli, ajuden l’usuari en les seves tasques. En realitat, no són
més que programes que s’executen sobre el nucli. Per exemple, els progra-
mes traductors, els programes enllaçadors i els programes depuradors.
Traductors, enllaçadors i depuradors
Els programes traductors converteixen els programes escrits utilitzant algun llenguatge de progra-mació en programes en llenguatge màquina.
Els programes enllaçadors permeten crear programes executables.
Els depuradors són programes que permeten fer un seguiment dels programes informàtics per acomprovar-ne el funcionament pas a pas.
En resum podem dir que les funcions del nucli permeten l’existèn-
cia d’un ambient en què sigui possible donar servei a diversos usua-
ris i múltiples tasques d’una manera concurrent, de manera que el
processador es reparteixi entre tots ells i intenti mantenir en grau
òptim una atenció individualitzada.
El distribuïdor (dispatcher) és un component del nucli del sistema operatiu que planifica el funcionament del processador.
Crides al sistema
Les crides al sistema són funcions que té el mateix sistema per a fer determinades tasques que poden ser invocades de diferents maneres i en moments determinats.
Sistemes operatius monolloc 48 Introducció als sistemes operatius
3) La interfície d’usuari pot consistir en una interfície gràfica i/o en un in-
tèrpret d’ordres en línia (shell). La paraula shell en anglès significa ‘em-
bolcall’. Així, doncs, com el seu nom indica, l’embolcall és una coberta
externa del nucli que es comunica directament amb el maquinari.
L’intèrpret d’ordres és el programa més important de tots els programes
del sistema, ja que crea l’entorn de treball de l’usuari. Rep totes les ordres
de l’usuari i dóna el control als diferents programes del sistema o a les fun-
cions del nucli, segons les necessitats i les peticions de l’usuari.
En la figura 10 podeu veure un esquema dels diferents programes del sis-
tema operatiu.
Figura 10. Programes del sistema operatiu
Les interfícies d’usuari són tots els procediments que dóna el sistema
operatiu per a facilitar el treball entre els usuaris i el sistema. Per a fer-
ho s’utilitza un intèrpret d’ordres. La interfície que es vol definir entre
l’usuari i el sistema s’haurà de basar en un llenguatge textual o en un
llenguatge gràfic (GUI) que fixi les normes de comunicació.
Una vegada que l’usuari comença una sessió en el sistema, aquest
el rep i li indica que està preparat per a acceptar les ordres de l’usuari.
Això ho fa mitjançant un indicador (prompt), que normalment és
un símbol que és diferent segons l’intèrpret d’ordres amb què treba-
llem. Aquest indicador, que escriu un programa que està en execu-
ció constantment per cada usuari i que es coneix amb el nom
d’intèrpret d’ordres, basa el seu funcionament en un llenguatge
d’ordres amb una sintaxi determinada (per exemple, el shell de
Bourne o el shell de C d’Unix). Els intèrprets solen ser un programa
del sistema o un mòdul del nucli que interpreta un llenguatge d’or-
dres amb què l’usuari indicarà al sistema operatiu allò que vol fer.
Llenguatges textual i gràfic a les interfícies d’usuari
Els llenguatges textuals es basen en ordres escrites.
Els llenguatges gràfics es basen en la selecció d’eines gràfiques (botons, icones, etc.).
GUI és l’abreviatura anglesa d’interfície gràfica d’usuari.
Funció dels intèrprets d’ordres
Els intèrprets d’ordres tenen com a missió facilitar l’ús del sistema als usuaris. També, a més d’aquesta facilitat, els sistemes ofereixen diverses facilitats amb l’objectiu de facilitar i abreujar el treball diari dels usuaris.
Sistemes operatius monolloc 49 Introducció als sistemes operatius
1.7. Evolució històrica. Sistemes operatius actuals
L’evolució dels sistemes operatius ha anat de manera paral·lela amb la
dels ordinadors.
1.7.1. Generacions informàtiques
Els sistemes operatius, igual que el maquinari, han sofert canvis al llarg
del temps, els quals els poden agrupar amb el nom de generacions. L’evo-
lució del maquinari ha marcat el paral·lelisme de l’evolució dels sistemes
operatius.
Tot seguit, farem un petit resum del principals fets que han influït en
l’evolució dels sistemes operatius i els relacionarem amb les diferents ge-
neracions d’ordinadors.
1) La generació zero (dècada de 1940)
Els ordinadors d’aquesta època eren de grans dimensions, difícils d’utilit-
zar, presentaven una falta de recursos i tenien uns preus molt alts. Aques-
tes màquines eren gestionades per l’usuari des d’un tauler d’endolls, en
què no hi havia sistema operatiu. L’usuari interaccionava directament
amb l’ordinador i l’únic llenguatge de programació possible era el llen-
guatge màquina. Totes les instruccions s’havien de codificar a mà.
Després, la gestió del computador es va fer des d’una consola en què
cada usuari, i d’un en un, tenia assignat un període de temps durant el
qual es convertia en propietari absolut de tot el sistema.
En aquestes màquines, només era possible la monoprogramació, és a dir,
l’execució d’un sol programa. Com que el procés d’introducció de les or-
dres era molt lent i llarg, es feia pràcticament impossible l’execució de
programes mitjans i grans en aquest entorn.
El 1942 J. P. Eckert i J. W. Muachly, de la Universitat de Pennsilvània, van
dissenyar l’electronic numerical integrator and computer (ENIAC), el
primer ordinador de propòsit general programable.
Les principals causes de l’evolució dels sistemes operatius es po-
den resumir en:
• les actualitzacions i nous tipus de maquinari;
• les demandes de nous serveis;
• la necessitat de resoldre diferents tipus d’errors: bugs, etc.
Bug
Un error (bug) és una situació que presenta algun tipus de programari que consisteix a repetir un seguit d’accions sense fi a causa d’una anàlisi incorrecta.
Generacions d’ordinadors
Les generacions d’ordinadors són èpoques en què la informàtica i els equipaments informàtics tenen característiques especials.
Llenguatge màquina
El llenguatge màquina és el llenguatge utilitzat pels ordinadors. És format per senyals binaris. Els senyals binaris són formats per dos estats: activitat i desactivat (on, off).
La consola és un dispositiu format per un monitor i un teclat.
Monoprogramació
La monoprogramació és un tipus de funcionament d’alguns sistemes operatius que només pot executar un programa a la vegada. Fins que no acaba d’executar tot el programa no en pot començar un altre.
Sistemes operatius monolloc 50 Introducció als sistemes operatius
2) La primera generació (1945-1955)
En aquesta generació continua l’absència de sistemes operatius tal com
els coneixem en l’actualitat. Els sistemes operatius van començar simple-
ment com una transició entre treballs; així, mentre un treball s’estava exe-
cutant tenia el control total de la màquina. En finalitzar la tasca, el control
era retornat al sistema operatiu, que s’encarregava de presentar els resul-
tats i començar el treball següent. Per a fer tota aquesta feina s’utilitzaven
les targetes perforades.
El 1952, Grace Murray Hooper va desenvolupar l’“A-0”, el primer compila-
dor, i va participar en la creació del llenguatge de programació COBOL.
3) La segona generació (1955-1965)
La invenció del transistor va canviar radicalment el món dels ordinadors
pel fet de ser més petits i més fiables que les vàlvules de buit, de manera
que ja es podien fabricar amb la idea de ser venuts. Eren màquines molt
cares i només eren a l’abast de grans corporacions (institucions com els
exèrcits, les universitats i els governs).
Apareixen dispositius d’entrada/sortida nous (els lectors de targetes per-
forades i les impressores) i s’inventen dispositius d’emmagatzematge
nous: les unitats de cintes magnètiques. A més, es desenvolupa el primer
programari que inclou els assembladors, els llenguatges de programació,
els carregadors, els muntadors, les llibreries de diferents tipus i rutines
estàndard d’entrada/sortida dels diferents dispositius que es podien utilit-
zar en els programes.
Assemblador, carregador i muntador
L’assemblador és un programa que tradueix el llenguatge assemblador a llenguatge màquina. Elllenguatge assemblador és un llenguatge molt proper al llenguatge màquina.
El carregador és una rutina que llegeix un programa executable i l’emmagatzema a la memòria prin-cipal abans d’executar-lo.
El muntador, també anomenat editor d’enllaç, és un programa per a crear un codi executable a par-tir d’un o més mòduls objecte. Solucionen les referències que hi ha entre ells i els assignen adrecesdefinitives.
Aquest nou entorn millora considerablement el procés de programació i
d’execució de programes respecte a l’etapa inicial.
La manera d’operar dels sistemes continuava sent poc eficaç a causa de
les diverses operacions manuals, per això s’intentava aprofitar el temps
perdut i augmentar la utilització des recursos del sistema a fi d’eliminar
els temps morts generats per les operacions manuals.
El primer objectiu va ser intentar automatitzar al màxim les operacions
mitjançant l’ús del maquinari. Per això, es va crear la figura de l’operador.
ENIAC
Dispositius d’entrada/sortida (E/S)
Els dispositius d’E/S són un tipus de maquinari amb què el mateix dispositiu pot fer operacions de lectura i escriptura de la informació (exemples: unitats de discos magnètics, etc.).
Sistemes operatius monolloc 51 Introducció als sistemes operatius
A partir d’aquest moment el programador va deixar de tenir accés directe
a l’ordinador; el procediment de treball era el següent: els programadors
donaven als operadors els treballs que volien executar, aquests els ajunta-
ven els uns darrere dels altres a l’ordinador, en recollien els resultats i els
lliuraven als respectius programadors.
L’operador agrupava els treballs amb els recursos físics i lògics sem-
blants i els executava com si fossin un únic bloc. Per exemple, si en tots
els treballs apareixien programes escrits en un mateix llenguatge deprogramació, es reunien els programes els uns darrere dels altres, i així
s’aconseguia que carregant el compilador una sola vegada es pogués uti-
litzar molt més. D’aquesta manera, s’obtenia un estalvi de temps. Aquest
sistema s’anomena sistema per lots (batch).
Malgrat el sistema per lots, la CPU continuava estant molt temps parada.
El problema era la diferència de velocitat que hi havia entre la CPU i els
perifèrics. Per a intentar reduir-la, va aparèixer el treball fora de línia (off-
line). Mentre els programes escrits en targetes es llegien i es passaven a
cinta en una màquina, en una altra es podien anar executant altres progra-
mes que ja havien estat carregats anteriorment.
Posteriorment, es van idear altres tècniques com l’emmagatzematge a la
memòria intermèdia (buffering). Aquesta tècnica consisteix a carregar
les dades de la cinta en una memòria (buffer) i, quan és plena, es bolquen
de cop a la memòria principal. Mentre el processador treballa, es torna a
carregar la memòria intermèdia.
L’operador és un especialista en el funcionament de l’ordinador que
tenia com a missió controlar el sistema, carregar programes, obte-
nir els resultats, etc.
El sistema per lots (batch) és un conjunt de treballs que l’ordinador
executa l’un a continuació de l’altre i de manera seqüencial.
El sistema fora de línia (off-line) es basa en el fet que els disposi-
tius funcionen sense haver d’estar connectats a la CPU (per exem-
ple, les màquines perforadores de fitxes i de cintes perforades).
L’emmagatzematge a la memòria intermèdia (buffering) és una tècni-
ca en què s’utilitzen les memòries intermèdies (buffers) dels disposi-
tius per a l’intercanvi de dades entre els dispositius i la memòria
principal.
Programador i llenguatges de programació
El programador és la persona que escriu utilitzant llenguatges de programació les accions desenvolupades en llenguatge natural.
Els llenguatges de programació són un conjunt de normes i regles que permeten donar ordres a l’ordinador. Alguns exemples de llenguatges són C, COBOL, Visual Basic, etc.
Memòria intermèdia
La memòria intermèdia (buffer) és una zona de memòria que tenen alguns dispositius per a l’intercanvi d’informació entre el dispositiu i la memòria principal.
Sistemes operatius monolloc 52 Introducció als sistemes operatius
Una altra tècnica va ser la gestió de cues (spooling), que es va començar
a utilitzar en el moment d’aparèixer el disc magnètic amb l’ús de l’accésaleatori. Aquesta tècnica es fonamenta en el fet que la sortida d’informa-
ció d’un programa s’envia a una memòria intermèdia i, després, a un disc
magnètic en què espera poder ser tractada per una impressora o qualsevol
altre perifèric de sortida que en aquests moments no pot donar servei per
diferents causes (per exemple, pot estar ocupat). El processador pot estar
executant un treball mentre s’imprimeix una altra feina.
El 1963, l’American National Standard Institute (ANSI) accepta la primera
versió del codi ASCII (American standard code for information in-
terchange) de 7 bits.
4) Tercera generació (1965-1974)
La tercera generació es fonamenta tecnològicament en els circuits in-tegrats. Els ordinadors d’aquesta època són molt més petits i ràpids. S’uti-
litzen nous mecanismes de gestió del maquinari com ara les tècniques de
les interrupcions, la protecció de memòria, etc. Paral·lelament, es
desenvolupen maquinaris nous amb els programaris corresponents; això
ha donat lloc a l’existència d’un nou entorn de treball amb les caracterís-
tiques següents:
• Perifèrics més ràpids i efectius.
• Terminals remots per a accedir a bancs de dades.
• Programari de base adaptat a l’usuari. Això permet la utilització de llen-
guatges universals pensats per a ser utilitzats en diferents tipus d’ordi-
nadors; és el que s’anomena portabilitat.
• S’estandarditzen els llenguatges d’alt nivell i n’apareixen altres de
nous, com el Basic i el Pascal.
• Una de les tècniques més innovadores és la multiprogramació.
Un sistema de gestió de cues (spool) el podem interpretar com
una cua d’arxius que esperen ser impresos, gravats en cinta, etc.,
que esperen el seu torn perquè es faci la feina per a la qual van
ser creats. La gestió d’aquesta cua pot ser per la tècnica FIFO o
per prioritats, etc.
La gestió de cues (spooling) és una tècnica en què s’utilitzen els
discos durs per a emmagatzemar temporalment la informació
que ha de gestionar un dispositiu.
Accés aleatori
L’accés aleatori és una tècnica que utilitzen alguns dispositius (per exemple, els discos magnètics), mitjançant la qual poden accedir a la informació que contenen d’una manera directa.
La tècnica FIFO (first input-first output) es basa en la idea que el primer fitxer que arriba a la cua serà el primer en sortir-ne.
Circuit integrat
Portabilitat
La portabilitat és la característica d’alguns programes que els permet ser utilitzats en diferents ordinadors sense que necessitin modificacions importants.
Sistemes operatius monolloc 53 Introducció als sistemes operatius
En la figura 11 podeu veure un esquema d’un sistema informàtic multi-
programat.
Figura 11. Esquema d’un sistema de multiprogramació
En el tractament de dades un tant per cent elevat el representen les
operacions d’entrada/sortida. És necessari millorar el procés per a acon-
seguir temps de respostes més baixos. La solució es basa en la introducció
de la programació concurrent.
Durant l’execució seqüencial dels processos se sap que la CPU i els
dispositius d’E/S són inactius en alguns moments. La manera de solucio-
nar el problema està en l’assignació d’alguna altra tasca a la CPU o als dis-
positius d’entrada/sortida quan per algun motiu estiguin inactius.
Aquesta tècnica va fer replantejar l’estructura del sistema operatiu. Així
es comença a parlar del nucli (kernel) del sistema operatiu.
La multiprogramació o programació concurrent és una manera de
treballar en què podem executar més d’un programa simultània-
ment (no en el mateix moment) amb l’objectiu d’aprofitar al màxim
els recursos.
El nucli (kernel) és format per rutines que gestionen la memòria
central, el processador, els perifèrics i altres recursos, de manera
que respon a les peticions dels dispositius d’entrada/sortida. El
nucli només entra en acció si ho demana un programa o bé un dis-
positiu.
Sistemes operatius monolloc 54 Introducció als sistemes operatius
La nova filosofia que comporta el nucli implica nous dispositius: mecanis-
mes d’interrupció, temporització, mecanismes de protecció de la memò-
ria, etc. !
El problema de la multiprogramació és que deixa d’executar un programa
i en passa a executar un altre que estigui pendent d’execució, sempre que
el programa que s’està executant faci una operació d’entrada/sortida o bé
finalitzi. A causa d’aquest funcionament, el temps de resposta que té un
usuari que està connectat de manera interactiva, en diàleg continu amb
l’usuari, pot ser considerablement llarg.
El treball de l’ordinador mitjançant l’ús del temps compartit implica que
l’organització no es fa per treballs sinó per sessions.
5) Quarta generació (1974-1984)
Amb la utilització dels circuits integrats de diferents nivells d’integració
(LSI/VLSI), s’inicia l’era dels ordinadors personals, als quals es poden
aplicar tots els mecanismes desenvolupats fins a aquell moment, tant de
maquinari com de programari.
També apareixen els conceptes de procés distribuït i de sistemes en xar-
xa, que estan relacionats amb la interconnexió d’ordinadors entre ells per
a poder compartir recursos.
Per a resoldre el problema de la multiprogramació, es proposa un
mecanisme nou anomenat temps compartit. Els programes que
competeixen pels recursos del sistema tenen assignada la CPU du-
rant un període de temps limitat, anomenat quàntum. Així, quan un
programa es deixa d’executar, allibera la CPU.
Una sessió és tot el conjunt de treballs que es fan des que un usuari
es connecta a l’ordinador fins que acaba o es desconnecta. Durant
aquest temps, es pot dur a terme una multitud d’operacions contro-
lades per un procés anomenat intèrpret d’ordres, que manté un dià-
leg entre l’usuari i el sistema operatiu.
La quarta generació d’ordinadors introdueix el concepte de sistema
operatiu en temps real, referit als sistemes que tenen un temps de
resposta curt referent a qualsevol petició.
Una interrupció és un senyal que s’envia al processador, perquè aturi el procés que estava executant.
El quàntum és el temps que té assignat de processador un programa determinat.
LSI és l’abreviatura de gran escala d’integració.
VLSI ho és de molt gran escala d’integració.
Sistemes operatius monolloc 55 Introducció als sistemes operatius
En l’actualitat, la quantitat d’informació que s’ha de manipular augmenta
contínuament. Això implica que moltes vegades els ordinadors actuals no
tenen la capacitat per a poder gestionar aquesta gran quantitat d’informa-
ció. S’han buscat possibles solucions, i una pot ser el desenvolupament
d’ordinadors que tinguin més d’un processador i que puguin treballar con-
juntament. En aquests ordinadors, el sistema operatiu ha d’administrar
els processadors de tal manera que la càrrega i el repartiment de la feina
sigui equilibrat: és el que anomenem multiprocés.
1.7.2. Sistemes operatius actuals
La cinquena generació informàtica (1984-?) engloba les tendències actuals
i futures dels sistemes operatius i les podem resumir en els punts se-
güents:
• Paral·lelisme:
– Increment de multiprocessadors.
– Extensió de llenguatges paral·lels.
• Commutació distribuïda: l’increment de les xarxes d’ordinadors con-
nectades.
• Sistemes tolerants a fallades.
• Interfícies d’usuaris més amigables:
– Desenvolupament d’interfícies gràfiques.
– Incorporació del multimèdia en les interfícies.
– Reconeixement de la veu.
– Immersió en l’entorn: la realitat virtual 3D (tres dimensions).
Una xarxa d’ordinadors és un conjunt d’ordinadors interconnec-
tats amb la finalitat de compartir recursos. En funció de la gran-
dària, podem parlar de LAN, MAN i WAN.
Un sistema distribuït és un entorn en què diversos ordenadors o
nusos es distribueixen les tasques del sistema operatiu.
El multiprocés és una tècnica en la qual podem executar més d’una
tasca a la vegada (mateix moment) ja que hi ha més d’una CPU al
mateix ordinador.
LAN és l’abreviatura de xarxa d’àrea local. MAN, de xarxa d’àrea metropolitana, i WAN, de xarxa d’àrea estesa.
Multimèdia i realitat virtual
El multimèdia és un conjunt d’equipament informàtic que permet gestionar text, imatges, so, vídeo, etc.
La realitat virtual és una tecnologia que permet simular situacions reals.
Sistemes operatius monolloc 56 Introducció als sistemes operatius
• Sistemes oberts: l’estandardització de sistemes per a compatibilitzar
els diferents fabricants quant a:
– Comunicacions de xarxa.
– Interfícies d’usuari ofertes.
– Aplicacions ofertes (diverses plataformes).
• Sistemes orientats a objectes: l’aplicació de tècniques d’orientació a ob-
jectes als sistemes operatius.
• Personalitats múltiples: en una mateixa màquina i en un sistema ope-
ratiu bàsic hi pot haver diferents sistemes operatius.
Els sistemes operatius continuen evolucionant. La principal tendència
quant a organització dels treballs és convertir-se en sistemes operatius
distribuïts.
No s’ha de confondre un sistema operatiu de xarxa amb un sistema ope-
ratiu distribuït. En un sistema operatiu de xarxa, els ordinadors estan in-
terconnectats per mitjà de mitjans de comunicacions: programari i
maquinari. En aquest tipus de xarxa, els usuaris saben on s’està executant
el seu treball i desant la informació. En canvi, en els sistemes operatius
distribuïts hi ha un programari que distribueix les tasques dels usuaris so-
bre una xarxa d’ordinadors i per als usuaris és transparent on es fan les
seves tasques i es desa la informació.
En el camp informàtic, hi ha i ha hagut un gran nombre de sistemes ope-
ratius. Alguns són simples adaptacions o variacions d’altres. En podem
distingir els següents:
1) Dintre dels sistemes de tipus multiusuari en podem destacar els se-
güents:
a) MVS. És un sistema basat en l’arquitectura 370 d’IBM. Al començament
de la dècada de 1980 n’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
Els sistemes operatius distribuïts són dissenyats per a l’ús en grup
d’ordinadors connectats però independents que comparteixen re-
cursos. En un sistema operatiu distribuït, un procés es pot executar
en qualsevol ordinador de la xarxa per a augmentar el rendiment
d’aquest procés. En els sistemes distribuïts totes les funcions bàsi-
ques d’un sistema operatiu, com, per exemple, mantenir els siste-
mes d’arxius, garantir un comportament raonable i recuperar dades
en cas de problemes, resulten més complexes.
MVS, MV/SP, VM, VAX, OS, DOS, IBM i DEC
A continuació, teniu algunes abreviatures comunes en l’àmbit informàtic.
MVS: multiple virtual storage.
MVS/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.
Sistemes operatius monolloc 57 Introducció als sistemes operatius
una varietat denominada VM, que converteix una única màquina real en
un conjunt de màquines virtuals. Dins d’aquesta màquina, l’usuari pot
executar qualsevol sistema operatiu.
b) DECVMS o VMS de DEC. Es basen en l’arquitectura de Digital i tenen
l’origen en el sistema operatiu VMS dels sistemes VAX. Pretenen que les
aplicacions puguin compartir la informació i els recursos indepen-
dentment del sistema informàtic en què s’executen.
c) Unix. És un sistema multiusuari, creat a partir del llenguatge C. És mo-
dular i admet programes de diferents fabricants. El nucli és interactiu,
l’intèrpret d’ordres es pot convertir en un llenguatge de programació, té
moltes utilitats i eines de desenvolupament. En el mercat, n’hi ha diver-
ses versions amb una certa compatibilitat entre elles: SCO Unix, Linux,
BSD, AIX, Solaris, etc.
2) Dins dels sistemes del tipus monousuari tenim:
a) 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).
b) 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 co-
mercialitzen el DOS amb diferents noms. Les marques més conegudes
són les versions MS-DOS (Microsoft) i PC-DOS (IBM).
c) X-Windows. Tenen una arquitectura de 32 bits, multitasca, que permet
executar múltiples aplicacions alhora i de manera completa sempre que
les aplicacions siguin de 32 bits. Destaca per tenir un entorn gràfic molt
potent. N’hi ha diferents versions amb característiques diferents: Win-
dows 3.x, Windows 95, Windows 98, Windows NT Workstation, Windows
2000 Professional Edition, Windows 2003 Standard Edition, Windows Vis-
ta, etc.
Tots aquests sistemes operatius, ja siguin monousuari o multiusuari, han
incorporat poc o molt la interfície gràfica d’usuari (GUI), que permet una
utilització més fàcil del sistema a còpia d’elements gràfics.
3) Un altre factor que cal tenir en compte i que està relacionat amb els sis-
temes operatius actuals són les xarxes locals, algunes de les quals utilit-
zen sistemes operatius especials (Windows NT Server, Windows 2000
Server, Windows 2003 Enterprise Edition etc.) i d’altres que funcionen efi-
Altres sistemes multiusuari
Theos és un sistema multiusuari destinat a la gestió de petites i mitjanes empreses, té una gran facilitat de programació i és molt fàcil d’aprendre. L’estructura d’arxius és semblant a la del sistema DOS.
Xenix és una variant d’Unix pensada per a entorns multiusuari. Hi ha versions compatibles amb Unix System V.
Logotip de Windows
Sistemes operatius monolloc 58 Introducció als sistemes operatius
cientment amb modificacions dels sistemes operatius comentats anterior-
ment (Unix/Xenix, OS/2 i DOS). !
En el món MVS 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 WAX Computer, el futur que tenen està lligat al maquinari concret.
L’Unix ha estat creat i pensat per a tot tipus d’ordinadors. Això ha pro-
vocat que algunes versions hagin hagut de ser reduïdes per a poder-les
utilitzar en els PC (Minix). Avui dia, però, el desenvolupament dels mi-
croordinadors de 64 bits, amb capacitats més potents de maquinari, fan
que el seu futur sigui molt prometedor, especialment la versió Linux,
per la gratuïtat d’utilització i l’evolució contínua.
Els sistemes DOS són limitats pel fet de ser monousuari i monotasca, ex-
cepte si es combinen 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 impensa-
ble (Unix/NetWare, Unix/Windowsx, Unix/DOS, etc.).
Durant la dècada de 1990 ha sorgit un nou entorn que és el dels sistemes
servidors/clients. Aquest concepte no es limita a la grandària dels ordina-
dors, sinó a la funció que tenen. L’aparició de les xarxes d’ordinadors per-
sonals interconnectades ha motivat l’aparició de nous equips, la funció
essencial dels quals és centralitzar determinats serveis per a oferir-los a
un conjunt d’ordinadors de la xarxa. Un servidor pot, per exemple, oferir
un disc dur a altres ordinadors i ampliar-ne la capacitat d’emmagatzemat-
ge o, fins i tot, tenir una única còpia de les aplicacions. Els sistemes ope-
ratius més utilitzats per a sistemes servidor/client són Unix, OS/2 i
Windows NT, Windows 2000 Server, Windows 2003 Standard Edition, etc.
La majoria dels sistemes operatius actuals han estat dissenyats per a ser
fàcils d’utilitzar. Els sistemes operatius del futur seran dissenyats pel seu
fàcil ús i per la seva capacitat de donar servei a les necessitats dels usuaris.
El disseny es farà amb la idea de la seva implementació fàcil mitjançant
la seva modularitat i estandardització. A causa d’aquests principis de dis-
Cada sistema operatiu té les seves pròpies limitacions, normalment
a causa de la filosofia de funcionament o de les disponibilitats de
memòria i de recursos físics.
Sistemes propietaris i sistemes oberts
Un sistema propietari és el sistema que per a la seva utilització cal estar registrat. El sistemes oberts permeten utilitzar-los de manera lliure.
Sistemes operatius monolloc 59 Introducció als sistemes operatius
seny, el sistema operatiu del futur no serà difícil d’implementar i
d’utilitzar.
1.8. Classificació del sistemes operatius
Podem classificar els sistemes operatius seguint els criteris següents:
1) Segons la utilització de recursos. Aquesta classificació fa referència al
nombre de programes que es volen executar alhora. Bàsicament, podem
distingir els sistemes monopogramats i els sistemes multiprogramats.
2) Segons la interactivitat. Aquesta classificació té en compte el tipus de
feina a què es destinen els sistemes. Bàsicament, podem distingir els sis-
temes de processament per lots (batch), els sistemes de temps compartit
(time sharing) i els sistemes en temps real (real time).
Els 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’hi queda fins que acaba de
ser executat. Durant aquest període de temps no es pot executar cap
altre programa.
Els sistemes multiprogramats o multitasca utilitzen tècniques de
multiprogramació i poden admetre un o més programes d’un o di-
versos usuaris simultàniament. Aquests sistemes els podem classi-
ficar 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.
Els sistemes de processament per lots poden utilitzar la multipro-
gramació per a executar uns quants programes a la vegada. En el
procés per lots, cada treball efectua una sèrie de passos seqüencials
relacionats.
Els sistemes de temps compartit accepten que diversos programes
competeixin pels recursos del sistema. Això implica que la CPU és as-
signada durant un període de temps limitat, anomenat quàntum. Així,
quan un programa es deixa d’executar, allibera la CPU.
Els paquets són blocs d’informació.
Sistemes operatius monolloc 60 Introducció als sistemes operatius
3) Segons el nombre d’usuaris. Classifiquem els sistemes en funció del
nombre d’usuaris que poden accedir a un ordinador. Podem distingir els
sistemes monousuari i els sistemes multiusuari.
4) Segons el tipus d’aplicació. Aquesta classificació es basa en el tipus d’apli-
cacions informàtiques que executarà el sistema. Bàsicament, podem distingir
els sistemes de propòsit general i els sistemes de propòsit especial.
5) Segons el nombre de processadors. Aquesta classificació es basa en la
quantitat de processadors de què disposa l’ordinador. Podem distingir els sis-
temes monoprocessadors i els sistemes multiprocessadors o multiprocés.
Els sistemes en temps real són sistemes multiprogramats i interactius
més exigents, basats en una resposta ràpida sobre els sistemes que es
volen controlar a partir de les informacions rebudes. Els sistemes que
no necessiten una resposta ràpida s’anomenen de temps diferit.
Els sistemes monousuari només permeten en un determinat mo-
ment 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, de manera que faciliten a l’usuari
l’execució d’uns quants programes a la vegada.
Els 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.
Els sistemes de propòsit general es caracteritzen per la capacitat
de poder executar qualsevol tipus d’aplicació informàtica.
Els sistemes de propòsit especial s’han dissenyat específicament
per a donar servei a determinades aplicacions informàtiques.
En els sistemes monoprocessadors l’ordinador disposa d’una úni-
ca CPU i, per tant, tots els programes s’han d’executar en la ma-
teixa CPU.
En els sistemes multiprocessadors o multiprocés l’ordinador dis-
posa de diverses CPU; això permet que un mateix treball o dife-
rents treballs s’executin en diferents CPU.
Sistemes operatius monolloc 61 Introducció als sistemes operatius
6) Segons la distribució de les tasques del sistema. La feina es reparteix
entre diversos processadors connectats en xarxa. Podem distingir els sis-
temes distribuïts i els sistemes centralitzats.
1.9. Gestió de processos. Estats dels processos.
Prioritat i planificació
El sistema operatiu, entre altres tasques, ha de gestionar els processos i
planificar la feina del processador. La diferència entre un programa i un
procés és que un programa és un conjunt d’ordres i un procés són instruc-
cions que s’estan executant. Un procés, a més, és format no solament per
les dades, sinó també pel valor dels registres, les variables, etc., durant
l’execució del programa.
1.9.1. Els processos
El concepte de procés és una entitat molt important per al sistema opera-
tiu. Així, doncs, tota planificació que faci el sistema operatiu haurà de do-
nar un servei adequat als programes que executin els usuaris, el reflex
dels quals seran els processos. El cor del sistema operatiu és el nucli, un
programa de control que reacciona contra qualsevol interrupció d’esdeve-
niments externs i que dóna servei a processos, i que crea, acaba i contesta
qualsevol petició de servei que facin els processos.
En els sistemes distribuïts cada processador té la seva pròpia me-
mòria local, no comparteixen rellotge. La comunicació entre els
processadors és per mitjà de línies de comunicació, busos d’alta
velocitat o línies telefòniques. Hi pot haver processadors de dife-
rents grandàries i funcions. Cada sistema situat a cada màquina
pot executar tasques diferents i específiques i d’aquesta manera
millorar el rendiment del sistema.
En els sistemes centralitzats una mateixa màquina executa totes
les tasques del sistema operatiu.
Un programa és una seqüència d’instruccions o accions definides
a priori, que poden ser executades per un processador.
Un procés és una seqüència d’accions derivades de l’execució
d’una sèrie d’instruccions. Això implica que un procés pot reque-
rir l’execució d’un o diversos programes; i que un programa pot
formar part de més d’un procés.
Bus
Els busos són línies de comunicació entre els components principals de l’ordinador.
N’hi ha de diferents tipus:
• Bus de control. Són línies de comunicació per on circulen senyals de control.
• Bus de dades. Són línies de comunicació per on circulen les dades.
• Bus del sistema. Són línies de comunicació entre el processador, la memòria i els perifèrics.
Els esdeveniments són situacions o fets que succeeixen en moments determinats.
Algorisme de planificació
Un procés es duu a terme per l’acció del processador que executa el programa associat. És a dir, un processador executa un procés, o un procés s’executa en un processador.
Un procés és una activitat d’un cert tipus que té un programa, una entrada, una sortida i un estat. Un únic processador pot ser compartit entre diversos processos amb cert algorisme de planificació, el qual determina quan ha de parar el treball en un procés i donar servei a un altre diferent.
Sistemes operatius monolloc 62 Introducció als sistemes operatius
Moltes vegades les tasques que s’han de dur a terme no han de tenir ne-
cessàriament les mateixes exigències quant a temps i disponibilitat de re-
cursos, ja que en molts casos hi ha processos que necessiten una atenció
immediata a algun esdeveniment que es produeixi. D’altres, en canvi, des-
envolupen la seva feina lentament i sense cap urgència i es poden “apar-
car” en determinats moments en benefici d’altres que sí que necessiten
immediatament aquests recursos.
Classificació de les prioritats
Podem classificar les prioritats de la manera següent:
1) Prioritats assignades pel sistema operatiu. El sistema assigna prioritats als processos en el mo-ment de començar l’execució.
2) Prioritats assignades pel propietari. L’usuari assigna al procés la prioritat amb què s’ha d’exe-
cutar.
1.9.2. Operacions amb els processos
Els sistemes que administren els processos han de poder crear, destruir,
suspendre, reprendre, canviar la prioritat, bloquejar i distribuir (dispatch)
un procés. Per a fer-ho, disposen de certes funcions, que faciliten la mani-
pulació del sistema operatiu mitjançant crides al sistema o des de l’intèr-
pret d’ordres.
Les operacions més comunes són les següents:
1) Crear és una tècnica que permet crear processos i en la qual, en alguns
casos, és necessari passar arguments (el nom, la prioritat del procés, l’as-
signació de recursos, etc.). Un procés pot crear un nou procés; en aquest
cas, el procés creador s’anomena procés pare i el procés creat procés fill i
s’obté una estructura jeràrquica de processos. La creació d’un procés pot
ser de dues maneres:
a) Jeràrquica. Cada procés que es crea és fill del procés creador i hereta
l’entorn d’execució del pare, de manera que es fixa un arbre de processos.
El primer procés executat per un usuari serà fill del procés intèrpret d’or-
dres amb el qual interactua. Aquest procés serà el que crea la resta de sub-
processos o processos fills.
b) No jeràrquica. Cada procés creat per un altre s’executa independent-
ment del creador, amb un entorn diferent.
Alguns processos necessiten accedir al processador més vegades
que d’altres. Això es fa per mitjà de les prioritats.
Un algorisme és la seqüència lògica de les accions que cal desenvolupar per a resoldre un problema determinat.
Les prioritats són algorismes que assignen un ordre de preferència determinat en la utilització del processador.
Sistemes operatius monolloc 63 Introducció als sistemes operatius
2) Destruir un procés elimina un procés del sistema operatiu, és a dir, des-
trueix el seu bloc de control de procés (PCB), retorna els seus recursos al sis-
tema i l’elimina de totes les llistes o taules del sistema. En el cas de processos
jeràrquics, hi pot haver problemes en els processos fills, ja que poden quedar
destruïts en funció del tipus de disseny que tingui el sistema operatiu.
3) Canviar la prioritat d’un procés.
4) Adormir o bloquejar l’execució d’un procés és una tècnica mitjançant
la qual un procés passa a l’estat de bloquejat fins que no ha passat un
temps determinat.
5) Despertar un procés és una manera artificial de desbloquejar-lo que
s’utilitza per a “despertar processos adormits”.
6) Suspendre un procés és una operació d’alta prioritat, ja que normalment
només es farà en determinades ocasions i sempre amb certa urgència. S’uti-
litza en moments de mal funcionament del sistema, sobrecàrrega, etc.
7) Continuar un procés és activar un procés suspès.
1.9.3. Tipus de processos
En funció de la utilització, els processos es poden classificar en els tipus
següents:
• Reutilitzables. Són processos en què es poden canviar les dades que es
fan servir. En tornar-se a executar, necessiten començar des de l’estat
inicial i processar les dades noves. Aquest és el cas dels programes que
normalment tenim els usuaris.
• Reentrants. Són processos que no tenen dades associades. Les dades
que utilitzen es troben en una pila o en registres interns i no poden ser
modificades durant la utilització. Aquest és el cas de programes com-
partits per alguns usuaris a la vegada.
Altres classificacions del processos
Una altra classificació dels processos és segons la capacitat que tenen d’accedir al processador ia la resta de recursos:
1) Apropiatius. Els processos que tenen assignat un recurs no permeten que altres processos pu-guin accedir a aquests recursos fins que s’hagi acabat d’utilitzar-los.
2) No apropiatius. Permeten a altres processos accedir als recursos que estan utilitzant.
També podem classificar els processos en funció de la forma d’execució:
1) Residents. Són a la memòria tot el temps que dura l’execució.
El bloc de control de procés
El bloc de control de procés (PCB) és una taula en la qual es desa informació sobre cada procés. La informació desada de cada procés pot ser el número del procés, l’estat del procés, la prioritat, els recursos que té assignats el procés, els privilegis, etc.
Sistemes operatius monolloc 64 Introducció als sistemes operatius
2) Intercanviables. Poden ser portats de la memòria principal al disc, mentre són bloquejats. Ales-hores, la memòria alliberada pot ser utilitzada per altres processos que en aquells moments la ne-cessiten.
1.9.4. Estats dels processos
Els blocs de control de processos (PCB) s’emmagatzemen en cues, cadas-
cuna de les quals representa un estat particular del procés. Els estats dels
processos són interns del sistema operatiu. L’usuari sempre veurà el seu
procés en execució independentment de l’estat en què es trobi interna-
ment el procés en execució.
Els estats dels processos es poden dividir en:
1) Actius. Són els estats en què competeixen per a utilitzar el processador
o estan en condicions de poder-ho fer. Es poden trobar en les situacions
següents:
a) Execució. Estat en què es troba un procés quan té el control del proces-
sador.
b) Preparat. Estat dels processos que estan en condicions de ser execu-
tats, però no s’executen per alguna causa (per exemple, per haver entrat
en la cua quan hi havia un altre procés en execució).
c) Bloquejat. Estat dels processos que no es poden executar, perquè espe-
ren la utilització d’algun recurs que no està disponible en aquest moment
(recursos d’E/S).
2) Inactius. Són els estats en què se situen els processos que no poden
competir pel processador, però que ho poden tornar a fer més endavant,
per mitjà de certes operacions. En aquests estats, es manté el bloc de con-
trol del procés aparcat fins que torni a ser activat. Es tracta de processos
que no han acabat el seu treball per causes diverses (per exemple, per ava-
ria en un dispositiu d’entrada/sortida). Els estats en què es poden trobar
són els següents:
a) Suspès bloquejat. Procés que ha estat suspès mentre esperava un esde-
veniment i les causes del bloqueig no han acabat.
b) Suspès preparat. Procés que ha estat suspès, sense que hi hagi una cau-
sa per la qual estigui bloquejat.
L’estat d’un procés el podem definir com una descripció de la seva
activitat en un moment concret.
Sistemes operatius monolloc 65 Introducció als sistemes operatius
Els canvis d’estat
Podem distingir els canvis d’estat següents:
1) Començar l’execució. Tot procés comença en el moment en què es dóna l’ordre d’execució delprograma i el procés es posa a la cua deIs processos preparats.
2) Pas a l’estat d’execució. És el moment en què el processador es troba inactiu i en la cua deprocessos preparats hi ha algun procés que està en espera per a ser executat.
3) Pas a l’estat bloquejat. Un procés que està en execució i que sol·licita una operació a un dis-positiu d’entrada/sortida passarà de l’estat d’execució a l’estat de bloquejat. En aquest moment, elprimer procés de la cua de processos preparats passarà al processador per a ser executat. Tambées pot passar a l’estat de bloquejat en el cas d’un procés que estava suspès bloquejat i del qual handesaparegut les causes que provocaven aquest estat.
4) Pas a l’estat preparat. Pot tenir lloc en els casos següents:
a) Final d’una operació d’entrada/sortida.b) A partir del moment en què es dóna l’ordre d’execució d’un programa.c) Si es produeix una interrupció que obliga el sistema a executar un altre procés, el que està enexecució passa a la cua dels processos preparats.d) Un procés que estava suspès preparat passa a l’estat de preparat.
5) Pas a suspès bloquejat. Si un procés estava bloquejat i el sistema operatiu rep l’ordre de sus-pendre’l, el passarà a la cua dels processos suspesos bloquejats.
6) Pas a suspès preparat. Si un procés que és a la cua dels processos preparats rep l’ordre desuspendre’l, passarà a la cua dels processos suspesos preparats.
En la figura 12 podeu veure un diagrama amb les transicions d’estats d’un
procés.
Figura 12. Diagrama de transicions d’estats
Un procés al llarg de la seva vida pot canviar diverses vegades d’estat.
Aquests canvis d’estat es coneixen amb el nom de transicions d’estats.
L’assignació de la CPU al primer procés de la llista de preparats
s’anomena distribució i és executada per una entitat del sistema
operatiu anomenada distribuïdor (dispatcher).
Sistemes operatius monolloc 66 Introducció als sistemes operatius
1.9.5. Planificació del processador
S’ha de tenir present el problema de quan assignar un processador
(CPU) i a quin procés. D’alguna manera, cal que el processador plani-
fiqui la feina de la mateixa manera que ho fem amb les nostres tasques
diàries.
Diferenciem tres tipus de planificació (figura 13):
1) Planificació a llarg termini (planificació de treballs). Decideix quin se-
rà el proper treball que s’executarà. En el cas de sistemes de temps com-
partit té com a missió carregar els programes en memòria. Aquest nivell
és l’encarregat de crear els processos.
Figura 13. Nivells de planificació
La planificació del processador (scheduling) és el conjunt de
polítiques i mecanismes que implementa el sistema operatiu per
a decidir quin procés ha de fer ús del processador en cada mo-
ment. El seu objectiu general és donar un bon servei a tots els
processos que competeixen en un moment determinat pels re-
cursos del processador.
Scheduling és el terme anglès que correspon a la planificació dels treballs del processador.
Sistemes operatius monolloc 67 Introducció als sistemes operatius
2) Planificació a mitjà termini. Decideix si el procés que està en execu-
ció s’ha de treure de la memòria temporalment i col·locar-lo en un dis-
positiu secundari, com el disc magnètic, per a reduir el grau de
multiprogramació. Posteriorment, quan el sistema es trobi més descar-
regat, tornarà aquest procés a la memòria i a l’estat d’execució. Aques-
ta tècnica es coneix amb el nom de swapping out i el procés invers
s’anomena swapping in. S’aplica en sistemes de temps compartit i en
aquells en què s’utilitza memòria virtual. També es fa servir quan un
procés està bloquejat i l’hem de treure per a alliberar memòria. La pla-
nificació a mitjà termini és la responsable de gestionar les transicions
de processos entre la memòria principal i la secundària, i actua inten-
tant maximitzar la utilització dels recursos.
3) Planificació a curt termini (planificació del processador). És l’en-
carregat de decidir com i quan un procés que és a la cua de processos
que s’han d’executar tindrà accés al processador. És a dir, té la respon-
sabilitat de fer les funcions de la multiprogramació. Resideix en memò-
ria i s’executa amb molta freqüència, per això té una execució molt
ràpida.
La missió del distribuïdor consisteix a assignar la CPU a un dels processos
executables del sistema, per això segueix uns algorismes determinats.
Perquè el distribuïdor commuti el processador entre dos processos és ne-
cessari fer un canvi de procés.
Per a la planificació, són necessaris uns criteris en l’execució dels algoris-
mes dels processos. En podem destacar els següents:
1) Temps de resposta, que indica la velocitat amb què l’ordinador dóna
resposta a una petició.
2) Temps de servei, que és el temps que triguen els sistemes a servir
l’ordre demanada (inclosos el temps d’espera en la cua dels processos
preparats, el temps d’execució en el processador, el temps de càrrega
del programa en memòria i el temps utilitzat en les operacions d’entra-
da/sortida).
3) Temps d’execució, que coincideix amb el temps de servei menys el
temps d’espera en la cua dels processos; és a dir, és el temps que ne-
Quan més d’un procés és executable des del punt de vista lògic, el
sistema operatiu ha de decidir quin d’ells s’ha d’executar en primer
lloc. El planificador és la part del sistema operatiu que decideix i
l’algorisme de planificació és l’utilitzat.
Memòria virtual
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 a poder-se executar.
Canvi de procés
Un canvi de procés és la situació en la qual el sistema operatiu executa tota una sèrie d’accions per a canviar el procés que hi ha en processador.
Un bon algorisme de planificació
Els criteris respecte d’un bon algorisme de planificació són:
• Equitat. Garantir que cada procés obtingui la proporció justa de la CPU.
• Eficàcia. Mantenir ocupada la CPU el cent per cent del temps.
• Temps de resposta. Minimitzar el temps de resposta per als usuaris interactius.
• Rendiment. Maximitzar el nombre de tasques processades per hora.
Sistemes operatius monolloc 68 Introducció als sistemes operatius
cessitaria ser en el processador per a ser executat si fos l’únic procés
en el sistema.
4) Temps del processador, que és el temps en què un procés està utilit-
zant el processador sense comptar el temps que es troba bloquejat per una
operació d’entrada/ sortida.
5) Temps d’espera, que indica el temps en què els processos són actius pe-
rò sense ser executats.
6) Eficiència, que indica la relació existent entre el temps de processador
de cada procés i l’ocupació total del processador.
7) Rendiment, que indica el nombre de treballs o processos executats per
unitat de temps. Normalment, sempre ha de ser el màxim possible.
El planificador del processador té com a missió assignar el processador als
processos que són a la cua. Aquesta cua és alimentada des de dos punts di-
ferents:
1) Cada vegada que un usuari inicia l’execució d’un programa, el planifica-
dor a llarg termini rep l’ordre d’execució, crea el procés i el passa al
planificador a curt termini, que el posa a la cua dels processos preparats.
2) Quan un procés deixa d’estar en l’estat d’execució i no hi ha causes
per al bloqueig o deixa d’estar bloquejat, passa a la cua dels processos
preparats.
En els sistemes operatius comercials hi ha diferents polítiques de planifi-
cació i en comentarem algunes. Cal recordar que no hi ha una política per-
fecta. Alguns dels objectius i criteris utilitzats poden ser contradictoris, de
manera que si afavorim un tipus de procés, normalment perjudiquem al-
Per a avaluar el comportament de les diferents polítiques de plani-
ficació considerem t com el temps que un procés Z necessita estar
en execució per a fer el seu treball; ti com l’instant en què l’usuari
dóna l’ordre d’execució del procés, i tf com l’instant en què el procés
acaba l’execució. En funció d’aquestes dades tenim les mesures se-
güents per a cada procés:
• Temps de servei (T): T = tf – ti.
• Temps d’espera (E): E = T – t.
• Índex de servei (I): I = t/T.
Índex de servei
Si només tenim un procés, aleshores quan I (índex de servei) sigui proper a 1, el processador és utilitzat per a aquest procés. Quan I tingui un valor proper a 0, el processador serà limitat per les operacions d’entrada/sortida. En els casos de més d’un procés s’estableixen les mateixes mesures, però amb valors mitjans, obtinguts en considerar el conjunt de processos.
Sistemes operatius monolloc 69 Introducció als sistemes operatius
tres processos. Per a l’estudi de les diferents polítiques ens basarem en la
taula 3, en què se simula la situació d’un grup de processos existents en el
sistema.
Taula 3. Dades d’un grup de processos
Els següents són alguns algorismes de planificació típica que utilitza el
planificador a curt termini del sistema operatiu de les dades de la taula 3:
1) L’algorisme d’ordre d’arribada.
2) L’algorisme de repartiment de temps.
3) L’algorisme del procés següent.
4) L’algorisme del procés de temps restant més curt.
Algorisme d’ordre d’arribada
En la figura 14 podeu veure un esquema de l’algorisme FCFS.
Figura 14. Diagrama FCFS
Nom del procés Moment d’arribada Temps d’execució
A 0 2
B 2 3
C 1 1
D 4 4
E 5 2
Els algorismes de planificació a curt termini assignen el processa-
dor a un dels processos que es troba en l’estat preparat.
En l’algorisme d’ordre d’arribada o algorisme FCFS (first come, first
served), el processador executa cada procés fins que acaba. Fa la fei-
na de cada procés segons l’ordre d’arribada. El primer procés de la
cua dels processos preparats serà el primer que executarà el pro-
cessador.
Sistemes operatius monolloc 70 Introducció als sistemes operatius
En tots els exemples de planificació del processador cal haver dissenyat
prèviament el diagrama de temps de l’algorisme de planificació del pro-
cessador i, a continuació, emplenar les columnes de la taula de temps cor-
responents a: temps d’acabament, T, E, I i mitjana.
A continuació, teniu una explicació detallada del funcionament de l’algo-
risme FCFS.
Exemple d’algorisme FCFS
A partir de les dades de la taula 3, volem determinar el diagrama de temps i la taula de planificaciódel processador utilitzant l’algorisme de planificació del processador FCFS. El procediment és el se-güent:
1) El primer procés que agafa el processador és el procés A, ja que és el que arriba el primer t = 0.Hi és 3 unitats de temps, ja que el seu temps d’execució és t = 3 i acaba en t = 3.
2) En aquest moment, arriba el procés B, t = 3, i comença l’execució del procés B. En el temps t =4, arriba el procés C, però com que el processador és ocupat pel procés B, s’espera a la cua delprocessos preparats. El procés B es continua executant fins a t = 5, ja que li falta una unitat detemps pel que fa a utilització de processador.
3) En aquest moment el processador agafa el procés C, que és el primer que hi ha a la cua delsprocessos preparats, i l’executa fins a t = 6; en aquest moment, arriba el procés D i es posa ala cua dels processos preparats. El procés C es continua executant i en t = 7 arriba el procésE i es posa a la cua dels processos preparats al darrere del procés D. El procés C acaba l’exe-cució en t = 8.
4) En aquest moment entra el procés D i s’executa fins a t = 12. Seguidament, entra el procés E is’executa fins a t = 14.
En la figura 15, podeu veure el resultat del diagrama de temps i en la taula 4 els càlculs de la taulade temps utilitzant l’algorisme FCFS.
Figura 15. Diagrama de temps dels processos amb FCFS
La política de l’algorisme FCFS és que el processador executa cada
procés fins que acaba el seu temps d’execució.
Sistemes operatius monolloc 71 Introducció als sistemes operatius
Taula 4. Càlcul de la taula de temps d’FCFS
Algorisme de repartiment de temps
L’assignació dura fins que es produeix algun dels fets següents:
• El procés està esperant una operació d’entrada/sortida.
• El procés ja ha estat un quàntum de temps en execució.
Exemple d’algorisme RR
En tots els exemples explicats se suposen les condicions següents:
1) Si un procés acaba durant el seu quàntum, s’assigna immediatament el processador al primerprocés de la cua dels processadors preparats, i s’hi dóna el quàntum complet.
2) En crear-se un procés passa al final de la cua dels processos preparats.
3) Si un procés comença la seva execució (creació) en el mateix moment que un quàntum acaba,se suposa que aquest procés ha arribat a la cua dels processos preparats abans de l’acabamentdel quàntum indicat.
A partir de les dades de la taula 3, volem determinar el diagrama de temps i la taula de planificaciódel processador utilitzant l’algorisme de planificació del processador RR i un q = 2. El procedimentés el següent:
1) El primer procés que agafa el processador és el procés A, ja que és el que arriba el primer, t = 0.Hi és 2 unitats de temps, t = 2, ja que és el seu quàntum de temps. Com que no hi ha cap procésen la cua dels processos preparats continua l’execució del procés A fins a t = 3 que és quan acaba.En aquest moment, arriba el procés B, t = 3, i comença l’execució del procés B.
2) En el temps t = 4 arriba el procés C, però com que el processador és ocupat pel procés B, s’es-pera a la cua del processos preparats. El procés B es continua executant fins a t = 5, ja que li faltauna unitat de temps quant a utilització de processador. En aquest moment, el processador agafa el
Algorisme FCFS
Nom del procés
Moment d’arribada (ti)
Temps d’execució (t)
Temps d’acabament (tf)
T E I
A 0 2 3 3 1 0,66
B 2 3 5 3 0 1,00
C 1 1 8 7 6 0,14
D 4 4 12 8 4 0,50
E 5 2 14 9 7 0,22
Mitjana 6 3,6 0,50
L’algorisme de repartiment de temps o algorisme RR (Round ro-
bin) consisteix a assignar a cada procés en execució un determinat
temps d’execució anomenat quàntum (q), passat el qual, si el pro-
cés no ha acabat, es retorna a la cua dels processos preparats i s’as-
signa el processador al procés de la cua de processos preparats
seguint l’ordre d’arribada.
Quàntum
El quàntum (q) mesura el temps que fixa la durada en què un procés és en el processador d’una manera continuada.
Sistemes operatius monolloc 72 Introducció als sistemes operatius
procés C, que és el primer que hi ha a la cua dels processos preparats, i l’executa fins a t = 6; enaquest moment arriba el procés D i es posa a la cua dels processos preparats. El procés C es con-tinua executant fins a t = 7 (el quàntum és 2) i en t = 7 arriba el procés E i es posa a la cua delsprocessos preparats darrere del procés D i el procés C es posa darrere del procés E, ja que ha aca-bat el seu quàntum de temps.
3) Entra el procés D amb t = 7 i s’executa durant 2 unitats de temps, t = 9. El procés D es posa a lacua de C i entra el procés E amb t = 9 i acaba la seva execució en t = 11. En aquest moment, entrael procés C amb t = 11 i s’executa fins a t = 12. Seguidament, entra el procés D en t = 12 i s’executafins a t = 14.
En la figura 16, podeu veure el resultat del diagrama de temps i en la taula 5 els càlculs de la taulade temps utilitzant l’algorisme RR.
Figura 16. Diagrama de temps dels processos amb RR (q = 2)
Taula 5. Càlcul de la taula de temps de l’RR per a un quàntum q = 2
Algorisme del procés següent
Algorisme RR
Nom del procés
Moment d’arribada (ti)
Temps d’execució (t)
Temps d’acabament (tf)
T E I
A 0 2 3 3 1 0,66
B 2 3 5 3 0 1,00
C 1 1 12 11 10 0,09
D 4 4 14 10 6 0,40
E 5 2 11 6 4 0,33
Mitjana 6,6 4,2 0,49
La política seguida en algorisme del procés següent o algorisme SJF
(shortest job first) es basa a agafar de la cua dels processos prepa-
rats el que necessita menys temps d’execució per a fer la feina. Per
a això, cal saber el temps de cada procés. Aquesta informació no és
fàcil d’obtenir, però l’usuari la pot aconseguir a partir de dades
estadístiques de processos anteriors.
Sistemes operatius monolloc 73 Introducció als sistemes operatius
Exemple d’algorisme SJF
A partir de les dades de la taula 3, volem determinar el diagrama de temps i la taula de planificaciódel processador utilitzant l’algorisme de planificació del processador SJF. El procediment és el se-
güent:
1) El primer procés que agafa el processador és el procés A, ja que és el que arriba el primer, t = 0.
Hi és 3 unitats de temps, ja que el seu temps d’execució és t = 3 i acaba en t = 3.
2) En aquest moment, arriba el procés B, t = 3, i comença l’execució del procés B. En el temps t =4 arriba el procés C, però com que el processador és ocupat pel procés B, s’espera a la cua delprocessos preparats. El procés B es continua executant fins a t = 5, ja que li falta una unitat detemps pel que fa a utilització de processador.
3) En aquest moment, el processador agafa el procés C, que és el primer que hi ha a la cuadels processos preparats, i l’executa fins a t = 6; en aquest moment, arriba el procés D i es posaa la cua dels processos preparats. El procés C es continua executant i en t = 7 arriba el procés
E i es posa a la cua dels processos preparats darrere del procés D. El procés C acaba la sevaexecució en el t = 8.
4) En aquest moment entra el procés E que té menys temps d’execució que el procés D i s’executafins a t = 10.
5) Seguidament, entra el procés D amb t = 10 i s’executa fins a t = 14.
En la figura 17, podeu veure el resultat del diagrama de temps i en la taula 6 els càlculs de la taula
de temps.
Figura 17. Diagrama de temps dels processos amb l’algorisme SJF
Taula 6. Càlcul de la taula de temps amb l’algorisme SJF
Algorisme SJF
Nom del
procés
Moment d’arribada (ti)
Temps d’execució (t)
Temps d’acabament (tf)
T E I
A 0 2 3 3 1 0,66
B 2 3 5 3 0 1,00
C 1 1 8 7 6 0,14
D 4 4 14 10 6 0,40
E 5 2 10 5 3 0,40
Mitjana 5,6 3,2 0,52
Sistemes operatius monolloc 74 Introducció als sistemes operatius
L’algorisme del procés de temps restant més curt
Exemple d’algorisme SRT
A partir de les dades de la taula 3, volem determinar el diagrama de temps i la taula de planificaciódel processador utilitzant l’algorisme de planificació del processador SRT. El procediment és el se-güent:
1) El primer procés que agafa el processador és el procés A, ja que és el que arriba el primer, t = 0.Hi és 3 unitats de temps, ja que el seu temps d’execució és t = 3 i acaba en t = 3.
2) En aquest moment, arriba el procés B, t = 3, i comença la seva execució. En el temps t = 4 arribael procés C, però com que el procés C té un temps d’execució 3 i el B té un temps pendent d’exe-cució d’1 unitat de temps, el processador executa el procés B i el procés C va a la cua dels proces-sos preparats. En el temps t = 5, acaba l’execució del procés B.
3) En aquest moment, el processador agafa el procés C, que és el primer que hi ha a la cuadels processos preparats, i l’executa fins a t = 6; en aquest moment, arriba el procés D. El pro-cés C té pendent un temps d’execució de 2 unitats de temps i el procés D té un temps d’execu-ció de 4 unitats de temps. Es continua executant el procés C i el procés D es posa a la cua delsprocessos preparats. El procés C es continua executant i en t = 7 arriba el procés E i es posaa la cua dels processos preparats darrere del procés D. El procés C té pendent 1 unitat detemps d’execució, el procés D té pendents 4 unitats de temps d’execució i el procés E té pen-dents 2 unitats de temps d’execució. El procés C es continua executant i s’acaba la seva exe-cució en t = 8. En aquest moment, tenim a la cua els processos següents: el procés D amb untemps pendent d’execució de 4 unitats de temps i el procés E amb 2 unitats de temps pendentsd’execució.
4) Entra el procés E que té menys temps d’execució que el procés D i s’executa fins a t = 10.
5) Seguidament, entra el procés D amb t = 10 i s’executa fins a t = 14.
En la figura 18, podeu veure el resultat del diagrama de temps i en la taula 7 els càlculs de la taulade temps.
Figura 18. Diagrama de temps dels processos amb SRT
L’algorisme del procés de temps restant més curt o algorisme
SRT (shortest remaining time) fa el mateix que l’algorisme SJF,
però si entra a la cua dels processos preparats un procés de
temps més curt que el que s’està executant, el treu del processa-
dor i n’ocupa el lloc.
Sistemes operatius monolloc 75 Introducció als sistemes operatius
Taula 7. Càlcul de la taula de temps de SRT
1.9.6. Algorismes de prioritats
Els planificadors que utilitzen la política de les prioritats assignen una prio-
ritat a cada procés, de manera que el processador s’assigna el procés de
màxima prioritat. Les prioritats es poden assignar d’una manera interna
o d’una manera externa. En el primer cas, la prioritat la fixa el sistema
mateix, a partir d’unes informacions determinades (temps d’execució, ne-
cessitats de recursos, etc.). En el segon cas, la prioritat és fixada per l’ad-
ministrador del sistema.
1.10. Gestió de la memòria
En l’estudi de la gestió de la memòria és important tenir presents les possi-
bles alternatives i variants a l’hora d’organitzar i administrar l’espai d’adreces
d’un sistema. Per a això, s’han de considerar conceptes generals, com ara el
tipus de gestió bàsic, el dels sistemes de monoprogramació que gairebé no ne-
cessiten cap tipus d’organització. La irrupció dels sistemes multiprogramats
fa necessari prendre decisions sobre aspectes tan diversos com quant espai
es dedica a cada procés, de quina manera se li assigna, en quin lloc s’ubica,
durant quant de temps roman en memòria, què passa si no hi ha prou espai
o com es protegeix davant accessos incorrectes. Tots aquests factors seran va-
lorats de primer per tècniques d’assignació contigua i per mètodes d’assigna-
ció no contigua (paginació, segmentació i segmentació paginada).
1.10.1. Conceptes generals del gestor de memòria
Perquè un procés es pugui executar, cal que estigui ubicat a la memòria
principal de l’ordinador. Una part del sistema operatiu s’encarregarà de
gestionar la memòria principal, de manera que els processos puguin resi-
dir en la memòria sense conflictes.
Algorisme SRT
Nom del
procés
Moment d’arribada
(ti)
Temps d’execució
(t)
Temps d’acabament
(tf)T E I
A 0 2 3 3 1 0,66
B 2 3 5 3 0 1,00
C 1 1 8 7 6 0,14
D 4 4 14 10 6 0,40
E 5 2 10 5 3 0,40
Mitjana 5,6 3,2 0,52
Tasques per a la gestió de la memòria
La gestió de la memòria implica, entre altres tasques, les següents:
• Portar un registre de les zones que queden lliures (és a dir, que no són utilitzades per cap procés) i de les zones ocupades i per quins processos.
• Una altra tasca important apareix en sistemes en què no tots els processos, o no tot el codi i dades d’un procés, s’ubiquen en la memòria principal. En aquests sistemes, molt sovint s’ha de passar una part, o la totalitat, del codi i dades d’un procés, de memòria a disc, o viceversa; el sistema operatiu és el responsable d’aquesta tasca.
Sistemes operatius monolloc 76 Introducció als sistemes operatius
Des del moment en què diversos processos han de compartir la memòria
de l’ordinador apareix el problema de la protecció. En general, es pretén
que un procés no pugui modificar les adreces de memòria en què es troba.
Això és així, ja que en les adreces de memòria on no és ubicat el procés,
poden residir altres processos, o codi o estructures de dades del sistema
operatiu. Alguns sistemes ni permeten que un procés pugui llegir les adre-
ces de memòria en les quals no resideix; amb això s’aconsegueix privacitat
sobre el codi i les dades dels processos.
Hi ha diverses maneres de gestionar la memòria i aquesta gestió depèn de
la màquina virtual que s’utilitzi i del maquinari que la formi. Els sistemes
actuals normalment utilitzen emmagatzematge virtual.
Els programes i les dades necessiten ser a la memòria principal per a ser
executats, o per a poder ser referenciats. Els programes o les dades que no
es necessiten d’immediat es poden desar en la memòria secundària fins
que es necessitin i, en aquest moment, es transfereixen a la memòria
principal per a ser executats o referenciats.
Els suports de memòria secundària, com les cintes magnètiques o els
discos, en general són més cars que la memòria principal, i la seva ca-
pacitat és molt més gran. Normalment, és més ràpid l’accés a la memò-
ria principal que la secundària. En els sistemes amb diversos nivells de
memòria –jerarquia de la memòria– (figura 19), hi ha moltes transfe-
rències de programes i de dades entre els diferents nivells. Aquestes
transferències consumeixen recursos del sistema, com, per exemple,
temps de la CPU, etc.
Figura 19. Jerarquia de la memòria
La memòria té dues limitacions: la primera és de caràcter físic(quantitat de memòria comprada) i la segona és imposada per l’ar-quitectura de l’ordinador i del sistema operatiu.
Nivells de memòria o jerarquia de la memòria
En la memòria podem diferenciar els nivells següents:
1) Els registres.
2) La memòria cau.
3) La memòria principal.
4) La memòria secundària.
Sistemes operatius monolloc 77 Introducció als sistemes operatius
1.10.2. La gestió de la memòria en sistemes monoprogramats
Seguidament, comentarem com gestionen la memòria els sistemes opera-
tius monoprogramats (figura 20):
1) Memòria dedicada. El programador accedeix directament al maquinari
i gestiona la memòria a la seva manera. Això obliga a tenir un gran conei-
xement del maquinari. No hi ha sistema operatiu i, per tant, tampoc no hi
ha gestor de memòria.
2) Divisió de la memòria. La introducció dels sistemes operatius per a
utilitzar millor el maquinari va obligar a dividir la memòria en dues zones:
l’una que pogués fer servir l’usuari i l’altra reservada a la part resident del
sistema operatiu. El sistema operatiu, entre altres funcions, s’encarrega
de gestionar la memòria. El sistema operatiu ocuparà la part baixa de la
memòria RAM, o la part alta de la memòria ROM (vegeu la figura 20). El
PC d’IBM ubica part del sistema operatiu en RAM i els gestors de disposi-
tius en ROM; aquesta última part s’anomena BIOS (basic input/out-
put system, ‘sistema bàsic d’E/S’).
Figura 20. Tres formes d’organització de la memòria, amb un sistema operatiu i un procés d’usuari
En els sistemes monoprogramats, només hi ha un procés d’usuari
que gaudeix de tots els recursos de l’ordinador. Això simplifica nota-
blement la gestió de la memòria, ja que està sol i la memòria ha de
ser compartida pels programes del sistema operatiu, i per l’únic pro-
cés d’usuari existent.
Una adreça absoluta de memòria és una adreça física (és a dir, una
adreça real) de la memòria. En contraposició, hi ha les adreces relati-ves o lògiques. Un programa és escrit en termes d’adreces relatives
quan s’escriu suposant que es comença a carregar en l’adreça zero de
la memòria. Per tant, els usuaris escriuen programes en llenguatge
d’alt nivell i són els traductors els encarregats de generar les adreces
que ocupen en la memòria les variables, els procediments, etc.
RAM i ROM
La memòria RAM (random access memory) és un tipus de memòria de lectura i escriptura, mentre que la memòria ROM (read only memory) és un tipus de memòria només de lectura.
Sistemes operatius monolloc 78 Introducció als sistemes operatius
1.10.3. La gestió de la memòria en sistemes multiprogramats
Els sistemes d’un únic usuari no aprofiten la gran quantitat de recursos de
l’ordinador a causa del següent (figura 21):
1) Quan succeeix una petició d’E/S la CPU normalment no pot continuar
el procés fins que acaba l’operació d’E/S.
2) Els perifèrics d’E/S frenen l’execució dels processos, ja que, compara-
tivament, la CPU és diverses ordres de magnitud més ràpida que els dis-
positius d’E/S.
Figura 21. Utilització de la CPU en un sistema d’usuari únic
Tot seguit estudiarem algunes tècniques pròpies de la multiprogramació
relacionades amb la gestió de la memòria:
1) Protecció de la memòria. Si hi ha diversos processos en memòria cal
protegir-ne les respectives particions contra accessos no volguts. Per a fer-
L’usuari no treballa amb adreces reals en el seu programa. Fa ser-
vir adreces relatives, que poden variar entre zero i el màxim per-
mès pel sistema operatiu. Aquest espai s’anomena espai lògicd’adreces. Després, el sistema, amb l’ajuda del maquinari, calcu-
larà a partir de les adreces relatives les adreces reals o absolutes
que formen l’espai físic d’adreces (memòria real).
Per a repartir el processador entre diversos processos necessitem
tenir-los en la memòria principal, per això es divideix la memòria en
trossos denominats particions o regions, en què es carreguen els di-
ferents processos. El nombre de particions indicarà el grau de mul-tiprogramació del sistema.
Sistemes de multiprogramació i processos
Els sistemes de multiprogramació permeten que diversos processos d’usuaris competeixin al mateix temps pels recursos del sistema:
1) Un treball en espera d’E/S cedeix la CPU a un altre treball que està preparat per a fer operacions.
2) Hi ha paral·lelisme entre el processament i l’E/S.
3) S’incrementa la utilització de la CPU i la capacitat global d’execució del sistema.
4) Cal que diversos treballs resideixin a la vegada en la memòria principal.
Particions o regions i grau de multiprogramació
Les particions o regions de la memòria són trossos o partsde la memòria.
El grau de multiprogramació representa el nombre de particions de la memòria.
Sistemes operatius monolloc 79 Introducció als sistemes operatius
ho, podem utilitzar dos registres en què els continguts apunten a la part
superior i a la part inferior de la memòria de tal manera que cada adreça
generada en el procés ha de ser entre aquests límits. Aquests dos registres
són el registre base i el registre límit.
2) Particions contigües de grandària fixa. Aquesta tècnica gestiona la me-
mòria amb particions contínues de grandària fixa de tal manera que el
nombre i la grandària es defineixen quan s’inicialitza el sistema i no es pot
modificar fins que s’hagi apagat el sistema (figura 22).
Figura 22. Multiprogramació de partició fixa
3) Particions contigües de grandària variable. Consisteixen a assignar di-
nàmicament la memòria als treballs en funció de la grandària (figura 23).
El sistema operatiu porta un registre de les zones lliures i ocupades de la
memòria.
Figura 23. Assignació de particions de grandària variable
1.10.4. La memòria virtual
La gestió de memòria es basa en el fet que per a executar un programa cal
que aquest estigui totalment carregat en la memòria principal. Però no to-
Memòria virtual i dissociació d’adreces
La clau del concepte de memòria virtual està en la dissociació de les adreces disponibles en la memòria real i de les adreces a les quals fa referència un programa.
Sistemes operatius monolloc 80 Introducció als sistemes operatius
tes les parts d’un programa s’executen normalment. Els programadors
dissenyen rutines que només s’executen en situacions determinades, la
qual cosa explica que no calgui que tot el programa estigui carregat en me-
mòria per a processar-lo.
Els processos fan referència a adreces virtuals però aquestes s’han d’exe-
cutar en emmagatzematge real; per a això, cal una traducció d’adreces:
• Les adreces virtuals s’han de transformar dins de l’espai de les adreces
reals, mentre el procés s’executa (figura 24).
• La traducció d’adreces (figura 25) s’ha de fer ràpidament per no degra-
dar el sistema.
Figura 24. Transformació de l’espai d’adreces virtuals a l’espai d’adreces reals
La memòria virtual és una tècnica de gestió que, combinada amb el
maquinari i el programari, permet l’execució de programes parcial-
ment carregats en la memòria real, és a dir, programes que ocupen
més espai que la memòria real. La memòria virtual és la separació
de la memòria lògica de l’usuari de la memòria física. Aquesta sepa-
ració proporciona als programadors una gran memòria virtual quan
només es disposa d’una memòria física més petita. La memòria vir-
tual facilita les tasques de programació, ja que el programador no
s’ha de preocupar per la quantitat de memòria física disponible.
Els principals conceptes implicats en la gestió de la memòria vir-
tual són:
• Adreces virtuals. Són les referides per un procés en execució.
• Adreces reals. Són les disponibles dins de la memòria principal.
• Espai d’adreces reals d’un ordinador. És el nombre d’adreces reals
disponibles a l’ordinador.
• Espai d’adreces virtual d’un procés. És el nombre d’adreces vir-
tuals a què pot fer referència el procés.
La traducció d’adreces consisteix a passar les adreces virtuals a adreces reals.
Sistemes operatius monolloc 81 Introducció als sistemes operatius
Figura 25. Traducció d’adreces virtuals a adreces reals
Les característiques dels tipus de gestió de la memòria virtual són les se-
güents:
1) Paginada. La paginació és una tècnica de gestió de la memòria que per-
met assignar la memòria d’una manera discontínua. Per a aconseguir-ho,
es divideix la memòria física en trossos de grandària fixa anomenats
marcs (frames) i la lògica, en blocs de la mateixa grandària anomenats
pàgines. El sistema operatiu manté internament una taula de pàgines en
què cada pàgina carregada en la memòria principal es relaciona amb el
marc que la conté o, el que és el mateix, l’adreça inicial es relaciona amb
la memòria real. Cada adreça que genera el processador serà interceptada
i a partir de la taula de pàgines es determina l’adreça física corresponent.
2) Segmentada. La segmentació és una tècnica mitjançant la qual els progra-
mes es desenvolupen normalment entorn d’un bloc principal (principal) des
del qual es bifurca a altres llocs (rutines) o s’accedeix a zones de dades (taules,
piles, etc.). Des d’aquest punt de vista, un programa és un conjunt de compo-
nents lògics de grandària variable o un conjunt de segments.
Els mecanismes de traducció dinàmica d’adreces converteixen les
adreces virtuals en reals en executar-ne el procés. Les adreces con-
tigües dins de l’espai d’adreces virtuals d’un procés no cal que siguin
contigües dins de l’espai d’emmagatzematge real.
Podem diferenciar tres tipus de gestió de la memòria virtual, que
són els següents: paginada, segmentada i segmentada-paginada.
L’espai lògic d’adreces es considera com un conjunt de segments ca-
dascun dels quals és definit per la grandària i un nombre.
Sistemes operatius monolloc 82 Introducció als sistemes operatius
Cada adreça lògica es converteix en una adreça real mitjançant un dispo-
sitiu anomenat taula de segments.
3) Segmentada-paginada. La segmentació i la paginació tenen avantatges
i inconvenients, i sembla lògic combinar aquestes dues tècniques per a
aprofitar les característiques principals de les dues tecnologies. Alguns
sistemes utilitzen la tècnica de la paginació segmentada, que consisteix a
segmentar les pàgines de taules; per això, manté una taula de segments
en què les entrades indiquen l’adreça de començament de cada taula de
pàgines i la seva grandària. Una altra tècnica, anomenada segmentació pa-
ginada, opta per paginar els segments.
1.11. Gestió d’entrada/sortida
El control de les operacions d’entrada/sortida és una altra de les funcions
del sistema operatiu que serveix per a facilitar la utilització dels diferents
dispositius que formen l’ordinador.
Els dispositius que permeten l’intercanvi d’informació entre el proces-
sador i la memòria són els dispositius perifèrics. No és fàcil que els
processos utilitzin d’una manera directa els perifèrics; per tant, els pro-
cessos no necessiten conèixer les característiques dels perifèrics sinó
únicament intercanviar dades. Normalment, el programari de gestió de
les operacions d’entrada/sortida d’un sistema representa un tant per
cent molt elevat del total del programari que forma el sistema opera-
tiu; per això, és important conèixer la gestió d’entrada/sortida, ja que
proporciona als programadors i als processos ordres que faciliten l’ús
dels perifèrics.
Una altra característica del gestor d’entrada/sortida és que ofereix una
interfície als programes d’usuari que permet manipular de la mateixa ma-
nera tots els perifèrics gestionats pel sistema operatiu. La interfície,
doncs, és independent del dispositiu i no és necessari modificar els pro-
grames si es canvia de perifèric.
Una de les funcions principals d’un sistema operatiu és el control
de tots els dispositius d’E/S d’un ordinador. Les principals funci-
ons són enviar ordres als dispositius, detectar les interrupcions,
controlar els errors i proporcionar una interfície entre els dispo-
sitius i la resta del sistema.
Aquesta interfície entre els dispositius i la resta del sistema ha
de ser senzilla i fàcil d’utilitzar, i ha de ser la mateixa (preferent-
ment) per a tots els dispositius (independència del dispositiu).
Ús inadequat dels dispositius d’E/S
L’ús inadequat dels dispositius d’E/S sovint provoca una disminució del rendiment del sistema,i això n’afecta el funcionament en general.
Sistemes operatius monolloc 83 Introducció als sistemes operatius
1.11.1. Interfície dispositiu perifèric - ordinador
La connexió d’un dispositiu d’entrada/sortida a un sistema operatiu ne-
cessita normalment un circuit d’interfície. El dispositiu d’interfície
pot consistir en uns pocs registres o portes lògiques o en una o més pla-
ques lògiques. La majoria de les tècniques d’entrada/sortida i les inter-
fícies s’han dissenyat en forma de circuits integrats, que s’utilitzen
directament per al control del dispositiu. Aquests controladors es con-
necten als integrats d’entrada/sortida o als busos estàndard.
En molts casos, la política que se segueix per a gestionar les operacions
d’entrada/sortida dependrà de la manera com es connectin els perifèrics,
però en l’actualitat es basen en el tractament d’interrupcions. Els compo-
nents que s’utilitzen per a la connexió dels dispositius a l’ordinador poden
ser, d’una banda, controladors i, de l’altra, canals.
Els controladors de dispositius són la part electrònica dels perifèrics, els
quals poden tenir la forma d’una targeta o d’un circuit imprès integrat a
la placa base de l’ordinador (figura 26).
Figura 26. Esquema d’un controlador de dispositiu d’E/S
Portes lògiques
Les portes lògiques són una sèrie de components electrònics que formen la base dels principals elements dels ordinadors.
Conjunt de perifèrics
En el cas de dispositius complexos (per exemple, discos), la con-
nexió no es fa d’una manera directa a l’ordinador sinó mitjançant
un dispositiu anomenat controlador o adaptador que conté l’es-
tat del dispositiu, el controla i fa la transferència de les dades.
Cada controlador pot gestionar diversos dispositius del mateix ti-
pus i model i té uns registres que s’utilitzen per a comunicar-se
amb el processador i que es coneixen pel nom de registres deldispositiu o registres d’entrada/sortida.
Dades entre l’ordinador i els controladors
Per a intercanviar dades o senyals entre l’ordinador i els controladors, moltes vegades s’utilitzen registres o zones de la memòria. Aquests registres tenen les funcions següents:
1) Informar de l’estat del dispositiu.
2) Transferir instruccions al dispositiu.
3) Transferir dades des del dispositiu.
4) Transferir dades al dispositiu.
Sistemes operatius monolloc 84 Introducció als sistemes operatius
Els canals poden ser de dos tipus:
1) Selectors. Permeten la gestió de diversos dispositius, però només un
en cada moment.
2) Multiplexors. Gestionen diversos dispositius i poden transferir dades
simultàniament per tots ells.
1.11.2. Programari de control d’E/S
Fins ara hem estudiat les operacions d’entrada/sortida des de l’aspecte del
maquinari, però des del punt de vista del sistema operatiu cal conèixer
com es pot utilitzar aquest maquinari des de diferents processos que
s’executen en el sistema. Per a facilitar l’estudi dividirem la gestió d’en-
trada/sortida en capes jeràrquiques (figura 27) com les següents:
1) Programari independent del dispositiu. És format pel conjunt de rutines
del sistema operatiu que processen la informació d’entrada/sortida. Aquestes
rutines no depenen del dispositiu. El programari independent del dispositiu
té com a missió atendre les crides al sistema que fa el procés d’un usuari que
sol·licita una operació d’entrada/sortida, i ha de comprovar que tots els parà-
metres són correctes (l’adreça del dispositiu, l’adreça de memòria, etc.).
2) Programari dependent del dispositiu. Aquesta capa és formada per un
conjunt de rutines específicament dissenyades per a fer una operació d’en-
trada/sortida sobre un dispositiu determinat. Podem dividir aquesta capa en:
a) Gestor del dispositiu. Quan l’operació d’entrada/sortida necessita actuar
sobre aspectes que depenen del perifèric, el nucli del sistema operatiu
transfereix el control a aquest gestor que controla un tipus determinat de
dispositiu d’entrada/sortida. Aquest gestor es coneix amb el nom de con-
trolador (driver) i té com a funció principal comprovar que la petició feta
és correcta, que es dirigeix cap un tipus de dispositiu que és capaç de ges-
En els grans ordinadors, on hi ha un nombre elevat de dispositius, els
controladors es connecten al processador per un canal d’entrada/
sortida o IOP (input/output processor). Aquest processador es-
tà especialitzat per a dur a terme operacions d’entrada/sortida. El
propòsit d’un canal és aconseguir que els dispositius siguin tractats
com a virtuals, abstractes o transparents i així descarregar el proces-
sador central de l’ordinador del treball d’utilitzar-los directament.
Els canals són manipulats per ordres que s’ajuden en l’execució per
mitjà de dispositius DMA i quan s’acaben d’executar retornen l’estat
corresponent del dispositiu que ho va fer i avisen d’aquesta situació el
processador central.
DMA és l’abreviatura d’accés directe a la memòria.
El controlador (driver) és el programari que permet gestionar dispositius d’entrada/sortida.
Sistemes operatius monolloc 85 Introducció als sistemes operatius
tionar i que les dades passades estan d’acord amb les característiques del
dispositiu. En el cas d’errors, ho comunica a la capa superior del sistema
operatiu i aquesta ho comunicarà al procés de l’usuari. Si les dades són
correctes, ordena al dispositiu que comenci l’operació.
b) Gestor d’interrupcions. És una rutina que executa el sistema operatiu
quan es produeix una interrupció provocada pel dispositiu per al qual va
ser dissenyada. Està lligada al maquinari de cada tipus de dispositiu i
manipula d’una manera directa els registres del controlador correspo-
nent. Una vegada aquesta rutina ha tractat la interrupció, els resultats són
enviats al gestor del dispositiu o controlador, que farà les accions oportu-
nes: normalment, comunicarà a la capa superior del sistema operatiu que
l’operació d’entrada/sortida ha acabat correctament o amb error.
Figura 27. Capes de programari
1.12. Gestió de la informació
Cada procés necessita emmagatzemar gran quantitat d’informació en l’es-
pai d’adreces virtuals i això provoca alguns problemes:
• Grandària escassa per a moltes aplicacions.
En general, les capes de programari en què es divideix la gestió
d’entrada/sortida s’ordenen seguint l’ordre següent:
• Programes d’usuari.
• Procediments independents dels dispositius.
• Controladors de dispositius.
• Gestor d’interrupcions d’entrada/sortida.
Sistemes operatius monolloc 86 Introducció als sistemes operatius
• Informació condicionada pel procés.
• Informació no compatible entre processos.
1.12.1. Estructura de la informació
La informació que manipula l’ordinador és formada per senyals represen-
tats per zeros i uns. És el que coneixem com a bits, que es corresponen fí-
sicament amb la presència o absència de petits senyals elèctrics sobre els
diferents elements electrònics que formen el maquinari de l’ordinador.
En l’emmagatzematge de la informació s’utilitza un conjunt de caràcters.
Cada caràcter es configura per mitjà d’un conjunt de bits, generalment
vuit, que permeten un joc de 256 elements. Els codis més emprats en l’ac-
tualitat són l’ASCII i l’EBCDIC.
Podem destacar els conceptes següents relacionats amb la informació:
1) Camp, registre, arxiu i base de dades (figura 28)
Figura 28. Esquema de caràcter, camp, registre i fitxer
La solució al fet que cada procés necessiti emmagatzemar gran quanti-
tat d’informació en l’espai d’adreces virtuals està en el fet que la infor-
mació sigui independent dels processos que la manipulen.
Un conjunt de caràcters relacionats forma el camp, el qual pot ser,
en funció de la informació que conté, numèric, alfabètic o alfanumè-
ric. Diferents camps d’una mateixa entitat configuren un registre.
Un conjunt de registres relacionats formen un arxiu o fitxer. Un
conjunt de fitxers relacionats formen una base de dades.
Requisits en els dispositius d’emmagatzematge
Necessitem emmagatzemar la informació i, per tant, cal uns certs requisits en els dispositius d’emmagatzematge:
1) Gran capacitat d’emmagatzematge d’informació a llarg termini.
2) Informació no volàtil al procés que la utilitza.
3) Diversos processos han de poder accedir de manera concurrent a la informació.
4) Varietat de suports en què poder emmagatzemar la informació: discos magnètics, cintes magnètiques, discos òptics, etc.
ASCII i EBCDIC
L’ASCII (American standard code for information interchange) i l’EBCDIC (extended binary coded decimal interchange code) són sistemes de codificació de la informació formats per 8 bits.
Un camp clau és un element que permet diferenciar un registre d’un altre.
Sistemes operatius monolloc 87 Introducció als sistemes operatius
En general, tot registre té un camp o més d’un que diferencien els regis-
tres d’un fitxer. Aquests camps s’anomenen camps clau.
Els suports més utilitzats en l’actualitat per a emmagatzemar la infor-
mació són els discos magnètics, les cintes magnètiques i els discos òp-
tics. De tots aquests, ens centrarem en l’estudi dels discos magnètics.
2) Registres físic o bloc, sector i registres lògics o registres
Per a millorar la velocitat d’accés a la informació i optimitzar l’ús dels
dispositius, el sistema pot bloquejar els registres lògics agrupant diver-
sos registres lògics en cada bloc físic i així crear registres bloquejats.
1.12.2. Sistema de fitxers
Des del punt de vista dels usuaris, els arxius són grups d’informacions
relacionades sobre les quals podem fer diverses operacions (lectura, es-
criptura, eliminació, actualització, etc.). El sistema operatiu serà el res-
ponsable de fer aquestes operacions. La part del sistema operatiu
encarregada de tot això s’anomena sistema d’arxius, o sistema de fitxers,
i la seva missió és la següent:
1) Gestionar l’emmagatzematge. Decidir com s’ha d’assignar en els fit-
xers l’espai d’emmagatzematge disponible. Quan un usuari vol crear un
arxiu, el sistema li ha d’assignar un espai perquè pugui emmagatzemar
la informació. Aquest espai l’obtindrà a partir de l’espai lliure disponi-
ble. També cal considerar que arribarà un moment determinat en què
l’usuari deixarà de necessitar un fitxer i l’eliminarà, i aleshores el sis-
tema haurà d’incorporar aquest nou espai lliure al total disponible.
Aquesta gestió de l’espai d’emmagatzematge la fa el sistema de fitxers
i té com a objectius:
a) Control de l’espai disponible. Normalment el control es farà d’una ma-
nera separada per a cada dispositiu i el sistema mantindrà una llista de
l’espai lliure que anirà actualitzant a mesura que s’eliminin arxius o que
se’n formulin a partir de noves peticions.
La quantitat d’informació que en cada operació de lectura o escrip-
tura és gestionada pel maquinari s’anomena registre físic o bloc i
en els discos correspon al sector. L’usuari manipula la informació
en unitats lògiques de grandària variable segons l’aplicació i l’arxiu
de què es tracti. Aquestes unitats reben el nom de registres lògicso registres.
Sector d’un disc
Un sector és un conjunt de pistes. Les pistes són zones en què se situa la informació en cintes magnètiques, discos magnètics i discos òptics.
Els registres bloquejats són un conjunt o blocs de registres lògics.
Sistemes operatius monolloc 88 Introducció als sistemes operatius
b) Directori del dispositiu. El sistema manté en cada disc un espai reser-
vat en què desa informació relativa als arxius existents i l’espai lliure.
Aquest espai reservat rep el nom de directori, que es crearà cada vegada
que s’executi el procés de formatar. L’estructura d’aquest directori la de-
fineix cada sistema operatiu.
La forma com s’organitzen les entrades en un directori condicionarà la velo-
citat d’accés a la informació. L’accés a un fitxer requereix com a primer pas
localitzar-lo i aquesta localització serà més ràpida si les entrades en el direc-
tori estan ordenades alfabèticament. Alguns sistemes, per a augmentar la ve-
locitat d’accés, exigeixen que el directori sigui sempre en la mateixa adreça
del disc. D’altres permeten definir la situació mitjançant programes d’utilitat
de tal manera que la seva posició queda en un bloc fixat.
Dins del directori del dispositiu, el sistema operatiu destina un cert nom-
bre de sectors per a contenir dades bàsiques d’identificació de cada fitxer.
c) Assignació de l’espai d’emmagatzematge. El sistema operatiu és el res-
ponsable de plasmar en els discos els arxius que creen els usuaris
subministrant l’espai necessari. Quan el sistema rep una petició per a crear
un fitxer de n bits, el sistema ha de comprovar si hi ha espai lliure dispo-
nible i a continuació optar per alguna de les estratègies següents:
• Assignar n bits consecutius de l’espai en disc. El sistema col·loca cada
arxiu en un grup de blocs consecutius del disc. Cada entrada del direc-
tori del disc conté, a més del nom de l’arxiu i altres dades, l’adreça del
bloc inicial de l’arxiu i el nombre de blocs que ocupa.
• Emmagatzemar l’arxiu en trossos no consecutius. Cada arxiu és una llista
enllaçada de blocs del disc que poden ser en qualsevol adreça del disc. En
el directori, cada entrada de l’arxiu tindrà, a més del nom i altres dades,
un apuntador al primer bloc de la cadena. A partir d’aquest primer bloc ca-
dascun dels següents conté un apuntador al bloc que segueix.
• L’assignació indexada. Agrupa tots els apuntadors en un bloc d’índex.
Cada arxiu tindrà el seu propi bloc d’índex i la seva adreça quedarà in-
dicada en el directori del disc en crear l’arxiu.
Per regla general, un directori o taula de continguts consta d’una
entrada per a cada arxiu existent en el disc i una altra sobre l’espai
disponible. En les entrades d’arxiu, el sistema registra la informació
necessària per a la gestió (nom de l’arxiu, tipus d’arxiu, localització
en el disc, grandària, protecció, permisos, comptabilitat, data de crea-
ció, propietari, comptadors d’utilització, etc.).
Formatar és el procés que consisteix en la creació de les pistes i sectors en què se situarà la informació.
Sistema de gestió de directoris d’Unix
En el sistema Unix, per exemple, es coneix com a node-i el sistema de gestió dels directoris. Conté totes les dades, perquè els usuaris i programes puguin obrir, llegir, escriure i tancar els fitxers. També té definides totes les característiques de protecció del fitxer, la data de creació, l’ultima modificació, la identificació del propietari, etc. A més, és on es desa el nom del fitxer, les dades i la seva posició en disc.
Sistemes operatius monolloc 89 Introducció als sistemes operatius
2) Definir mètodes d’accés. Definir la manera com l’usuari pot accedir a
la informació emmagatzemada.
3) Protegir els arxius i garantir-ne la integritat. Garantir la integritat i
privacitat de la informació continguda.
Com calia esperar, hi ha diferents criteris i tècniques per a fer aquestes
tasques i cada sistema serà dissenyat segons les que responen millor a les
seves necessitats i als seus objectius.
1.12.3. Mètodes d’accés als fitxers
Una vegada creat un fitxer pot succeir que en un moment determinat
necessitem accedir a la informació del fitxer en un suport determinat. Ho
podrem fer segons un esquema lògic seqüencial o bé quasi directe per mit-
jà de part de la informació continguda en l’arxiu. El sistema d’arxius del
sistema operatiu defineix quines formes d’accés lògic permet i quins mè-
todes d’accés suporta.
Tot seguit, comentarem alguns mètodes d’accés als fitxers:
1) Accés seqüencial. Aquest mètode permet l’accés als registres d’un fit-
xer en un ordre preestablert des del primer fins a l’últim i d’un en un. Les
rutines d’aquest mètode mantenen un apuntador al registre lògic següent
al qual s’ha d’accedir. Una operació de lectura o escriptura llegeix o escriu
en el registre i avança l’apuntador al registre següent. El mètode implica
que els registres lògics s’emmagatzemen segons l’ordre en què s’hi acce-
dirà per a tractar-los, és a dir, l’ordre lògic dels registres ha de coincidir
amb l’ordre físic. L’actualització és complicada, ja que implica la recol·-
locació dels registres.
2) Accés directe. Aquest mètode permet l’accés a qualsevol part de l’ar-
xiu, és a dir, no és necessari passar per la informació anterior per a poder
accedir a un registre determinat. Només poden tenir aquest tipus d’ac-
cés aquells suports que per la seva naturalesa ho permeten (discos mag-
nètics, etc.). L’usuari entén l’arxiu com un conjunt de registres
individualitzats (numerats respecte a l’inici) als quals pot accedir en
qualsevol ordre. Per a fer-ho, davant de la petició d’un registre determi-
nat, el programari del mètode d’accés calcula l’adreça del bloc físic que
el conté i accedeix a la informació directament. Aquest càlcul és neces-
Un mètode d’accés als fitxers és un conjunt de rutines i taules que
permeten accedir a la informació dels arxius, segons un esquema lò-
gic determinat.
Podeu ampliar els vostres coneixements sobre la manera d’accedir a la informació emmagatzemada, en el subapartat “Mètodes d’accés als fitxers” d’aquesta unitat.
!!
Sistemes operatius monolloc 90 Introducció als sistemes operatius
sari, ja que l’usuari utilitza adreces relatives del registre i desconeix la
posició dels registres en el disc.
3) Accés directe indexat. En aquest cas, es construeix un índex o una taula
de relacions de claus i els seus blocs físics per a cada fitxer. La localització
d’un registre es farà accedint primerament a aquest índex i a partir d’aquí
s’obtindrà l’adreça del bloc corresponent a la clau sol·licitada.
1.12.4. Directoris d’arxius
Hi ha diferents tècniques que permeten la creació d’un arxiu en disc i la
seva utilització posterior segons mètodes d’accés definits. Ara bé, en els
sistemes hi ha diferents arxius que el sistema d’arxius ha de controlar per
a poder atendre les peticions que se’n facin (creació, lectura, etc.). Per ai-
xò, s’utilitzen directoris que a la vegada són arxius d’estructura especial
els registres dels quals contenen la descripció dels arxius existents en el
sistema. Mitjançant aquests directoris, el sistema podrà localitzar ràpida-
ment un arxiu sol·licitat (en quin volum es troba) i conèixer-ne les carac-
terístiques.
L’estructura d’una taula de símbols que indiquen els arxius existents en
un directori pot ser més o menys complicada depenent dels sistemes ope-
ratius, però ha de permetre fer les operacions bàsiques següents:
1) Recerca. Aquesta operació ha de permetre localitzar un fitxer si exis-
teix. En alguns casos, permet localitzar grups de fitxers amb característi-
ques comunes.
2) Creació. La creació d’un fitxer nou implica posar una nova entrada en
el directori adequat.
3) Eliminació. Quan un fitxer ja no sigui necessari s’ha de poder eliminar
per a utilitzar l’espai lliure. També s’haurà d’eliminar en el directori.
4) Llista. Ha de permetre fer una llista dels arxius d’un directori i també
del contingut de l’entrada d’un arxiu en aquest directori.
Seguidament, analitzarem algunes estructures de directoris:
1) Directoris d’un nivell. En sistemes petits n’hi ha prou de disposar d’un
únic directori que contindrà la descripció de tots els fitxers disponibles (fi-
Des del punt de vista lògic, un directori és una taula de símbols que
indiquen els arxius existents.
Sistemes operatius monolloc 91 Introducció als sistemes operatius
gura 29). Un exemple n’és el directori de dispositius, en què es desa la des-
cripció de tots els fitxers existents en aquest dispositiu i de l’espai
disponible. El directori d’un dispositiu és en una adreça predeterminada
del disc (per maquinari o per programari) o bé apuntant indirectament a
un bloc físic específic de manera que es localitzi immediatament.
Figura 29. Directori d’un nivell
2) Directoris de dos nivells. Consisteix a definir un directori per a cada
usuari en el qual queden indicats els fitxers que li pertanyen (figura 30).
Per la seva banda, els diferents directoris de l’usuari són controlats mit-
jançant un directori mestre del sistema. Per a localitzar un arxiu el sis-
tema el buscarà en el directori del peticionari. Si es crea un fitxer, aquest
es posa en el seu directori. De la mateixa manera, si s’elimina, l’acció
afectarà el que tingui el nom referenciat en aquest directori i no el d’al-
tres usuaris.
Figura 30. Directori de dos nivells
3) Estructures multinivell (estructura jeràrquica). Arbres de directoris.
L’estructura anterior es pot considerar com una organització en arbre de
dos nivells. Generalitzant-la, podem pensar en estructures en arbre de di-
ferents nivells. Cada usuari podrà crear subdirectoris en el seu directori i
agrupar els arxius de la manera més convenient (figura 31). En general, el
directori mestre s’anomena directori arrel. Aquest sistema és avui dia
molt utilitzat en els sistemes operatius en què cada directori d’usuari con-
Sistemes operatius monolloc 92 Introducció als sistemes operatius
té entrades que apunten a fitxers o a subdirectoris que, a la vegada, apun-
ten a fitxers o subdirectoris de nivell més baix.
Figura 31. Directori de multinivells
1.12.5. Seguretat dels arxius
La gestió de la seguretat dels arxius referent al seu contingut es pot enfo-
car des de dos aspectes que són els que presentem a continuació:
1) Disponibilitat dels arxius. L’objectiu fonamental és poder accedir a la
informació en el moment en què es necessiti.
a) Una primera tècnica consisteix en la realització periòdica de còpies
de seguretat (back-up) del contingut dels arxius, per tal que en cas que
aquests es destrueixin es pugui recuperar la informació a partir de les
còpies. En alguns dels sistemes operatius actuals hi ha eines que per-
meten la realització automàtica d’aquestes còpies i també possibles re-
cuperacions.
b) Una altra tècnica és la utilització de fitxers auxiliars en què es registren
totes les operacions que fan els usuaris sobre els fitxers. Aquests fitxers
tenen l’extensió log; per això, es coneixen com a fitxers de registres o fi-
txers LOG, i poden ser manipulats per mitjà d’utilitats del sistema.
2) Privacitat dels fitxers i protecció. El segon aspecte per a la seguretat
dels arxius és controlar que usuaris no autoritzats accedeixin a la informació
continguda en els fitxers. El primer control consisteix en la identifica-
ció de l’usuari per mitjà del nom de l’usuari i d’una paraula clau d’accés.
El sistema validarà o no el binomi anterior consultant la taula de noms
d’usuaris i de claus, i concedirà o denegarà l’accés sol·licitat. Normalment,
L’encriptació és una tècnica que permet que una informació determinada no sigui fàcil de manipular.
Sistemes operatius monolloc 93 Introducció als sistemes operatius
el fitxer de claus és encriptat. Una vegada l’usuari ja és dins el sistema,
només podrà accedir a determinats recursos i és així com el sistema ope-
ratiu fa un nou nivell de control. Això ho podem gestionar a partir dels
drets, els permisos i els atributs assignats als fitxers.
Els drets en els fitxers són unes capacitats assignades als usuaris
per a fer determinades tasques en el sistema informàtic. En són
exemples: la gestió d’usuaris per persones diferents de l’adminis-
trador, la gestió del sistema de còpies de seguretat, etc.
Els permisos en els fitxers són autoritzacions assignades a usua-
ris determinats per a fer unes accions concretes en els fitxers
(per exemple, tenir el permís de lectura i d’escriptura en un fit-
xer, tenir el permís d’execució en un fitxer, etc.).
Els atributs en els fitxers són característiques que tenen els fit-
xers i afecten tots els usuaris que utilitzen aquests fitxers (per
exemple, els fitxers comprimits, els fitxers xifrats, etc.).
L’administrador
En els sistemes informàtics també és necessari controlar l’ús de molts recursos, ja que el nombre d’usuaris que hi poden accedir és molt elevat i això implica l’existència de persones dedicades a l’administració (administrador) de la seguretat del sistema i a millorar l’eficiència de la protecció utilitzada. Per a ajudar en aquesta tasca, els sistemes solen disposar d’arxius d’incidències en els quals queden especificades totes les accions succeïdes en el sistema (intents d’accés il·legal, altes i baixes de recursos nous, etc.).
Sistemes operatius monolloc 94 Introducció als sistemes operatius
2. Configuració de màquines virtuals
La utilització de les màquines virtuals en el món de la informàtica és
un fet que no podem ignorar. Molts usuaris, tant particulars com em-
preses, utilitzen la tecnologia de la virtualització per manipular la seva
informació i gestionar-la. La virtualització dels sistemes informàtics no
només s’aplica a petits equipaments, sinó que cada vegada s’utilitza
més en molts àmbits relacionats amb el món de la informàtica.
2.1. Descripció de màquina real i de màquina virtual
Moltes vegades neix la necessitat de provar un programa informàtic o fer
proves d’un altre sistema operatiu diferent del que estem utilitzant en el
nostre ordinador. Quina és la possible solució, formatar l’equip i instal·lar-
hi el nou sistema operatiu? Crear una partició i instal·lar-l’hi? Buscar un
altre equip en què estigui instal·lat? La solució és més senzilla que tot ai-
xò: l’únic que s’ha de fer és instal·lar una eina que simuli el sistema ope-
ratiu que voleu provar, així no hi ha necessitat de formatar ni canviar
d’equip informàtic. El sistema operatiu simulat hauria de ser totalment
independent del sistema operatiu real, de manera que convisquessin els
dos sistemes operatius en total harmonia i es pogués passar de l’un o l’al-
tre amb facilitat.
Tot el que hem comentat anteriorment ho podem aconseguir mitjançant
la utilització de les màquines virtuals. Aleshores, en un sistema informà-
tic podem treballar tant en màquines reals o físiques com en màquines lò-
giques o virtuals.
Una màquina real (o física) és un ordinador que té elements físics,
o també anomenats components, que donen un servei a molt baix
nivell (nivell físic) dins d’una arquitectura coneguda i en què s’obte-
nen els millors resultats referents a la velocitat de tractament de la
informació. En la màquina real és on s’executen els sistemes opera-
tius com altres processos que només necessiten una arquitectura
coneguda.
Una màquina virtual (o màquina lògica) és una màquina que si-
mula el funcionament d’una màquina real sobre la qual es poden
instal·lar sistemes operatius, aplicacions informàtiques, navegar
de manera segura per Internet, utilitzar diversos dispositius (per
exemple, targetes de xarxa, dispositius USB, etc.).
Formatar
El formateig és un procés que consisteix a preparar un determinat tipus de suport per a gestionar la informació que s’haurà de manipular.
USB és l’abreviatura de bus en sèrie universal.
Sistemes operatius monolloc 95 Introducció als sistemes operatius
2.1.1. Virtualització
Una màquina virtual és una màquina que simula una màquina real. Però
com s’aconsegueix això? Doncs mitjançant un determinat programari.
Aquest procés de simulació es coneix amb el nom de virtualització.
Els conceptes de virtualització i de màquines virtuals van aparèixer du-
rant la dècada de 1960 com a resultat d’uns treballs elaborats per l’empre-
sa IBM en la seva família d’ordinadors centrals (mainframes) (IBM
System VM/370). La idea que es proposa i s’aplica és executar sobre el ma-
quinari un petit sistema operatiu que simula el maquinari un nombre de-
terminat de vegades. Cadascuna de les màquines simulades és una còpia
exacta del maquinari real però fet de manera lògica. Tot això s’aconseguia
mitjançant un programari determinat.
Aquesta idea encara que podem pensar que podia tenir moltes possibili-
tats d’implementar-se a escala general no es va generalitzar. Els sistemes
operatius Unix van acabar sent els més utilitzats en el mercat informàtic
i les màquines virtuals van perdre força en la dècada de 1980.
Amb el pas del temps, els ordinadors comencen a ser més potents i sorgeix
la possibilitat d’emular màquines antigues en els ordinadors nous.
Amb la millora de les prestacions dels ordinadors de taula (desktop) i dels
servidors, la idea de la virtualització del maquinari que va néixer amb
l’IBM VM/370 ha recobrat interès en el món del PC. Han aparegut algunes
aplicacions interessants que creen PC lògics dins d’un ordinador físic i
permeten l’execució simultàniament de diversos sistemes operatius.
2.1.2. Amfitrió i hoste
Per a poder utilitzar una màquina virtual necessitem un programari deter-
minat que permeti simular una màquina real. Aquest programari ha d’es-
tar instal·lat en un sistema operatiu de base anomenat amfitrió (per
exemple, la família de sistemes operatius Windows, les distribucions de
Linux, l’entorn Macinstosh d’Apple). Els diversos sistemes operatius
instal·lats en les màquines virtuals s’anomenen hostes.
La virtualització és un concepte que descriu la capacitat de tenir diver-
sos sistemes operatius funcionant al mateix temps en un ordinador.
També podem definir una màquina virtual com un programari que
simula una màquina real i on es poden executar programes informà-
tics com si fos una màquina real.
Mainframes
Els ordinadors centrals (mainframes) són un tipus d’ordinadors de gamma alta (gran capacitat de memòria, velocitat de processament molt alt, etc.).
IBM és l’abreviatura d’nternational bussiness machines.
PC és l’abreviatura de personal computer.
VM és l’abreviatura de màquina virtual.
Sistemes operatius monolloc 96 Introducció als sistemes operatius
Recordem que en una màquina real (figura 32) podem identificar els com-
ponents següents:
• Les aplicacions informàtiques són els programes informàtics que vo-
leu executar en un màquina real.
• El sistema operatiu és un programari que facilita la comunicació entre
les aplicacions informàtiques i el maquinari.
• El maquinari són els diferents dispositius que formen la màquina real
i són els responsables de dur a terme les feines finals.
2.2. Avantatges i inconvenients de la virtualització
i de les màquines virtuals
Les màquines virtuals es poden classificar de moltes maneres igual que hi
pot haver molts tipus d’enfocament de la virtualització. Tenint en compte
la funcionalitat de les màquines virtuals les podem classificar en les cate-
gories següents:
1) Les màquines virtuals de sistema, també anomenades màquines virtuals
de maquinari o virtualització de plataforma, permeten a la màquina física
real simular-se en diverses màquines reals, i cadascuna executa el seu pro-
pi sistema operatiu. La capa de programari que permet la virtualització
s’anomena màquina virtual de maquinari o monitor de màquina virtual.
Un monitor de màquina virtual es pot executar o bé directament sobre el
maquinari, o bé sobre el sistema operatiu.
Logotip d’Apple
El sistema operatiu sobre el qual s’executa el programari per a
crear les màquines virtuals s’anomena amfitrió (en anglès s’ano-
mena host). Per exemple, els sistemes operatius Windows, Li-
nux, MacOS.
Els diversos sistemes operatius instal·lats en cada màquina virtuals
s’anomenen hostes (en anglès s’anomenen guest).
Figura 32. Components d’una màquina real
El monitor virtual té com a missió fer la multiprogramació pre-
sentant als nivells superiors tantes màquines virtuals com se
sol·licitin. No són màquines esteses sinó una rèplica exacta de la
màquina real, de manera que en cadascuna es pot executar un
sistema operatiu diferent, que serà el que ofereixi la màquina es-
tesa a l’usuari.
Sistemes operatius monolloc 97 Introducció als sistemes operatius
Les característiques principals del monitor virtual són:
• Proporciona diverses màquines virtuals a la capa superior.
• Las màquines virtuals instrumenten còpies exactes del maquinari
simple, amb el seu mode nucli/usuari, els dispositius d’E/S, les inter-
rupcions i tot el que té una màquina real.
• Poden executar qualsevol sistema operatiu de manera directa sobre el
maquinari.
• Suporten perifèrics virtuals.
Algunes de les tècniques que es poden utilitzar en les màquines virtuals
de sistema són les següents:
a) L’emulació que es basa a crear màquines virtuals (figura 33) que simu-
len el maquinari d’una o diverses plataformes de maquinari diferents.
Figura 33. Emulació
b) La virtualització completa o nativa permet a una màquina virtual exe-
cutar sistemes operatius hostes, sense haver-los de modificar, sobre un
sistema amfitrió, utilitzant un programa anomenat hipervisor o monitor
de màquina virtual (VMM) que permet compartir el maquinari real (fi-
gura 34). Aquesta capa intermèdia és l’encarregada de monotorar els sis-
temes operatius hostels per tal de capturar determinades ordres d’accés
al maquinari que no es poden fer de manera real, perquè no es té accés
directe al maquinari. Un monitor de màquina virtual es pot executar o
bé directament sobre el maquinari, o bé sobre el sistema operatiu. El seu
avantatge principal és que els sistemes operatius es poden executar sen-
se cap modificació sobre la plataforma; ara bé, té l’inconvenient que el
sistema operatiu ha d’estar suportat en l’arquitectura virtualitzada.
VMM és l’abreviatura de monitor de màquina virtual.
Sistemes operatius monolloc 98 Introducció als sistemes operatius
Figura 34. Virtualització nativa o completa
c) La paravirtualització és una manera de millorar l’eficiència de les mà-
quines virtuals i apropar-les al rendiment d’una màquina real. Per a fer-
ho, utilitzen modificacions en els sistemes operatius hostes per a poder-
se executar sobre el monitor de la màquina virtual.
2) Les màquines virtuals de procés, a vegades anomenades màquines vir-
tuals d’aplicacions, s’executen com un procés normal dins d’un sistema ope-
ratiu i suporten un únic procés. La màquina virtual s’inicia automàticament
quan es llança el procés que s’ha d’executar i es para quan el procés finalitza.
El seu objectiu és proporcionar un entorn d’execució independent de la pla-
taforma de maquinari i del sistema operatiu que amagui el maquinari real i
permeti que un programa s’executi sempre de la mateixa manera sobre qual-
sevol plataforma. Un dels exemples més coneguts actualment d’aquest tipus
de màquina virtual és la màquina virtual Java (JVM).
3) El concepte de la virtualització de plataforma de què hem parlat an-
teriorment, també es pot estendre a la virtualització de recursos especí-
fics del sistema com, per exemple, la capacitat d’emmagatzematge, els
recursos de la xarxa i els sistemes multiprocessador.
La utilització de les màquines virtuals té tot un seguit d’avantatges i d’in-
convenients. Alguns dels avantatges de la utilització de les màquines vir-
tuals són:
• Consolidació de servidors: convertir molts servidors físics en virtuals,
d’aquesta manera s’aprofita el maquinari disponible de la millor mane-
ra possible.
• Recuperació davant desastres: l’estat d’una màquina virtual es pot em-
magatzemar en forma de fitxer i, per tant, en el cas de desastre es pot
recuperar la informació amb rapidesa.
JVM és l’abreviatura de màquina virtual Java.
Sistemes operatius monolloc 99 Introducció als sistemes operatius
• Proves d’aplicacions: moltes vegades es necessita un entorn per a pro-
var una aplicació. Utilitzar una màquina virtual permet instal·lar un
sistema operatiu des de zero, provar aplicacions i després eliminar la
màquina.
• Execució d’entorns complets sense instal·lació i configuració: la possi-
bilitat de descarregar màquines virtuals des d’Internet permet estal-
viar temps en instal·lacions i configuracions. Hi ha moltes màquines
virtuals com a servidors complets per a ser utilitzats (Linux, Apache,
mySQL i PHP), màquines amb gestors de continguts i wikis gratuïts i
funcionals des del primer moment.
• Aplicacions portàtils: amb l’ús de les màquines virtuals es poden tenir
PC completament preparats per a ser utilitzats en dispositius USB, la
qual cosa pot ser d’una gran utilitat per a tenir un entorn privat i utilit-
zar-lo en qualsevol PC.
Com a inconvenients de les màquines virtuals, en podem indicar els se-
güents:
• Un dels inconvenients de les màquines virtuals és que afegeixen una
gran complexitat al sistema en temps d’execució. Això té com a efecte
l’alentiment del sistema, és a dir, el programari no s’executarà amb la
mateixa velocitat que en una màquina real. No obstant això, la flexibi-
litat que ofereixen les màquines virtuals compensa aquesta pèrdua
d’eficiència.
• Una màquina virtual reservarà recursos de maquinari de la màquina
amfitrió en el moment de la seva posada en funcionament. Típica-
ment, aquests recursos són en forma de memòria RAM i espai de disc
dur que no estaran disponibles per al sistema operatiu amfitrió. Una
vegada la màquina virtual es para, la memòria RAM utilitzada per la
màquina virtual queda lliure però no l’espai de disc dur que continuarà
reservat per a la màquina virtual, ja que conté els fitxers que permeten
al sistema operatiu hoste executar-se.
2.3. Programari lliure i propietari per a la creació de màquines
virtuals: instal·lació
De programes informàtics, n’hi ha molts i de característiques molt dife-
rents. Una manera de classificar els programes informàtics és tenint-ne
en compte la propietat. Aleshores, podem parlar de programari propie-
tari i de programari lliure.
Wikis
Un wiki és un lloc web en què les pàgines poden ser editades per múltiples usuaris mitjançant els navegadors d’Internet.
Sistemes operatius monolloc 100 Introducció als sistemes operatius
En el programari no lliure una persona física o jurídica (empresa, corpo-
ració, fundació, etc.) té tots els drets d’autor sobre un programari i negar
o no donar, al mateix temps, els drets d’utilitzar el programa amb qual-
sevol propòsit; d’estudiar com funciona el programa i adaptar-lo a les
pròpies necessitats (en què l’accés al codi font és una condició prèvia);
de redistribuir còpies, o de millorar el programa i fer-ne públiques les mi-
llores.
D’aquesta manera, un programari continua sent no lliure encara que el
codi font es faci públic, quan es manté la reserva de drets sobre l’ús, la mo-
dificació o la distribució.
Segons la Free Software Foundation (FSF), el programari lliure es refe-
reix a la llibertat dels usuaris per a executar, copiar, distribuir, estudiar,
canviar i millorar el programari; d’una manera més precisa, es refereix a
quatre llibertats dels usuaris del programari:
1) La llibertat d’utilitzar el programa amb qualsevol propòsit.
2) La llibertat d’estudiar el funcionament del programa i adaptar-lo a les
necessitats.
3) La llibertat de distribuir còpies, amb la qual cosa es pot ajudar els altres
usuaris a millorar el programa.
4) La llibertat de fer públiques les millores, de manera que tota la comu-
nitat se’n beneficiï (per a aconseguir algunes d’aquestes llibertats cal que
l’accés al codi font sigui un requisit previ).
El programari propietari es refereix a qualsevol programa informà-
tic en el qual els usuaris tenen les limitacions següents: utilització,
modificació, redistribució (amb modificació o sense), o el codi font
no està disponible o l’accés és restringit.
El programari lliure és la denominació del programari que dóna la
llibertat als usuaris sobre el producte adquirit i, per tant, una vegada
obtingut, de poder ser utilitzat, copiat, estudiat, modificat i redistri-
buït lliurament.
Programari propietari
El programari propietari també és conegut com a programari no lliure, programari privatiu, programari privat, programari amb propietari o programari de propietat.
El programari lliure també s’anomena programari obert o programari no propietari.
Free Software Foundation
La Free Software Foundation (FSF) és una organització dedicada a eliminar les restriccions sobre la còpia, la redistribució, la comprensió i la modificació de programes informàtics.
Richard Stallman
Un personatge que cal destacar sobre els conceptes del programari
lliure és Richard Stallman, creador dels conceptes Free Software
Foundation i de l’FSF.
Sistemes operatius monolloc 101 Introducció als sistemes operatius
Un altre aspecte relacionat amb el tema del programari són les llicències.
Una llicència és l’autorització formal amb caràcter contractual en què un
autor d’un programari dóna a una persona interessada el permís per a
“exercir actes d’explotació legals”. Des del punt de vista del programari
lliure, hi ha diferents variants del concepte o grups de llicències (per
exemple, la GPL, la BSD, estil MPL, etc.).
En la llicència pública general de GNU (GNU GPL), l’autor conserva els
drets d’autor (copyrigth) i permet la redistribució i la modificació sota
condicions fixades per a assegurar-se que totes les versions modificades
del programari continuen en les normes de la GNU GPL. És a dir, la llicèn-
cia GNU GPL possibilita la modificació i la redistribució del programari,
però únicament sota aquesta mateixa llicència.
En la taula 8 es presenta una comparativa de diverses eines de virtualitza-
ció tant lliures com propietàries.
Taula 8. Comparativa d’eines de virtualització
Característiques Producte Explicació
Facilitat d’instal·lacióVirtualBox, VirtualPC 2007 i VMWare
Els tres productes s’instal·len de manera molt senzilla mitjançant un assistent.
Sistemes operatius amfitrió suportats
VirtualBox, VMWare Server, VirtualPC 2007, QEMU,XEN, KVM, Mac on Linux
VirtualBox: Windows, Linux
VMWare Server: Windows, Linux, MacOS
VirtualPC 2007: Windows, MacOS
QEMU: Linux, Windows, MacOS
XEN: Linux, Windows
KVM: Linux
Mac on Linux: MacOS
Sistemes operatius hostes suportats
VirtualBox, VMWare Server, VirtualPC 2007, QEMU, KVM, Bochs, Mac on Linux, Virtuozzo
VirtualBox: DOS, Windows, Linux, OS/2, OpenBSD, FreeBSD, Netware, Solaris, etc.
VMWare Server: DOS, Windows, Linux, FreeBSD, netware, Solaris, etc.
VirtualPC 2007: DOS, Windows, Linux, OS/2, OpenBSD, FreeBSD, Netware, Solaris, etc.
QEMU: Windows, Linux, Solaris, Netware
Xen: Linux, FreeBSD, Netware
Bochs: Windows, Linux, Dos
Mac on Linux: Linux
Virtuozzo: Windows, Linux
Suport per USBVirtualBox, VMWare Server, VirtualPC 2007
VirtualBox: sí
VMWare Server: sí
VirtualPC 2007: no
Facilitat de creació de màquines virtuals
VirtualBox, VMWare Server, VirtuaPC 2007, QEMU, Xen
VirtualBox: fàcil
VMWare: fàcil
VirtualPC 2007: fàcil
QEMU: fàcil
Xen: fàcil
GPL és l’abreviatura de general public license; BSD de Berkeley software development, i MPL de Mozilla public license.
GNU
La paraula GNU significa GNU. No és Unix. GNU és un projecte que va ser iniciat per Richard Stallman amb l’objectiu de crear un sistema operatiu Unix completament lliure; el sistema GNU.
Sistemes operatius monolloc 102 Introducció als sistemes operatius
Una vegada que ja coneixem les principals característiques del programari
propietari o lliure cal fer la instal·lació d’algun tipus de programari de mà-
quines virtuals per a poder treballar amb aquesta tecnologia.
En tot procés d’instal·lació de programari informàtic podem destacar les
fases següents:
1) L’estudi previ o anàlisi previa estan relacionats amb estudiar i avaluar
el procés d’instal·lació i de configuració del programari informàtic. En
aquest procés podem incloure, entre altres elements:
a) La determinació exacte dels objectius.
b) La interpretació de la documentació tècnica de la instal·lació del pro-
gramari informàtic.
Característiques Producte Explicació
Existència de màquines virtuals disponibles a Internet
VMWare Server
VMWare Server disposa de les màquines Virtual Appliances, que són màquines virtuals preconfigurades i preparades per a utilitzar-les.
Integració amb el sistema operatiu amfitrió: visualitzador (display), carpetes compartides, etc.
VMWare Server, VirtualPC 2007
Els dos sistemes disposen d’eines que permeten millorar la integració del sistema hoste amb el sistema amfitrió una vegada instal·lat. En el cas de VMWare Server, s’anomenen VMWare tools i, en el cas de Virtual PC, virtual machine additions.
Capacitat d’importar màquines creades amb altres eines
WMWare ServerVMWare Server és capaç d’importar màquines creades amb VirtualPC.
RendimentVirtualBox, VMware Server, VirtualPC 2007, QEMU, Xen
VirtualBox: molt bo
VMWare Server: molt bo
VirtualPC 2007: molt bo
QEMU: molt bo
Xen: molt bo
Tipus de llicència
VirtualBox, VMware Server, VirtualPC 2007, QEMU, Xen, VMWare Workstation, Mac on Linux
Lliure: VirtualBox, QEMU, Xen, KVM, Mac on Linux
Propietari: VMWare Workstation, Virtuozzo
Gratuït i propietari: VirtualPC 2007, VMWare
Plataformes suportadesVirtualBox, VMware Server, VirtualPC 2007, QEMU, Xen, KVM, Bochs, Mac on Linux
VMWare Server: x86, Macintosh
VirtualBox: x86
VirtualPC 2007: x86, Macintosh
QEMU: x86, SPARC
Xen: x86, AMD64, IA64, PPC
KVM: x86
Bochs: x86
Mac on Linux: PowerPC, x86
Podeu trobar informació sobre diferents aspectes relacionats amb la interpretació de la documentació tècnica per a la creació de màquines virtuals en la secció “Annexos” del web del crèdit.
!!
Sistemes operatius monolloc 103 Introducció als sistemes operatius
c) La justificació de la conveniència o no de la instal·lació i de la configu-
ració d’un determinat tipus de programari.
d) La font d’obtenció del programari que cal instal·lar i configurar: es
tracta d’avaluar la utilització de programaria obert o de programari propie-
tari. Si és l’últim cas, hem d’haver donat resposta, entre d’altres, a les
qüestions següents: quines són les fonts de finançament?, és rendible
aquesta inversió?, etc.
e) La necessitat de conèixer els requisits per a la instal·lació en el maquinari
del programari corresponent (per exemple, el tipus de processador, la veloci-
tat del processador, la quantitat de memòria RAM necessària, etc.).
f) La necessitat de conèixer els requisits de programari per a dur a terme
la instal·lació i la configuració del programari que s’ha d’instal·lar i de con-
figurar (per exemple, el tipus de sistema operatiu, el tipus de navegador
d’Internet, etc.).
g) La disponibilitat d’informació complementària que facilita o reforça el
procés d’instal·lació i de configuració del programari corresponent (per
exemple, si cal registrar-se una vegada feta la instal·lació, etc.).
h) La necessitat de disposar de la informació tècnica dels diferents dispo-
sitius informàtics afectats en el procés d’instal·lació i de configuració del
programari corresponent.
i) La necessitat de disposar de la informació tècnica dels diferents pro-
grames informàtics afectats en el procés d’instal·lació i de configuració
del programari corresponent.
j) La disponibilitat de la documentació general del sistema informàtic.
També cal disposar de la documentació del sistema informàtic relaciona-
da amb les incidències i les solucions adoptades durant el cicle de vida del
sistema informàtic.
k) Cal tenir molt clar el procés d’instal·lació i de configuració del progra-
mari que cal instal·lar.
l) Cal disposar d’una bateria de proves per a comprovar el funcionament
correcte del sistema informàtic.
2) En la fase d’instal·lació, s’instal·la el programa informàtic en el maqui-
nari corresponent. Les accions que cal desenvolupar en aquesta fase són:
a) Fer una còpia de seguretat del sistema instal·lat per a evitar possibles
problemes finals.
Sistemes operatius monolloc 104 Introducció als sistemes operatius
b) Seguidament, cal executar el programa corresponent i seguir el procés
d’instal·lació indicat en la documentació del programari que s’ha d’instal·lar.
c) Una vegada instal·lat el programari corresponent cal fer les comprova-
cions corresponents de funcionament del sistema informàtic en general.
Per exemple, es podrien fer les accions següents:
• Apagar i engegar el sistema i determinar si el procés s’executa sense
cap problema.
• Executar algunes aplicacions informàtiques i comprovar-ne el funcio-
nament correcte.
• Executar el programari instal·lat i avaluar-ne el funcionament correcte.
• Determinar el funcionament correcte del sistema informàtic durant
l’execució del programari.
• Avaluar els resultats de les comprovacions i justificar les decisions
adoptades.
3) En la fase de configuració adaptem el programari instal·lat a les neces-
sitats de funcionament de l’usuari i del sistema operatiu.
4) Una vegada hem fet la configuració del programari instal·lat, cal com-provar-ne el funcionament a individualment (funcionant com un progra-
ma independent) i globalment (funcionant en conjunt amb els altres
components del sistema informàtic). A partir dels resultats obtinguts cal-
drà fer o no modificacions en la instal·lació i en la configuració.
5) Finalment, caldrà documentar tot el procés d’instal·lació i de configu-
ració definitiu i també les diferents incidències presentades i les solucions
emprades en el procés.
2.4. Creació de màquines virtuals per a sistemes operatius lliures i propietaris
Una vegada ja tenim instal·lat el programari per a la creació de màquines
virtuals i hem comprovat que funciona correctament és el moment de la
creació de màquines virtuals. El procés que cal seguir serà el mateix que
en la instal·lació i en la configuració de qualsevol tipus de programari, és
a dir: fer una anàlisi prèvia, fer la instal·lació i la configuració correspo-
nents, comprovar el funcionament del sistema en general i finalment do-
cumentar tot el procés dut a terme.
Algunes de les pautes que cal tenir en compte durant la creació
de les màquines virtuals són:
• Determinar els objectius.
• Seleccionar el tipus d’instal·lació que s’ha d’utilitzar: la típica, la
completa, etc.
Podeu trobar informació sobre diferents aspectes de la instal·lació del programari per a la creació de màquines virtuals utilitzant algun tipus de programari obert en la secció “Annexos” del web del crèdit.
!!
Podeu trobar informació sobre diferents aspectes de la instal·lació del programari per a la creació de màquines virtuals utilitzant algun tipus de programari gratuït i de tipus propietari en la secció “Annexos” del web del crèdit.
!!
Sistemes operatius monolloc 105 Introducció als sistemes operatius
Entre els sistemes operatius hostes es poden establir tres tipus de comu-
nicacions:
1) Comunicació pont (bridge). Comunicació en què s’assigna una IP al sis-
tema operatiu de la màquina virtual dins del mateix rang d’IP de l’ordina-
dor amfitrió.
2) Comunicació NAT. Aquest és un sistema que permet al sistema opera-
tiu de la màquina virtual comunicar-se per mitjà de l’ordinador amfitrió
però no apareix en la xarxa com un ordinador independent, és a dir, no
apareix com un ordinador físic.
3) Comunicació host-only. Aquesta opció crea una xarxa dins de l’ordina-
dor amfitrió amb la qual cosa tots els sistemes operatius de les màquines
virtuals situades en l’amfitrió es poden comunicar entre ells, però no amb
màquines que són fora de l’amfitrió, és a dir, amb ordinadors de la xarxa
física.
2.5. Configuració i utilització de màquines virtuals
Una vegada s’ha creat la màquina virtual cal comprovar-ne el funcionament
correcte a partir de la bateria de proves preparades en la fase d’anàlisi prè-
via. En funció dels resultats obtinguts en aquesta fase de comprovació pot
ser necessari fer petites o grans correccions en la màquina virtual creada;
aquest procés és conegut amb el nom de configuració.
• Establir el tipus de sistema operatiu hoste que utilitzarem.
• Fixar el nom de la màquina virtual.
• La quantitat de memòria RAM que cal utilitzar.
• Seleccionar el lloc físic on se situarà la màquina virtual.
• Establir el tipus de comunicació entre els sistemes operatius
hostes. Hi ha tres opcions: la comunicació pont (bridge), la co-
municació NAT i la comunicació anomenada host-only.• Fixar la capacitat de la màquina virtual.
• Comprovar el funcionament de la màquina virtual creada i actuar
en conseqüència.
• Documentar tot el procés de creació de la màquina virtual.
La configuració d’una màquina virtual són un conjunt d’accions en-
caminades a aconseguir un funcionament correcte del sistema in-
formàtic i poder-ne adaptar el funcionament a les necessitats de
l’usuari i del sistema operatiu.
IP és l’abreviatura d’Internet protocol; i NAT, de network address translation.
Podeu trobar informació sobre diferents aspectes de la creació de màquines virtuals utilitzant algun tipus de programari lliure en la secció “Annexos” del web del crèdit.
!!
Podeu trobar informació sobre diferents aspectes de la creació de màquines virtuals utilitzant algun tipus de programari propietari en la secció “Annexos” del web del crèdit.
!!
Sistemes operatius monolloc 106 Introducció als sistemes operatius
Per a poder fer la configuració cal disposar d’eines que moltes vegades són
subministrades pel mateix programari de creació de les màquines virtuals
i, d’altres, pel sistema operatiu amfitrió.
2.6. Comprovació del funcionament correcte de les instal·lacions i les configuracions dutes a terme
Una vegada acabada la instal·lació i la configuració del programari de crea-
ció de màquines virtuals hem de comprovar que el nou programari i el
sistema informàtic continuen funcionant correctament i donant el rendi-
ment esperat.
El procés per a fer la configuració el podríem resumir en les actuacions
següents:
1) Una vegada dutes a terme les fases d’anàlisi prèvia, d’instal·lació i de
comprovació de la màquina virtual creada cal avaluar a partir dels re-
sultats de la fase de comprovació la necessitat de modificar la configu-
ració de la màquina real creada.
2) Cal tenir ben definits els objectius implicats en la configuració.
3) Determinar els elements de maquinari implicats en la configuració:
la memòria RAM, el disc dur, les unitats de CD/DVD, les unitats de dis-
quets, la targeta de comunicacions (Ethernet), les connexions USB, el
sistema de so, els processadors, les connexions sèries i paral·lels, la
pantalla, el ratolí, etc.
4) Determinar els elements de programari implicats en la configu-
ració: canvi de nom de la màquina virtual i del tipus de sistema ope-
ratiu hoste, incorporació d’eines complementàries que ajuden a
millorar el funcionament de l’entorn, eliminació de màquines vir-
tuals, la còpia de màquines virtuals, la importació i l’exportació de
màquines virtuals, l’arrencada i l’aturada de les màquines virtuals,
els sistemes de tecles per a fer determinades accions d’una manera
més ràpida, etc.
5) Dur a terme el procés de configuració a partir de la documentació
tècnica.
6) Comprovar els resultats de la configuració i actuar en conseqüència.
7) Documentar tot el procés de configuració.
Podeu trobar informació sobre diferents aspectes de la configuració de màquines virtuals utilitzant algun tipus de programari lliure en la secció “Annexos” del web del crèdit.
!!
Podeu trobar informació sobre diferents aspectes de la comprovació del funcionament correcte de les instal·lacions i configuracions fetes de màquines virtuals en la secció “Annexos” del web del crèdit.
!!
Sistemes operatius monolloc 107 Introducció als sistemes operatius
2.7. Documentació del procés d’instal·lació i de les seves incidències
Una de les tasques més feixugues i que normalment els informàtics odien
fer és la creació de la documentació del sistema informàtic.
La documentació consisteix en material que explica les característiques tèc-
niques i l’operació d’un sistema. És essencial per a proporcionar comprensió
d’un sistema a qui l’utilitzi per a mantenir-lo, per a permetre auditories del
mateix sistema i per a ensenyar als usuaris com interactuar-hi i com interac-
tuar amb als operadors i als administradors com fer-lo funcionar.
Entre d’altres, podeu fer les accions següents per tal de compro-
var el funcionament del nou programari instal·lat i configurat i
del mateix sistema informàtic en general:
• Determinar prèviament els objectius del procés.
• Establir un pla de treball.
• Establir procediments per a avaluar el funcionament del progra-
mari instal·lat.
• Establir mecanismes per a determinar el funcionament del sis-
tema a escala individual.
• Fixar procediments per a determinar la compatibilitat correcta
entre el nou programari de creació de màquines virtuals i el sis-
tema informàtic existent.
• Avaluar els resultats de les comprovacions i actuar en conse-
qüència.
• Documentar el procés.
La documentació dels sistemes informàtics és el conjunt d’informa-
ció que diu què fan els sistemes informàtics, com ho fan i per a què
serveixen.
Hi ha diversos tipus de documents, entre els quals cal destacar:
• El del sistema informàtic que explica l’organització, el funciona-
ment i les vicissituds del sistema informàtic al llarg de la seva
existència.
• El de programes que explica la lògica d’un programa i inclou des-
cripcions, diagrames de flux, llistes de programes i altres docu-
ments.
• El dels usuaris que explica les capacitats del sistema i com utilit-
zar-lo.
Sistemes operatius monolloc 108 Introducció als sistemes operatius
Moltes organitzacions tenen el que s’anomena programa de documenta-
ció, que consisteix en una política formal en què la documentació és una
cosa que s’ha de fer de manera rutinària per a cada esdeveniment.
La importància de la documentació podria ser comparada amb la impor-
tància de l’existència d’una pòlissa d’assegurança: mentre tot va bé no hi
ha precaució de confirmar si la nostra pòlissa d’assegurança és vigent o
no, però, no obstant això, és més que convenient que concretem la nostra
pòlissa quan les coses van bé, ja que, més endavant, pot ser massa tard.
Una documentació adequada i completa d’una aplicació que es vol implan-
tar, mantenir i actualitzar de manera satisfactòria és essencial en qualse-
vol sistema d’informació; això no obstant, freqüentment i erròniament és
la part a la qual es dedica menys temps i atenció.
Sempre s’ha de documentar un sistema encara que estigui a punt de des-
aparèixer per sempre. Si la documentació del sistema és incompleta l’ad-
ministrador contínuament hi estarà involucrat i no es podrà moure a un
altre projecte.
Tota documentació que es relacioni amb un sistema, ja sigui creada de ma-
nera manual o automàtica, sigui senzilla o complexa, ha de reunir tot un
seguit de requisits bàsics. Els estàndards bàsics de disseny de la documen-
tació proposen seguir les pautes següents:
• Ha de ser clara i ben organitzada, amb seccions clarament indicades i
estructurades en blocs.
• Els digrames, si n’hi ha, han de ser clars i entenedors.
• La documentació ha de ser completa.
• La documentació sempre s’ha de conservar actualitzada.
Moltes organitzacions segueixen els seus propis estàndards i normati-
ves de documentació: format de documents –fonts, marges, capçaleres,
peus...–, nomenclatura, etc. És important tenir la seguretat que els es-
tàndards siguin complets, actualitzats, documentats i llegibles. Natu-
Una altra definició per a la documentació d’un sistema informàtic
seria la de registre físic, generalment escrit, que conté els elements
següents:
• Les polítiques i normes referents al desenvolupament del siste-
ma, la seva implantació, operació i manteniment.
• El disseny del sistema d’informació.
• Els procediments per a instal·lar el sistema d’informació.
• Els procediments per a operar amb el sistema d’informació.
• Els procediments per a mantenir el sistema d’informació.
Sistemes operatius monolloc 109 Introducció als sistemes operatius
ralment l’estàndard ha de ser apropiat i no una barrera que impliqui
més pèrdues que avantatges.
Durant el desenvolupament d’un sistema, des de la concepció fins a la po-
sada en marxa, es genera una gran quantitat de documents que, en molts
casos, s’han vist modificats per documents posteriors a causa de canvis en
el sistema. Per a evitar confusions en les revisions de la documentació, es
desenvolupen diferents tipus de documents dirigits a persones que treba-
llaran amb el sistema per a facilitar-ne el manteniment. La documentació
d’un sistema ha d’estar ben organitzada, actualitzada i completa; tots els
termes s’han d’explicar: la documentació es farà disponible a tots els usua-
ris d’acord amb les seves necessitats i amb les normes de seguretat.
La documentació del sistema informàtic pot contenir, entre altres infor-
macions, les següents:
1) La documentació del cicle de vida del sistema informàtic conté tota la
documentació que fa referència a l’historial del sistema informàtic. Una
manera d’organitzar aquesta informació pot ser en els blocs següents:
a) El bloc general descriptiu del sistema informàtic (documentació gene-
ral del sistema informàtic). Conté la informació que fa referència a les ca-
racterístiques generals del sistema. Podem destacar com a informació
més important:
• Les característiques principals com, per exemple, el nom i la codifica-
ció del sistema informàtic, la data de creació, el nom dels personatges
implicats en la instal·lació, els noms dels administradors, etc.
• La determinació dels objectius del sistema informàtic.
• La descripció de tot el procés relacionat amb l’estudi previ del sistema.
• Els dispositius implicats en el sistema informàtic (documentació del
maquinari).
• El programari utilitzat tant d’aplicacions informàtiques com del pro-
gramari bàsic (documentació del programari).
• La descripció del procés d’instal·lació i de configuració del maquinari
que cal utilitzar. També cal indicar les comprovacions fetes, els resul-
tats obtinguts i les justificacions de les decisions adoptades. També
hem de descriure els manteniments duts a terme.
• La descripció del procés d’instal·lació i de configuració del programari
que s’ha d’utilitzar. També cal indicar les comprovacions fetes, els re-
sultats obtinguts i les justificacions de les decisions adoptades. També
hem de descriure els manteniments duts a terme.
• La comprovació del funcionament del sistema en general i les accions
adoptades (documentació d’incidències i de solucions).
• La descripció de les incidències aparegudes amb les causes, les solu-
cions i els resultats (documentació d’incidències i de solucions).
• Conclusions finals.
Sistemes operatius monolloc 110 Introducció als sistemes operatius
b) El bloc general descriptiu dels dispositius del sistema informàtic (do-
cumentació del maquinari). Conté les característiques generals dels dis-
positius del sistema (per exemple, els ordinadors, les impressores, els
commutadors [switches], els encaminadors [routers], etc.). Podem desta-
car com a informació més important:
• Les característiques generals del dispositiu, com, per exemple, un ordina-
dor: la descripció del dispositiu, la codificació del dispositiu, el fabricant i
model, la data de compra, les dades del venedor, les persones de contacte
i els sistemes de comunicacions, la garantia, el servei tècnic, etc.
• La documentació tècnica del dispositiu: les seves característiques i el
tipus de format, etc.
• El programari que acompanya el dispositiu: les seves característiques i
format, etc.
• Les observacions en general sobre el dispositiu.
• Les incidències detectades, les solucions proposades i els resultats ob-
tinguts.
• Els diferents components que formen el dispositiu i les seves caracte-
rístiques tècniques (per exemple, en un ordinador podem trobar entre
altres components el processador, la memòria principal, la placa base,
etc.), la descripció, la codificació, el fabricant i el model, la situació, la
data de compra, les dades del venedor, la garantia, la documentació tèc-
nica, el programari que acompanya el component, la instal·lació i la
configuració del component en el dispositiu, la comprovació del com-
ponent, la documentació del funcionament del component, les obser-
vacions en general, les incidències detectades, etc.
c) El bloc general descriptiu del programari del sistema informàtic (do-
cumentació del programari). Conté les característiques generals del pro-
gramari del sistema (per exemple, el programari base dels ordinadors i
d’altres dispositius, les aplicacions informàtiques, etc.). Podem destacar
com a informació més important:
• Les característiques generals del programari (per exemple, un sistema
operatiu, etc): la descripció del programari, la seva codificació, el fabri-
cant, el distribuïdor i la versió, la data de compra, les dades del distri-
buïdor, les persones de contacte i els sistemes de comunicacions, la
garantia, el servei tècnic, el tipus de programari (lliure o propietari),
l’original o la còpia, la nova instal·lació o actualització, etc.
• La documentació tècnica del programari: les seves característiques i el
tipus de format, etc.
• Les observacions en general sobre el programari.
• Les incidències detectades i les solucions proposades i els resultats ob-
tinguts.
• Etc.
Switches i routers
Els commutadors (switches) són dispositius per a inteconnectar dispositius en xarxes d’àrea local (en anglès, local area network, LAN).
Els encaminadors (routers) són dispositius per a connectar xarxes.
Podeu trobar informació sobre diferents aspectes de la documentació del maquinari utilitzat en la creació de màquines virtuals en la secció “Annexos” del web del crèdit.
!!
Sistemes operatius monolloc 111 Introducció als sistemes operatius
2) La documentació o manual d’usuari del sistema informàtic conté tota la
informació que necessita l’usuari per a poder utilitzar de manera correcta el
sistema informàtic. Aquesta informació es pot fer arribar als usuaris per mit-
jà de cursos de formació sobre el funcionament de determinats aspectes del
sistema informàtic o per mitjà de la documentació corresponent en què s’ex-
plica el funcionament del sistema que cal utilitzar.
3) La documentació d’incidències, solucions i les propostes de millores
del sistema informàtic conté informació de les situacions especials succeï-
des en el sistema i que han provocat modificacions en el rendiment del
mateix sistema. També contenen les possibles propostes de solucions i la
justificació de l’opció adoptada. També aquesta documentació pot conte-
nir estudis referents a la viabilitat en un moment determinat del sistema
i avaluar-ne la continuïtat. Moltes vegades la documentació d’aquest apar-
tat pot estar inclosa en la documentació del cicle de vida d’un sistema in-
formàtic (documentació general del sistema informàtic, documentació
del maquinari i documentació del programari).
2.8. Interpretació de la documentació tècnica
En tot procés d’instal·lació de programari informàtic, un dels elements
que hem tenir en compte és la interpretació de la documentació tècnica
de la instal·lació del programari informàtic. Aquest aspecte cal tenir-lo
molt present ja que ens donarà la informació necessària i ens permetrà es-
tablir i avaluar el procés més adient per a la instal·lació del programari in-
formàtic. La documentació tècnica s’utilitza principalment durant les
fases de l’anàlisi prèvia, de la instal·lació i de la configuració.
Un exemple que podem comentar sobre la importància de la documenta-
ció tècnica és el de la creació de màquines virtuals. Abans d’executar el
procés d’instal·lació del programari informàtic per a la creació de màqui-
nes virtuals és necessari consultar la documentació tècnica del programa-
ri de creació de màquines virtuals i, a partir d’aquesta documentació,
avaluar-ne la conveniència. Quin tipus d’informació hem d’interpretar?
Bé, podrien indicar la següent:
1) La descripció general del programari. En aquesta part es descriuen els
objectius d’aquest programari, la seva funció i la seva aplicació. Per exem-
ple, en el cas del programari VirtualBox l’objectiu és la virtualització de
plataformes del tipus x86, i d’aplicació podem indicar que el podem instal·-
lar en sistemes Windows, Linux, Mac OS X i Solaris.
La documentació tècnica d’un producte és un conjunt d’informació
en què se n’especifiquen les característiques generals.
Podeu trobar informació sobre diferents aspectes de la documentació del programari utilitzat en la creació de màquines virtuals en la secció “Annexos” del web del crèdit.
!!
Exemple de documentació tècnica
D’exemples de documentació tècnica n’hi ha molts, per esmentar-ne alguns tenim la compra d’un televisor. L’equip s’acompanya d’una documentació en què s’especifiquen les característiques tècniques del producte (la fitxa tècnica),el procés d’instal·lació i de configuració (manual d’usuari), la garantia, etc.
Sistemes operatius monolloc 112 Introducció als sistemes operatius
2) Les versions disponibles. Algunes distribucions disposen de versions
obertes i de versions privades. Hem d’avaluar els avantatges i els inconve-
nients de cadascuna de les distribucions. També hem d’avaluar la versió
que volem instal·lar del programari.
3) El format del programari. També un altre element que cal tenir en
compte és el format del programari que s’ha d’instal·lar (format binari i,
per tant, executable o en format comprimit).
4) L’obtenció del programari. El procediment d’obtenció del programari
que cal instal·lar estarà en funció de si el programari és del tipus obert o
propietari. En el cas de programari obert, la font d’obtenció del progra-
mari serà a partir d’un lloc web del qual podrem descarregar l’aplicació
informàtica. El programari propietari es pot obtenir a partir d’algun dis-
tribuïdor del producte.
5) Els requeriments de maquinari. Un element que hem de tenir en
compte són el requeriments mínims de maquinari que necessita el pro-
gramari informàtic. Per a un determinat tipus de plataforma, podem indi-
car els elements següents:
• Les característiques del processador: el tipus, la freqüència, etc.
• La memòria RAM mínima necessària per a poder executar l’aplicació
informàtica.
• L’espai de memòria secundària (disc dur).
• Les característiques de les unitats de disquets.
• El tipus de targeta de xarxa.
• Les característiques de les unitats de CD/DVD.
• Les interfícies sèrie i paral·lel.
• Les unitats USB.
• Etc.
6) Els requeriments de programari. És un altre aspecte que hem de tenir
en compte i fa referència a quin programari hem de tenir instal·lat i con-
figurat per a poder fer la instal·lació del programari de creació de màqui-
nes virtuals. Per a poder instal·lar el programari de creació de màquines
virtuals necessitem tenir instal·lat i configurat algun sistema operatiu am-
fitrió com, per exemple, Windows XP Professional Edition o alguna distri-
bució del sistema GNU/Linux amb el seu programari complementari
corresponent (per exemple, els Service Packs de Windows XP).
7) El manual d’usuari. Finalment, hem de saber interpretar el manual de
l’usuari del programari de creació de màquines virtuals. En aquest docu-
ment podem trobar informació sobre el procediment que cal seguir en la
instal·lació, en la configuració i en la comprovació del programari que s’ha
d’instal·lar. El manual d’usuari pot ser en diversos formats, però el típic
Tux, el pingüí, la mascota de Linux
Sistemes operatius monolloc 113 Introducció als sistemes operatius
és el format pdf. Aleshores, necessitarem tenir instal·lat el programari
corresponent per a editar el document corresponent (per exemple, en els
formats pdf necessitem el programari Adobe Reader). Quins elements po-
dem destacar del manual d’usuari? Entre d’altres, els següents:
• La versió del manual d’usuari.
• La introducció.
• La instal·lació en diversos tipus de plataformes: els prerequisits, el pro-
cés d’instal·lació i de desinstal·lació.
• L’actualització.
• L’execució del programari de creació de màquines virtuals en entorns
gràfics. Hem de fixar el nom de la màquina virtual, el tipus de sistema
operatiu hoste, la quantitat de memòria RAM, la grandària del disc dur
virtual, etc.
• La configuració de la màquina virtual.
• L’execució de la màquina virtual pot obligar a modificar el funciona-
ment del teclat i del ratolí (establir combinacions de tecles per a fer de-
terminades accions).
• L’administració del disc virtual permet gestionar el disc virtual de la
màquina virtual creada.
• La importació-exportació de màquines virtuals.
• Els sistemes operatius hostes suportats.
• La gestió del sistema en xarxa en màquines virtuals.
• La possibilitat d’interfície de programació.
• Les diferències entre versions.
• Les llicències.
• El sistema de seguretat.
• El glossari.
• Etc.