You are on page 1of 8

SISTEMAS OPERATIVOS

INTRODUCCION
Un sistema de computacin tiene una o ms Unidades Centrales de Procesamiento (CPU), memoria principal, discos, impresoras, interfaz de red y otros dispositivos de E/S. Con el transcurrir del tiempo surgi la necesidad de proteger al programador de la complejidad del hardware. Una solucin que ha evolucionado gradualmente consiste en poner una capa de software encima del hardware solo, que se encargue de administrar todas las partes del sistema y presente al usuario una interfaz o mquina virtual que sea ms fcil de entender y programar. Esta capa de software es el Sistema Operativo. Esta situacin se muestra en la siguiente figura:

Almacn Compiladores

Planilla Editores

Navegador Interprete de Comandos

Programas de Aplicacin Programas del Sistema

Sistemas Operativos Lenguaje de mquina Microprogramacin Dispositivos fsicos

Hardware

Que es un Sistema Operativo.? Es un programa... Es el software que controla el hardware. Es la interfaz entre el usuario y el hardware. Es el programa que administra los recursos de software y hardware de un sistema computacional.

Funciones principales de un sistema operativo. El sistema operativo como una mquina extendida (Mquina virtual). El sistema operativo como administrador de recursos.

Historia y evolucin de los Sistemas Operativos


A finales de los 40's el uso de computadoras estaba restringido a aquellas empresas o instituciones que podan pagar su alto precio, y no existan los sistemas operativos. En su lugar, el programador deba tener un conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, deba examinar los valores de los registros y pneles de luces indicadoras del estado de la computadora para determinar la causa del fallo y poder corregir su programa, adems de enfrentarse nuevamente a los procedimientos de apartar tiempo del sistema y poner a punto los compiladores, ligadores, etc; para volver a correr su programa, es decir, enfrentaba el problema del procesamiento serial ( serial processing ) [Stal92].
Ing. Mario Borja B.

SISTEMAS OPERATIVOS

La importancia de los sistemas operativos nace histricamente desde los 50's, cuando se hizo evidente que el operar una computadora por medio de tableros enchufables en la primera generacin y luego por medio del trabajo en lote en la segunda generacin se poda mejorar notoriamente, pues el operador realizaba siempre una secuencia de pasos repetitivos, lo cual es una de las caractersticas contempladas en la definicin de lo que es un programa. Es decir, se comenz a ver que las tareas mismas del operador podan plasmarse en un programa, el cual a travs del tiempo y por su enorme complejidad se le llam "Sistema Operativo". As, tenemos entre los primeros sistemas operativos al Fortran Monitor System ( FMS ) e IBSYS [Tan92]. Posteriormente, en la tercera generacin de computadoras nace uno de los primeros sistemas operativos con la filosofa de administrar una familia de computadoras: el OS/360 de IBM. Fue este un proyecto tan novedoso y ambicioso que enfrent por primera vez una serie de problemas conflictivos debido a que anteriormente las computadoras eran creadas para dos propsitos en general: el comercial y el cientfico. As, al tratar de crear un solo sistema operativo para computadoras que podan dedicarse a un propsito, al otro o ambos, puso en evidencia la problemtica del trabajo en equipos de anlisis, diseo e implantacin de sistemas grandes. El resultado fue un sistema del cual uno de sus mismos diseadores patentiz su opinin en la portada de un libro: una horda de bestias prehistricas atascadas en un foso de brea. Surge tambin en la tercera generacin de computadoras el concepto de la multiprogramacin, porque debido al alto costo de las computadoras era necesario idear un esquema de trabajo que mantuviese a la unidad central de procesamiento ms tiempo ocupada, as como el encolado (spooling) de trabajos para su lectura hacia los lugares libres de memoria o la escritura de resultados. Sin embargo, se puede afirmar que los sistemas durante la tercera generacin siguieron siendo bsicamente sistemas de lote. En la cuarta generacin la electrnica avanza hacia la integracin a gran escala, pudiendo crear circuitos con miles de transistores en un centmetro cuadrado de silicn y ya es posible hablar de las computadoras personales y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando as atraer al pblico en general al uso de las computadoras como herramientas cotidianas. Se hacen populares el MS-DOS y UNIX en estas mquinas. Tambin es comn encontrar clones de computadoras personales y una multitud de empresas pequeas ensamblndolas por todo el mundo. Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad de sistemas operativos en red y sistemas operativos distribuidos. La red mundial Internet se va haciendo accesible a toda clase de instituciones y se comienzan a dar muchas soluciones ( y problemas ) al querer hacer convivir recursos residentes en computadoras con sistemas operativos diferentes. Para los 90's el paradigma de la programacin orientada a objetos cobra auge, as como el manejo de objetos desde los sistemas operativos. Las aplicaciones intentan crearse para ser ejecutadas en una plataforma especfica y poder ver sus resultados en la pantalla o monitor de otra diferente (por ejemplo, ejecutar una simulacin en una mquina con UNIX y ver los resultados en otra con DOS ). Los niveles de interaccin se van haciendo cada vez ms profundos.

