El sistema operatiu és el conjunt dels diferents programes que controlen el funcionament d'un ordinador.
Les seves funcions, entre d'altres, consisteixen a gestionar les transferències
d'informació internes, procurar la comunicació de l'ordinador amb els
operadors, controlar l'execució dels programes amb la detecció dels errors,
encadenar automàticament les feines, optimitzar els recursos (memòria, unitat
aritmètica, etc), carregar i descarregar automàticament els programes en funció
de l'espai de memòria i dels diferents perifèrics.
El
sistema operatiu és el programari responsable de gestionar els recursos
en un terminal (ja sigui un ordinador
personal, un telèfon mòbil, etc).
El sistema operatiu actua com a amfitrió dels diversos programes d'aplicació
que normalment corren sobre una màquina. Una de les principals funcions és
gestionar els detalls de l'operació del maquinari,
de manera que els diversos programes no se n'hagin d'ocupar, alleugerint i fent
més fàcil així el procés de programació d'aquestes aplicacions. La gran majoria
d'ordinadors, des de telèfons mòbil, ordinadors personals, videoconsoles fins a
supercomputadors, usen algun tipus de sistema operatiu.
Els
sistemes operatius ofereixen diversos serveis als programes d'aplicació i als
usuaris. Les aplicacions poden accedir a aquests serveis a través d'API(application
programming interfaces o
interfície de programació d'aplicacions) o a través de crides de sistema. En
sistemes mòbils i d'escriptori, la GUI(interfície
gràfica d'usuari) acostuma a formar part del sistema operatiu, mentre que en
sistemes més grans i multiusuari, la GUI s'implementa com un programa a part
del sistema operatiu. Per a les funcions del maquinari (hardware) com
d'entrada (input) i sortida (output) i l'assignació de memòria,
el sistema operatiu actua com a intermediari entre els programes d'aplicació i
el maquinari de l'equip.
Alguns
dels sistemes operatius més comuns són Microsoft Windows, GNU/Linux, Mac
OS X; també Solaris.
Microsoft Windows és el que té amb diferència més quota de mercat en els
segments d'ordinadors de sobretaula i portàtils; Microsoft Windows és una
família de sistemes operatius propietaris més utilitzat en els ordinadors
personals i és el més habitual dels sistemes operatius per a ordinadors
personals, amb un 90% de la quota de mercatPer altra banda, en el segment de
servidors i sistemes encastats, l'ús està dividit entre diversos sistemes
operatius. Per la llista completa de sistemes operatius vegeu llista de
sistemes operatius.
Els
primers sistemes (1945-1955) eren grans màquines operades des de la consola
mestra pels programadors. Durant la dècada següent (1955-1965) es van dur a
terme avanços en el maquinari: lectores de targetes, impressores, cintes
magnètiques, etc. Això al seu torn va provocar un avanç en el programari:
compiladors, assembladors, carregadors, controladors de dispositius, etc.
En els anys 60 es van produir canvis notoris en diversos camps de la
informàtica: la multiprogramació, les tecnologies del temps compartit i la del
temps real, i multiprocessador.
Dècada del 1980Amb
la creació dels circuits LSI (integració a gran escala), xips que contenien
milers de transistors en un centímetre quadrat de silici, va començar l'auge
dels ordinadors personals. En aquests es va deixar una mica de banda el rendiment
i es va buscar més que el sistema operatiu és amigable, sorgint menús, i
interfícies gràfiques. Això reduïa la rapidesa de les aplicacions, però es
tornaven més pràctics i simples per als usuaris. En aquesta època, van seguir
utilitzant llenguatges ja existents, com Smalltalk o C, i van néixer altres
nous, dels quals es podrien destacar: C++ i Eiffel dins del paradigma de
l'orientació a objectes, i Haskell i Miranda en el camp de la programació
declarativa . Un avenç important que es va establir a mitjans de la dècada de
1980 va ser el desenvolupament de xarxes de computadores personals que corrien
sistemes operatius en xarxa i sistemes operatius distribuïts. En aquesta
escena, dos sistemes operatius eren els majoritaris: MS-DOS (Micro Soft Disk
Operating System), escrit per Microsoft per a IBM PC i altres ordinadors que
utilitzaven la CPU Intel 8088 i els seus successors, i UNIX, que dominava en
els ordinadors personals que feien ús del Motorola 68000.
El llançament
oficial de l'ordinador Macintosh al gener de 1984, al preu de US $ 1,995
(després canviat a $ 2,495 dòlars)
. Incloïa el seu sistema operatiu Mac OS
la característiques noves era una GUI (Graphic User Interface), Multitasca i
Mouse. Va provocar diferents reaccions entre els usuaris acostumats a la línia
d'ordres i alguns ratllant l'ús del Mouse com joguina. MS-DOS
El 1981 Microsoft va
comprar un sistema operatiu anomenat QDOS que, després de realitzar unes poques
modificacions, es va convertir en la primera versió de MS-DOS (MicroSoft Disk Operating
System). A partir d'aquí es van succeir una sèrie de canvis fins a arribar a la
versió 7.1, versió 8 en Windows Milenium, a partir de la qual MS-DOS va deixar
d'existir com un component del sistema operatiu.
A mitjans dels anys
80 es crea aquest sistema operatiu, però no és fins a la sortida de Windows 95
que se li pot considerar un sistema operatiu, només era una interfície gràfica
del MS-DOS. Avui en dia és el sistema operatiu més difós en l'àmbit domèstic
encara que també hi ha versions per a servidors com Windows NT. Microsoft ha
dissenyat també algunes versions per superordinadors, però sense gaire èxit.
Anys després es va fer el Windows 98 que era el més eficaç d'aquesta època
Després es crearia el sistema operatiu de Windows ME (Windows Millenium
Edition) aproximadament entre l'any 1999 i l'any 2000. Un any després es
crearia el sistema operatiu de Windows 2000 en aquest mateix any. Després li
seguiria el sistema operatiu més utilitzat en l'actualitat, Windows XP i altres
sistemes operatius d'aquesta família especialitzats en les empreses. Ara el més
recent és Windows 7 (Windows Seven) que va sortir al mercat el 22 d'octubre del
2009, deixant enrere al Windows Vista, que va tenir innombrables crítiques
durant el poc temps que va durar en el mercat. Ara s'estan desenvolupant
actualitzacions de Windows 7.
Dècada del 1990
La gran novetat és
l'aparició de GNU/Linux. Aquest sistema és similar a Unix, basat en l'estàndard
POSIX, un sistema que en principi treballava en mode comandes. La incorporació
de les Xlib i l'evolució dels wm (windows manager), existeix l'opció d'utilitzar
un entorn desktop tal com : lxde, gnome, kde, xfce. Recentment GNU / Linux
disposa d'un aplicatiu que converteix les finestres en un entorn 3D com ara
Beryl o Compiz. El que permet utilitzar linux d'una forma visual atractiva.
Funcions bàsiques
Els sistemes
operatius, en la seva condició de capa programari que possibiliten i simplifica
el maneig de la computadora, ocupen una sèrie de funcions bàsiques essencials
per a la gestió de l'equip. Entre les més destacables, cadascuna exercida per
un component intern (mòdul en nuclis monolítics i servidor en micronuclis),
podem ressenyar les següents:
• Proporcionar més comoditat en l'ús d'un
computador.
• Gestionar de manera eficient els
recursos de l'equip, executant serveis per als processos (programes)
• Brindar una interfície a l'usuari,
executant instruccions (comandaments).
• Permetre que els canvis deguts al
desenvolupament del propi SOTA es puguin realitzar sense interferir amb els
serveis que ja es prestaven (evolutivitat).
Un sistema operatiu
ocupa cinc funcions bàsiques en l'operació d'un sistema informàtic:
subministrament d'interfície a l'usuari, administració de recursos,
administració d'arxius, administració de tasques i servei de suport i
utilitats.
Tecnologies
Un sistema operatiu
és un conjunt de tecnologies que permeten a l'ordinador fer certes funcions.
Aquestes tecnologies poden o no ser en tot sistema operatiu, i normalment hi ha
diferències en com són implementades. Tot i això, la majoria de sistemes
operatius moderns provenen d'uns mateixos orígens i, per tant, són bàsicament
similars.
Execució de
programes
L'execució d'un
programa implica la creació d'un procés per part del sistema operatiu. El
kernel crea un procés assignant memòria al procés, carregant el codi del
programa des del disc o un altre lloc de la memòria al nou espai que s'ha
reservat pel procés, i començant a executar-lo.
Interrupcions
Les interrupcions
són centrals als sistemes operatius, en tant que permeten al sistema operatiu
tractar les diferents activitats que tant els programes en execució com el món
extern generen. La programació basada en interrupcions és la forma més bàsica
de compartició de temps, sent directament suportada per la majoria de CPU. Les
interrupcions proporcionen a l'ordinador una manera automàtica d'executar un
codi específic en resposta a certs esdeveniments (events). Fins i tot els
ordinadors més bàsics suporten les interrupcions, i permeten al programador
especificar un codi que serà executat quan l'esdeveniment tingui lloc.
Quan es rep una
interrupció, el hardware de l'ordinador, automàticament suspèn el programa que
s'està executant, desant (amb la instrucció push) el seu estat a la pila, els
seus registres i el comptador de programa. Això seria anàleg a deixar un punt
de llibre al llibre quan algú és interromput per una trucada.
En els sistemes
operatius moderns, les interrupcions les gestiona el nucli del sistema
operatiu.
Mode protegit i mode
supervisor
Les CPU modernes,
suporten dos modes d'operació: el mode protegit i mode supervisor, cosa que
permet que certes funcions de la CPU només les controli el sistema operatiu.
Algunes d'aquestes funcions especials són l'adreçament de la memòria virtual, o
limitar l'accés a hardware segons determini el programa que s'executi en mode
de supervisor. Aquests modes són essencials per suportar completament els
sistemes operatius multiusuari (com ara els sistemes UNIX).
Quan un ordinador
s'engega, automàticament funciona en mode supervisor. Els primers programes que
s'hi executen: la BIOS, el bootloader, i el sistema operatiu, tenen accés
il•limitat al hardware. Però quan el sistema operatiu passa el control als
altres programes, pot posar la CPU en mode protegit.
Entre altres coses,
un sistema operatiu multitasca és responsable de gestionar tota la memòria del
sistema que els programes fan servir. Això assegura que un programa no
interfereix amb memòria ja usada per un altre programa. Com que molts programes
s'executen a la vegada, cada un ha de tenir accés independent a la memòria.
La gestió de memòria
cooperativa, usada per molts sistemes operatius inicials, assumeix que tots els
programes fan un ús voluntari del gestor de memòria del nucli, i no excedeixen
la memòria que tenen assignada. Aquest tipus de gestió de memòria ja no es veu
avui en dia, ja que els programes usualment tenen bugs que poden fer que
excedeixin la memòria que els correspon. En aquest sistema, si un programa
falla, pot afectar o sobreescriure la memòria d'altres programes. Programes
maliciosos, o els mateixos virus, poden alterar intencionadament la memòria
d'altres processos o del mateix sistema operatiu en si mateix. Només és
necessari un programa incorrecte per penjar el sistema.
La protecció de
memòria permet al nucli limitar l'accés d'un procés a la memòria del sistema. Existeixen
diversos mètodes de protecció de memòria, incloent-hi la segmentació i la
paginació. Tots els mètodes requereixen algun tipus de suport en el hardware
(com ara la 80286 MMU), que no existeix en tots els computadors.
Tant en mode de
segmentació com de paginació, certs registres en mode protegit indiquen a la
CPU quines adreces de memòria pot permetre accedir a un procés en execució. Els
intents d'accedir a altres adreces provocarà una interrupció que farà que la
CPU re-entri en mode supervisor, posant el nucli al càrrec. Això s'anomena
violació de segment (segment violation o Seg-V), i com que normalment és un
símptoma de mal comportament, el nucli normalment acabarà el programa ofensiu,
i notificarà l'error.
La memòria virtual
és un sistema de gestió de la memòria dels ordinadors que ofereix als programes
la impressió que la memòria que fan servir té adreces continuades, mentre que
en realitat la memòria pots estar físicament fragmentada o fins i tot
sobrepassar la memòria física i desar-se en emmagatzemament secundari
(normalment disc dur). Els sistemes que usen aquesta tècnica fan més fàcil la
programació de grans aplicacions i permeten un ús més eficient de la memòria
real (p. ex. la memòria RAM).
Si un programa
intenta accedir a memòria que no està dins el rang actual de memòria
accessible, però tot i això li ha estat assignada, el kernell'interromprà de la
mateixa manera que faria si un programa intentés excedir la memòria que li ha
estat assignada. Sota Unix, aquest interrupció es coneix com page fault o
fallada de pàgina.
En els sistemes
operatius moderns, aquella memòria d'aplicació que és accedida menys
freqüentment es pot emmagatzemar temporalment a disc o altres medis per
alliberar espai per a altres programes. Això s'anomena swapping (intercanvi),
ja que una mateixa àrea de memòria pot ser usada per múltiples programes, i el
contingut d'aquesta memòria pot ser intercanviat sota demanda.
Multitasca
La multitasca es
refereix al fet que múltiples processos independents corrin en el mateix
ordinador, donant l'aparença que les tasques s'executen al mateix temps. Com
que la majoria d'ordinadors poden fer com a màxim una o dues tasques a la
vegada, l'objectiu s'aconsegueix compartint el temps del processador, de manera
que cada programa usa un percentatge del temps de l'ordinador per executar-se.
També cal controlar
que cap procés es quedi sense execució i o que monopolitzi el processador.
Un controlador
(driver en anglès) és un tipus de programari dissenyat específicament per
permetre la interacció entre els dispositius de hardware. Típicament es tracta
d'una interfície per comunicar-se amb el dispositiu, ja sigui mitjançant un bus
específic o un subsistema de comunicacions al que l'ordinador estigui
connectat. S'envien comandes al dispositiu o se'n reben dades. Es tracta d'un
software especialitzat en un hardware i també especialitzat en un sistema
operatiu, que així mateix, normalment incorpora gestió d'interrupcions per a
esdeveniments asíncrons i dependents del temps que el dispositiu pugui
ocasionar.
El resultat final és
que permet a qualsevol aplicació o al mateix sistema operatiu d'interaccionar
amb el dispositiu d'una forma transparent.
Els ordinadors
emmagatzemen les dades en discs usant fitxers, que estan estructurats de
maneres específiques per tal de proporcionar un accés ràpid, una alta
fiabilitat, i un bon ús de l'espai disponible en el disc. La manera com els
fitxers són emmagatzemats a disc s'anomena sistema de fitxers, i permet als
fitxers tenir noms i atributs. També permet desar-los en una jerarquia de
directoris o carpetes organitzades en forma d'arbre de directoris.
Els primers sistemes
operatius només suportaven un únic tipus de disc i un únic tipus de sistema de
fitxers. També eren limitats en la seva capacitat, velocitat, i en els noms
dels fitxers i estructures de directori que podien usar. Aquestes limitacions
sovint reflectien limitacions en el sistema operatiu pels que eren dissenyats,
fent molt difícil per a un sistema operatiu suportar més d'un sistema de
fitxers.
Que un ordinador
sigui segur depèn de què diverses tecnologies funcionin correctament. Un
sistema operatiu modern proporciona accés a diversos recursos, que són
accessibles tan des del programari que corre en el sistema, com en els
dispositius externs a través del kernel.
El sistema operatiu
ha de ser capaç de distingir entre les peticions de processament que han de ser
acceptades i les que han de ser denegades. Mentre alguns sistemes simplement
distingeixen entre el nivell "privilegiat" i el nivell
"no-privilegiat", la majoria de sistemes tenen maneres de sol•licitar
la identitat, com un nom d'usuari. Per establir aquesta identitat s'esdevé un
procés d'autenticació. Sovint s'ha d'introduir un nom d'usuari, junt amb la
corresponent contrasenya. També es poden usar altres mètodes d'autenticació,
com ara targetes magnètiques o dades biomètriques. En alguns casos, sobretot en
connexions des de la xarxa, els recursos són accessibles sense cap mena
d'autenticació (com ara llegir un fitxer sobre una carpeta compartida). Molt
relacionat amb l'autenticació és el procés d'autorització: l'accés als serveis
i recursos sol•licitats per part de l'usuari una vegada s'ha autenticat va
lligat amb l'usuari al qual pertany o als grups d'usuari al que l'usuari
pertany.
Proporciona
interfície]
Proporcionen una
interfície d'usuari (de text o gràfica), que permeten a l'usuari comunicar-se
amb l'ordinador, i una interfície d'aplicacions (API) que permeten al
programari comunicar-se amb el sistema operatiu o amb el maquinari. Exemples
són una shell, el Gnome, o KDE.
Classificacions dels
sistemes operatius
A continuació
s'exposen alguns dels criteris que de vegades s'empren per classificar els
diferents sistemes operatius.
No hay comentarios:
Publicar un comentario