You are on page 1of 29

SISTEMAS OPERATIVOS

DEFINICIN
Un sistema operativo es un conjunto de programas o software, destinado a permitir la comunicacin entre el usuario y la mquina de forma cmoda y eficiente; se encarga de gestionar los recursos del ordenador, esto incluye la gestin del hardware desde los niveles ms bsicos.

FUNCIONES CARACTERSTICA DE UN SISTEMA OPERATIVO

Un sistema operativo (cuyo acrnimo es SO) es un conjunto de programas destinados a permitir la comunicacin del usuario con un computador y gestionar sus recursos de una forma eficaz. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la mquina desde los niveles ms bsicos.

Las funciones bsicas de un sistema operativo son:


Implementacin de interfaz de usuario. El medio por el cual interactan usuario/sistema. Administracin de recursos. Gestiona el ptimo manejo de los recursos del sistema. Administracin de archivos. Controla la forma en que los archivos se almacenan fsica y lgicamente. Como soporte para la ejecucin de sw(software) de aplicacin Como elemento de diagnstico de hw(hardware) Como elemento de una red de computadoras Como elemento que optimiza el aprovechamiento de los recursos lgicos y fsicos de un sistema de cmputo.

Historia de los sistemas operativos


Aos 40
A finales de los aos 40, con lo que podramos llamar la aparicin de la primera generacin de computadoras, se acceda directamente a la consola de la computadora desde la cual se actuaba sobre una serie de micro interruptores que permitan introducir directamente el programa en la memoria de la computadora Por aquel entonces no existan los sistemas operativos, y los programadores deban interactuar con el hardware del computador sin ayuda externa.

Aos 50
A principios de los aos 50 con el objeto de facilitar la interaccin entre persona y computador, los sistemas operativos hacen una aparicin discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal. Monitor residente Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, leyndolos de una cinta o de tarjetas perforadas, y ejecutarlos. El problema era encontrar una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje del siguiente.

Procesamiento por lotes Como solucin para optimizar, en una misma cinta o conjunto de tarjetas, de forma que se ejecutaran uno a continuacin de otro sin perder apenas tiempo en la transicin. Almacenamiento temporal Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultnea la carga del programa o la salida de datos con la ejecucin de la siguiente tarea. Para ello se utilizaban dos tcnicas, el buffering y el spooling.

Aos 60 En los aos 60 se produjeron cambios notorios en varios campos de la informtica, con la aparicin del circuito integrado la mayora orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban tcnicas de lo ms diversas: como son: Multiprogramacin En un sistema multiprogramado la memoria principal alberga a ms de un programa de usuario. E/S Tiempo compartido en un sistema multiusuario, en el cual existen varios usuarios con un terminal en lnea, utilizando el modo de operacin de tiempo compartido. Al realizar una operacin de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramacin. Pero, a diferencia de sta, cuando un programa lleva cierto tiempo ejecutndose el sistema operativo lo detiene para que se ejecute otra aplicacin.

Tiempo real Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran nmero de sucesos, en su mayora externos al ordenador. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. Multiprocesador Permite trabajar con mquinas que poseen ms de un microprocesador. Se denomina multiprocesador a un ordenador que cuenta con dos o ms microprocesadores (CPUs). Gracias a esto, el multiprocesador puede ejecutar simultneamente varios hilos pertenecientes a un mismo proceso o bien a procesos diferentes. Para que un multiprocesador opere correctamente necesita un sistema operativo especialmente diseado para ello. La mayora de los sistemas operativos actuales poseen esta capacidad.

Sistemas operativos desarrollados Adems del Atlas Supervisor y el OS/360, los sesenta marcaron el inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo multiusuario - multitarea desarrollado por los laboratorios Bell de AT&T Aos 70 Debido al avance de la electrnica, pudo empezar a crearse circuitos con miles de transistores en un centmetro cuadrado de silicio, lo que llevara, pocos aos despus, a producir los primeros sistemas integrados. En lo relativo a lenguajes de programacin, es de sealar la aparicin de Pascal y C, el ltimo de los cuales se cre especficamente para reescribir por completo el cdigo del sistema operativo Unix, Inconvenientes de los sistemas existentes Se trataba de sistemas grandes y costosos, pues antes no se haba construido nada similar y muchos de los proyectos desarrollados terminaron con costos muy por encima del presupuesto

SISTEMAS OPERATIVOS DESARROLLADOS EN LOS 70 MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbat del MIT, con General Electric y los laboratorios Bell, que comenz en los 60, pero los laboratorios Bell abandonaron en 1969