Ing. Mario Borja B.

SISTEMAS OPERATIVOS

EVOLUCION DE LOS SISTEMAS OPERATIVOS


Con el fin de motivar la necesidad de ciertos tipos de servicios que cada uno de estas variantes presentan, podemos esquematizar brevemente el camino evolutivo del desarrollo de los sistemas operativos, en particular describiremos el procesamiento en serie, el procesamiento por lote y la multiprogramacin.

1.-PROCESAMIENTO EN SERIE:
En los sistemas informticos primitivos la programacin de la Maquina desnuda, fue muy habitual. Una versin mas avanzado a este modo de operaciones con la tarjeta de evaluacin simple. Los programas se arrancan cargando el registro del contador del programa con la direccin de la primera instruccin, la ejecucin se obtienen examinando los registros relevantes y las posiciones de memoria. La programacin de mquina desnuda, resulta ser de baja productividad para los usuarios y para el hardware. El siguiente paso de la evolucin en el uso del sistema de informtico vino con la llegada de dispositivos de entrada y salida tales como la tarjeta perforada, cintas de papel y con los traductores de lenguajes. El mecanismo de desarrollo y preparacin de programa en esos entornos eran bastante lentos y fragosos debido a la ejecucin en serie de los programas y los numerosos operaciones manuales en el proceso. Los traductores de lenguajes mltiples de paso puede requerir que se introduzca en cdigo fuente, durante cada paso cuando se usan dispositivos de entrada en serie,como la lectora de tarjetas . En esta segunda etapa de procesamiento por lotes se tienen las siguientes caractersticas (1.955- 1.965) Hardware: Se utilizan transistores aumentndose la fiabilidad. El diseador del hardware, los programadores y los operadores ya no son la misma persona. Hay una

especializacin. Metodologa: Se eliminan los tiempos muertos debido a operaciones manuales. Se agrupan las tareas correspondientes a varios trabajos en una cinta de entrada. Se utiliza una cinta de sistema que contiene los programas del sistema: compiladores, linkadores,

libreras. -Montar la cinta de entrada. -Mientras hayan trabajos lectura del prximo trabajo y ejecucin (se realiza el clculo asociado a cada trabajo y se deja la salida en la cinta de salida) -Desmontar la cinta de entrada. -Desmontar la cinta de salida. La cinta de entrada es generada off-line utilizando un ordenador satlite.

Sistema Operativo: Monitor batch.

Ing. Mario Borja B.

SISTEMAS OPERATIVOS

Cdigo residente en la mquina que interpreta y ejecuta las tarjetas de control incluidas entre las tarjetas Control de buffering y spooling Planificacin de la CPU a largo tiempo.

de trabajo.

Problemas:

Trabajo no interactivo. Correccin de los errores de ejecucin a partir de volcados de memoria. Tiempo de retorno muy largo. La CPU es muy rpida y los dispositivos de entrada / salida muy lentos. Durante la ejecucin de un programa los tiempos de CPU son del orden de nanosegundos y los de

entrada / salida del orden de milisegundos. Seguimos teniendo la CPU mucho rato ociosa. Para mejorar la velocidad hay dos posibilidades:

2.-PROCESAMIENTO POR LOTES:


Debido a la reduccin de tiempos de inactividad, debido a las lentas operaciones manuales, el procesamiento por lotes ofrece un mayor potencial para aumentar la utilizacin de recursos del sistema y la productividad que los procesamiento serie sencillos. Si se agrupan varios programas en una cinta nica de entrada para que las operaciones auxiliares se realicen una sola vez el tiempo de preparacin por programa se reduce correlativamente(seguido). Por ejemplo. Agrupando, en lotes varios trabajos de compilacin Fortran; el compilador Fortran solo necesita ser cargado una vez para procesarlo a todos de golpe. Para sacar provecho al potencial de utilizacin de recursos del procesamiento de lotes ,un lote de trabajo debe de ejecutarse automticamente sin la lenta intervencin humana. Una parte residente en Memoria de sistema operativo por lotes a veces llamado Monitor de Lotes , lee, interpreta y ejecuta estas rdenes. En respuesta a ellos los trabajos de lotes se ejecuta uno cada vez.

1.-MULTIPROGRAMACION:
La multiprogramacin designa a un sistema operativo que adems de soportar multitareas proporciona formas sofisticadas de proteccin de memoria y fuerza el control de la concurrencia cuando los procesos acceden a los dispositivos de E/S y archivos compartidos. Para aumentar la utilizacin de recursos, los sistemas de multiprogramacin reales permite generalmente que ms de dos programas compitan por los recursos de los sistemas al mismo tiempo. El nmero de programas activos en competencia por los recursos de un sistema informtico multiprogramado, se denomina grado de multiprogramacin. La multiprogramacin ha sido tradicionalmente empleada para aumentar la utilizacin de los recursos de un sistema informtico y para soportar mltiples usuarios simultneamente, Se caracteriza por, una multitud de programas activos simultneamente que compiten por los recursos del sistema como: procesador, Memoria y dispositivos de E/S. Un sistema operativo de multiprogramacin vigila el estado de todos los programas activos y de todos los recursos del sistema.
Ing. Mario Borja B.

SISTEMAS OPERATIVOS

Tercera etapa: Multiprogramacin y tiempo compartido.


La principal desventaja de un sistema de cola nica es la total dedicacin de la mquina a la ejecucin de una sola tarea, no importa lo larga o lo corta que sea. Este inconveniente puede superarse mediante la multiprogramacin, o sea, la ejecucin simultnea de varios programas que residen en la memoria principal, dividiendo el procesador central su tiempo entre ellos de acuerdo con los recursos (tal como canales o dispositivos) que necesite en cada momento cada uno de ellos. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, obtener una utilizacin ptima de los recursos disponibles. Ello incluye la utilizacin del procesador central, ya que en tanto que una tarea est esperando el final de una transferencia de E/S, este procesador puede pasar a trabajar en alguna otra tarea que est pendiente en la mquina. La carga que recae sobre el sistema operativo consiste en el control de los recursos, as como la proteccin de cada tarea frente a las actividades de las otras. Un sistema operativo de este tipo recibe el nombre de monitor de batch de varios flujos. En el estadio actual de la progresin que hemos llevado a cabo tenemos un sistema notablemente sofisticado que hace bastante buen uso de la electrnica disponible. Sin embargo, desde el punto de vista del usuario el sistema adolece de falta de interactividad, tan necesaria en el proceso de desarrollo de programas, y til tambin para desarrollar programas interactivos que respondan instantneamente a las peticiones del usuario. Para hacer posible esta interaccin, el sistema de batch de varios flujos debe modificarse con el fin de que pueda adquirir la informacin que le suministren los usuarios desde los respectivos terminales: es decir, debe convertirse en un sistema multiusuario. Un sistema de este tipo, en el cual existen varios usuarios con un terminal en lnea (usuarios interactivos), se llama sistema de tiempo compartido. En estos sistemas se divide el tiempo del procesador central, y de los dems recursos del ordenador, de forma que cada usuario tiene la ilusin de que todo el ordenador se le dedica exclusivamente a l, al recibir unos tiempos de respuesta aceptables. En un sistema de tiempo compartido los usuarios suelen ejecutar programas cortos (por ejemplo, compilar un programa), frente a los programas largos (por ejemplo, ordenar una cinta de un milln de datos) que se suelen dar en los sistemas batch. Por ltimo hay que indicar que algunos sistemas operativos permiten tanto usuarios interactivos como lotes de trabajos batch. En estos sistemas se atiende a los usuarios interactivos con mayor prioridad, ejecutndose los programas batch cuando no hay programas de usuario.

