Necessitat d'un sistema operatiu

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda

Abans d'entendre completament el funcionament d'un sistema operatiu, cal entendre els problemes que soluciona. Anem a plantejar un cas pràctic.

Situació Inicial: Problemes amb el disc dur

En els computadors, l'escriptura i lectura de dades en el disc dur és molt complexa. A més en cada ordinador, el disc sol tenir característiques diferents. Per tant si volem que el programa que fem servir guarde i llisca dades de disc (documents que no volem que s'esborren al apagar l'ordinador) hem d'incloure les instruccions necessàries.

Però aquestes instruccions no són poques, ni és fàcil manipular el disc dur. A més el programa que pretén escriure en disc haurà de saber com escriure a tots i cada un dels diferents discs existents perquè el que va crear el programa volia que tots ho puguin utilitzar en qualsevol ordinador, tenint qualsevol model de disc dur.

Algú ha vist un programa normal fet per una sola marca de discos durs, o per uns pocs models?

Tenim un gran problema.

Primera solució

Perquè el programa d'usuari no es complique innecessàriament, incloem un programa a la memòria RAM que s'encarregarà únicament i exclusivament de llegir i escriure en disc. Quan El programa WORD vulga escriure o llegir un document del disc a la memòria o a l'inrevés, no ho farà ell (WORD).

  • El que fa és saltar (l'execució) al programa lector / escriptor.
  • El lector/escriptor pren les dades del disc cap a la memòria o a l'inrevés. obeint l'ordre que el programa WORD ha efectuat. Diem que el programa WORD "invoca" o "crida" al programa lector / escriptor.

Aquest petit programa lector/escriptor sí que coneix tots els discs i sap com escriure i llegir d'ells, però aquest és el seu únic treball.

Això suposa dos avantatges:

  • La complexitat del word no augmenta. Els programes de l'usuari recorren el lector / escriptor perquè sigui ell qui faci lectures i escriptures en disc.
  • Aquest programa es comparteix per la resta de programes que vulguin llegir o escriure en disc. WORD, EXCEL, Programes de comptabilitat, jocs, etc.

Segon problema: Gestió de memòria

En un escenari possible, ens trobarem la memòria albergant programes i dades. Hi zones de memòria ocupada i altres zones lliures. Els programes s'executen uns i altres segons l'usuari desitgi. Quan un programa vulgui escriure en disc, recorrerà a invocar (saltar) al programa escriptor de disc (el mateix passa en lectura).

Si un programa acaba, o vol eliminar les dades amb què treballa. És a dir, si acabe amb un document, el tanque, i si acabe amb el programa word, el tanque. En ambdós casos la conseqüència és que la zona de memòria que ocupava el programa o la dada es queda lliure


Aquest programa lector/escriptor li diré gestor de disc. I entre les seves funcions hi ha també la de carregar altres programes, llegir-los i dipositar-los en memòria per permetre la seva execució. Quan ens trobem una memòria amb zones ocupades sorgeix la pregunta: On copia el gestor de disc un nou programa o dades a la memòria?

Evidentment en algun forat lliure.

És responsabilitat del gestor de disc saber on pot deixar nous programes en memòria? NO, el gestor de disc només tracta amb el disc, però no sap com està organitzada.

Segona Solució

Per tenir organitzada la memòria i que algú sàpiga on es pot deixar en memòria, per portar un compte dels buits lliures, etc, fem servir un altre programa diferent, anomenat organitzador de memòria. Així, quan el WORD vulgui llegir un document, ja no l'hi demanarà al gestor de disc únicament. Sinó que primer haurà demanar (saltant en l'execució a l'organitzador de memòria). Aquest organitzador reservarà una zona de memòria lliure per a aquest document i la marcarà com ocupada (així en una altra operació posterior no es "trepitjarà" aquesta zona de memòria). Quan ja estigui la memòria reservada, el gestor de disc pot llavors llegir el document word existent en disc, i dipositar-lo a la zona de memòria recent reservada.

Per carregar un programa o dades, el treball es distribueix entre l'organitzador de memòria, que decideix on van les noves dades i el gestor de disc que busca aquestes dades en disc i els porta a la memòria.

Si el programa d'usuari (WORD) vol crear un document en blanc nou, llavors, WORD li "demana" a l'organitzador de memòria que li doni un tros de memòria per dipositar les dades del nou document. En aquest cas només el gestor de memòria és el que realitza el treball.

Tercer Problema: Gestió del disc

Per exemple, per organitzar els apunts de classe:

Joan diposita en una solapa de la carpeta tots els temes 1 de totes les assignatures, en una altra tots els tema 2 i així successivament. Joan només pot tenir apunts de tants temes com solapes té la carpeta.

Pepe guarda en cada solapa tots els apunts de totes les assignatures d'un dia. A la carpeta li caben els apunts d'una setmana perquè té 5 solapes.

Maria organitza seus solapes per assignatures (com ho fem tots). Cada assignatura té reservada una solapa. Maria només pot estudiar tantes assignatures com solapes té la carpeta

¿Cal que les carpetes siguin iguals o diferents? No, és irrellevant.

Tercera Solució

En l'ordinador, el disc està organitzat d'alguna manera, com la memòria també està organitzada. Per portar els comptes de la memòria s'utilitzava un gestor de memòria. Per portar els comptes de l'organització del disc anem a introduir un programa nou, l' organitzador del disc. Aquest programa no és el que llegeix o escriu, encara s'utilitza l'antic gestor de disc per fer això. L'organitzador només "SAP" on és cada cosa al disc, on hi ha espai lliure, quant, etc.

Així doncs, el treball de llegir i escriure en disc requereix ara del controlador de disc i l'organitzador. Aquest últim decideix on (al disc) es guarden les coses i d'on es llegeixen, però al final el que fa és passar-li la feina de moure les dades al gestor de disc.

Concepte de Gestor

Tots els elements perifèrics tenen un programa específic que s'encarrega d'utilitzar, configurar i gestionar el dispositiu. L'anomenarem Gestor o Driver

La resta de programes ha de invocar l'execució del gestor. D'aquesta manera no es preocupen del seu funcionament.

Concepte d'Organitzador

L'usuari ha de utilitzar fitxers, que no són més que una seqüencia de bytes en una memòria continua. Mentre que els dispositius poden ser molt variats i tindre molts Drivers, la gestió dels fitxers està unificada.

Per a l'usuari o els programes d'usuari, no hi ha cap diferència entre un fitxer en un disc dur o en una memòria flash. El Driver és diferent, però l' Organitzador és igual.