MVS (Multiple Virtual Storage): Fue el sistema operativo ms usado en los modelos de mainframes -ordenadores grandes, potentes y caros usados principalmente por grandes compaas para el procesamiento de grandes cantidades de datos-System/370 y System/390 de IBM. Sistema desarrollado tambin por IBM y lanzado al mercado por primera vez en 1974, permita la ejecucin de mltiples tareas, adems de que introdujo el concepto de memoria virtual

CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador 8080/85 de Intel y el Zilog Z80, sali al mercado en 1976, distribuyndose en disquetes de ocho pulgadas. Fue el SO ms usado en las computadoras personales de esta dcada. El hecho de que, aos despus, IBM eligiera para sus PCs a MSDOS supuso su mayor fracaso, por lo que acab desapareciendo . Aos 80 Con la creacin de los circuitos LSI -integracin a gran escala-, chips que contenan miles de transistores en un centmetro cuadrado de silicio, empez el auge de los ordenadores personales. En stos se dej un poco de lado el rendimiento y se busc ms que el sistema operativo fuera amigable, surgiendo mens, e interfaces grficas. Esto reduca la rapidez de las aplicaciones, pero se volvan ms prcticos y simples para los usuarios.

Un avance importante que se estableci a mediados de la dcada de 1980 fue el desarrollo de redes de computadoras personales que corran sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS, escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacan uso del Motorola 68000. Apple Macintosh El lanzamiento oficial se produjo en enero de 1984, al precio de 2495 dlares. Muchos usuarios, al ver que estaba completamente diseado para funcionar a travs de una GUI (Graphic User Interface), acostumbrados a la lnea de comandos, lo tacharon de juguete. A pesar de todo, el Mac se situ a la cabeza en el mundo de la edicin a nivel grfico.

MS-DOS En 1981 Microsoft compr un sistema operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirti en la primera versin de MS-DOS (Micro Soft Disk Operating System). A partir de aqu se sucedieron una serie de cambios hasta llegar a la versin 7.1, a partir de la cual MS-DOS dej de existir como tal y se convirti en una parte integrada del sistema operativo Windows. Aos 90 GNU/Linux En 1991 aparece la primer versin del ncleo de Linux. Creado por Linus Torvalds y un sinfn de colaboradores a travs de Internet. Este sistema se basa en Unix, un sistema que en principio trabajaba en modo comandos, estilo MS-DOS. Hoy en da dispone de Ventanas, gracias a un servidor grfico y a gestores de ventanas como KDE, GNOME entre muchos.

Microsoft Windows En 1985 se crea este sistema operativo pero hasta la salida de windows 95 no se le puede considerar un sistema operativo, solo era una interfaz grfica del MS-DOS. Hoy en da es el sistema operativo ms difundido en el mbito domestico aunque tambin hay versiones para servidores y Microsoft ha diseado algunas versiones para superordenadores sin mucho CLASIFICACIN DE LOS SISTEMAS OPERATIVOS. xito Sistema Operativo Multitareas. Sistema operativo mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitareas. La conmutacin de contextos (context Switching) es un tipo muy simple de multitarea en el que dos o ms aplicaciones se cargan al mismo tiempo, pero en el que solo se est procesando la aplicacin que se encuentra en primer plano (la que ve el usuario).

En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentra en primer plano (por ejemplo, cuando esta aplicacin est esperando informacin del usuario), y siempre que esta aplicacin lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atencin del microprocesador durante una fraccin de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el sentido temporal del usuario es mucho ms lento que la velocidad de procesamiento del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultneas.

Sistema Operativo Monotareas. Los sistemas operativos monotareas son ms primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden manejar un proceso en cada momento o que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la computadora est imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresin. Sistema Operativo Monousuario. Los sistemas monousuarios son aquellos que nada ms puede atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo de aplicacin que se est ejecutando. Estos tipos de sistemas son muy simples, porque todos los dispositivos de entrada, salida y control dependen de la tarea que se est utilizando, esto quiere decir, que las instrucciones que se dan, son procesadas de inmediato; ya que existe un solo usuario. Y estn orientados principalmente

Sistema Operativo Multiusuario. Es todo lo contrario a monousuario; y en esta categora se encuentran todos los sistemas que cumplen simultneamente las necesidades de dos o ms usuarios, que comparten mismos recursos. Este tipo de sistemas se emplean especialmente en redes y en sistemas distribuidos. Secuencia por Lotes. La secuencia por lotes o procesamiento por lotes en microcomputadoras, es la ejecucin de una lista de comandos del sistema operativo uno tras otro sin intervencin del usuario. Procesamiento por lotes tambin puede referirse al proceso de almacenar transacciones durante un cierto lapso antes de su envo a un archivo maestro, por lo general una operacin separada que se efecta durante la noche .