Cuarta etapa: redes de ordenadores.


En una red de ordenadores se tiene una configuracin de varios ordenadores conectados fsicamente. Los ordenadores de una red pueden tener sistemas operativos de red o sistemas operativos distribuidos. En un sistema operativo de red los usuarios son conscientes de la existencia de varios ordenadores, y pueden conectarse con mquinas remotas para, por ejemplo, copiar ficheros. Cada mquina ejecuta su propio sistema operativo local y tiene su propio usuario (o grupo de usuarios). Los sistemas operativos de red no difieren de los
Ing. Mario Borja B.

SISTEMAS OPERATIVOS

sistemas operativos tradicionales de un slo procesador. Necesitan un controlador de red, algunas rutinas de E/S para utilizar dicho controlador, y programas que permitan la conexin y el acceso a ordenadores remotos, pero esas caractersticas adicionales no modifican la estructura esencial del sistema operativo. En un sistema distribuido los ficheros que utiliza un usuario (as como el procesador en el que se ejecutan sus programas) pueden estar situados en cualquier ordenador de la red. Adems, esto es transparente al usuario. Los sistemas operativos distribuidos requieren algo ms que aadir un poco de cdigo a un sistema operativo de un nico procesador, ya que los sistemas distribuidos difieren en aspectos crticos de los sistemas centralizados.

TERMINOLOGIAS USADAS EN SISTEMAS OPERATIVOS


SISTEMAS OPERATIVOS Puede ser contemplado como una coleccin organizada de de extensiones Software del Hardware, consistentes en rutinas de control que hacen funcionar un computador y proporcionan un entorno para la ejecucion de los programas. MULTIPROGRAMACION Capacidad para ejecutar multiples programas de forma intercalada. Ha sido tradicionalmente empleada para aumentar la utilizacion de los recursos de un sistema informatico y para soportar multiples usuario simultaneamente activos. MULTIPROCESAMIENTO Habilidad que posee un sistema operativo para utilizar ms de una unidad central de procesamiento en una misma computadora. Por su parte, el multiprocesamiento simtrico se refiere a la habilidad que posee el sistema operativo de asignar dinmicamente las tareas al siguiente procesador que est disponible, mientras que el multiprocesamiento asimtrico, requiere que quien disee el programa original, al momento de escribirlo, elija el procesador que ser utilizado para una tarea dada. CARGADOR Automatiza el proceso de cargar en memoria los programas ejecutables, el usuario coloca sus programas y sus datos de entrada en un dispositivo de entrada y el cargador transfiere la informacion desde el dispositivo a la memoria. KERNEL O NCLEO Parte fundamental de un sistema operativo. Este ncleo permanece residente en la memoria todo el tiempo, frecuentemente escondido del usuario, y administra la memoria del sistema, el sistema de archivos y las operaciones del disco. SHELL O INTEGRADOR DE PROGRAMAS Software utilizado como interfaz entre el usuario y el sistema operativo. El procesador de comandos del DOS es una de las formas que toma un integrador de programas pero adems, el DOS ofrece el programa DOSSHELL, mientras que Microsoft Windows ofrece el Administrador de programas y la Macintosh ofrece el Finder. Los dos integradores de programas ms comunes del sistema operativo UNIX son el integrador de programas C y el integrador de programas de Bourne [C shell y Bourne shell]. BUFFER O MEMORIA INTERMEDIA Area de memoria reservada para el almacenamiento provisional de los datos. Frecuentemente, los datos permanecen en la memoria intermedia hasta que algn evento externo finalice. Muchos perifricos, tales como las impresoras, tienen su propia memoria intermedia. La computadora transfiere los datos a ser impresos desde la memoria (convencional) hasta la memoria intermedia; despus, la impresora procesa esa informacin directamente desde la memoria intermedia para liberar as a la computadora para que realice otras tareas. TAREAS MLTIPLES CON TIEMPO FRACCIONADO Forma de tareas mltiples en las que el sistema operativo asigna, a su vez, el mismo y pequeo lapso a cada proceso.

