Professional Documents
Culture Documents
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
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.
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.
SISTEMAS OPERATIVOS
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.
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:
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
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.
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
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.