Los sistemas operativos por lotes (batch), en los que los programas eran tratados por grupos (lote) en vez de individualmente. La funcin de estos sistemas operativos consista en cargar en memoria un programa de la cinta y ejecutarlo. Al final este, se realizaba el salto a una direccin de memoria desde donde reasuma el control del sistema operativo que cargaba el siguiente programa y lo ejecutaba. De esta manera el tiempo entre un trabajo y el otro disminua considerablemente. Tiempo Real. Un sistema operativo en tiempo real procesa las instrucciones recibidas al instante, y una vez que han sido procesadas muestra el resultado. Este tipo tiene relacin con los sistemas operativos monousuarios, ya que existe un solo operador y no necesita compartir el procesador entre varias solicitudes. Su caracterstica principal es dar respuestas rpidas; por ejemplo en un caso de peligro se necesitaran respuestas inmediatas para evitar una catstrofe.

Tiempo Compartido. El tiempo compartido en ordenadores o computadoras consiste en el uso de un sistema por ms de una persona al mismo tiempo. El tiempo compartido ejecuta programas separados de forma concurrente, intercambiando porciones de tiempo asignadas a cada programa (usuario). En este aspecto, es similar a la capacidad de multitareas que es comn en la mayora de los microordenadores o las microcomputadoras. Sin embargo el tiempo compartido se asocia generalmente con el acceso de varios usuarios a computadoras ms grandes y a organizaciones de servicios, mientras que la multitarea relacionada con las microcomputadoras implica la realizacin de mltiples tareas por un solo usuario.

ESTRUCTURA DE SISTEMAS OPERATIVOS (NIVELES O ESTRATOS DE DISEO) NUCLEO En informtica, el ncleo (tambin conocido en espaol con el anglicismo kernel, de races germnicas como kern) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma ms bsica, es el encargado de gestionar recursos, a travs de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, el ncleo tambin se encarga de decidir qu programa podr hacer uso de un dispositivo de hardware y durante cunto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los ncleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso para el programador.

Funciones generalmente ejercidas por un ncleo: Los ncleos tienen como funciones bsicas garantizar la carga y la ejecucin de los procesos, las entradas/salidas y proponer un interfaz entre el espacio ncleo y los programas del espacio del usuario. Aparte de las funcionalidades bsicas, el conjunto de las funciones de los puntos siguientes (incluidos los pilotos materiales, las funciones de redes y sistemas de ficheros o los servicios) necesariamente no son proporcionadas por un ncleo de sistema de explotacin. Su implantacin en el ncleo se hace en el nico objetivo de mejorar los resultados. Si esta llamada de funcin es frecuente, puede resultar til integrar estas funciones al ncleo para mejorar los resultados.

El ncleo de un sistema operativo normalmente contiene el cdigo necesario para realizar las siguientes funciones: Manejo de interrupciones. Creacin y destruccin de procesos. Cambio de estado de los procesos. Despacho. Suspensin y reanudacin de procesos. Sincronizacin de procesos. Comunicacin entre procesos. Manipulacin de los bloques de control de procesos. Apoyo para las actividades de entrada/salida. Apoyo para asignacin y liberacin de memoria. Apoyo para el sistema de archivos. Apoyo para el mecanismo de llamada y retorno de un procedimiento. Apoyo para ciertas funciones de contabilidad del sistema.

TIPOS DE NCLEO : No necesariamente se necesita un ncleo para usar una computadora. Los programas pueden cargarse y ejecutarse directamente en una computadora vaca, siempre que sus autores quieran desarrollarlos sin usar ninguna abstraccin del hardware ni ninguna ayuda del sistema operativo. sta era la forma normal de usar muchas de las primeras computadoras: para usar distintos programas se tena que reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se empez a dejar en memoria (an entre distintas ejecuciones) pequeos programas auxiliares, como el cargador y el depurador, o se cargaban desde memoria de slo lectura. A medida que se fueron desarrollando, se convirtieron en los fundamentos de lo que llegaran a ser los primeros ncleos de sistema operativo.

HAY CUATRO GRANDES TIPOS DE NCLEOS: Los ncleos monolticos facilitan abstracciones del hardware subyacente realmente potentes y variadas. Los microncleos (en ingls microkernel) proporcionan un pequeo conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad. Los ncleos hbridos (microncleos modificados) son muy parecidos a los microncleos puros, excepto porque incluyen cdigo adicional en el espacio de ncleo para que se ejecute ms rpidamente. Los exoncleos no facilitan ninguna abstraccin, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.