Ing. Mario Borja B.

SISTEMAS OPERATIVOS
TAREAS MLTIPLES APROPIATIVAS (POR ANTICIPADO) Forma de tareas mltiples en la que el sistema operativo ejecuta una aplicacin durante un tiempo especfico, de acuerdo con la prioridad que tiene asignada. En ese momento se dice que la aplicacin est anticipada, y se da acceso a otra tarea de la unidad central de procesamiento para que se ejecute durante el tiempo que le ha sido asignado. Aun cuando una aplicacin puede dejar el control antes de que finalice su tiempo de ejecucin asignado, tal como durante la espera por la entrada y (o) salida [input/output] de datos, a ninguna tarea se le autoriza para que se ejecute por ms tiempo del que le ha sido asignado. El OS/2, UNIX, Windows NT, todos utilizan tareas mltiples apropiativas (por anticipado). SISTEMA EN TIEMPO REAL Cualquier sistema de cmputo diseado para responder de inmediato, a medida que ocurren los acontecimientos en la vida real. Los sistemas de cmputo utilizados en los pilotos automticos de los aviones, en los sistemas de monitoreo de los pacientes, en el control de proceso, o en los sistemas de control de trfico, son todos sistemas que funcionan en tiempo real; las computadoras que realizan operaciones de procesamiento por lotes [batch processing operations] no lo son. INPUT/OUTPUT O ENTRADA/SALIDA Abreviado I/O. Transferencia de datos [data] entre la computadora y sus dispositivos perifricos [peripheral], unidades de disco, terminales e impresoras [disk drives, terminals y printers]. INTERFACE O INTERFAZ Punto donde se efecta una conexin entre dos dispositivos de hardware, entre un usuario y un programa o el sistema operativo, o simplemente entre dos programas de aplicacin. En el hardware, el trmino interfaz describe las conexiones lgicas y fsicas utilizadas, tal como la RS-232-C, y a menudo se le considera sinnimo del trmino transportar. Una interfaz de usuario [user interface] consta de mecanismos mediante los cuales un programa se comunica con el usuario, incluyendo la interfaz de lnea de comandos [command line], mens, cuadros de dilogo, sistemas de ayuda en lnea, y as sucesivamente. Las interfaces de usuario se pueden clasificar como: basadas en caracteres, controladas por men, o grficas. Las interfaces de software son Interfaces de programas de aplicacin [Application Program Interfaces (APIs)] y constan de los cdigos y mensajes que utilizan los programas para comunicarse en el trasfondo. SISTEMA DISTRIBUIDO Coleccin de sistemas informaticos autonomos de comunicacin y cooperacion mediante interconexiones hardware y software. Proporcionan generalmente medios para la comparticion global de los recursos del sistema. BIOS Acrnimo de basic input/output system [sistema bsico de entrada/salida]. En una computadora personal, el BIOS es un conjunto de instrucciones almacenadas en la memoria de slo lectura [read-only memory] que le permite al hardware de la computadora, y al sistema operativo, comunicarse con los programas de aplicacin y con los dispositivos perifricos, tales como los discos duros, las impresoras y los adaptadores de vdeo. Estas instrucciones estn almacenadas en la memoria no voltil como parte permanente de la computadora. Siempre estn disponibles en direcciones especficas en la memoria, de modo que todos los programas puedan tener acceso a ellas para que desempeen su funcin bsica de entrada/salida [input/output]. HOST O ANFITRIN En un entorno interconectado [networked environment] o en un entorno de procesamiento distribuido [distributed processing], computadora central o computadora controladora. El anfritin [host] ofrece servicios a los que pueden tener acceso otras computadoras o terminales, a travs de la red [network]. Las computadoras conectadas a Internet tambin se conocen como anfitriones [hosts], y se puede tener acceso ellas utilizando el ftp, telnet, Gopher, o un ojeador de la red mundial Web [Web browser]. CILINDRO Trmino que identifica a todas las pistas [tracks] en la misma posicin concntrica en un disco duro [hard disk]. Un disco duro consta de dos o ms platos [platters], cada uno con dos lados. Cada lado est dividido en crculos concntricos conocidos como pistas, y todas las pistas en la misma posicin concntrica en el disco se conocen, colectivamente, como cilindro. REENTRANT O REENTRANTE

