Diferencia entre revisiones de «Sistemes operatius»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
(Página creada con «L'ordinador és un sistema programable format per un conjunt d'elements de maquinari que necessiten instruccions que li indiquen com utilitzar els recursos. El conjunt ...»)
 
Sin resumen de edición
Línea 27: Línea 27:


Per comprendre millor perquè hi ha aquestes funcions i quins són els seus objectius, les anirem estudiant mentre fem un breu recorregut a través de la meteòrica història dels ordinadors i la informàtica. Els objectius fonamentals dels sistemes operatius respecte a aconseguir la major eficiència i facilitat d'ús possibles, no són sempre compatibles, ja que qualsevol sistema que hagi de ser eficient, normalment no serà fàcil d'usar, mentre que si és fàcil d'usar, s'haurà oferir als usuaris moltes facilitats i ajudes, incloent molts passos i informació que per a un usuari expert no serien necessàries, el que implica, òbviament, una pèrdua d'eficiència.
Per comprendre millor perquè hi ha aquestes funcions i quins són els seus objectius, les anirem estudiant mentre fem un breu recorregut a través de la meteòrica història dels ordinadors i la informàtica. Els objectius fonamentals dels sistemes operatius respecte a aconseguir la major eficiència i facilitat d'ús possibles, no són sempre compatibles, ja que qualsevol sistema que hagi de ser eficient, normalment no serà fàcil d'usar, mentre que si és fàcil d'usar, s'haurà oferir als usuaris moltes facilitats i ajudes, incloent molts passos i informació que per a un usuari expert no serien necessàries, el que implica, òbviament, una pèrdua d'eficiència.
== Història dels sistemes Operatius ==
=== Generació Zero. Anys 40. ===
A finals dels anys 40, amb el que podríem anomenar l'aparició de la primera generació de computadores, s'accedia directament a la consola de l'ordinador des del qual s'actuava sobre una sèrie de micro interruptors que permetien introduir directament el programa en la memòria de l'ordinador (en realitat en existir tan poques computadores tots podrien considerar prototips i cada constructor ho feia sense seguir cap criteri predeterminat). En aquella època no existien els sistemes operatius, i els programadors havien interactuar amb el maquinari del computador sense ajuda externa. Això feia que el temps de preparació per realitzar una tasca fora considerable.
Quan a un usuari li arribava el seu temps de màquina, havia de afanyar a introduir a l'ordinador totes les fitxes perforades que conformaven el seu programa, executar el programa a l'ordinador, vigilar el seu funcionament i esperar que totes les operacions s'acabaran (si hi havia sort, abans que se li acabés el seu temps de màquina).
Apareix la figura del "operador de l'ordinador", persones especialitzades en executar les rutines de càrrega i descàrrega, amb la finalitat de mantenir el sistema amb la màxima ocupació possible, rebent els treballs dels usuaris per a la seva execució. D'aquesta manera, en rebre aquests treballs, els reunia i executava seqüencialment consumint únicament el temps que realment necessitessin i evitant en gran manera els temps d'inactivitat del processador.
=== Primera Generació. Anys 50. ===
A principis dels anys 50 amb l'objecte de facilitar la interacció entre persona i ordinador, els sistemes operatius fan una aparició discreta i bastant simple, amb conceptes com ara el monitor resident, el procés per lots i l'emmagatzematge temporal.
* Monitor resident. El seu funcionament era bastant simple, es limitava a carregar els programes a memòria, llegint-los d'una cinta o de targetes perforades, i executar-los. El problema era trobar una forma d'optimitzar el temps entre la retirada d'un treball i el muntatge del següent. Era summament complicat, pel fet que eren targetes perforades les quals les havia de llegir el sistema.
* Processament per lots. Com a solució per optimitzar, en un mateix nucli de cinta o conjunt de targetes es muntaven els programes, de manera que s'executaran un a continuació d'un altre sense perdre gairebé temps en la transició.
* Emmagatzematge temporal. El seu objectiu era disminuir el temps de càrrega dels programes, fent simultània la càrrega del programa o la sortida de dades amb l'execució de la següent tasca. Per això s'utilitzaven tècniques de buffering.
=== Segona Generació. Anys 60. ===
En els anys 60 es van produir canvis notoris en diversos camps de la informàtica, amb l'aparició del circuit integrat la majoria orientats a seguir incrementant el potencial dels computadors. Per això s'utilitzaven tècniques d'allò més diverses:
* Multiprogramació. En un sistema multiprogramat la memòria principal alberga a més d'un programa d'usuari. La CPU executa instruccions d'un programa, quan el que es troba en execució realitza una operació d'E / S, en lloc d'esperar que acabi l'operació d'E / S, es passa a executar un altre programa. Si aquest realitza, al seu torn, una altra operació d'E / S, s'envien les ordres oportunes al controlador, i passa a executar un altre. D'aquesta forma és possible, tenint emmagatzemat un conjunt adequat de tasques en cada moment, utilitzar de manera òptima els recursos disponibles.
* Multiprocessador. Permet treballar amb màquines que tenen més d'un microprocessador.
* Multihilado. El multiprocessador pot executar simultàniament diversos fils pertanyents a un mateix procés o bé a processos diferents.
=== Tercera Generació. Sistemes operatius desenvolupats (Anys 70 i 80). ===
A causa del avanç de l'electrònica, va poder començar a crear-se circuits amb milers de transistors en un centímetre quadrat de silici, el que portaria, pocs anys després, a produir els primers sistemes integrats. Aquesta dècada es podria definir com la dels sistemes de propòsit general i s'hi desenvolupen tecnologies que se segueixen utilitzant en l'actualitat. És en els anys 70 quan es produeix la proliferació dels miniordinadors i la informàtica s'apropa al nivell d'usuari.
Es va realitzar un costosíssim treball per a interposar una àmplia capa de programari entre l'usuari i la màquina, de manera que el primer no hagués de conèixer cap detall de la circuiteria. Fins llavors, l'usuari havia de conèixer un complex llenguatge de control per realitzar els seus treballs que depenien del Hardware on treballés.
Un altre dels inconvenients és el gran consum de recursos que ocasionaven, a causa dels grans espais de memòria principal i secundària ocupats, així com el temps de processador consumit. És per això que es va intentar fer èmfasi en millorar les tècniques ja existents de multiprogramació i temps compartit.
Amb 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 fos 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. Un avanç 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 (Microsoft 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.
===Quarta Generació. Anys 90 fins a l'actualitat.===
Incorporen, amb una major o menor eficiència, tots els components que es descriuen en aquest tema, multiprocés, multiusuari, de xarxa, multitasca, abstracció, seguretat, integració amb Internet, etc ...
Un fet fonamental en aquest etapa és la creació d'un sistema operatiu lliure per a la humanitat, impulsada per Richard Stallman, ex-empleat del MIT. Motivat per aquesta idea comença la construcció i desenvolupament de les eines elementals que componen un sistema operatiu, a aquesta part del desenvolupament se li coneix com GNU.
En aquesta etapa Richard Stallman explica amb la col·laboració de milers de programadors a nivell mundial. L'any 1991 apareix la primera versió del nucli Linux va ser creat per Linus Torvalds i aconseguia acoblar totes les eines elementals creades pel projecte GNU de manera eficient.
Així, el nucli Linux té una importància fonamental per al projecte, és tal la importància d'aquest que el projecte acaba cridant GNU / Linux, donant un 50% d'importància a ambdues parts.
Una altra fita important en aquest període va ser l'aparició de Windows 95 que se li pot considerar un sistema operatiu, ja que Windows 3.11 només era una interfície gràfica del MS-DOS. Avui dia és el sistema operatiu més difós en l'àmbit domèstic encara que també hi ha versions per a professionals (servidors).
En l'actualitat el paradigma dels sistemes operatius aquesta migrant a la utilització d'Internet com a suport del sistema operatiu deixant de banda l'emmagatzematge secundari (Discs Durs).

Revisión del 14:34 18 oct 2012

L'ordinador és un sistema programable format per un conjunt d'elements de maquinari que necessiten instruccions que li indiquen com utilitzar els recursos. El conjunt d'instruccions o programes és el que coneixem com a suport lògic o programari. Un ordinador, sense programari que ho programi, és bàsicament un bloc de metall inútil, però amb el programari pot emmagatzemar, processar i obtenir informació, editar textos, controlar l'entorn, etc.

Sens dubte, la utilització dels recursos mitjançant programes és molt complicada, ja que cada dispositiu és diferent i amb gran quantitat de característiques a controlar. Per això, una de les primeres accions a dur a terme és el disseny i codificació del programari que ens faciliti el maneig d'aquests recursos, evitant, en la mesura del possible, que haguem de tenir profunds coneixements del maquinari, cedint-li aquesta tasca a un reduït nombre de professionals que seran els que construeixin aquest programari. Un cop realitzat aquest esforç de disseny, es pot pensar perquè no es completa una mica més per tal de dotar els usuaris d'unes quantes funcions addicionals, que no només facilitin l'ús d'aquests recursos, sinó que a més els potenciïn al màxim. Doncs bé, aquest programari així dissenyat, té per finalitat gestionar adequadament els recursos perquè faci la feina que se'ls ha encomanat, i que, a més, potenciïn les funcions dels mateixos, és el que anomenarem sistema operatiu, podent definir com:

"Un sistema operatiu és un conjunt de programes que, ordenadament relacionats entre si, contribueixen a que l'ordinador porti a terme correctament la feina encomanada."

Des del punt de vista de l'usuari, el sistema operatiu consisteix en una sèrie de programes i funcions que oculten els detalls del maquinari, oferint una via senzilla i flexible d'accedir-hi, tenint dos objectius fonamentals:

  • Seguretat: El sistema operatiu ha d'actuar contra qualsevol manipulació estranya, ja sigui accidental o premeditada que pogués danyar la informació, perjudicar altres usuaris o provocar un funcionament no desitjat del sistema. Per exemple, hi ha certes instruccions que poden aturar la màquina i altres que fan operacions directament sobre el maquinari, que hem d'evitar que s'utilitzin directament pels programes. Per això, alguns sistemes proporcionen dos estats, anomenats estat protegit (Sistema o nucli), en el qual s'executa el sistema operatiu, i estat no protegit (Usuari o User), que és el destinat a l'execució dels programes d'usuari i d'aplicació. D'aquesta manera s'impedeix que els programes dels usuaris puguin tenir contacte directe amb el maquinari, o puguin forçar un incorrecte funcionament del sistema.
  • Abstracció: La tendència actual del programari i dels llenguatges de programació és amagar el més possible els detalls de més baix nivell, intentant donar als nivells superiors una visió més senzilla, global i abstracta, oferint operacions per manipular les estructures ocultes, desconeixent per complet la gestió interna de les mateixes. Sobre aquestes estructures es construeixen altres que abstrauen a les anteriors, i així successivament. Gràcies a l'abstracció, els sistemes operatius emmascaren els recursos físics, permetent el maneig amb funcions més generals que oculten les bàsiques, constituint veritables recursos ficticis o virtuals, que milloren i són més potents que els físics. Des del punt de vista d'un programa o usuari, la màquina física es converteix, gràcies al sistema operatiu, en una màquina virtual, també coneguda com a màquina estesa, que presenta l'avantatge respecte a la física d'oferir més funcions de les que normalment suportaria aquesta última. Des del punt de vista de l'usuari, el sistema operatiu proporciona serveis que no són presents a la màquina subjacent. Aquests serveis inclouen les facilitats de càrrega i execució de programes, interacció entre l'usuari i els programes, permetent que s'executin diversos al mateix temps, gestió de la comptabilitat per facturar els serveis i emmagatzematge de dades i programes.

Com a resum, podem dir que el sistema operatiu persegueix aconseguir la major eficiència possible del maquinari i facilitar el seu ús. L'objectiu fonamental del sistema operatiu és gestionar els recursos oferts pel maquinari. Funcions dels sistemes operatius.

Funcions del sistema operatiu

Les funcions dels sistemes operatius són diverses i han anat evolucionant d'acord amb els progressos que la tècnica i la informàtica han experimentat. Com a principals funcions, podríem enumerar les següents:

  • Gestió de processos. Cal diferenciar entre els conceptes programa i procés. Un programa és un ens passiu, que quan es carrega en memòria i comença a executar-se, pot originar una gran quantitat de processos.

Gestió de la memòria. La gestió de memòria, sol anar associada a la gestió de processos. Per executar un procés és necessari assignar unes adreces de memòria exclusives per a ell i carregar-hi, quan el procés finalitzi la seva execució cal alliberar les adreces de memòria que estava usant.

  • Gestió de fitxers. Un fitxer és una abstracció per definir una col · lecció d'informació no volàtil. El seu objectiu és proporcionar un model de treball senzill amb la informació emmagatzemada en els dispositius d'emmagatzematge. Aquests fitxers han de tenir espai assignat als dispositius, han d'estar protegits entre ells, s'han d'organitzar segons uns determinats esquemes ... tot això és la gestió de fitxers.
  • Gestió dels dispositius d'E / S. La gestió de l'E / S té com a objectiu proporcionar una interfície d'alt nivell dels dispositius d'E / S senzilla d'utilitzar. En alguns sistemes aquesta interfície és semblant a la dels fitxers (Linux).

Gestió de la xarxa. El sistema operatiu és l'encarregat de gestionar els diferents nivells de xarxa, els controladors dels dispositius involucrats a la xarxa, els protocols de comunicació, les aplicacions de xarxa, etc. Protecció i seguretat. Mecanismes per permetre o denegar l'accés als usuaris i als seus processos a determinats recursos (fitxers, dispositius d'E / S, xarxa, etc.).

Per comprendre millor perquè hi ha aquestes funcions i quins són els seus objectius, les anirem estudiant mentre fem un breu recorregut a través de la meteòrica història dels ordinadors i la informàtica. Els objectius fonamentals dels sistemes operatius respecte a aconseguir la major eficiència i facilitat d'ús possibles, no són sempre compatibles, ja que qualsevol sistema que hagi de ser eficient, normalment no serà fàcil d'usar, mentre que si és fàcil d'usar, s'haurà oferir als usuaris moltes facilitats i ajudes, incloent molts passos i informació que per a un usuari expert no serien necessàries, el que implica, òbviament, una pèrdua d'eficiència.

Història dels sistemes Operatius

Generació Zero. Anys 40.

A finals dels anys 40, amb el que podríem anomenar l'aparició de la primera generació de computadores, s'accedia directament a la consola de l'ordinador des del qual s'actuava sobre una sèrie de micro interruptors que permetien introduir directament el programa en la memòria de l'ordinador (en realitat en existir tan poques computadores tots podrien considerar prototips i cada constructor ho feia sense seguir cap criteri predeterminat). En aquella època no existien els sistemes operatius, i els programadors havien interactuar amb el maquinari del computador sense ajuda externa. Això feia que el temps de preparació per realitzar una tasca fora considerable.

Quan a un usuari li arribava el seu temps de màquina, havia de afanyar a introduir a l'ordinador totes les fitxes perforades que conformaven el seu programa, executar el programa a l'ordinador, vigilar el seu funcionament i esperar que totes les operacions s'acabaran (si hi havia sort, abans que se li acabés el seu temps de màquina).

Apareix la figura del "operador de l'ordinador", persones especialitzades en executar les rutines de càrrega i descàrrega, amb la finalitat de mantenir el sistema amb la màxima ocupació possible, rebent els treballs dels usuaris per a la seva execució. D'aquesta manera, en rebre aquests treballs, els reunia i executava seqüencialment consumint únicament el temps que realment necessitessin i evitant en gran manera els temps d'inactivitat del processador.

Primera Generació. Anys 50.

A principis dels anys 50 amb l'objecte de facilitar la interacció entre persona i ordinador, els sistemes operatius fan una aparició discreta i bastant simple, amb conceptes com ara el monitor resident, el procés per lots i l'emmagatzematge temporal.

  • Monitor resident. El seu funcionament era bastant simple, es limitava a carregar els programes a memòria, llegint-los d'una cinta o de targetes perforades, i executar-los. El problema era trobar una forma d'optimitzar el temps entre la retirada d'un treball i el muntatge del següent. Era summament complicat, pel fet que eren targetes perforades les quals les havia de llegir el sistema.
  • Processament per lots. Com a solució per optimitzar, en un mateix nucli de cinta o conjunt de targetes es muntaven els programes, de manera que s'executaran un a continuació d'un altre sense perdre gairebé temps en la transició.
  • Emmagatzematge temporal. El seu objectiu era disminuir el temps de càrrega dels programes, fent simultània la càrrega del programa o la sortida de dades amb l'execució de la següent tasca. Per això s'utilitzaven tècniques de buffering.

Segona Generació. Anys 60.

En els anys 60 es van produir canvis notoris en diversos camps de la informàtica, amb l'aparició del circuit integrat la majoria orientats a seguir incrementant el potencial dels computadors. Per això s'utilitzaven tècniques d'allò més diverses:

  • Multiprogramació. En un sistema multiprogramat la memòria principal alberga a més d'un programa d'usuari. La CPU executa instruccions d'un programa, quan el que es troba en execució realitza una operació d'E / S, en lloc d'esperar que acabi l'operació d'E / S, es passa a executar un altre programa. Si aquest realitza, al seu torn, una altra operació d'E / S, s'envien les ordres oportunes al controlador, i passa a executar un altre. D'aquesta forma és possible, tenint emmagatzemat un conjunt adequat de tasques en cada moment, utilitzar de manera òptima els recursos disponibles.
  • Multiprocessador. Permet treballar amb màquines que tenen més d'un microprocessador.
  • Multihilado. El multiprocessador pot executar simultàniament diversos fils pertanyents a un mateix procés o bé a processos diferents.

Tercera Generació. Sistemes operatius desenvolupats (Anys 70 i 80).

A causa del avanç de l'electrònica, va poder començar a crear-se circuits amb milers de transistors en un centímetre quadrat de silici, el que portaria, pocs anys després, a produir els primers sistemes integrats. Aquesta dècada es podria definir com la dels sistemes de propòsit general i s'hi desenvolupen tecnologies que se segueixen utilitzant en l'actualitat. És en els anys 70 quan es produeix la proliferació dels miniordinadors i la informàtica s'apropa al nivell d'usuari.

Es va realitzar un costosíssim treball per a interposar una àmplia capa de programari entre l'usuari i la màquina, de manera que el primer no hagués de conèixer cap detall de la circuiteria. Fins llavors, l'usuari havia de conèixer un complex llenguatge de control per realitzar els seus treballs que depenien del Hardware on treballés.

Un altre dels inconvenients és el gran consum de recursos que ocasionaven, a causa dels grans espais de memòria principal i secundària ocupats, així com el temps de processador consumit. És per això que es va intentar fer èmfasi en millorar les tècniques ja existents de multiprogramació i temps compartit.

Amb 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 fos 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. Un avanç 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 (Microsoft 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.

Quarta Generació. Anys 90 fins a l'actualitat.

Incorporen, amb una major o menor eficiència, tots els components que es descriuen en aquest tema, multiprocés, multiusuari, de xarxa, multitasca, abstracció, seguretat, integració amb Internet, etc ...

Un fet fonamental en aquest etapa és la creació d'un sistema operatiu lliure per a la humanitat, impulsada per Richard Stallman, ex-empleat del MIT. Motivat per aquesta idea comença la construcció i desenvolupament de les eines elementals que componen un sistema operatiu, a aquesta part del desenvolupament se li coneix com GNU.

En aquesta etapa Richard Stallman explica amb la col·laboració de milers de programadors a nivell mundial. L'any 1991 apareix la primera versió del nucli Linux va ser creat per Linus Torvalds i aconseguia acoblar totes les eines elementals creades pel projecte GNU de manera eficient.

Així, el nucli Linux té una importància fonamental per al projecte, és tal la importància d'aquest que el projecte acaba cridant GNU / Linux, donant un 50% d'importància a ambdues parts.

Una altra fita important en aquest període va ser l'aparició de Windows 95 que se li pot considerar un sistema operatiu, ja que Windows 3.11 només era una interfície gràfica del MS-DOS. Avui dia és el sistema operatiu més difós en l'àmbit domèstic encara que també hi ha versions per a professionals (servidors).

En l'actualitat el paradigma dels sistemes operatius aquesta migrant a la utilització d'Internet com a suport del sistema operatiu deixant de banda l'emmagatzematge secundari (Discs Durs).