NCLEO MONOLTICO Estos sistemas tienen un ncleo grande y complejo, que engloba todos los servicios del sistema. Est programado de forma no modular, y tiene un rendimiento mayor que un microncleo. Sin embargo, cualquier cambio a realizar en cualquier servicio requiere la recompilacin del ncleo y el reinicio del sistema para aplicar los nuevos cambios. Un sistema operativo con ncleo monoltico concentra todas las funcionalidades posibles (planificacin, sistema de archivos, redes, controladores de dispositivos, gestin de memoria, etc) dentro de un gran programa. El mismo puede tener un tamao considerable, y deber ser recompilado por completo al aadir una nueva funcionalidad. Todos los componentes funcionales del ncleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. Un error en una rutina puede propagarse a todo el ncleo. Entre los sistemas operativos que cuentan con ncleos monolticos se encuentran: (Unix (freeBSD, netBSD, openBSD), Linux, Solaris, DR-DOS, MS-DOS, Windows 9x

MICRONCLEOS: El enfoque microncleo consiste en definir una abstraccin muy simple sobre el hardware, con un conjunto de primitivas o llamadas al sistema que implementan servicios del sistema operativo mnimos, como la gestin de hilos, el espacio de direccionamiento y la comunicacin entre procesos. El objetivo principal es la separacin de la implementacin de los servicios bsicos y de la poltica de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar con un servidor en espacio de usuario ejecutndose encima del microncleo. Estos servidores de usuario, utilizados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican la estructura y diseo del ncleo. Si falla uno de estos servidores, no se colgar el sistema entero, y se podr reiniciar este mdulo independientemente del resto. Sin embargo, la existencia de diferentes mdulos independientes origina retardos en la comunicacin debido a la copia de variables que se realiza en la comunicacin entre mdulos.

NCLEOS HBRIDOS (MICRONCLEOS MODIFICADOS): Los ncleos hbridos fundamentalmente son microncleos que tienen algo de cdigo no esencial en espacio de ncleo para que ste se ejecute ms rpido de lo que lo hara si estuviera en espacio de usuario. ste fue un compromiso que muchos desarrolladores de los primeros sistemas operativos con arquitectura basada en microncleo adoptaron antes que se demostrara que los microncleos pueden tener muy buen rendimiento. La mayora de sistemas operativos modernos pertenecen a esta categora, siendo el ms popular Microsoft Windows. XNU, el ncleo de Mac OS X, tambin es un microncleo modificado, debido a la inclusin de cdigo del ncleo de Free BSD en el ncleo basado en Mach. Dragon Fly BSD es el primer sistema BSD que adopta una arquitectura de ncleo hbrido sin basarse en Mach.

Hay gente que confunde el trmino ncleo hbrido con los ncleos monolticos que pueden cargar mdulos despus del arranque, lo que es un error. Hbrido implica que el ncleo en cuestin usa conceptos de arquitectura o mecanismos tanto del diseo monoltico como del microncleo, especficamente el paso de mensajes y la migracin de cdigo no esencial hacia el espacio de usuario, pero manteniendo cierto cdigo no esencial en el propio ncleo por razones de rendimiento. Algunos ejemplos de ncleos hbridos: Microsoft Windows NT, usado en todos los sistemas que usan el cdigo base de Windows NT XNU (usado en Mac OS X) Dragon Fly BSD React OS?

EXONCLEOS: Los exoncleos, tambin conocidos como sistemas operativos verticalmente estructurados, representan una aproximacin radicalmente nueva al diseo de sistemas operativos. La idea subyacente es permitir que el desarrollador tome todas las decisiones relativas al rendimiento del hardware. Los exoncleos son extremadamente pequeos, ya que limitan expresamente su funcionalidad a la proteccin y el multiplexado de los recursos. Se llaman as porque toda la funcionalidad deja de estar residente en memoria y pasa a estar fuera, en bibliotecas dinmicas. Actualmente, los diseos exoncleo estn fundamentalmente en fase de estudio y no se usan en ningn sistema popular. Un concepto de sistema operativo es Nemesis, creado por la Universidad de Cambridge, la Universidad de Glasgow, Citrix Systems y el Instituto Sueco de Informtica. El MIT tambin ha diseado algunos sistemas basados en exoncleos. Los exoncleos se manejan en diferente estructura dado que tambin cumplen funciones distintas

You might also like