DEFINICIÓ DE SISTEMA OPERATIU

1.- Definició

Un sistema operatiu és un programa de control. La seva tasca és facilitar i controlar l'accés dels programes que s'executan i de l'usuari als recursos de l'ordinador. Aquest recursos són bàsicament el hardware de l'ordinador, programes i fitxers.

El sistema operatiu s'encarrega de gestionar el hardware de l'ordinador, de manera que allibera a l'usuari i a la resta de programes de fer aquesta tasca, i sempre amb la idea de aprofitar el hardware de la manera més eficient. Els recursos gestionats pel S.O. són principalment: a) La CPU b) Memòria RAM (o memòria principal). Aquest tipus de memòria és volatil, o sigui, no permanent c) Unitats d'emmagatzamatge permanent de la informació, o memòria auxiliar (Disc dur,...) d) Perifèrics (Impressores, teclats, pantalla,....) també anomenats dispositius I/O (Input/Output) o E/S (Entrada/Sortida).

El sistema operatiu facilita a l'usuari l'accés als recursos de l'ordinador. Qualsevol recurs de l'ordinador, com per exemple un disc dur, és un element complicat i accedir a la informació emmagatzemada al seu interior requereix un profund coneixement del dispositiu, i realitzar una sèrie de complexes operacions, que no es troben a l'abast de la gran majoria d'usuaris, i que fins i tot, pels que es troben molt familiaritzats, és una feina avorrida i que ocasiona una despesa de temps elevada. És evident que necessitem que algú o alguna cosa faci aquesta feina per nosaltres, de manera que el nostre esforç per accedir al recurs sigui mínim. Aquesta feina la fa per nosaltres el sistema opeartiu. Això, no és només una avantatge per nosaltres com a ususaris, sino també pels programadors d'aplicacions, que poden deixar aquesta tasca en mans del sistema operatiu.

El sistema operatiu permet la comunicació interna entre dispositius de l'ordinador, de manera que l'intercanvi d'informació entre ells sigui d'eficient, ràpid i segur. Com per exemple quan volem passar informació que es troba al disc dur cap a la memòria principal (la RAM).

Una tasca important del sistema operatiu és la d'assignar els recursos hardware als programes d'aplicació de la manera més eficient posible. Si un programa d'aplicació està accedint a un recurs lent, com per exemple una impressora, i es preveu que no tornarà a utilitzar un un recurs tan limitat i important com és la CPU fins d'aquí uns segons o minuts, el sistema operatiu es pot encarregar de fer que una altre programa d'aplicació tingui accés a la CPU i faci les operacions que li calgui.

De la mateixa manera que el sistema operatiu facilita l'accés al hardware, programes i fitxer , també pot controlar el seu us, de manera que per exemple pot prohibir l'accés a un element de hardware, o l'execució d'un programa o l'accés a un fitxer a un usuari o programa que no tingui drets per fer-ho

Des del punt de vista d'un programador, el sistema operatiu l'allibera de la feina de desenvolupar versions diferents d'un mateix programa en funció del hardware de l'ordinador el qual s'executarà (feina gairebé imposible, donat la gran diversitat de configuracions d'ordinador amb les que es pot arribar a trobar). Només ha de pensar que el seu programa ha de funcionar sobre el sistema operatiu de l'ordinador on s'executa el progrma. Tot i això, evidentment, haurà de desenvolupar versions diferents d'un mateix programa perquè pogui funcionar sobre sistemes operatius diferents.

2-Serveis

Tenint en compte que és i quines són les tasques de les quals es fa responsable un sistema operatiu, podem dir que els serveis que ens hauria de facilitar són els següents:

  1. Execució de programes a requeriment de l'usuari o d'altres programes d'aplicació: És una tasca especialment important. El sistema operatiu ha de ser capaç de trobar i carregar en memòria un programa, i a continuació començar la seva execució.

  2. L'accés a la realització operacions E/S demanades per l'usuari o un programa d'aplicació: El sistema operatiu ha de ser capaç de comunicar-se amb els dispositius E/S, i donar-los les ordres necessàries per que portin a terme la tasca que nosaltres desitjem. Ha de ser també capaç d'entendre els nostres ordres, i traduir-les a ordres enviades als dispositius E/S.

  3. Manipulació del sistema de fitxers i de directoris: El S.O. ha de ser capaç d'organitzar la informació que es troba en els dispositius d'emmagatzematge permanent,de manera que sigui fàcil per l'usuari o un programa d'aplicació moure's, trobar, i manipular la informació desada, i al mateix temps, tenir en compte que els dispositius hardware, organitzen la informació d'una manera diferent, adaptada a les seves característiques. Així, per l'usuari la informació es troba dins de fitxers desats dins de directoris o carpetes, i pel disc dur la informació es troba petites cel.les, anomenades sectors que es troben dins repartides per tot el disc dur. Un fitxer forma una unitat per l'usuari, però pel disc dur és un conjunt de sectors, repartits pel disc dur, i que no tenen perquè estar junts. El sistema operatiu ha de ser capaç de comunicar-se amb l'usuari i el disc dur, i traduir les seves diferents "visions" de com està organitzada la informació.

  4. Altres serveis: Detecció d'errors, Assignació de recursos, Protecció, etc.....

3-Esquema de comunicacións entre els elements d'un sistema informàtic

Els programes es connecten directament amb el S.O., per mitjà del que s'anomenen "crides al sistema". Una crida al sistema és qualsevol petició o ordre que fa un programa al sistema operatiu perquè que faci una determinada tasca. En canvi quan és l'usuari qui dóna una ordre, llavors ha d'utilitzar un programa intermedi, anomenat "interpret de comandes" o shell, que es pot considerar independent del sistema operatiu, però que es posarà sempre en funcionament quan arrenquem l'ordinador. Aquest shell pot ser alfanumèric (treballarem amb el teclat) o pot ser gràfic amb un ratolí i teclat. L'usuari dóna ordres amb el shell (per exemple, les escriu. Per exemple, fa un doble click sobre un dibuix que troba a la pantalla amb el ratolí), i el shell les converteix a crides al sistema. Per tant, podem dir que des del punt de vista de la comunicació entre usuaris, programes d'aplicació i hardware, tenim el següent esquema: