You are on page 1of 16

Definicin de Sistemas Operativos El Sistema Operativo es un programa o conjunto de programas, residentes en una computadora, que permiten un mejor aprovechamiento

de los recursos de la misma y es la base de la escritura de los programas de aplicacin. Los programas hacen que el hardware sea usable, es decir, hacen de interfaz entre el usuario y el hardware. En resumen, los Sistemas Operativos son un conjunto de programas que crean la interfaz del Usuarios hardware con el usuario. Estos programas invocan generalmente los servicios del sistema operativo por medio de las llamadas al SO. Hay dos funciones primordiales del SO, que son: Gestionar el hardware Facilitar el trabajo al usuario Un Sistema Operativo es una parte importante de cualquier sistema informtico o de computacin. Un sistema informtico o de computacin puede dividirse en cuatro componentes: Hardware Sistema Operativo Programas de Aplicacin Usuarios. El Sistema Operativo NO es: Un lenguaje o un compilador. Un intrprete de comandos (interfaz primaria entre el usuario y el sistema operativo). Una biblioteca de funciones (funciones pre programadas para realizar tareas ms comunes). La finalidad es que el usuario se ahorre el trabajo de desarrollo de estas funciones. Evolucin de los Sistemas Operativos Como el desarrollo de los sistemas operativos est muy relacionado con el desarrollo de las arquitecturas de las computadoras, a los sistemas operativos se lo pueden clasificar en generaciones. Primera generacin (1945-1955) En esta etapa no existe el concepto de sistema operativo, todo lo debe realizar el programador, no hay una entidad software intermedio entre la mquina y el programador.
1

La tecnologa era de Tubos al vaco y la programacin era en lenguaje de mquina. Los recursos del sistema eran asignados a una sola tarea, no era posible realizar tareas simultneamente. En el ltimo tiempo de esta generacin aparecen las tarjetas perforadas.

Segunda generacin (1945-1955) En esta generacin la tecnologa incluye a los transistores. La programacin se ve apoyada por la creacin de lenguajes ensambladores y lenguajes de alto nivel como Fortran y COBOL. Para optimizar el tiempo de utilizacin de la mquina se adopt el Procesamiento por lotes. Para hacer la transferencia de los datos entre la computadora y la cinta se construy un programa que se conoce como el primer sistema operativo, que minimiz el tiempo ocioso de las computadoras. Tercera generacin (1965-1980) En esta generacin la tecnologa corresponde a los circuitos integrados, que permiti construir mquinas ms baratas y con mejor rendimiento. En esta generacin aparecen los sistemas operativos con multiprogramacin. Tambin aparece la tcnica de Spooling (Operacin simultnea y en lnea de perifricos). A medida que hay espacio en memoria se puede pasar al siguiente trabajo. Aparecen los primeros sistemas de Tiempo Compartido. Se le asigna a cada proceso un tiempo fijo de utilizacin de CPU. Cuarta generacin (1990- ) Con el crecimiento de las redes de computadoras nacen los sistemas operativos de red y sistemas operativos distribuidos. En los sistemas operativos de red cada computadora tiene su propio sistema operativo, pero pueden compartir recursos. En los sistemas operativos distribuidos hay una integracin real de los recursos, la red es transparente a los usuarios, es decir los usuarios no necesariamente se dan cuenta que hay otras mquinas conectadas a la red.

Por lotes o Batch Ejecuta trabajos o jobs por lotes. El CPU no hace nada en las esperas de entradas/salidas. Ejemplos: SCOPE y UNIVAC 1107. Operaciones de entrada/salida Procesador: elemento de produccin del proceso de datos

Las operaciones de E/S son varias rdenes de magnitud ms lentas que las instrucciones del procesador. Para un procesador de 1 MIPS (un milln de instrucciones por segundo) las equivalencias aproximadas seran: Leer un registro en el disco (a 25 ms) equivale a 25.000 instrucciones. Grabar un sector de diskette (a 200 ms) equivale a 200.000 instrucciones. Imprimir una lnea de 80 caracteres (a 200 cps) equivale a 400.000 instrucciones.