Ing. Mario Borja B.

SISTEMAS OPERATIVOS
Describe una tcnica de programacin que permite que una copia de un programa sea cargada y compartida en la memoria. Cuando un programa ejecuta el cdigo reentrante, un programa distinto puede interrumpir su ejecucin y luego arrancar o continuar la ejecucin de ese mismo cdigo. Muchas rutinas de servicio del sistema operativo utilizan el cdigo reentrante, de manera que slo sea necesaria una copia del cdigo. Esta tcnica tambin se utiliza en las aplicaciones de procesamiento concurrente de subtareas simultneas, en las cuales tienen lugar simultneamente diferentes eventos en la computadora. El DOS no es reentrante. PROTOTYPING O CREACIN DE PROTOTIPOS Creacin de un sistema de ensayo o de demostracin, de modo que los usuarios potenciales puedan evaluar, pulir y comentar el diseo antes que el fabricante comience a trabajar en el producto final. Hay herramientas disponibles para la creacin de prototipos tanto de hardware como de software; en efecto, algunas herramientas para la creacin de prototipos de software en realidad se pueden utilizar para generar el cdigo definitivo, por ejemplo, una vez que la disposicin fsica de la pantalla haya sido aprobada. RAM Acrnimo de random access memory [memoria de acceso aleatorio]. Memoria del sistema principal de la computadora, utilizada por el sistema operativo, los programas de aplicacin y los datos. PIPE O CAUCE Seccin de la memoria que un comando puede utilizar para pasarle informacin a un segundo comando de manera que sta se procese. Una forma especial de cauce [pipe], conocida como cauce con nombre [named pipe], se origin en el sistema operativoUNIX, y permite que dos procesos intercambien informacin. Este concepto ha sido extendido a varios sistemas operativos de red [network operating systems] como el mtodo de comunicacin entre procesos, permitiendo intercambiar los datos entre las aplicaciones que se estn ejecutando en las computadoras de una red. REDIRECCIONAMIENTO, REDIRECCIN Habilidad para enviar la salida de datos [output] de un proceso [process] a algn lugar que no es su destino habitual. BUS Ruta [pathway] electrnica por la cual se envan las seales desde una parte de la computadora a otra. Una computadora personal contiene varios buses (entre dispositivos), cada uno de los cuales se usa para un propsito diferente: El bus de direccin [address bus] asigna las direcciones de memoria [memory addresses]. El bus de datos [data bus] transporta los datos entre el procesador [microprocessor] y la memoria. El bus de control [control bus] transporta las seales desde la unidad de control [control unit]. Los buses estn caracterizados por el nmero de bits que pueden transferir a la vez; una computadora con un bus de datos [data bus] de 16 bits puede transferir 16 bits a la vez. En las computadoras personales, algunos buses estn disponibles, tales como: ISA, EISA, bus de VL, PCI. Como es probable que desee agregar una nueva funcin a su computadora, la mayora de los buses de las computadoras personales lo permiten mediante una o ms ranuras de expansin [expansion slots]; en efecto, cuando usted conecta una tarjeta de expansin [expansion board] en una ranura de expansin, est conectando la tarjeta al bus y hacindola parte de la computadora.

Ing. Mario Borja B.

You might also like