Está en la página 1de 10

Sistemas Operativos Ingeniera en Sistemas Computacionales

TAREAS DEL SISTEMA OPERATIVO


Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicacin y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema. Tambin provee una mquina virtual, es decir, un ambiente en el cual el usuario pueda ejecutar programas de manera conveniente, protegindolo de los detalles y complejidades del hardware. Administrar eficientemente los recursos del computador. El sistema operativo como mquina virtual Un computador se compone de uno o ms procesadores o CPUs, memoria principal o RAM, memoria secundaria (discos), tarjetas de expansin (tarjetas de red, modems y otros), monitor, teclado, mouse y otros dispositivos. O sea, es un sistema complejo. Escribir programas que hagan uso correcto de todas estas componentes no es una tarea trivial. Peor an si hablamos de uso ptimo. Si cada programador tuviera que preocuparse de, por ejemplo, cmo funciona el disco duro del computador, teniendo adems siempre presentes todas las posibles cosas que podran fallar, entonces a la fecha se habra escrito una cantidad bastante reducida de programas. . Hace muchos aos que qued claro que era necesario encontrar algn medio para aislar a los programadores de las complejidades del hardware. Esa es precisamente una de las tareas del sistema operativo, que puede verse como una capa de software que maneja todas las partes del sistema, y hace de intermediario entre el hardware y los programas del usuario. El sistema operativo presenta, de esta manera, una interfaz o mquina virtual que es ms fcil de entender y de programar que la mquina "pura". Adems, para una misma familia de mquinas, aunque tengan componentes diferentes (por ejemplo, monitores de distinta resolucin o discos duros de diversos fabricantes), la mquina virtual puede ser idntica: el programador ve exactamente la misma interfaz. El sistema operativo como administrador de recursos La otra tarea de un sistema operativo consiste en administrar los recursos de un computador cuando hay dos o ms programas que ejecutan simultneamente y requieren usar el mismo recurso (como tiempo de CPU, memoria o impresora).

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

Adems, en un sistema multiusuario, suele ser necesario o conveniente compartir, adems de dispositivos fsicos, informacin. Al mismo tiempo, debe tenerse en cuenta consideraciones de seguridad: por ejemplo, la informacin confidencial slo debe ser accesada por usuarios autorizados, un usuario cualquiera no debiera ser capaz de sobreescribir reas crticas del sistema, etc. (En este caso, un usuario puede ser una persona, un programa, u otro computador). En resumen, el sistema operativo debe llevar la cuenta acerca de quin est usando qu recursos; otorgar recursos a quienes los solicitan (siempre que el solicitante tenga derechos adecuados sobre el recurso); y arbitrar en caso de solicitudes conflictivas. Las tareas que generalmente realiza un Sistema Operativo son las siguientes: -Realizar el interfaz sistema-usuario. -Compartir los recursos de Hardware entre los usuarios. -Permitir a los usuarios compartir sus datos entre ellos. -Prevenir que las actividades de un usuario no interfieran en las de los dems usuarios. -Calendarizar los recursos de los usuarios. -Facilitar el acceso a los dispositivos de E/S. -Recuperarse de fallas o errores. -Llevar el control sobre el uso de los recursos. -Entre otras. Un sistema operativo est formado por varios programas que en conjunto presentan al usuario una vista integrada del sistema, los componentes principales de un sistema operativo son los siguientes mdulos: -Manejo de procesos. -Manejo de E/S. -Manejo de Memoria. -Manejo del Sistema de Archivos. El sistema operativo indica a la computadora la manera de utilizar otros programas de software y administra todo el hardware, tanto el interno como el externo, que est instalado en la computadora. Los sistemas operativos pueden ser basados en caracteres o grficos. Un sistema operativo basado en caracteres, tal como MS-DOS, le permite escribir comandos en un indicador para controlar la computadora. Un interfaz grfico del usuario, o

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