Multiprogramacin
La multiprogramacin es una tcnica que intenta incrementar la utilizacin del CPU tratando de tener siempre algo para que el CPU lo ejecute, se reparte el procesador entre mltiples procesos aprovechando los tiempos de espera de E/S. El sistema operativo selecciona un proceso y lo comienza a ejecutar, si hay una espera por E/S el sistema operativo seleccionar otro proceso y lo ejecutar. Cuando el primer proceso termine su espera obtendr CPU nuevamente. Cada proceso est ejecutndose o en espera de completar una operacin de E/S. Siempre se ejecuta un proceso por vez (o tantos como procesadores tenga la computadora). Ejemplos: Windows 95 y 98, OS/2.

Tiempo Compartido Utiliza calendarizacin de CPU y multiprogramacin para proporcionar a cada usuario una pequea porcin de una computadora de tiempo compartido. La computadora atiende a cada usuario durante un tiempo determinado o quantum, cambiando rpidamente de usuario a usuario, dndoles la impresin de que cada uno de ellos tiene el control absoluto de la computadora, mientras que en realidad es compartida entre muchos usuarios. As como en sistemas batch se ejecutaban trabajos, aqu se ejecutan programas de usuarios. Ejemplos: Unix, Linux y Windows NT.

Tiempo real Es una modalidad de multiprogramacin, en la que se necesita pequeos tiempos de respuesta ante cualquier peticin. Ejemplo: Solaris. Caractersticas Principales: Rapidez en los tiempos de respuesta. La informacin debe ser continuamente actualizada. Manejo eficaz de interrupciones. Manejo sencillo de prioridades. Gestin de memoria real.

Tipos de Sistemas Operativos Sistemas Operativos por su estructura. Se deben tener en cuenta 2 requisitos: Requisitos de usuarios: sistema fcil de usar y de aprender, seguro, rpido y adecuado al uso que se le quiere destinar. Requisitos del Software: se engloban aspectos para el mantenimiento, forma de operacin, restricciones de uso, tolerancia a fallos, flexibilidad. Estructura Monoltica. Es la estructura de los primeros sistemas operativos, constituidos generalmente por un solo programa compuesto de un conjunto de mdulos entrelazados, de manera que cada uno puede llamar a otro. Carecen de protecciones y privilegios al entrar a rutinas que manejan los distintos recursos. Por lo general carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.

Estructura Jerrquica. Al perfeccionarse los sistemas operativos fue necesario organizar el software, donde una parte contena sub partes y esto est organizado en forma de niveles. Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera bien definida y con una clara interface con los otros elementos.
Capa 5 - Programas de los Usuario Capa 4 - Buffers para dispositivos Entrada/Salida Capa 3 - Manejador de consola del operador Capa 2 - Administracin de Memoria Capa 1 - Gestin CPU Capa 0 - Hardware Sistema Jerrquico

Otra forma de ver la estructura jerrquica es la denominada de anillos concntricos. Las capas internas son ms privilegiadas que las externas, por lo que estarn ms protegidas de accesos indeseados.

Mquina Virtual. El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser mquinas diferentes. Estas mquinas virtuales son simulaciones del hardware, con su modo ncleo/usuario, E/S, interrupciones, etc.

Cliente/Servidor (Microkernel). Se traslada cdigo a capas superiores dejando un ncleo o kernel mnimo. La mayor parte de las funciones del sistema operativo las convierte en procesos de usuario.

Kernel o Ncleo

Sistemas Operativos por Servicios. En esta clasificacin se tiene en cuenta al nmero de usuarios, la cantidad de tareas que atiende y al nmero de procesadores del servidor.

Sistemas Operativos por la Forma de Ofrecer sus Servicios. Aqu se refiere a una visin desde el punto de vista del usuario, a como el accede a los servicios.

Esta clasificacin se refiere a la forma en que el usuario accede a los distintos servicios y son: Sistemas Operativos de Red: interactan con sistemas operativos de otras computadoras por medio de un medio de transmisin con el objeto de compartir y transferir archivos, y compartir recursos. Sistemas Operativos Distribuidos: los sistemas operativos distribuidos abarcan los servicios de los de red, pero integrando a los recursos en una sola mquina virtual que el usuario accede en forma transparente.

