SlideShare una empresa de Scribd logo
1 de 12
HISTORIA DE LOS SISTEMAS OPERATIVOS<br />El Sistema Operativo (SO), es lo que hace pensar al ordenador. Si nos queremos meter un poco más de forma técnica, podemos decir en un ordenador se ejecutan programas. Estos programas se dividen en dos apartados: <br />El SO constituye la parte más importante del Software Básico y las funciones más importantes se pueden clasificar en dos grandes secciones. <br />Definición y realización de una máquina virtual <br />  Gestión y distribución compartida de los recursos <br />A lo largo de la historia, han aparecido diferentes SSOO que, en cada momento, se encargaban de recoger las características punteras de lo que se descubría en el mundo de la informática. Hoy en día, sin ir más lejos, se están desarrollando potentes SSOO basados en la Programación Basada en Objetos (POO), que, dicho sea de paso ha sido la última evolución de la informática, hace ya casi 10 años. <br />Lo primero es hacer constar que, lo que nos venden hoy en día como quot;
modernoquot;
, es casi seguro que ya se utilizaba desde hace muchísimo tiempo en otros SSOO. El concepto de Sistema Operativo, no es ni mucho menos nuevo. Los primeros SSOO aparecieron a finales de los años 50; al comienzo de la informática. Al principio, los primeros SSOO eran monousuario y monotarea, algo así como el DOS. Pero con la direferencia de que se gobernaba con tarjetas perforadoras en vez de Diskettes. <br />Pronto empezaron a surgir nuevos conceptos y tras la malgama de SSOO que aparecieron, surgió uno de entre ellos, en el que estaban mezcladas todas las filosofías que hasta entonces se había descubierto en este mundo de la informática. Este SO se denominó Multics, son mediados de los años 60. Poco tiempo despues, se dieron cuenta los diseñadores de este SO que era enfarragoso y muy difícil de administrar, así pues se cogió la esencia misma del SO y el mismo equipo que diseñó el Multics, se puso manos a la obra y a finales de los 60 sacan la primera versión de un SO que revolucionaría la informática; el Unix. <br />El Unix es hoy en dia, casi 30 años despues de su primera versión, para mucha gente que se dedica al mundo de los ordenadores, el único SO de redes real. De hecho es el que se maneja en las administraciones y redes con grandes ordenadores. Se caracterizó en aquel entonces por ser un SO que incorporaba dos conceptos totalmente nuevos, la multitarea y acceso multiusuario; y durante mucho tiempo fue el único SO que se utilizó en las redes. <br />ste panorama se siguió durante unos cuantos años, entre los cuales, en el mundo de los SSOO se iban sacando a la luz nuevas conceptos y todos ellos emanaban del Unix. Uno de esos conceptos era la Memoria Virtual, tan ampliamente utilizada en los SSOO modernos. <br />Dando un gran salto en el tiempo nos vamos a finales de los años 70. Por aquel entonces una casa de ordenadores sacó el primer ordenador personal, o al menos, como se le conoce hoy en día, esa casa fue Apple. El éxito fue tal que en seguida otras casas empezaron a desarrollar ordenadores personales, entre ellas emergió IBM. Cada una de esas casas diseñó una serie de SSOO para sus máquinas; Apple el Mac OS, IBM el CP/M, que pronto fue sustituido por un SO que diseñó un jovencísimo Bill Gates y sus colegas, el DOS. Ambos SSOO para su época fueron revolucionarios ya que el DOS intentaba coger el manejo de archivos del Unix pero limitando la potencia del Unix a un sólo usuario. Por contra, el Mac OS diseñaba un SO totalmente nuevo basado en una Interfaz Gráfica. Algo que rompió la tendencia de los SSOO que se diseñaron hasta entonces. <br />Mientras IBM optó por compartir sus licencias a todo fabricante, Apple no lo hizo. Esto fue la base del mercado de los PCs que conocemos hoy en día. Una arquitectura basada en la conectividad de fabricantes; PC y compatibles, y una arquitectura totalmente particular como son los Apple. <br />Siguieron pasando los años y a mediados de los 80 surgió, de la alianza Microsoft-IBM un SO que en principio sería destinado a sustituir el DOS, ese Sistema fue el OS/2. Este sistema aprovechaba las nuevas características de los PCs de entonces e introdujo un concepto nuevo al DOS, la multitarea. Poco tiempo despues se produjo una ruptura sonada, el duo Microsoft-IBM se rompía. Por un lado IBM seguiría con el OS/2, por otro lado Microsoft desarrolló un programa basado en el caracter intuitivo del interfaz gráfico del Macintosh, Windows. Este programa, que en principio fue catalogado como el juguete de los niños ricos, ya que imperaba el DOS sobre el PC, en poco tiempo se convirtió en el programa más vendido para PCs. <br />En principio no fue nada más que una aplicación que necesitaba del DOS, pero el tiempo y los usuarios demandaron que se convirtiera a un SO completo. Tras varios años en los que MS veía como subía su prestigio en el mercado de los PCs hasta cotas casi impensables 10 años antes (el 80% de los SSOO que se utilizan en el mundo son de MS y el 65% de las Suites de oficina también, sin contar con otras aplicaciones como compiladores, Servidores SQL, etc), se sacó el Windows 95. El SO más utilizado hoy en día en todo el mundo, que no el mejor. <br />E<br />ntre sus características destacan la multitarea, un interfaz de usuario muy intuitivo y un cliente de redes muy conseguido. El DOS sólo era monotarea. Con la salida a la luz de Windows 95, MS acaba con la vida del DOS como tal (aunque muchos usuarios piensan que Windows 95 no es sino el DOS renovado por el tiempo, entre ellos el escribiente) y con la de Windows como programa. El DOS ha sido el SO del PC durante más de 15 años. Hoy en día, que las aplicaciones son viejas al año, constituye todo un record que va a ser muy difícil de superar. <br />Volviendo hacia atrás la mirada, no mucho, desde el año 1990, surge entre los usuarios una demanda que obligó a MS al desarrollo de un SO que aprovechara la interfaz de Windows, pero orientado al mundo empresarial. Ese embrión fue denominado NT, y luego rebautizado a Windows NT. Ese SO aprovechó la interfaz e intuitividad de Windows para llevarla a las redes. Hasta entonces seguía dominada por el Unix, que cumplía su añete 22 de existencia, todo un mozalbete. Tras un par de años de esfuerzos sale a la luz Windows NT y sus características son, como SO orientado a las redes, multitarea, estabilidad y multiusuario. Sus contras son excesivos recursos para poder ser utilizado en una red medianamente grande. <br />Entre medias de todo este circo de MS, IBM sigue mejorando el OS/2 hasta unas cotas muy altas. Y es en 1994 en pleno retraso de MS por sacar un SO real para PC (entonces solo existía como SO el DOS), cuando IBM saca el OS/2 3.0, apodado Warp. Este SO se caracterizaba por tener un multitarea muy rápida, estabilidad enorme amén de una compatibilidad hasta entonces no posible. Era capaz de ejecutar aplicaciones DOS, más rápidas y con más estabilidad que el DOS. Y lo mismo con Windows. Las aplicaciones Windows se ejecutaban mejor y de forma más estable sobre OS/2 que sobre el propio Windows, además de dar cobertura a todas las aplicaciones que se desarrollaran para OS/2. <br />Pese a todo este esfuerzo, la gente sigue esperando el nuevo SO de MS para el mundo doméstico. Ya llevaba más de un año de retraso, ya que la última versión de Windows para el PC se sacó a finales de 1991. Y se hace con MS lo que nunca se había hecho con ninguna casa de Software; darle una prórroga de más de un año. Cualquier casa que hubiera tardado todo ese tiempo en sacar algo al mercado que previamente hubiera estado anunciándolo, hubiera sido retirada del mercado por obligación de la demanda de los usuarios. Yo creo que es cuando Bill Gates se da cuenta de una cosa, no importa si el SO es mejor o peor, no importa el retraso, lo único que importe es que sea MS y sea una versión mejor que la anterior. <br />El año que va desde mediados de 1994 hasta finales de 1995 (que es cuando MS saca el Windows 95) el OS/2, pese a lo que se pudiera suponer, no experimenta un gran crecimiento. Sin embargo, MS iba a provechar ese tiempo muy bien. No fue un retraso debido a mejoras del SO (como fue justificado el retraso), ya que cuando Windows 95 salió seguía adoleciendo de la inestabilidad de su antecesor y era más lento que OS/2. Ese tiempo, lo dedicó al esfuerzo más grande que ha existido por desmarcarse del resto de la competencia. Ese año se dedicó a crear las APIs (herramientas que utilizan los desarrolladores de software para un SO) más difíciles del mercado, y MS daría esa documentación a los desarrolladores siempre y cuando no desarrollasen software en otro SO. <br />Si sumamos lo comentado en los dos últimos párrafos tenemos la jugada ganadora de MS. El porqué de su éxito. A mi entender cuando a la salida de Windows 95, la gente lo compró de forma masiva, se dió una puñalada de muerte a la que fue edad de oro de la informática. Pero ese es otro tema, ahora estamos haciendo un poco de historia sobre el mundo de los SSOO. <br />A finales de 1991 surge el fenómeno más revolucionario que ha existido en la informática. Una persona llamada Linus Torvalds, estudiante de informática finlandés, quiere desarrollar un clónico del Unix. Hasta entonces el único SO que se utilizaba a nivel empresarial era ése. Y para ello pide ayuda por Internet. Pese a que no hace falta voy a poner el mensaje que anunció a otros programadores, aunque sólo sea por hacer un pequeño homenaje a esta persona. <br />quot;
¿Echas de menos los días de Minix 1.1, cuando los hombres eran hombres, y escribían sus propiosdrivers?¿Estás sin ideas y deseas tener un sistema operativo que puedas modificar a tu antojo?¿Te frusta disponer sólo de Minix?¿Pasas las noches en vela para depurar tus cuidados programas?Este anuncio puede ser lo que buscas.Como mencioné hace meses, estoy trabajando en un versión similar a Minix para máquinas AT-386. Finalmente ha empezado a ser utilizable (aunque depende de tus exigencias), y estoy pensando en publicar las fuentes para su difusión, Sólo es la versión 0.2... pero ya ejecuta bash, gcc, gnu-make, gnu-sed, compress y otros..quot;
<br />alida ingente de SSOO al mercado; ya que MS quiso jugar la baza de introducirse en el mundo de las redes con nuevas versiones de Windows NT, IBM sacó una nueva versión del OS/2, destinado a sustituir al DOS, MS también sacó Windows 3.xx y Windows 95 que finalmente fueron los estándares del mercado, Sun y otros con versiones nuevas del Unix y el nuevo Linux que poco a poco ganaba más adeptos, incluso ya en centros universitarios. No olvido las versiones del Mac OS para el Apple, es decir, que se tenía una gran oferta de SSOO y todos ellos buenos. <br />MS, con Windows NT, apostó sobre las redes y se dedicó a sacar tres versiones en poco más de 3 años. Cada una de ellas mejores y más estable que la anterior, pero con el mismo problema de sus antecesoras, el excesivo número de recursos necesarios para administrar una red medianamente grande. <br />Y estamos en 1996, el año que va hasta la fecha de hoy se ha caracterizado por un afianzamiento de los SSOO de MS, ya sean a nivel particular (Windows 95) o a nivel de redes (Windows NT), si bien en este último le queda por luchar dos grandes batallas que se me antojan imposibles, ambas se llaman de parecida forma, Linux/Unix. El SO de los grandes ordenadores, grandes redes o simplemente, de las administraciones, y últimamente, de pequeños usuarios generalmente universitarios. Pese a ser viejo, el Unix, es sin duda ninguna, el SO para las redes. <br />Resumiendo, tras este período de cerca de 30 años de historia, hay una serie de SSOO, que gozan, justa o injustamente de salud para suminstrar al usuario herramientas suficientes para crear un ordenador desde casa con capacidad plena de conexión a Internet. Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.[1]<br />Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, que es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la Perspectiva histórica<br />Los primeros sistemas (1945-1960) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.<br />A finales de los años 80, una computadora Commodore Amiga equipada con una aceleradora Video Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaster junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre las que se incluyen Babylon 5, Seaquest DSV y Terminator II.[6]<br />Problemas de explotación y soluciones iniciales<br />El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad.<br />Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar.<br />Monitores residentes<br />Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial.<br />Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.<br />Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.<br />Sistemas con almacenamiento temporal de E/S<br />Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de buffers con el siguiente funcionamiento:<br />Un programa escribe su salida en un área de memoria (buffer 1).<br />El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.<br />La salida desde el buffer 1 termina y el nuevo cálculo también.<br />Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.<br />El proceso se puede repetir de nuevo.<br />Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).<br />] Perspectiva histórica<br />Los primeros sistemas (1945-1950) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.<br />Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).<br />Sistemas operativos multiprogramados<br />Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:<br />Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.<br />Se pueden mantener en memoria varios programas.<br />Se asigna el uso de la CPU a los diferentes programas en memoria.<br />Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:<br />Administrar la memoria.<br />Gestionar el uso de la CPU (planificación).<br />Administrar el uso de los dispositivos de E/S.<br />Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.<br />Llamadas al sistema operativo<br />Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.<br />C<br />ada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:<br />Las llamadas correspondientes deben tener el mismo formato.<br />Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.<br />Modos de ejecución en un CPU<br />Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes:<br />Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones.<br />Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.<br />Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el S.O. haría que hubiera que reconstruir la aplicación.<br />Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno).<br />Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función.<br />Bibliotecas de interfaz de llamadas al sistema<br />Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de f<br />El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:<br />Algún dispositivo de E/S necesita atención.<br />Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación).<br />En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa.<br />Según los dos casos anteriores tenemos las interrupciones y la excepciones:<br />Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado.<br />Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO.<br />Tratamiento de las interrupciones<br />Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso.<br />El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que la ha causado.<br />La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del periférico. El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador.<br />Importancia de las interrupciones<br />El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S.<br />El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando.<br />En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas).<br />Un ejemplo de sincronismo por interrupción es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carácter, se codifica en el registro de datos del dispositivo y además se activa un bit del registro de estado quien crea una interrupción en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atención a la interrupción correspondiente. El teclado almacena el carácter en el vector de memoria intermedia ( también llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida.<br />Excepciones<br />Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas.<br />Clases de excepciones<br />Las instrucciones de un programa pueden estar mal construidas por diversas razones:<br />El código de operación puede ser incorrecto.<br />Se intenta realizar alguna operación no definida, como dividir por cero.<br />La instrucción puede no estar permitida en el modo de ejecución actual.<br />La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.<br />Importancia de las excepciones<br />El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO.<br />Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga.<br />Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente. Componentes de un sistema operativo<br />filosofía de estructura básica de funcionamiento de los grandes computadores[2] se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.[3] (Véase AmigaOS, beOS o MacOS como los pioneros[4] de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters[5] por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.<br />Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.).<br />
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos
Historia de los sistemas operativos

Más contenido relacionado

La actualidad más candente

Microsoft
MicrosoftMicrosoft
Microsoft041197
 
Evolucion de-los-sistemas-operativos
Evolucion de-los-sistemas-operativosEvolucion de-los-sistemas-operativos
Evolucion de-los-sistemas-operativosjuan gonzalez
 
tarea del diplomado en tecnología
tarea del diplomado en tecnologíatarea del diplomado en tecnología
tarea del diplomado en tecnologíaARTURO11069
 
Taller de sistemas
Taller de sistemasTaller de sistemas
Taller de sistemasmashiro456
 
Exposicion informatica
Exposicion informaticaExposicion informatica
Exposicion informaticaYuleisyReyes
 
Tarea 1 windows vs mac os
Tarea 1 windows  vs mac osTarea 1 windows  vs mac os
Tarea 1 windows vs mac osDany2019
 
Historia de microsoft.pdf
Historia de microsoft.pdfHistoria de microsoft.pdf
Historia de microsoft.pdfdavid220809
 
Base de datos microsoft
Base de datos microsoftBase de datos microsoft
Base de datos microsoftcarlos collado
 
Windows, software comercial y mac os
Windows,  software comercial y mac osWindows,  software comercial y mac os
Windows, software comercial y mac osMichelle Love
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativosCesar Rodriguez
 
Felix sistemas operativos
Felix sistemas operativosFelix sistemas operativos
Felix sistemas operativosantonella2004
 
Felix sistemas operativos
Felix sistemas operativosFelix sistemas operativos
Felix sistemas operativosantonella2004
 

La actualidad más candente (19)

Microsoft
MicrosoftMicrosoft
Microsoft
 
Evolucion de-los-sistemas-operativos
Evolucion de-los-sistemas-operativosEvolucion de-los-sistemas-operativos
Evolucion de-los-sistemas-operativos
 
tarea del diplomado en tecnología
tarea del diplomado en tecnologíatarea del diplomado en tecnología
tarea del diplomado en tecnología
 
TAREA 1
TAREA 1TAREA 1
TAREA 1
 
Anexo
Anexo Anexo
Anexo
 
Taller de sistemas
Taller de sistemasTaller de sistemas
Taller de sistemas
 
La historia de windows 456
La historia de windows 456La historia de windows 456
La historia de windows 456
 
Exposicion informatica
Exposicion informaticaExposicion informatica
Exposicion informatica
 
Asdrubalrodriguez wind.pdf.
Asdrubalrodriguez wind.pdf.Asdrubalrodriguez wind.pdf.
Asdrubalrodriguez wind.pdf.
 
Tp5 villa
Tp5 villaTp5 villa
Tp5 villa
 
Tarea 1 windows vs mac os
Tarea 1 windows  vs mac osTarea 1 windows  vs mac os
Tarea 1 windows vs mac os
 
Historia de microsoft.pdf
Historia de microsoft.pdfHistoria de microsoft.pdf
Historia de microsoft.pdf
 
Base de datos microsoft
Base de datos microsoftBase de datos microsoft
Base de datos microsoft
 
Windows, software comercial y mac os
Windows,  software comercial y mac osWindows,  software comercial y mac os
Windows, software comercial y mac os
 
Inicio general de los sistemas operativos (s
Inicio general de los sistemas operativos (sInicio general de los sistemas operativos (s
Inicio general de los sistemas operativos (s
 
Luis mata widn_PDF
Luis mata widn_PDFLuis mata widn_PDF
Luis mata widn_PDF
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
Felix sistemas operativos
Felix sistemas operativosFelix sistemas operativos
Felix sistemas operativos
 
Felix sistemas operativos
Felix sistemas operativosFelix sistemas operativos
Felix sistemas operativos
 

Similar a Historia de los sistemas operativos

Historia de los Sistemas Operativos
Historia de los Sistemas OperativosHistoria de los Sistemas Operativos
Historia de los Sistemas Operativososcarvat
 
Sistemasoperativos tenorio cruz
Sistemasoperativos tenorio cruzSistemasoperativos tenorio cruz
Sistemasoperativos tenorio cruzheñe heñee
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosRudarkia
 
Evolucion de la ofimatica
Evolucion de la ofimaticaEvolucion de la ofimatica
Evolucion de la ofimaticafivetijola
 
Sistemas Operativos - Cesar Alonso
Sistemas Operativos - Cesar AlonsoSistemas Operativos - Cesar Alonso
Sistemas Operativos - Cesar Alonsoreyderoma92
 
Evolucion de la ofimatica
Evolucion de la ofimaticaEvolucion de la ofimatica
Evolucion de la ofimaticafivetijola
 
Trabajo Semanal Adrian Fernando
Trabajo Semanal Adrian FernandoTrabajo Semanal Adrian Fernando
Trabajo Semanal Adrian FernandoAdrian Fernando
 
Trabajo Semanal Adrian Fernando
Trabajo Semanal Adrian FernandoTrabajo Semanal Adrian Fernando
Trabajo Semanal Adrian FernandoAdrian Fernando
 
La historia de los sistemas operativos
La historia de los sistemas operativosLa historia de los sistemas operativos
La historia de los sistemas operativosjjajuas
 
Presentacion grupo 101
Presentacion grupo 101Presentacion grupo 101
Presentacion grupo 101antonio1280
 
Evolucion de los sistemas operativos por absalon cael garcia lopez
Evolucion de los sistemas operativos por absalon cael garcia lopezEvolucion de los sistemas operativos por absalon cael garcia lopez
Evolucion de los sistemas operativos por absalon cael garcia lopezAngel Garcia
 
EvolucióN De Los Sistemas Operativos
EvolucióN De Los Sistemas OperativosEvolucióN De Los Sistemas Operativos
EvolucióN De Los Sistemas Operativosmarcoslibido
 
Historia del software.docx
Historia del software.docxHistoria del software.docx
Historia del software.docxJaisonPineda
 

Similar a Historia de los sistemas operativos (20)

Historia de los Sistemas Operativos
Historia de los Sistemas OperativosHistoria de los Sistemas Operativos
Historia de los Sistemas Operativos
 
Sistemasoperativos tenorio cruz
Sistemasoperativos tenorio cruzSistemasoperativos tenorio cruz
Sistemasoperativos tenorio cruz
 
Paper SO
Paper SOPaper SO
Paper SO
 
Los 10 peores sistemas operativos
Los 10 peores sistemas operativosLos 10 peores sistemas operativos
Los 10 peores sistemas operativos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Periodo
PeriodoPeriodo
Periodo
 
Evolucion de la ofimatica
Evolucion de la ofimaticaEvolucion de la ofimatica
Evolucion de la ofimatica
 
Sistemas Operativos - Cesar Alonso
Sistemas Operativos - Cesar AlonsoSistemas Operativos - Cesar Alonso
Sistemas Operativos - Cesar Alonso
 
Evolucion de la ofimatica
Evolucion de la ofimaticaEvolucion de la ofimatica
Evolucion de la ofimatica
 
Historia de los sistemas operativos
Historia de los sistemas operativosHistoria de los sistemas operativos
Historia de los sistemas operativos
 
Trabajo Semanal Adrian Fernando
Trabajo Semanal Adrian FernandoTrabajo Semanal Adrian Fernando
Trabajo Semanal Adrian Fernando
 
Trabajo Semanal Adrian Fernando
Trabajo Semanal Adrian FernandoTrabajo Semanal Adrian Fernando
Trabajo Semanal Adrian Fernando
 
La historia de los sistemas operativos
La historia de los sistemas operativosLa historia de los sistemas operativos
La historia de los sistemas operativos
 
Presentacion grupo 101
Presentacion grupo 101Presentacion grupo 101
Presentacion grupo 101
 
Evolucion de los sistemas operativos por absalon cael garcia lopez
Evolucion de los sistemas operativos por absalon cael garcia lopezEvolucion de los sistemas operativos por absalon cael garcia lopez
Evolucion de los sistemas operativos por absalon cael garcia lopez
 
EvolucióN De Los Sistemas Operativos
EvolucióN De Los Sistemas OperativosEvolucióN De Los Sistemas Operativos
EvolucióN De Los Sistemas Operativos
 
Evolucion historica
Evolucion historicaEvolucion historica
Evolucion historica
 
Ambiente windows
Ambiente windowsAmbiente windows
Ambiente windows
 
Historia del software.docx
Historia del software.docxHistoria del software.docx
Historia del software.docx
 
Ambiente windows luis
Ambiente windows luisAmbiente windows luis
Ambiente windows luis
 

Historia de los sistemas operativos

  • 1. HISTORIA DE LOS SISTEMAS OPERATIVOS<br />El Sistema Operativo (SO), es lo que hace pensar al ordenador. Si nos queremos meter un poco más de forma técnica, podemos decir en un ordenador se ejecutan programas. Estos programas se dividen en dos apartados: <br />El SO constituye la parte más importante del Software Básico y las funciones más importantes se pueden clasificar en dos grandes secciones. <br />Definición y realización de una máquina virtual <br /> Gestión y distribución compartida de los recursos <br />A lo largo de la historia, han aparecido diferentes SSOO que, en cada momento, se encargaban de recoger las características punteras de lo que se descubría en el mundo de la informática. Hoy en día, sin ir más lejos, se están desarrollando potentes SSOO basados en la Programación Basada en Objetos (POO), que, dicho sea de paso ha sido la última evolución de la informática, hace ya casi 10 años. <br />Lo primero es hacer constar que, lo que nos venden hoy en día como quot; modernoquot; , es casi seguro que ya se utilizaba desde hace muchísimo tiempo en otros SSOO. El concepto de Sistema Operativo, no es ni mucho menos nuevo. Los primeros SSOO aparecieron a finales de los años 50; al comienzo de la informática. Al principio, los primeros SSOO eran monousuario y monotarea, algo así como el DOS. Pero con la direferencia de que se gobernaba con tarjetas perforadoras en vez de Diskettes. <br />Pronto empezaron a surgir nuevos conceptos y tras la malgama de SSOO que aparecieron, surgió uno de entre ellos, en el que estaban mezcladas todas las filosofías que hasta entonces se había descubierto en este mundo de la informática. Este SO se denominó Multics, son mediados de los años 60. Poco tiempo despues, se dieron cuenta los diseñadores de este SO que era enfarragoso y muy difícil de administrar, así pues se cogió la esencia misma del SO y el mismo equipo que diseñó el Multics, se puso manos a la obra y a finales de los 60 sacan la primera versión de un SO que revolucionaría la informática; el Unix. <br />El Unix es hoy en dia, casi 30 años despues de su primera versión, para mucha gente que se dedica al mundo de los ordenadores, el único SO de redes real. De hecho es el que se maneja en las administraciones y redes con grandes ordenadores. Se caracterizó en aquel entonces por ser un SO que incorporaba dos conceptos totalmente nuevos, la multitarea y acceso multiusuario; y durante mucho tiempo fue el único SO que se utilizó en las redes. <br />ste panorama se siguió durante unos cuantos años, entre los cuales, en el mundo de los SSOO se iban sacando a la luz nuevas conceptos y todos ellos emanaban del Unix. Uno de esos conceptos era la Memoria Virtual, tan ampliamente utilizada en los SSOO modernos. <br />Dando un gran salto en el tiempo nos vamos a finales de los años 70. Por aquel entonces una casa de ordenadores sacó el primer ordenador personal, o al menos, como se le conoce hoy en día, esa casa fue Apple. El éxito fue tal que en seguida otras casas empezaron a desarrollar ordenadores personales, entre ellas emergió IBM. Cada una de esas casas diseñó una serie de SSOO para sus máquinas; Apple el Mac OS, IBM el CP/M, que pronto fue sustituido por un SO que diseñó un jovencísimo Bill Gates y sus colegas, el DOS. Ambos SSOO para su época fueron revolucionarios ya que el DOS intentaba coger el manejo de archivos del Unix pero limitando la potencia del Unix a un sólo usuario. Por contra, el Mac OS diseñaba un SO totalmente nuevo basado en una Interfaz Gráfica. Algo que rompió la tendencia de los SSOO que se diseñaron hasta entonces. <br />Mientras IBM optó por compartir sus licencias a todo fabricante, Apple no lo hizo. Esto fue la base del mercado de los PCs que conocemos hoy en día. Una arquitectura basada en la conectividad de fabricantes; PC y compatibles, y una arquitectura totalmente particular como son los Apple. <br />Siguieron pasando los años y a mediados de los 80 surgió, de la alianza Microsoft-IBM un SO que en principio sería destinado a sustituir el DOS, ese Sistema fue el OS/2. Este sistema aprovechaba las nuevas características de los PCs de entonces e introdujo un concepto nuevo al DOS, la multitarea. Poco tiempo despues se produjo una ruptura sonada, el duo Microsoft-IBM se rompía. Por un lado IBM seguiría con el OS/2, por otro lado Microsoft desarrolló un programa basado en el caracter intuitivo del interfaz gráfico del Macintosh, Windows. Este programa, que en principio fue catalogado como el juguete de los niños ricos, ya que imperaba el DOS sobre el PC, en poco tiempo se convirtió en el programa más vendido para PCs. <br />En principio no fue nada más que una aplicación que necesitaba del DOS, pero el tiempo y los usuarios demandaron que se convirtiera a un SO completo. Tras varios años en los que MS veía como subía su prestigio en el mercado de los PCs hasta cotas casi impensables 10 años antes (el 80% de los SSOO que se utilizan en el mundo son de MS y el 65% de las Suites de oficina también, sin contar con otras aplicaciones como compiladores, Servidores SQL, etc), se sacó el Windows 95. El SO más utilizado hoy en día en todo el mundo, que no el mejor. <br />E<br />ntre sus características destacan la multitarea, un interfaz de usuario muy intuitivo y un cliente de redes muy conseguido. El DOS sólo era monotarea. Con la salida a la luz de Windows 95, MS acaba con la vida del DOS como tal (aunque muchos usuarios piensan que Windows 95 no es sino el DOS renovado por el tiempo, entre ellos el escribiente) y con la de Windows como programa. El DOS ha sido el SO del PC durante más de 15 años. Hoy en día, que las aplicaciones son viejas al año, constituye todo un record que va a ser muy difícil de superar. <br />Volviendo hacia atrás la mirada, no mucho, desde el año 1990, surge entre los usuarios una demanda que obligó a MS al desarrollo de un SO que aprovechara la interfaz de Windows, pero orientado al mundo empresarial. Ese embrión fue denominado NT, y luego rebautizado a Windows NT. Ese SO aprovechó la interfaz e intuitividad de Windows para llevarla a las redes. Hasta entonces seguía dominada por el Unix, que cumplía su añete 22 de existencia, todo un mozalbete. Tras un par de años de esfuerzos sale a la luz Windows NT y sus características son, como SO orientado a las redes, multitarea, estabilidad y multiusuario. Sus contras son excesivos recursos para poder ser utilizado en una red medianamente grande. <br />Entre medias de todo este circo de MS, IBM sigue mejorando el OS/2 hasta unas cotas muy altas. Y es en 1994 en pleno retraso de MS por sacar un SO real para PC (entonces solo existía como SO el DOS), cuando IBM saca el OS/2 3.0, apodado Warp. Este SO se caracterizaba por tener un multitarea muy rápida, estabilidad enorme amén de una compatibilidad hasta entonces no posible. Era capaz de ejecutar aplicaciones DOS, más rápidas y con más estabilidad que el DOS. Y lo mismo con Windows. Las aplicaciones Windows se ejecutaban mejor y de forma más estable sobre OS/2 que sobre el propio Windows, además de dar cobertura a todas las aplicaciones que se desarrollaran para OS/2. <br />Pese a todo este esfuerzo, la gente sigue esperando el nuevo SO de MS para el mundo doméstico. Ya llevaba más de un año de retraso, ya que la última versión de Windows para el PC se sacó a finales de 1991. Y se hace con MS lo que nunca se había hecho con ninguna casa de Software; darle una prórroga de más de un año. Cualquier casa que hubiera tardado todo ese tiempo en sacar algo al mercado que previamente hubiera estado anunciándolo, hubiera sido retirada del mercado por obligación de la demanda de los usuarios. Yo creo que es cuando Bill Gates se da cuenta de una cosa, no importa si el SO es mejor o peor, no importa el retraso, lo único que importe es que sea MS y sea una versión mejor que la anterior. <br />El año que va desde mediados de 1994 hasta finales de 1995 (que es cuando MS saca el Windows 95) el OS/2, pese a lo que se pudiera suponer, no experimenta un gran crecimiento. Sin embargo, MS iba a provechar ese tiempo muy bien. No fue un retraso debido a mejoras del SO (como fue justificado el retraso), ya que cuando Windows 95 salió seguía adoleciendo de la inestabilidad de su antecesor y era más lento que OS/2. Ese tiempo, lo dedicó al esfuerzo más grande que ha existido por desmarcarse del resto de la competencia. Ese año se dedicó a crear las APIs (herramientas que utilizan los desarrolladores de software para un SO) más difíciles del mercado, y MS daría esa documentación a los desarrolladores siempre y cuando no desarrollasen software en otro SO. <br />Si sumamos lo comentado en los dos últimos párrafos tenemos la jugada ganadora de MS. El porqué de su éxito. A mi entender cuando a la salida de Windows 95, la gente lo compró de forma masiva, se dió una puñalada de muerte a la que fue edad de oro de la informática. Pero ese es otro tema, ahora estamos haciendo un poco de historia sobre el mundo de los SSOO. <br />A finales de 1991 surge el fenómeno más revolucionario que ha existido en la informática. Una persona llamada Linus Torvalds, estudiante de informática finlandés, quiere desarrollar un clónico del Unix. Hasta entonces el único SO que se utilizaba a nivel empresarial era ése. Y para ello pide ayuda por Internet. Pese a que no hace falta voy a poner el mensaje que anunció a otros programadores, aunque sólo sea por hacer un pequeño homenaje a esta persona. <br />quot; ¿Echas de menos los días de Minix 1.1, cuando los hombres eran hombres, y escribían sus propiosdrivers?¿Estás sin ideas y deseas tener un sistema operativo que puedas modificar a tu antojo?¿Te frusta disponer sólo de Minix?¿Pasas las noches en vela para depurar tus cuidados programas?Este anuncio puede ser lo que buscas.Como mencioné hace meses, estoy trabajando en un versión similar a Minix para máquinas AT-386. Finalmente ha empezado a ser utilizable (aunque depende de tus exigencias), y estoy pensando en publicar las fuentes para su difusión, Sólo es la versión 0.2... pero ya ejecuta bash, gcc, gnu-make, gnu-sed, compress y otros..quot; <br />alida ingente de SSOO al mercado; ya que MS quiso jugar la baza de introducirse en el mundo de las redes con nuevas versiones de Windows NT, IBM sacó una nueva versión del OS/2, destinado a sustituir al DOS, MS también sacó Windows 3.xx y Windows 95 que finalmente fueron los estándares del mercado, Sun y otros con versiones nuevas del Unix y el nuevo Linux que poco a poco ganaba más adeptos, incluso ya en centros universitarios. No olvido las versiones del Mac OS para el Apple, es decir, que se tenía una gran oferta de SSOO y todos ellos buenos. <br />MS, con Windows NT, apostó sobre las redes y se dedicó a sacar tres versiones en poco más de 3 años. Cada una de ellas mejores y más estable que la anterior, pero con el mismo problema de sus antecesoras, el excesivo número de recursos necesarios para administrar una red medianamente grande. <br />Y estamos en 1996, el año que va hasta la fecha de hoy se ha caracterizado por un afianzamiento de los SSOO de MS, ya sean a nivel particular (Windows 95) o a nivel de redes (Windows NT), si bien en este último le queda por luchar dos grandes batallas que se me antojan imposibles, ambas se llaman de parecida forma, Linux/Unix. El SO de los grandes ordenadores, grandes redes o simplemente, de las administraciones, y últimamente, de pequeños usuarios generalmente universitarios. Pese a ser viejo, el Unix, es sin duda ninguna, el SO para las redes. <br />Resumiendo, tras este período de cerca de 30 años de historia, hay una serie de SSOO, que gozan, justa o injustamente de salud para suminstrar al usuario herramientas suficientes para crear un ordenador desde casa con capacidad plena de conexión a Internet. Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.[1]<br />Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, que es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la Perspectiva histórica<br />Los primeros sistemas (1945-1960) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.<br />A finales de los años 80, una computadora Commodore Amiga equipada con una aceleradora Video Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple. Un Video Toaster junto a Lightwave ayudó a producir muchos programas de televisión y películas, entre las que se incluyen Babylon 5, Seaquest DSV y Terminator II.[6]<br />Problemas de explotación y soluciones iniciales<br />El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que lo manejase, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad.<br />Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar.<br />Monitores residentes<br />Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial.<br />Según fue avanzando la complejidad de los programas, fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos.<br />Un monitor residente estaba compuesto por un cargador, un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida.<br />Sistemas con almacenamiento temporal de E/S<br />Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos, por lo que se creó el sistema de buffers con el siguiente funcionamiento:<br />Un programa escribe su salida en un área de memoria (buffer 1).<br />El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2.<br />La salida desde el buffer 1 termina y el nuevo cálculo también.<br />Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1.<br />El proceso se puede repetir de nuevo.<br />Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S).<br />] Perspectiva histórica<br />Los primeros sistemas (1945-1950) eran grandes máquinas operadas desde la consola maestra por los programadores. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas, impresoras, cintas magnéticas, etc. Esto a su vez provocó un avance en el software: compiladores, ensambladores, cargadores, manejadores de dispositivos, etc.<br />Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas, lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line).<br />Sistemas operativos multiprogramados<br />Surge un nuevo avance en el hardware: el hardware con protección de memoria. Lo que ofrece nuevas soluciones a los problemas de rendimiento:<br />Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.<br />Se pueden mantener en memoria varios programas.<br />Se asigna el uso de la CPU a los diferentes programas en memoria.<br />Debido a los cambios anteriores, se producen cambios en el monitor residente, con lo que éste debe abordar nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones:<br />Administrar la memoria.<br />Gestionar el uso de la CPU (planificación).<br />Administrar el uso de los dispositivos de E/S.<br />Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.<br />Llamadas al sistema operativo<br />Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.<br />C<br />ada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga la misma interfaz. Para ello:<br />Las llamadas correspondientes deben tener el mismo formato.<br />Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior.<br />Modos de ejecución en un CPU<br />Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el Sistema Operativo, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes:<br />Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones.<br />Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.<br />Una aplicación, normalmente no sabe dónde está situada la rutina de servicio de la llamada. Por lo que si ésta se codifica como una llamada de función, cualquier cambio en el S.O. haría que hubiera que reconstruir la aplicación.<br />Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno).<br />Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función.<br />Bibliotecas de interfaz de llamadas al sistema<br />Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel, por ello se crean las bibliotecas de interfaz, que son bibliotecas de f<br />El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:<br />Algún dispositivo de E/S necesita atención.<br />Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación).<br />En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa.<br />Según los dos casos anteriores tenemos las interrupciones y la excepciones:<br />Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado.<br />Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO.<br />Tratamiento de las interrupciones<br />Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso.<br />El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que la ha causado.<br />La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del periférico. El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador.<br />Importancia de las interrupciones<br />El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S.<br />El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando.<br />En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas).<br />Un ejemplo de sincronismo por interrupción es el almacenamiento de caracteres introducidos mediante el teclado. Cuando se introduce un carácter, se codifica en el registro de datos del dispositivo y además se activa un bit del registro de estado quien crea una interrupción en el hardware. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atención a la interrupción correspondiente. El teclado almacena el carácter en el vector de memoria intermedia ( también llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida.<br />Excepciones<br />Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas.<br />Clases de excepciones<br />Las instrucciones de un programa pueden estar mal construidas por diversas razones:<br />El código de operación puede ser incorrecto.<br />Se intenta realizar alguna operación no definida, como dividir por cero.<br />La instrucción puede no estar permitida en el modo de ejecución actual.<br />La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.<br />Importancia de las excepciones<br />El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO.<br />Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga.<br />Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente. Componentes de un sistema operativo<br />filosofía de estructura básica de funcionamiento de los grandes computadores[2] se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.[3] (Véase AmigaOS, beOS o MacOS como los pioneros[4] de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters[5] por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.<br />Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.).<br />