GUI, le permite enviar comandos a la computadora al hacer clic en iconos o al seleccionar elementos en los mens. Funciones del sistema operativo El sistema operativo cumple varias funciones: Administracin del procesador: el sistema operativo administra la distribucin del procesador entre los distintos programas por medio de un algoritmo de programacin. El tipo de programador depende completamente del sistema operativo, segn el objetivo deseado. Gestin de la memoria de acceso aleatorio: el sistema operativo se encarga de gestionar el espacio de memoria asignado para cada aplicacin y para cada usuario, si resulta pertinente. Cuando la memoria fsica es insuficiente, el sistema operativo puede crear una zona de memoria en el disco duro, denominada "memoria virtual". La memoria virtual permite ejecutar aplicaciones que requieren una memoria superior a la memoria RAM disponible en el sistema. Sin embargo, esta memoria es mucho ms lenta. Gestin de entradas/salidas: el sistema operativo permite unificar y controlar el acceso de los programas a los recursos materiales a travs de los drivers (tambin conocidos como administradores perifricos o de entrada/salida). Gestin de ejecucin de aplicaciones: el sistema operativo se encarga de que las aplicaciones se ejecuten sin problemas asignndoles los recursos que stas necesitan para funcionar. Esto significa que si una aplicacin no responde correctamente puede "sucumbir". Administracin de autorizaciones: el sistema operativo se encarga de la seguridad en relacin con la ejecucin de programas garantizando que los recursos sean utilizados slo por programas y usuarios que posean las autorizaciones correspondientes. Gestin de archivos: el sistema operativo gestiona la lectura y escritura en el sistema de archivos, y las autorizaciones de acceso a archivos de aplicaciones y usuarios. Gestin de la informacin: el sistema operativo proporciona cierta cantidad de indicadores que pueden utilizarse para diagnosticar el funcionamiento correcto del equipo. Interpretar lenguaje de control. Planificacin y carga de tareas en multiaccesos. Tiempo real: lapso entre que el usuario ingresa al sistema y la respuesta de este. Si no hay demoras el lapso es nulo. On-Line: sistema que trabaja en lnea (conectado a todas las terminales). Off-Line: se realizan trabajos y procesos sin conexin para luego intercambiar la informacin.

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

IPL: carga inicial del programa de trabajo. El SO verifica que todo funcione correctamente antes de ejecutar alguna tarea, y arga el SO a memoria. Interrupcin: corte abrupto (no previsto) o no (sujeto a condiciones del proceso acompaado de un mensaje orientativo al operador) en la ejecucin de tareas. Prioridad: es un atributo de los procesos que libera o no recursos del sistema para su ejecucin. Componentes de sistema operativo El sistema operativo est compuesto por un conjunto de paquetes de software que pueden utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por lo general en este conjunto de software:

El ncleo, que representa las funciones bsicas del sistema operativo, como por ejemplo, la gestin de la memoria, de los procesos, de los archivos, de las entradas/salidas principales y de las funciones de comunicacin. El intrprete de comandos, que posibilita la comunicacin con el sistema operativo a travs de un lenguaje de control, permitiendo al usuario controlar los perifricos sin conocer las caractersticas del hardware utilizado, la gestin de las direcciones fsicas, etctera. El sistema de archivos, que permite que los archivos se registren en una estructura arbrea.

Historia y Evolucin de los Sistemas Operativos


Aos 40 A finales de los aos 1940, 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 (en realidad al existir tan pocas computadoras todos podran considerarse prototipos y cada constructor lo haca sin seguir ningn criterio predeterminado). Por aquel entonces no existan los sistemas operativos, y los programadores deban interactuar con el hardware del computador sin ayuda externa. Esto haca que el tiempo de preparacin para realizar una tarea fuera considerable. Adems para poder utilizar la computadora deba hacerse por turnos. Para ello, en muchas instalaciones, se rellenaba un formulario de reserva en el que se indicaba el tiempo que el programador necesitaba para realizar su trabajo. En aquel entonces las computadoras eran mquinas muy costosas lo que haca que estuvieran muy solicitadas y que slo pudieran utilizarse en periodos breves de tiempo. Todo se haca en lenguaje de mquina.

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

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 el tiempo de montaje surgi la idea de agrupar los trabajos en lotes, 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 1960 se produjeron cambios notorios en varios campos de la informtica,con la aparicion del circuito cerrado la mayora orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban tcnicas de lo ms diversas: Multiprogramacin En un sistema multiprogramado la memoria principal alberga a ms de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecucin realiza una operacin de E/S; en lugar de esperar a que termine la operacin de E/S, se pasa a ejecutar otro programa. Si ste realiza, a su vez, otra operacin de E/S, se mandan las rdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera ptima los recursos disponibles. Tiempo compartido En este punto tenemos un sistema que hace buen uso de la electrnica disponible, pero adolece de falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un terminal en lnea, utilizando el modo de operacin de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. 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 otro aplicacin. Con esto se consigue repartir la CPU por igual entre los programas de los distintos usuarios, y los programas de los usuarios no se sienten demasiado lentos por el hecho de que los recursos sean compartidos y aparentemente se ejecutan de manera concurrente. 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. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones. Multiprocesador Permite trabajar con mquinas que poseen ms de un microprocesador. En un multiprocesador los procesadores comparten memoria y reloj. 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 y programado en PL/1 uno de los pocos SO desarrollados en un lenguaje de alto nivel en aquel tiempo, luego del fracaso del proyecto UNIX comienza a desarrollarse a partir de este a finales de la dcada.

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