Funciones de los Sistemas Operativos Uso Eficiente de los Recursos Evitar cuellos de botella que afectan el rendimiento. Mantener todos los componentes lo ms ocupados posible, es decir, administracin de los recursos. Conveniencia y Productividad para los usuarios El usuario cuesta ms que la mquina (Hombre = inteligencia). Funcionar lo ms eficiente posible. Disponibilidad y Confiabilidad Los sistemas son crticos, pero deben ordenar accesos y conflictos. Un sistema fallado puede significar una compaa fallada. Ejecucin de programas El sistema permite el almacenamiento de la informacin en forma estructurada, utilizando dispositivos de almacenamiento secundario. El sistema deber estar habilitado para cargar un programa en la memoria y ejecutarlo. Operaciones de Entrada/Salida El sistema debe proveer los mecanismos necesarios para realizarlas. Manejo de Sistemas de Archivos Los Sistemas de Archivos Asignacin de Recursos Cuando existen mltiples usuarios ejecutando mltiples tareas al mismo tiempo, los recursos deben ser asignados para que cada tarea satisfaga sus requerimientos de ellos. Administracin de los Procesos Crear y Destruir procesos. Suspender y reanudar procesos. Proveer mecanismos para la sincronizacin de procesos. Proveer mecanismos para la comunicacin entre procesos. Administracin de Memoria Asignar y desasignar espacio de memoria cuando se requiera. Mantener informacin de los procesos en memoria y sus propietarios.

10

Prestaciones de un Sistema Operativo

Los sistemas operativos ofrecen sus servicios a los usuarios de dos formas diferentes: 1) Las llamadas al sistema operativo desde un proceso y, 2) La ejecucin de programas del propio sistema. 1) Llamadas al sistema operativo Constituye la interfaz entre un programa en ejecucin y el sistema operativo y se pueden agrupar de la siguiente forma: Gestin de procesos. Gestin operaciones entrada/salida. Gestin del sistema de archivos. Proteccin. Las llamadas al sistema son similares a las llamadas a un subprograma, desde el punto de vista del programa que llama. Las llamadas al sistema funcionan como interrupciones del software, se administran igual que las interrupciones del hardware, pero las provoca el procesador. Algunas instrucciones de mquina que provocan interrupcin software son: INT (Intel) TRAP (Motorola) Est en todos los Sistemas Operativos SYSCALL (MIPS)

11

2) Programas del sistema Existe un conjunto de programas del sistema o de utilidad cuya funcin es resolver problemas comunes en una forma cmoda y sencilla.

Editores Facilitan edicin de archivos. Manipulacin de archivos Crean, copian borran, ordenan, etc, uno o varios archivos. Cargadores y Editores de enlace Programas para construccin, depuracin y carga de programas ejecutables. Informacin Informan estado del sistema, memoria discos, etc. Soporte a los lenguajes de programacin Programas para gestin Base de Datos, comunicaciones, etc. Intrprete de comandos Es el ms importante ya que es el que crea el entorno de trabajo a los usuarios. Servicios del sistema Para el programador del sistema todos los recursos fsicos deben ser convertidos en entidades lgicas para ofrecrselas a los usuarios. El sistema operativo es un programa activado por eventos, si no hay programas en ejecucin ni operaciones de entrada/salida pendientes, el sistema estar inactivo. Normalmente cada evento producir una interrupcin de la ejecucin del sistema operativo y se pueden agrupar en: Llamadas al sistema operativo. Interrupciones de los dispositivos de Entrada/Salida. Gestin de excepciones.

12

Llamadas al sistema operativo Terminacin normal Terminacin anormal Peticiones de estado Peticiones de recursos Peticiones de Entrada/Salida Interrupciones de los dispositivos de Entrada/Salida El proceso queda en espera hasta que se termine la operacin entrada/salida. El procesador seguir realizando otras operaciones. Interrupciones de los dispositivos de Entrada/Salida El proceso queda en espera hasta que se termine la operacin entrada/salida. El procesador seguir realizando otras operaciones.

