1.- Introducció
Un S.O. té les següents funcions:
En els següents apartats s'explicaran breument cadascuna d'aquestes funcions.
2.- Gestió de la CPU i execució de programes
Abans de començar a parlara de la gestió de la CPU, cal entendre un concepte bàsic i important. El concepte procés. Un procés es tot programa que hem carregat en memòria principal i es troba en exeució. Una de les funcions del S.O. és carregar un programa executable en memòria principal (previament haurà d'haver trobat una zona de memòria lliure prou gran per poder situar-lo) i començar la seva execució, és a dir, convertir-lo en un procés.
Aquesta funció és senzilla quan el sistema és monoprogramat , és a dir, només executa un procés al mateix temps, i aquest procés uilitza tots els recursos del sistema. El problema d'aquest sistemes és que es desaprofita moltíssim un recurs com la CPU. Si el procés està accedint a una impressora (operació E/S), en aquells moments la CPU es troba inactiva, quan podria estar sent aprofitada per un altre procés. També reben el nom de sistemes operatius monotasca.
És per aquest motiu que existeixen els sistemes operatius que no són monoprogramats, i que permeten que un procés utilitzi la CPU mentre un altre realitza una operació E/S o qualsevol altra tasca per la qual no sigui necessari l'us de la CPU. És a dir, són sistemes operatius que permeten que s'executi més d'un procés a l'hora. Dins d'aquests sistemes, podem fer 3 divisions:
a) Multitasca: Qualsevol sistema operatiu que permet que s'executi més d'un procés al mateix temps.
b) Multiprogramats: És un sistema multitasca clàssic que protegeixen les zones de memòria utilitzats per un procés de manera que no poguin ser modificades per un altre procés. Són capaços de resoldre conflictes entre processos que vulguin utilitzar un mateix recurs o que es trobin preparats per començar la seva execució al mateix temps.
c) Multiprogramats de temps compartit: Permeten assignar una quantitat de temps d'execució a cada procés, de manera que tots el processos tinguin la posibilitat de començar a executar-se en una quantitat de temps acceptable un cop se'ls dóna l'ordre d'execució.Això és important en sistemes multiusuari, perquè, d'aquest manera s'evita allargar innecessàriament el temps d'espera entre el moment en que un usuari dóna una ordre, i aquesta comença a executar-se.
3.- Gestió de la memòria principal
Un dels principals problemes, principalment en sistemes multiusuari i multiprogramats és el de tenir prou memòria principal (o sigui, RAM) per poder carregar els processos que s'executen i les dades que necessiten. En el cas de que el conjunt de tots els processos que s'executen, i les seves dades, excedeixi la quantitat de memòria principal de la qual disposa el sistema informàtic, llavors, el sistema operatiu ha de ser capaç de de tenir sempre carregat en memòria principal aquelles parts del procés que s'han d'executar d'una manera més immediata, i ha de tenir guardades les dades que necessitarà el procés també d'una manera immediata, i en el cas de no trobarse part del procés necessari o de les dades necessàries en memòria principal en un determinat moment, ha de ser capaç de buscar-les a la unitat d'emmagatzamtge auxiliar (p.ex, el disc dur), carregar-les en memòria prncipal. i escollir quina part de les dades o el procés que es trobaven previament en memòria principal han de deixar el seu lloc.
4.- Gestió del sistema de fitxers i memòria secundària
Les unitats d'emmagatzamatge auxiliar, com ara els discs dur, o disquetes tenen la seva propia manera d'organitzar la informació, que s'anomena organització de la informació des del punt de vista físic. Els usuaris, els programador i els programes d'aplicació tenen una manera diferent d'organitzar la informació, que s'anomena organització de la informació des del punt de vista lógic. El sitema operatiu s'encarrega de fer compatibles aquestes dues formés diferents d'organitzar la memòria.
A grans trets, podem dir que un disquettes es divideix en: a) Cares b) Pistes c) Sectors. Els sectors tenen una capacitat de 512 bytes. La quantitat mínima d'informació que llegeix la disquettera és un sector sencer. Un disquette te 2 cares, cada cara té 80 pistes, i cada pista 18 sectors, de manera que podem emmagatzemar:
Els discs durs s'organitzen en Headers (equivalent a cares), Cilindres (equivalent a pistes), i Sectors. El model de disc dur MPD3064AT de Fujitsu poseix 15 Headers,13410 cilindres, 63 sectors, i cada sector té 512 bytes, de manera que la seva capacitat és de 6.488.294.400 bytes => 6,1Gb.
Ara bé, des del punt de vista lògic, els usuaris, els programadors i els programes d'aplicació treballen amb: a) Directoris i subdirectoris, (també anomenats carpetes) b) Fitxers. Un directori és una agrupació de fitxers realitzada per un usuari seguint un criteri propi (de fet, un directori o carpeta és un tipus molt especial de fitxer). Un fitxer és un conjunt de dades (de bytes) que des del punt de vista lògic formen una unitat, tot i que no la formin des d'un punt de vista físic.
Evidentment, un fitxer o directori pot estar distribuït entre diversos sectors, o un sector, en principi, podria arribar a contenir més d'un fitxer o directori. La feina principal del sistema opearatiu és aconseguir que l'usuari o el programa d'aplicació pogui llegir o escriure dades dins d'un fitxer sense haver de preocupar-se de com s'organitza la informació físicament.
5- Gestió del sistema d'E/S
El sistema opearitu facilita a l'usuari i als programes d'aplicació l'utilització dels dispositius d'entrada i sortida, com són per exemple el teclat o la impressora. També facilita als programadors d'aplicacions la realització de programes. Perquè d'aquesta manera, es poden oblidar de la manipulació d'aquests dispositius, deixant que sigui el S.O. qui s'encarregui d'aquesta tasca, i fent una crida al S.O. quan sigui necessari.
La gestió del sistema d'E/S requereix: a) Hardware =>Interface CPU-Perifèric. Exemples serien els regsitres que controlen el port paral.lel o la controladora IDE per discs durs.b)Software => Drivers. És un software (un conjunt de programes i dades) que s'afegeix al sistema operatiu (com si fos una ampliació) i que permet controlar un dispositiu E/S específic (un determinat model, d'una determinada marca d'impressores, per exemple).