Aos 70 Debido al avance de la electrnica, pudieron empezar a crearse circuitos con miles de transistores en un centmetro cuadrado de silicio, lo que llevara, pocos aos despus, a producirse los primeros sistemas integrados. sta dcada se podra definir como la de los sistemas de propsito general y en ella se desarrollan tecnologas que se siguen utilizando en la actualidad. Es en los aos 1970 cuando se produce el boom de los miniordenadores y la informtica se acerca al nivel de usuario. 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, convirtindolo en uno de los pocos SO escritos en un lenguaje de alto nivel. En el campo de la programacin lgica se dio a luz la primera implementacin de Prolog, y en la revolucionaria orientacin a objetos, Smalltalk. 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 y mucho despus de lo que se marcaba como fecha de finalizacin. Adems, aunque formaban una capa entre el hardware y el usuario, ste deba conocer un complejo lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es el gran consumo de recursos que ocasionaban, debido a los grandes espacios de memoria principal y secundaria ocupados, as como el tiempo de procesador consumido. Es por esto que se intent hacer hincapi en mejorar las tcnicas ya existentes de multiprogramacin y tiempo compartido. Caractersticas de los nuevos sistemas Para solventar los problemas antes comentados, se realiz un costossimo trabajo para interponer una amplia capa de software entre el usuario y la mquina, de forma que el primero no tuviese que conocer ningn detalle de la circuitera. Sistemas operativos desarrollados * 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 para comenzar a crear el sistema UNIX. Se desarroll

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

inicialmente para el mainframe GE-645, un sistema de 36 bits; despus fue soportado por la serie de mquinas Honeywell 6180. Fue uno de los primeros sistemas operativos de tiempo compartido, que implement un solo nivel de almacenamiento para el acceso a los datos, desechando la clara distincin entre los ficheros y los procesos en memoria, y uno de los primeros sistemas multiprocesador. * 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, desarrollado tambin por IBM y lanzado al mercado por primera vez en 1974. Como caractersticas destacables, permita la ejecucin de mltiples tareas, adems de que introdujo el concepto de memoria virtual y finalmente aadi la capacidad de que cada programa tuviera su propio espacio de direccionamiento de memoria, de ah su nombre. * 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. Su xito se debi a que era porttil, permitiendo que diferentes programas interactuasen con el hardware de una manera estandarizada. Estaba compuesto de dos subsistemas: o CCP (Comand Control Processor): Intrprete de comandos que permita introducir los mandatos con sus parmetros separados por espacios. Adems, los traduca a instrucciones de alto nivel destinadas a BDOS. o BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS. El hecho de que, aos despus, IBM eligiera para sus PCs a MS-DOS 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. En esta poca, siguieron utilizndose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos,

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

de los cuales se podran destacar: C++ y Eiffel dentro del paradigma de la orientacin a objetos, y Haskell y Miranda en el campo de la programacin declarativa. 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 (MicroSoft 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. Microsoft Windows Familia de sistemas operativos propietarios desarrollados por la empresa de software Microsoft Corporation, fundada por Bill Gates y Paul Allen. Todos ellos tienen en comn el estar basados en una interfaz grfica de usuario basada en el paradigma de ventanas, de ah su nombre en ingls. Las versiones de Windows que han aparecido hasta el momento se basan en dos lneas separadas de desarrollo que finalmente convergen en una sola con la llegada de Windows XP. La primera de ellas conformaba la apariencia de un sistema operativo, aunque realmente se ejecutaba sobre MS-DOS. Actualmente existe Windows 7 Aos 90

Instituto Tecnolgico de Chilpancingo

Sistemas Operativos Ingeniera en Sistemas Computacionales

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 grafico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl. Lo que permite utilizar linux de una forma muy visual y atractiva. Actualidad Cada da que pasa el ser humano descubre ms y ms cosas, la computadora se ha convertido en su medio auxiliar inseparable para la cual mira cada vez que necesita resolver un problema. La solucin de ese problema, a menudo, hace que se fabriquen nuevos medios que se pueden conectar a la mquina o que pueden incorporarse dentro de ella, cada nuevo componente necesita ser manipulado de una forma cmoda (como hacemos con el ratn o mouse) aislando al usuario (en el sentido amplio, persona u otro software) de sus interioridades. En todas esas nuevas soluciones deber estar el SO como intermediario ideal y la tendencia es que esos nuevos medios se instalen de manera automtica lo que se ha denominado tecnologa plug and play. La actualidad de los Sistemas Operativos, la acaparan mayoritariamente los tres grandes, Windows, Unix y Mac Os, en sus respectivas versiones actuales. Paralelamente, estamos ante la evolucin de los microprocesadores pasando de 32 a 64 bits, aumentando con ello el rendimiento y capacidad, ya existen sistemas operativos desarrollados especficamente para mquinas de 64 bits, tales como distribuciones de Linux y la versin de Windows XP para 64 bits. Se podra decir que el futuro es de los dobles, junto a los procesadores de 64 bits han aparecido los Microprocesadores de doble ncleo, en un primer momento virtual y ahora implementando fsicamente dos ncleos en un mismo chip. La aplicacin principal del doble ncleo es la divisin de tareas y por tanto mayor rapidez al realizarlas (Divide y vencers).

Instituto Tecnolgico de Chilpancingo