Gestin de Interrupciones Hw. Una interrupcin es un suceso externo al procesador que cambia el flujo normal de ejecucin del procesador. Es un evento asncrono. Los dispositivos de E/S y el procesador operan concurrentemente. Gestin de excepciones Es una interrupcin de software, es un evento sncrono. Cuando un programa en ejecucin comete un error, se producir una interrupcin. La diferencia bsica con las interrupciones es que las excepciones se tratan en modo usuario. El tratamiento de estos errores se conoce como manejo de excepciones. Ejemplo: Fallo de pgina y divisin por cero.

13

Protecciones Las aplicaciones de usuarios no estn libres de errores por lo que el sistema operativo debe incluir funciones de proteccin con el objeto de evitar problemas entre procesos y entre estos y el sistema operativo y son: Proteccin de la Entrada/Salida Los dispositivos cuentan con drivers que entre otras cosas protegen accesos incorrectos, devolviendo al ncleo del sistema operativo el control. Proteccin de la memoria Para evitar la asignacin de memoria de zonas ya asignadas al sistema operativo u otros procesos existen registros de frontera que indican el lmite de memoria asignado a cada proceso. Proteccin del procesador Se pueden presentar bucles infinitos o accesos al procesador que no lo liberan nunca. Una solucin es utilizar temporizadores y otra es apagar la mquina. Ncleo del Sistema Operativo Corresponde al primer nivel jerrquico. Suele permanecer en el almacenamiento primario o memoria principal, ya que su cdigo se ejecuta frecuentemente. Conjunto de rutinas cuya misin es la de administrar en forma eficiente los recursos, as como tambin los procesos.

Caractersticas generales Es la parte ms dependiente del hardware de todo el sistema operativo. Parte de su desarrollo est en Assembler. Algunas veces con dispositivos cableados. Elimina funciones del monitor y las tareas pasan a ser procesos del sistema. Los procesos son interrumpibles y todas las interrupciones son manejadas por un ncleo mnimo transparente a los procesos. Utilizado en sistemas grandes
14

Funciones bsicas Proporcionar estado adecuado para existencia de procesos. Manejo de interrupciones. Conmutacin del procesador entre procesos. Mecanismos bsicos de comunicacin entre procesos. Carga inicial y activacin de la configuracin del sistema. Categoras Monolticos: Generalmente divididos en dos: Dependientes del hardware: manejo de las IRQ, memoria, dispositivos E/S. Independientes del hardware: se encarga de las llamadas al sistema, manejo de archivos y planificacin de procesos. MicroKernel o Micro ncleo: Tiene solamente manejo de procesos y threads, manejo de memoria, comunicaciones, operaciones bajo nivel E/S. El resto de los servicios, como manejo de archivos, utilizan al ncleo por medio de las comunicaciones.

15

Bibliografa
SILBERSCHATZ, Abraham; GALVIN, Peter: Sistemas Operativos Quinta Edicin. Mxico, Addison-Wesley, 1999. STALLINGS, William: Sistemas Operativos Segunda Edicin. Madrid, Prentice-Hall, 1998. MILENKOVIC, Milan: Sistemas Operativos: Conceptos y Diseo Segunda Edicin. Madrid, McGraw-Hill, 1994. TANENBAUM, Andrew; WOODHULL, Albert: Sistemas Operativos: Diseo e Implementacin Segunda Edicin. Mxico, Prentice-Hall, 1997. TANENBAUM, Andrew: Sistemas Operativos Modernos Primera Edicin. Mxico, Prentice-Hall, 1993. TANENBAUM, Andrew: Sistemas Operativos Distribuidos Primera Edicin. Mxico, Prentice-Hall, 1996. DEITEL, Harvey: Sistemas Operativos Segunda edicin. Mxico, Addison-Wesley, 1993. TACKETT Jack; GUNTER, David; BROWN, Lance: Linux Mxico, Prentice Hall, 1996. ZACKER, Craig: Novell IntranetWare Madrid, Prentice Hall, 1999.

16

You might also like