CAPITULO 11 SISTEMAS OPERATIVOS - INTRODUCCION


Save this PDF as:
 WORD  PNG  TXT  JPG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "CAPITULO 11 SISTEMAS OPERATIVOS - INTRODUCCION"

Transcripción

1 CAPITULO 11 SISTEMAS OPERATIVOS - INTRODUCCION Un Sistema Operativo es un programa que actúa como interfase entre el usuario de una computadora y el hardware de la misma. El propósito es proveer un entorno en el cual el usuario puede ejecutar programas. O sea que un objetivo principal de un SO es hacer que un sistema sea CONVENIENTE de usar. Otro objetivo es que se use el hardware de manera EFICIENTE, o sea que está íntimamente ligado a él. Un SO es un programa para un determinado hardware. Otro objetivo es administrar los recursos de una computadora, tanto de hardware como de software. Por lo tanto, un SO es un conjunto de programas que administran un sistema. Para entender qué son los SO hay que entender como fueron desarrollándose, lo cual se explica en este apunte QUE ES UN SO? [21][S.O.] Como sabemos, el hardware provee los recursos básicos de un sistema de computación. Mediante los programas de aplicación se definen las formas en que se usan esos recursos para resolver problemas para los usuarios. Hay diversos programas de aplicación. Un sistema operativo controla y coordina el uso del hardware entre los distintos programas de aplicación para los diversos usuarios. El Sistema Operativo provee los medios para utilizar de forma correcta los recursos de un sistema de computación; no hace ninguna función útil por sí mismo. Simplemente provee un entorno en el cual otros programas pueden hacer trabajo útil. Podemos ver al SO como un ASIGNADOR DE RECURSOS. Un sistema tiene diversos recursos que pueden requerirse para resolver un problema: tiempo de CPU, espacio de memoria, espacio de almacenamiento de archivos, procesos, dispositivos de E/S, etc. El SO actúa como el gerente de esos recursos y se los otorga a programas específicos y usuarios a medida que son necesarios. Como puede haber diversos pedidos conflictivos para recursos, el SO tiene qué decidir que pedidos son atendidos y cuáles no. Su fuente principal de trabajo es un conjunto de tablas en las cuales se describen los recursos y a que procesos están asignados los mismos. Otro punto de vista de los SO apunta a la necesidad de controlar los distintos dispositivos de E/S y programas del usuario. Un SO es un programa de control. Un programa de control controla la ejecución de programas de usuario para prevenir errores y uso impropio de la computadora. Está relacionado especialmente con la operación y control de dispositivos de E/S. Para ver qué son los SO, estudiemos como fueron construidos en los últimos 30 años. Viendo esta evolución, podemos identificar elementos en común, y cómo fueron mejorando. Los SO y la arquitectura de los computadores tienen una gran influencia el uno sobre el otro. Para facilitar el uso del hardware se construyeron los SO. A medida que se diseñaron y usaron SO, se volvieron obvios ciertos cambios en el diseño del hardware que simplificaron los sistemas operativos. En esta revisión histórica veremos como la introducción de nuevo hardware es la solución natural para muchos de los problemas de sistemas operativos LOS PRIMEROS SISTEMAS[21][S.O.] Inicialmente solo hubo hardware. Las primeras computadoras eran máquinas muy grandes que se programaban desde una consola. El programador podía escribir un programa, y luego operar el programa directamente desde la consola del operador. Primero, el programa tenía que cargarse manualmente en la memoria, ya sea por medio de switches (llaves de conmutación), cinta de papel, o tarjetas perforadas. Luego, se apretaban los botones apropiados para cargar la dirección de comienzo y comenzaba la ejecución del programa. A medida que el programa corría, el programador/operador podía monitorear su ejecución por medio de luces en la consola. Si se descubrían errores, el programador podía parar el programa, examinar los contenidos de la memoria y registros, y corregir el programa directamente desde la consola. La salida se imprimía o perforaba en cintas o tarjetas para una impresión posterior. Un aspecto importante de este entorno era la naturaleza interactiva HANDS-ON. El programador era el operador. Muchos sistemas usaban un esquema de reserva para otorgar tiempo de maquina: para usar la maquina se pedía un turno en una hoja de papel. Esta aproximación tiene ciertos problemas: supongamos que uno reserva una hora, y necesita más que ese tiempo para hallar un error. Uno tiene que parar, recolectar lo que se pueda, y volver mas tarde para continuar (consideremos que no existían ensambladores, y mucho menos compiladores). Por otro lado, uno podía terminar antes de que se terminara su tiempo, quedando el resto del tiempo la máquina sin ser usada. Cap11.doc 1er Cuat 2008 Página 1 de 12

2 A medida que pasó el tiempo, se construyó software y hardware adicional. Lectoras de tarjeta, impresoras de línea y cintas magnéticas se convirtieron en lo más común. Se diseñaron assemblers, cargadores y linkers para facilitar la programación, así como también bibliotecas de funciones comunes. Estas podían copiarse en un nuevo programa sin tener que escribirse dos veces. Las rutinas que hacen entrada y salida son especialmente importantes. Cada dispositivo de E/S nuevo tiene sus características propias, requiriendo una programación cuidadosa. Para cada dispositivo se escribe una subrutina especial, llamada el manejador del dispositivo (device driver). Este programa conoce como deben usarse los buffers, banderas, registros, bits de control y estado para un dispositivo en particular. Cada tipo distinto de dispositivo tiene su propio manejador. En vez de escribir el código necesario cada vez, el device driver se utilizaba directamente de la biblioteca. Posteriormente aparecen compiladores (Fortran, Cobol, etc.) que facilitan la tarea de programación, pero dificultan la tarea de operación de la computadora. Para preparar un programa Fortran para ejecución había que ejecutar los siguientes pasos: - Montar la cinta magnética o cargar las tarjetas perforadas que contenían el Compilador Fortran. - Cargar el compilador Fortran. - Leer el código fuente del programa de tarjetas perforadas y escribirlo en otra cinta magnética. - Compilar el programa. El compilador Fortran producía una salida en lenguaje ensamblador. - Montar la cinta que contiene el Assembler. - Ensamblar el programa. - Linkeditar la salida del programa para incluir rutinas de bibliotecas y subrutinas. - Cargar el programa ejecutable y ejecutarlo, para su corrección. Para ejecutar un trabajo hay una gran cantidad de tiempo de preparación (setup time), debido a la gran cantidad de pasos de que consta el trabajo. Si ocurre un error en algún paso, hay que comenzar nuevamente desde el comienzo, teniendo que cargar cintas o tarjetas MONITOR SIMPLE O SISTEMA BATCH SENCILLO[21][S.O.] Vimos que el tiempo de preparación es un problema importante. Durante el tiempo de montado de cinta, o mientras el operador trabaja en la consola, la CPU esta desocupada. En esos tiempos, un computador era muy caro, con un tiempo de vida esperado corto. Por lo tanto, el tiempo de computación era muy valioso, y los propietarios querían utilizarlo lo más posible. Hubo una solución doble: la primera fue contratar operadores profesionales, de tal forma que el programador no operara más la computadora, y eliminar el tiempo desperdiciado por las reservas. Los operadores no saben corregir los programas: lo único que hacen es obtener un vuelco de memoria y registros para el programador, y así poder seguir trabajando. La segunda solución trató de reducir el tiempo de preparación. Los trabajos con necesidades similares eran loteados (batched) juntos, como un solo grupo. Si el operador recibe varios trabajos Fortran y otros tantos Cobol, en vez de ejecutarlos en orden de llegada ejecuta los programas Fortran juntos, y los Cobol juntos, y se gana el tiempo de carga de los compiladores. A pesar de mejorar la utilización, sigue habiendo problemas: si para un programa, el operador tiene que mirar la consola para ver la condición de parada, si fue un error, hacer un dump (vuelco de memoria), y luego cargar la lectora con el próximo trabajo. Durante este tiempo, la CPU se mantiene sin uso. Para solucionar este problema se introduce el secuenciamiento automático de trabajos, y con él, se crean los primeros sistemas operativos rudimentarios. La idea es que un programa pequeño, llamado monitor residente, transfiera automáticamente el control de un trabajo al siguiente. Inicialmente, el monitor tiene el control del computador. El mismo transfiere el control a un programa. Cuando éste termina, retorna el control al monitor, que dará control al próximo programa. El monitor tiene que saber qué programa ejecutar. Con este fin se introducen las tarjetas de control, para dar información directamente al monitor. Estas son tarjetas especiales que se mezclan con las de datos o programa, y son directivas que indican qué programa se ejecutará y qué recursos necesitará. Las tarjetas de control tienen una identificación especial para diferenciarlas de las de datos (//, $, *,?). P. ej.: * TRABAJO * EJECUTAR * DISCO * FIN Cap11.doc 1er Cuat 2008 Página 2 de 12

3 Los errores son atrapados (interrupciones), y reciben un tratamiento adecuado (por ejemplo, un dump), y luego se sigue ejecutando la próxima tarjeta de control. Para evitar que un programa, por error, lea tarjetas de control del siguiente trabajo, se utiliza un manejador de dispositivos (o sea que el encargado de leer es el Monitor), y esta instrucción (lectura) es una instrucción privilegiada. Para hacer un pedido al SO, existen las llamadas al supervisor (SVC en IBM, Trap en PDP, nuestras BSV -bifurcación al supervisor-). Estas provocan una interrupción. En la Fig vemos un ejemplo simple de una lectura. Podemos ver que un monitor residente tiene varias partes identificables. Una principal es el intérprete de tarjetas de control. Este necesita un programa cargador para cargar los programas y aplicaciones en memoria. El cargador, como el intérprete de tarjetas tienen que hacer E/S. Por lo tanto, el monitor también tiene una serie de manejadores de dispositivos para los dispositivos de E/S del sistema. Para evitar lecturas erróneas, solo el monitor podrá acceder físicamente a la información. Por este motivo surge la necesidad de la existencia de instrucciones privilegiadas (Modo Maestro/Esclavo) BATCH SOFISTICADO (PERFORMANCE) [21][S.O.] La aparición de sistemas batch mejoran la utilización de los sistemas, y mejoran la performance y el rendimiento. A pesar que el secuenciamiento automático elimina la manipulación humana, que es muy lenta, la CPU sigue estando poco utilizada. El problema reside en los dispositivos de E/S, que al ser mecánicos son mucho más lentos que la CPU. Por ejemplo, un assembler puede procesar 300 o más tarjetas por segundo, mientras que una lectora muy veloz puede leer solo 1200 tarjetas por minuto. Entonces, para ensamblar un programa de 1579 tarjetas, se tardan 4.8 segundos de ensamblado, mientras que 78.9 segundos se ocupan en leer tarjetas. El procesador esperó 74.1 segundos, o sea, un desperdicio del 93.9%. El mismo problema ocurre para las operaciones de salida. El problema es que mientras ocurre una operación de E/S, la CPU está desocupada esperando que termine la E/S, y mientras la CPU está ejecutando, los dispositivos de E/S están libres Operación off-line[21][s.o.] Una solución para el problema anterior fue reemplazar las lectoras de tarjetas e impresoras, con unidades de cinta magnética. En vez que la CPU leyera directamente de las tarjetas, las mismas primero se copiaban en una cinta magnética. Cuando ésta estaba suficientemente llena, se llevaba a la computadora. Cuando un programa quería leer una tarjeta, lee la cinta. Similarmente, la salida se hace en una cinta para imprimirse posteriormente. Las lectoras e impresoras operaban off-line, no en la computadora principal. La ventaja principal es que la CPU se libera de la espera de lectura de tarjetas, que son muy lentas, y la misma se hace por medio de cintas, que son mucho más rápidas. Además no son necesarios cambios en los programas de aplicación: los mismos llaman al driver de la lectora de tarjetas, que se reemplaza por un driver de lectura de cinta magnética. De esta forma, los programas de aplicación no deben ser cambiados: solo el driver. Los programas usan dispositivos de E/S lógicos. La ventaja real en la operación off-line es la posibilidad de usar múltiples lectoras-escritoras magnéticas para una sola CPU. Si la CPU puede procesar entrada a dos veces la velocidad de la cinta, entonces dos lectoras trabajando simultáneamente pueden producir suficiente cinta para mantener a la CPU ocupada. Cap11.doc 1er Cuat 2008 Página 3 de 12

4 Buffering[21][S.O.] Esta es otra solución a la lentitud de los dispositivos de E/S. La idea es muy simple: después que se leyó un dato, y la CPU está operando en el mismo, el dispositivo de entrada comienza a leer el próximo dato inmediatamente. La CPU y el dispositivo están ocupados simultáneamente. Un buffering similar se puede hacer para la salida de datos. La unidad natural de datos es el registro. Puede ser un registro físico (una línea de impresión, un caracter del teclado, o un bloque de una cinta), o un registro lógico (una línea de entrada, una palabra, o un arreglo). Los registros lógicos están definidos por la aplicación; los físicos, por la naturaleza del dispositivo de E/S. Los registros son las unidades de datos usados para el buffering. En la práctica, es difícil que el buffering pueda mantener ocupados simultáneamente a la CPU y a los dispositivos de E/S. Si la CPU esta trabajando en un registro, mientras que un dispositivo está trabajando con otro, o la CPU o el dispositivo pueden terminar primero. Si la CPU termina primero, tiene que esperar, porque no puede procesar otro registro hasta que el dispositivo no haya terminado con el anterior. Si el dispositivo termina primero, o espera o puede proceder a leer otro registro. Los buffers que contienen registros que ya han sido leídos y no procesados, generalmente se usan para poder mantener varios registros. El problema principal del buffering es detectar que terminó una E/S tan pronto como sea posible, para poder lanzar la próxima. La solución para este problema son las interrupciones. Cuando un dispositivo de E/S termina con una operación, interrumpe a la CPU. Esta para de hacer lo que este haciendo, y se hace una transferencia de control a la rutina de atención de la interrupción. Esta rutina chequea si el buffer no esta lleno (para un dispositivo de entrada) o vacío (para uno de salida), y lanza el próximo pedido de E/S. Entonces, la CPU resume el cálculo interrumpido. De esta forma, los dispositivos de E/S y la CPU operan a máxima velocidad. El buffering afecta la performance suavizando las diferencias en las variaciones de tiempo que toma procesar un registro. Si, en promedio, las velocidades de CPU y de dispositivos de E/S son similares, el buffering permite que ambos procesen casi a velocidad máxima. Sin embargo, si la CPU es mucho más rápida que un dispositivo, el buffering no afecta demasiado la performance, porque la CPU tendrá que esperar que el dispositivo se libere aún cuando todos los buffers disponibles estén llenos. Esta situación también ocurre con trabajos limitados por E/S (I/O-bound), donde la cantidad de E/S en relación con los cálculos es muy grande. Como la CPU es más rápida que los dispositivos, la velocidad de ejecución esta limitada por la velocidad del dispositivo de E/S. Si, por otro lado, en el caso de trabajos limitados por CPU (CPU bound), donde la cantidad de cálculos es tan grande que los buffers de entrada están siempre llenos, y los de salida vacíos, la CPU no puede emparejarse con los dispositivos de E/S Spooling[21][S.O.] Esta es la mejor solución para todos los problemas mencionados anteriormente. En muchos sistemas se comenzó a reemplazar los sistemas off-line y a utilizarse discos, al estar estos más disponibles. Los mismos mejoraron la operación off-line, al ser más rápidos que las cintas. El problema con éstas es que no se puede escribir en un extremo de la misma mientras la CPU lee del otro. Los discos eliminan este problema: moviendo la cabeza de un área del disco a la otra, sin el problema del rebobinado, el disco puede cambiar del área de tarjetas que se están usando, para almacenar nuevas tarjetas en otra posición. Cap11.doc 1er Cuat 2008 Página 4 de 12

5 Basado en esta ventaja se crean los sistemas de SPOOL (Simultaneous Peripheral Operation On-Line). Se leen las tarjetas directamente desde la lectora en el disco. La ubicación de la imagen de las tarjetas en el disco se almacena en una tabla del sistema operativo. Cada trabajo se almacena en la tabla. Cuando se ejecuta un trabajo, sus pedidos para la lectora de tarjetas se satisfacen leyendo su imagen desde el disco. De la misma forma, cuando se pide la impresora, esa línea se copia en el disco. Cuando el trabajo termina, se imprime la salida completa. El buffering superpone la E/S de un trabajo con sus propios cálculos. La ventaja del spooling es que superpone la E/S de un trabajo con los cálculos de otros trabajos. Esto tiene un efecto directo sobre la performance: la CPU y los dispositivos de E/S se mantienen ocupados con tasas muy altas, particularmente si hay una mezcla de trabajos CPU-bound e I/O-bound. Además, el spooling provee una estructura de datos importante: una cola de trabajos. El spooling resulta en varios trabajos que han sido leídos y esperan en el disco, listos para ser ejecutados. Esta cola permite al sistema operativo elegir qué trabajo ejecutar luego, para aumentar la utilización de la CPU. Si los trabajos vienen directamente en tarjetas, o aún en una cinta, no es posible ejecutar trabajos en distinto orden al de llegada. En cambio, al tener los trabajos en un dispositivo de acceso directo surge la posibilidad de hacer una Planificación de Trabajos. Esta selección de programas lleva a la multiprogramación, o sea, tener más de un programa cargado en memoria MULTIPROGRAMACION[21][S.O.] Es un intento de aumentar la utilización de la CPU, logrando que ésta siempre tenga algo que ejecutar. La idea es la siguiente: el SO levanta uno de los trabajos de la cola de trabajos y comienza a ejecutarlo. En el momento en que tenga que esperar por algo (montar una cinta, escribir algo en el teclado, terminar una operación de E/S), la CPU se entrega a otro trabajo, y así sucesivamente. En un sistema monoprogramado, la CPU hubiera estado desocupada, a pesar de que hay trabajo que hacer. Prácticamente por este tema es que surgen todos los administradores a estudiar, y lo que hace (de acuerdo a sus algoritmos), la mayor o menor eficiencia de un SO TIME SHARING[21][S.O.] Los primeros sistemas batch consisten en el loteo de trabajos similares. Las tarjetas y cintas solo permiten acceso secuencial a los programas y datos, y solo se puede usar una aplicación a la vez. Cuando aparecen los discos, se puede acceder simultáneamente a todas las aplicaciones. Ahora, los sistemas batch no están más definidos por el loteo de trabajos similares, sino por otras características. La característica principal de un sistema batch es la falta de interacción entre el usuario y el trabajo mientras está ejecutando. El trabajo se prepara y un tiempo más tarde, aparece la salida. El tiempo entre la subsumisión del trabajo y su terminación, llamado el tiempo de turnaround, puede ser el resultado del tiempo de ejecución, o de las demoras antes que el sistema operativo comience a procesar el trabajo. Como los usuarios no pueden interactuar con sus trabajos mientras están ejecutando, deben colocar tarjetas de control para manejar todos los resultados posibles. En un trabajo multietapa, el resultado puede depender de los resultados anteriores. Puede ser difícil definir que hacer en todos los casos. Otra desventaja es que los programas deben corregirse en forma estática, por medio de dumps de memoria. Un programador no puede modificar un programa a medida que se ejecuta. Un sistema Interactivo o Hands-on provee comunicación on-line entre el usuario y el sistema. El usuario da instrucciones al sistema operativo o a un programa directamente, y recibe una respuesta inmediatamente, por medio de una terminal. Cuando el sistema operativo termina la ejecución de un comando, pide la próxima "tarjeta de control", no de una lectora de tarjetas sino del teclado. El usuario ejecuta un comando, espera la respuesta, y decide cuál será el próximo comando, basado en el resultado del anterior. Los sistemas batch son apropiados para ejecutar trabajos grandes, que no tienen interacción. Los trabajos interactivos tienden a estar compuestos por muchas acciones cortas, donde los resultados de un comando puede ser impredecibles. Como el usuario se queda esperando el resultado, el tiempo de respuesta tiene que ser muy corto. Un sistema interactivo esta caracterizado por el deseo de un tiempo de respuesta corto. Como vimos, los primeros sistemas eran interactivos, pero se perdía mucho tiempo de CPU. Los sistemas de Tiempo Compartido son el resultado de tratar de obtener un sistema interactivo a un costo razonable. Estos sistemas usan multiprogramación y planificación de CPU, para que cada usuario tenga una parte pequeña del tiempo de la computadora. Cada usuario tiene un programa separado en memoria. Un sistema de tiempo compartido permite a los usuarios compartir simultáneamente la computadora. Como cada acción en un sistema de tiempo compartido tiende a ser corta, solo hace falta un tiempo corto de CPU para cada usuario. Como el sistema cambia rápidamente de un usuario al otro, los usuarios tienen la impresión que cada uno tiene su computadora propia. Cap11.doc 1er Cuat 2008 Página 5 de 12

6 11.7. SISTEMAS DE TIEMPO REAL[21][S.O.] Un sistema de tiempo real generalmente se usa como un dispositivo de control en una aplicación dedicada. Hay sensores que dan datos a la computadora, que los analiza y puede ajustar controles para modificar las entradas del sensor. Se utilizan para sistemas médicos, controles industriales, controles de experimentos científicos, etc. La característica mas importante de estos sistemas es que tienen restricciones de tiempo bien definidas, y el procesamiento tiene que hacerse dentro de ese tiempo MULTIPROCESAMIENTO[21][S.O.] Son sistemas con mas de una CPU, compartiendo memoria y periféricos. Se usan dos aproximaciones. La más común es asignar a cada procesador una tarea específica. Un procesador central controla el sistema, y los demás tienen tareas específicas, o le piden instrucciones al procesador principal. Este esquema define una relación maestro/esclavo. Ejemplos de estos sistemas son aquellos que usan un Procesador Frontal (Front- End Processor) para manejar lectoras e impresoras a alguna distancia del procesador central. Estos sistemas están compuestos generalmente de un computador grande, que es la computadora principal (Host o Mainframe), y un computador más pequeño que es responsable de la E/S de la terminal. El otro tipo común de multiprocesamiento es el uso de redes. En éstas, varias computadoras independientes pueden comunicarse, intercambiar archivos e información. Cada computador tiene su propio sistema operativo, y opera independientemente. Actualmente existen en etapa experimental Sistemas Operativos distribuidos, o sea, con características similares a la anterior, pero en donde sus funciones están distribuidas entre distintos procesadores SERVICIOS QUE BRINDAN LOS SISTEMAS OPERATIVOS[21][S.O.] Un sistema operativo provee ciertos servicios a los programas y a los usuarios. Estos servicios difieren de un sistema a otro, pero hay cierta clase de servicios que pueden identificarse: - Ejecución de programas: El SO debe ser capaz de cargarlos, darles el control y determinar su fin normal o anormal. - Operaciones de E/S: El programa del usuario no puede ejecutar operaciones de E/S directamente, por lo tanto el sistema operativo tiene que proveer ciertos medios para hacerlo. - Manipulación del Sistema de Archivos: Los programas quieren leer y escribir archivos. Esto se hace por medio del sistema de archivos. - Detección de errores: Estos pueden ocurrir en la CPU y memoria, en dispositivos de E/S, o en el programa del usuario. Por cada tipo de error, el sistema operativo tiene que tomar un tipo de acción distinto. - Administración de recursos: Cuando hay varios usuarios ejecutando al mismo tiempo, hay que darles recursos a cada uno de ellos. El SO maneja distintos tipos de recursos: CPU, memoria principal, archivos, dispositivos. - Accounting: Se quiere contabilizar qué recursos son usados por cada usuario. Estos datos, usados con fines estadísticos para configurar el sistema, pueden mejorar los servicios de computación. También se utilizan estos datos para cobrar a cada usuario los recursos utilizados. - Protección: Los dueños de la información la quieren controlar. Cuando se ejecutan distintos trabajos simultáneamente, uno no debe poder interferir con los otros. Las demandas conflictivas para determinados recursos, deben ser administradas razonablemente. Los servicios de los sistemas operativos son provistos de distintas formas. Dos métodos básicos son las Llamadas al Sistema y los Programas del Sistema. El nivel más fundamental de los servicios se maneja por medio del uso de llamadas al supervisor. Estas proveen la interfaz entre un programa en ejecución y el sistema operativo. Generalmente están disponibles como instrucciones del lenguaje ensamblador. Podemos reconocer, básicamente, los siguientes tipos de llamadas al supervisor: - Control de Procesos. Fin, Dump.. Carga de otro programa (Load).. Crear procesos, Terminar proceso.. Esperar un tiempo.. Esperar por un evento o una señal. - Manipulación de Archivos. Crear, borrar archivos.. Apertura y cierre de archivos.. Lectura y escritura. - Manipulación de Dispositivos Cap11.doc 1er Cuat 2008 Página 6 de 12

7 . Pedir un dispositivo, liberar un dispositivo.. Leer, escribir. - Mantenimiento de Información. Fecha, Hora.. Atributos de Procesos, Archivos, o Dispositivos Hay distintas formas de implementar las llamadas al supervisor dependiendo de la computadora en uso. Puede hacerse como interrupciones o como llamadas a un servidor (server). Es necesario identificar la llamada al sistema que se quiere hacer, y otro tipo de informaciones. Por ejemplo, para leer un registro, hace falta especificar el dispositivo o archivo a usar, y la dirección y longitud de memoria donde copiar la registro. Hay dos métodos generales para pasar parámetros al sistema operativo. La aproximación más simple es pasar los parámetros en registros. Sin embargo, en algunos casos hay mas parámetros que registros. En estos casos, los parámetros se almacenan en un bloque o una tabla en la memoria, y se pasa la dirección de ese bloque. Otro aspecto de un sistema moderno es una colección de programas del sistema. Además del código del monitor residente, la mayoría de los sistemas proveen una gran cantidad de programas del sistema para resolver problemas comunes y otorgar un entorno más conveniente para la construcción y ejecución del programa. Los programas del sistema se dividen en varias categorías: - Manipulación de archivos: crear, copiar, renombrar, borrar, imprimir, listar, manipular, y hacer vuelcos de archivos y directorios. - Información de estado: Hay programas para pedir fecha, hora, cantidad de memoria o disco, numero de usuarios, etc. - Modificación de archivos: editores de texto para crear y modificar los contenidos de archivos. - Soporte para lenguajes de programación: compiladores, assemblers, intérpretes de los lenguajes de programación más comunes. - Carga y ejecución de programas: cargadores absolutos, cargadores reubicables, linkeditores y sistemas de debugging. - Programas de aplicación ESTRUCTURA DE SISTEMAS OPERATIVOS [9][44] El sistema operativo se divide lógicamente en pequeños módulos y se crea una interfase bien definida para estos módulos. Cada uno de estos módulos o piezas deben tener su función, sus inputs y outputs cuidadosamente definidos. El sistema operativos DOS no cuenta con una buena división de estos módulos ya que no se encuentra bien particionado permitiendo el acceso directo de los programas de aplicación a rutinas básicas de E/S para grabar directamente en el display o en los discos, por ello el sistema es vulnerable a estos programas los que pueden provocar el crash del sistema. La estructura de este sistema puede verse en la figura Otro ejemplo de un sistema operativo que no fue bien construido lo constituye el UNIX. Este sistema se encuentra divido en dos partes una de ellas comprende los programas del sistema y la otra el kernel. El kernel se encuentra divido en drivers de dispositivos y en las interfases (ver figura 11.6). Lamentablemente este kernel combina demasiada funcionalidad en un solo nivel. Cap11.doc 1er Cuat 2008 Página 7 de 12

8 Las llamadas al sistema definen la interfase del programador al UNIX. El conjunto de programas de sistema usualmente disponibles definen la interfase del usuario. Ambas definen el contexto al cual el kernel debe dar soporte. Otras mejoras posteriores al UNIX han separado el kernel en más módulos, por ejemplo en el sistema operativo AIX de IBM se lo dividió en dos partes. El MACH de Carnegie-Mellon redujo el kernel a un conjunto pequeño de funciones básicas trasladando todo lo no esencial a los niveles del sistema o incluso al del usuario Diseño en Capas [9][44] Para mejorar casos como el UNIX se recurre a un diseño en capas, en donde cada capa se construye sobre la anterior. La capa 0 es el hardware y la capa N es la interfase de usuario. Una capa (por ejemplo la capa M) consiste en algunas estructuras de datos y un conjunto de rutinas que operan sobre esos datos y que pueden ser invocadas por capas o niveles superiores. La capa M puede invocar operaciones en capas inferiores. La principal ventaja de una estructura en capas es la modularidad. Las capas se seleccionan de tal manera que cada una utiliza funciones (operaciones) y servicios solo de capas de nivel inferior. Este esquema facilita la depuración aislada de cada capa. El primer nivel puede ser depurado sin tener en cuenta el resto del sistema ya que éste utiliza el hardware básico. Una vez depurado este nivel se puede proceder con el siguiente y así siguiendo. Una capa no necesita saber cómo se implementan las operaciones de las capas inferiores sino que le basta con saber qué le brindan estas operaciones. El esquema de capas fue originalmente utilizado en el sistema operativo THE (Technische Hogeschool Eindhoven). Este sistema se definió en 6 capas, de las cuales la capa inferior era el hardware, la siguiente implementaba la administración de la CPU, la siguiente el manejo de la memoria (memoria virtual), la tercera capa contenía los drivers para la consola del operador, y en la cuarta se encuentra el buffering de E/S pensado de esta forma para permitir que los buffers se pudieran utilizar en la memoria virtual y además para que los errores de E/S pudieran ser vistos en la consola del operador. Por ejemplo, en el sistema VENUS diseñado también en capas los niveles bajos (de 0 a 4) conciernen con las administración de la CPU y la memoria. Cap11.doc 1er Cuat 2008 Página 8 de 12

9 La mayor dificultad en el diseño de un sistema en capas radica en definir las capas o niveles ya que un nivel solo puede utilizar niveles inferiores, por lo tanto es necesaria una cuidadosa planificación. Por ejemplo el driver para manejar los discos de la memoria virtual deberían estar en un nivel inferior a las rutinas de la memoria virtual en sí ya que estas últimas requieren del uso de este manejador. Problemas de esta índole han provocado un retroceso en el diseño en capas en los últimos años. Se han diseñado menos capas con más funcionalidad proveyendo la mayoría de las ventajas del código modular y evitando los problemas de la definición e interacción de las capas. El OS/2 un descendiente directo del MS-DOS fue creado para superar las limitaciones de este último. El OS/2 provee multitasking y operación en modo dual como así también otras nuevas mejoras. En contraposición a la estructura del MS-DOS la estructura del OS/2 se encuentra diseñada en capas que por ejemplo, no permiten el acceso directo del usuario a facilidades de bajo nivel lo que otorga un mayor control al sistema operativo sobre el hardware y un mayor conocimiento de qué recursos está utilizando cada programa de usuario. En la Figura podemos ver la estructura en capas del sistema operativo OS/2. Cap11.doc 1er Cuat 2008 Página 9 de 12

10 APENDICE I RESUMEN DE INTERRUPCIONES Enumeramos a continuación los diferentes tipos de interrupciones existentes, a saber : - Externas (Consola del operador) - Fin de E/S. - Llamadas al SO:. Fin (normal o anormal).. E/S (en espera, o sin - sincronización - ). Información - Errores. - Reloj de intervalos. Si tuviésemos un solo nivel de atención de interrupciones, un diagrama sencillo, podría ser el de la Fig Tener varios niveles de atención de interrupciones da la posibilidad de trabajar en modalidad multitarea. A lo largo del curso veremos cada uno de los administradores necesarios, y sus distintos tipos y algoritmos posibles para hacer eficiente un SO. La idea final de la parte de Sistemas Operativos es conocer el flujo de un programa a lo largo de toda su ejecución, sus estados, y las tablas y programas que intervienen en la vida del programa/trabajo/comando. Damos como adelanto el gráfico de la Figura El esquema general del Sistema Operativo que veremos tendrá una descripción en capas como el de la Fig Expliquemos brevemente este gráfico: - Hardware: Set de instrucciones + extracódigos (SVC). - Núcleo: Implementa Procesos, su comunicación (como semáforos), y administración y sincronización del procesador. - Administrador de Memoria: Provee servicios de administración de memoria. - Administrador de Periféricos: Provee servicios de E/S física y administra el uso de los periféricos. - Administrador de Archivos: Administra el uso y acceso a archivos y provee las abstracciones de registro lógico y archivo. - Planificador de Trabajos: Administra los recursos de forma global. - Shell: Maneja la comunicación con el usuario. Cap11.doc 1er Cuat 2008 Página 10 de 12

11 Cap11.doc 1er Cuat 2008 Página 11 de 12

12 11.1. QUE ES UN SO? [21][S.O.] LOS PRIMEROS SISTEMAS[21][S.O.] MONITOR SIMPLE O SISTEMA BATCH SENCILLO[21][S.O.] BATCH SOFISTICADO (PERFORMANCE) [21][S.O.] Operación off-line[21][s.o.] Buffering[21][S.O.] Spooling[21][S.O.] MULTIPROGRAMACION[21][S.O.] TIME SHARING[21][S.O.] SISTEMAS DE TIEMPO REAL[21][S.O.] MULTIPROCESAMIENTO[21][S.O.] SERVICIOS QUE BRINDAN LOS SISTEMAS OPERATIVOS[21][S.O.] ESTRUCTURA DE SISTEMAS OPERATIVOS [9][44] Diseño en Capas [9][44]...8 Cap11.doc 1er Cuat 2008 Página 12 de 12

Fundamentos de Sistemas Operativos

Fundamentos de Sistemas Operativos Fundamentos de Sistemas Operativos Sistemas Informáticos Fede Pérez Índice TEMA Fundamentos de Sistemas Operativos 1. - Introducción 2. - El Sistema Operativo como parte de un Sistema de Computación 2.1

Más detalles

HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS

HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS Las primeras computadoras eran enormes máquinas que se ejecutaban desde una consola. El programador, quien además operaba el sistema de computación, debía

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos.

El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos. 1 El tema de esta presentación es los conceptos básicos relacionados con Sistemas Operativos. 2 Qué es un sistema operativo Un sistema operativo es un programa que tiene encomendadas una serie de funciones

Más detalles

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Tema 1. Conceptos fundamentales de los Sistemas Operativos Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.

Más detalles

Computación Tercer Año

Computación Tercer Año Colegio Bosque Del Plata Computación Tercer Año UNIDAD 3 Sistemas Operativos E-mail: [email protected] Profesor: Fernando J. Garcia Ingeniero en Sistemas de Información Sistemas Operativos Generaciones

Más detalles

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS 1. Concepto de Sistema Operativo. Funciones Un sistema operativo (S.O.) es un programa o conjunto de programas de control que tiene por objeto facilitar

Más detalles

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN.

Tema 11. Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. 11.1.1. MULTIPROGRAMACIÓN. Tema 11 Soporte del Sistema Operativo 11.1. REQUERIMIENTOS DE LOS SISTEMAS OPERATIVOS. El sistema operativo es básicamente un programa que controla los recursos del computador, proporciona servicios a

Más detalles

Sistemas Operativos Tema 1: conceptos generales. 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana

Sistemas Operativos Tema 1: conceptos generales. 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana Sistemas Operativos Tema 1: conceptos generales 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos Qué es un SO? Evolución histórica de los SO Tipos de sistemas informáticos 2 Elementos

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2 Conceptos clave de un sistema operativo. 1.3 El sistema operativo como administrador

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

Introducción a los sistemas operativos

Introducción a los sistemas operativos Introducción a los sistemas operativos 1 1 Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina Sistemas Operativos, verano de 2010 (2) Algunas aclaraciones preliminares

Más detalles

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware

INTRODUCCIÓN. Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware INTRODUCCIÓN Que es un sistema operativo? - Es un programa. - Funciona como intermediario entre el usuario y los programas y el hardware INTRODUCCIÓN METAS: Brindar un entorno para que los usuarios puedan

Más detalles

Conceptos Básicos de Software. Clase III

Conceptos Básicos de Software. Clase III Clase III Definición de Sistema Operativo El sistema operativo es el programa (o software) más importante de una computadora. Para que funcionen los otros programas, cada computadora de uso general debe

Más detalles

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

TEMA 6: GESTIÓN DE ENTRADA/SALIDA 1. Introducción TEMA 6: GESTIÓN DE ENTRADA/SALIDA Función principal de un S.O.: controlar todos los dispositivos de E/S de la computadora. El Subsistema de E/S se encarga de Emitir órdenes a los dispositivos

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Introducción a los sistemas operativos

Introducción a los sistemas operativos Sistemas Operativos I Tema 1 Introducción a los sistemas operativos Equipo de sistemas operativos DISCA / DSIC UPV Objetivos 1.- Presentar el concepto de sistema operativo. 2.- Describir las funciones

Más detalles

Unidad II: Administración de Procesos y del procesador

Unidad II: Administración de Procesos y del procesador Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema

Más detalles

Estructuras de Sistemas Operativos

Estructuras de Sistemas Operativos Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar

Más detalles

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

Tema 2: Implementación del núcleo de un Sistema Operativo

Tema 2: Implementación del núcleo de un Sistema Operativo Tema 2: Implementación del núcleo de un Sistema Operativo 1. Sistema Operativo Unix 2. Sistema Operativo Windows (a partir de NT) Dpto. Lenguajes y Sistemas Informáticos. Universidad de Granada 1 1. Sistema

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Generalidades Computacionales

Generalidades Computacionales Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos).

Más detalles

Sistemas Operativos - Funciones del sistema operativo» Cargar y ejecutar programas (procesos)» Facilitar funciones de E/S» Controlar y distribuir el acceso a los recursos» Controlar errores Componentes

Más detalles

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos. RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

Convivencia. Gestión del Sistema de Entrada/Salida

Convivencia. Gestión del Sistema de Entrada/Salida Convivencia Gestión del Sistema de Entrada/Salida Dra. Carolina Carolina Mañoso Mañoso Dpto. Dpto. Imformática Informática y y Automática.UNED Introducción (1/2) El sistema de Entrada/Salida es la parte

Más detalles

Capítulo 1: Marco teórico

Capítulo 1: Marco teórico Capítulo 1: Marco teórico Área de Soporte Técnico Dentro de Oracle, como en cualquier compañía de software existe el área de Soporte Técnico, cuyo objetivo principal es el de brindar asistencia y proveer

Más detalles

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software. ARQUITECTURA DE LAS COMPUTADORAS QUE ES UNA COMPUTADORA (UN ORDENADOR)? Existen numerosas definiciones de una computadora, entre ellas las siguientes: 1) Una computadora es un dispositivo capaz de realizar

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

TEMA 1. INTRODUCCIÓN. 1. Diferentes niveles en la arquitectura de un computador

TEMA 1. INTRODUCCIÓN. 1. Diferentes niveles en la arquitectura de un computador TEMA 1. INTRODUCCIÓN 1. Diferentes niveles en la arquitectura de un computador.» Máquinas virtuales 2. Máquinas multinivel actuales. 3. Evolución histórica de las máquinas multinivel. 1 1. Diferentes niveles

Más detalles

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor. El soporte del sistema operativo Objetivos y funciones del sistema operativo Comodidad Hace que un computador sea más fácil de usar. Eficiencia Permite que los recursos del computador se aprovechen mejor.

Más detalles

Unidad 2: Gestión de Memoria

Unidad 2: Gestión de Memoria Unidad 2: Gestión de Memoria Tema 3, Gestión de Memoria: 3.1 Definiciones y técnicas básicas. 3.2 Gestión de memoria contigua: Partición, fragmentación, algoritmos de ubicación... 3.3 Paginación: Estructura

Más detalles

Señal de petición de Interrupción

Señal de petición de Interrupción Consideren una tarea que require tomar caracteres desde un teclado y mostrarlos en la pantalla de un monitor. La tasa de transferencia desde un teclado a un computador está limitado por la velocidad del

Más detalles

Fundamento de Informática Teórica(2003) Prof. Dr. Eric Jeltsch F. ORGANIZACION FISICA DE LOS SISTEMAS DE BASE DE DATOS

Fundamento de Informática Teórica(2003) Prof. Dr. Eric Jeltsch F. ORGANIZACION FISICA DE LOS SISTEMAS DE BASE DE DATOS ORGANIZACION FISICA DE LOS SISTEMAS DE BASE DE DATOS La organización física de una base de datos es un tópico extenso y se aborda en detalle, principalmente en la asignatura Base de Datos, y digo principalmente

Más detalles

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Archivos. Teoría de Sistemas Operativos. Archivos. Archivos. Archivos. Archivos. Administración de Archivos

Archivos. Teoría de Sistemas Operativos. Archivos. Archivos. Archivos. Archivos. Administración de Archivos Teoría de Sistemas Operativos Administración de Sistemas de :: punto de vista del usuario Nombre Consiste en una serie de símbolos (letras y números principalmente). Sirven de referencia para el usuario

Más detalles

Procesos. Planificación del Procesador.

Procesos. Planificación del Procesador. Procesos. Planificación del Procesador. Sistemas Operativos. Tema 2. Concepto de Proceso. Una definición sencilla: Programa en ejecución. Entidad pasiva Programa RECURSOS CPU Memoria Ficheros Dispositivos

Más detalles

Conceptos Generales Tabla de Contenidos

Conceptos Generales Tabla de Contenidos Conceptos Generales Tabla de Contenidos 1. Conceptos Generales... 2 1.1 Introducción:... 2 1.2 Definición de un Sistema Operativo... 2 1.3 Estructura, elementos y funciones...5 1.3.1 Evolución de los sistemas

Más detalles

Conceptos de Sistemas Operativos

Conceptos de Sistemas Operativos Conceptos de Sistemas Operativos Este apunte pertenece al libro Operating System Concepts de Abraham Silberschatz (quinta edición) con retoques del libro Sistemas Operativos: diseño e implementación de

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Concepto de Procesamiento Distribuido y Centralizado

Concepto de Procesamiento Distribuido y Centralizado Concepto de Procesamiento Distribuido y Centralizado Procesamiento Centralizado: En la década de los años 50 s las computadoras eran máquinas del tamaño de todo un cuarto con las siguientes características:

Más detalles

SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro

SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro SENA CEET, Distrito Capital ADSI Instructor: Ing. Espec. Javier V.aquiro Que hace un Sistema Operativo? El SO viste a la máquina desnuda * 4º INFORMÁTICA * La máquina desnuda es el ordenador sin S.O Definición

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

TEMA 1: INTRODUCCIÓN

TEMA 1: INTRODUCCIÓN 1 DISEÑO Y DESARROLLO DE COMPILADORES TEMA 1: INTRODUCCIÓN Qué es un Compilador? Un compilador no es más que un traductor, es decir, un programa que nos permite pasar información de un lenguaje a otro.

Más detalles

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas. Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento

Más detalles

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN PROFESOR: MSC. P. Norma Maya Pérez SISTEMAS OPERATIVOS

TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN PROFESOR: MSC. P. Norma Maya Pérez SISTEMAS OPERATIVOS TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN PROFESOR: MSC. P. Norma Maya Pérez SISTEMAS OPERATIVOS I. Fundamentos del sistema operativo. OBJETIVO: El alumno seleccionará un sistema operativo de acuerdo

Más detalles

Arquitectura y seguridad

Arquitectura y seguridad En el desarrollo del SIGOB nos hemos enfrentado a diversos problemas que nos han llevado a investigar y desarrollar nuestras propias tecnologías. En este documento presentamos cada uno de los desarrollos

Más detalles

R E S P. Versión 7.3

R E S P. Versión 7.3 R E S P Versión 7.3 La Tecnología en Software.,S.A. de C.V. Derechos Reservados. Prohibida la reproducción total o parcial sin permiso escrito de KRATOS, S.A. de C.V. El uso de programas que integran SISINF

Más detalles

Programación de Sistemas

Programación de Sistemas Programación s Unidad 2 s Operativos y Programación Software Base Contenido Introducción a los s Operativos (SO) Definición y conceptos SO Visualización un sistema cómputo s distintos puntos vista Capas

Más detalles

Sistema de proceso por lotes: esquema operativo

Sistema de proceso por lotes: esquema operativo Sistema de proceso por lotes: esquema operativo MAINFRAME CPU Lector de tarjetas MEM SO Impresora Programa de usuario Programadores Sistema de proceso por lotes: características operativas Los programadores

Más detalles

Sistemas operativos. Tema 9: Gestión n de E/S

Sistemas operativos. Tema 9: Gestión n de E/S Sistemas operativos Tema 9: Gestión n de E/S Gestión n de E/S Un sistema de computación n puede incorporar múltiples dispositivos de E/S: De interfaz de usuario: ratones, teclados, pantallas, etc. De almacenamiento:

Más detalles

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida Contenido Sistemas de Categorias de los Dispositivos de En qué se diferencian los dispositivos de? Técnicas para realizar la E/S Interrupciones Interfaces involucradas en E/S Buffering Categorias de los

Más detalles

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010

Hilos, comunicación y competencia entre procesos. Dr. Alonso Ramírez Manzanares 2-Sep-2010 Hilos, comunicación y competencia entre procesos Dr. Alonso Ramírez Manzanares 2-Sep-2010 Implementación de procesos Se mantiene una tabla de procesos con una entrada por cada proceso: Con lo cual tenemos

Más detalles

Unidad 1 Discos Rígidos Sistemas de Archivos y Particiones.

Unidad 1 Discos Rígidos Sistemas de Archivos y Particiones. Unidad 1 Discos Rígidos Sistemas de Archivos y Particiones. Una unidad de disco rígido puede tener uno o más discos de aluminio llamados platos, que tienen sus dos lados recubiertos por una capa de cromo

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: INTERRUPCIONES La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales: a)consultas (POLLING): Se comprueban cíclicamente,

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

SISTEMAS OPERATIVOS Estructura del SO. Amilcar Meneses Viveros [email protected]

SISTEMAS OPERATIVOS Estructura del SO. Amilcar Meneses Viveros ameneses@computacion.cs.cinvestav.mx SISTEMAS OPERATIVOS Estructura del SO Amilcar Meneses Viveros [email protected] Presentación Componentes de un SO Servicios de un SO Llamados al sistema Programas del sistema Estructura

Más detalles

UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS ECONOMICAS Y SOCIALES. PROF. ISRAEL J. RAMIREZ [email protected]

UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS ECONOMICAS Y SOCIALES. PROF. ISRAEL J. RAMIREZ israel@ula.ve UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS ECONOMICAS Y SOCIALES PROF. ISRAEL J. RAMIREZ [email protected] UNIVERSIDAD DE LOS ANDES FACULTAD DE CIENCIAS ECONOMICAS Y SOCIALES LOS SISTEMAS OPERATIVOS 1.-

Más detalles

Unidad 2: Gestión de Procesos

Unidad 2: Gestión de Procesos Unidad 2: Gestión de Procesos Tema 4, Procesos: 4.1 El concepto de proceso. 4.2 Planificación de procesos. 4.3 Procesos cooperativos. 4.4 Hilos (threads). Informática (Segovia) 1 4.1 El concepto de proceso.

Más detalles

Sistemas Operativos. Administración de Periféricos

Sistemas Operativos. Administración de Periféricos Sistemas Operativos Administración de Periféricos 1 Temario Objetivos Repaso de Unidades involucradas: Canales, UC, Dispositivos, instrucciones de E/S, tipos de canales Asignación de dispositivos Base

Más detalles

Requerimientos principales de un sistema operativo

Requerimientos principales de un sistema operativo Descripción y control de procesos Requerimientos principales de un sistema operativo Intercalar la ejecución de varios procesos para maximizar el uso del procesador proporcionando un tiempo de respuesta

Más detalles

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas: SISTEMAS DISTRIBUIDOS DE REDES 1. SISTEMAS DISTRIBUIDOS Introducción y generalidades La computación desde sus inicios ha sufrido muchos cambios, desde los grandes equipos que permitían realizar tareas

Más detalles

SISTEMAS DE ARCHIVOS DISTRIBUIDOS

SISTEMAS DE ARCHIVOS DISTRIBUIDOS SISTEMAS DE ARCHIVOS DISTRIBUIDOS Tema # VII Sistemas de operación II Abril-Julio 2008 Yudith Cardinale Introducción Requisitos Aspectos de Diseño Servicios de archivos Servicios de directorios Módulo

Más detalles

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores UNIDAD DE ENTRADA SALIDA Conceptos Unidad de entrada-salida (E/S): Elemento que proporciona un método de comunicación eficaz entre el sistema central y el periférico. Funciones Control y temporización

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Concurrencia entre Procesos.

Concurrencia entre Procesos. Concurrencia entre Procesos. Sistemas Operativos Tema 3. 1 Procesamiento concurrente. Procesamiento concurrente: base de los sistemas operativos modernos (multiprogramados): Un conjunto de procesos que

Más detalles

Errores del Manejador de Archivo Errores del Compilador

Errores del Manejador de Archivo Errores del Compilador MAR DE BANDA # 2075 COLONIA COUNTRY CLUB GUADALAJARA, JAL, MEX. TEL. (33)35.85.03.03, FAX (33)35.85.04.04 EMAIL: [email protected] WEB www.multilan.com.mx Errores del Manejador de Archivo Errores

Más detalles

Instituto Universitario Politécnico. Santiago Mariño. Unidad I Revisión de conceptos de Sistemas. Operativos. Elaborado por: Ing. Víctor Valencia.

Instituto Universitario Politécnico. Santiago Mariño. Unidad I Revisión de conceptos de Sistemas. Operativos. Elaborado por: Ing. Víctor Valencia. Instituto Universitario Politécnico Santiago Mariño Unidad I Revisión de conceptos de Sistemas Operativos Definición de Sistema Operativo Es un programa que actúa como intermediario entre el usuario de

Más detalles

La complejidad de los automatismos y la necesidad de especificar con precisión las tareas => útiles simbólicos de representación

La complejidad de los automatismos y la necesidad de especificar con precisión las tareas => útiles simbólicos de representación PROGRAMACIÓN DEL AUTÓMATA Tiene una serie de pasos: Determinar qué debe hacer el sistema de control y en qué orden Identificar entradas y salidas al autómata Representar mediante un modelo el sistema de

Más detalles

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Módulo 5 Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco Planificación de Procesos Conceptos Básicos Criterios de Planificación

Más detalles

UNIVERSIDAD DE LOS ANDES NÚCLEO UNIVERSITARIO RAFAEL RANGEL

UNIVERSIDAD DE LOS ANDES NÚCLEO UNIVERSITARIO RAFAEL RANGEL UNIVERSIDAD DE LOS ANDES NÚCLEO UNIVERSITARIO RAFAEL RANGEL CARRERAS: Comunicación Social - Contaduría Publica Administración -Educación MATERIA: Int. a la Computación - Computación I-Introducción a la

Más detalles

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso

Requerimientos Principales de un Sistema Operativo. Descripción y Control de Procesos. Proceso Requerimientos Principales de un Sistema Operativo Descripción y Control de Procesos Capítulo 3 Entrelazar la ejecución de varios procesos para maximizar el uso del procesador a la vez que se mantiene

Más detalles

Prácticas de Introducción a los Computadores Curso 2000-2001 1 WINDOWS 95

Prácticas de Introducción a los Computadores Curso 2000-2001 1 WINDOWS 95 Prácticas de Introducción a los Computadores Curso 2000-2001 1 Novedades WINDOWS 95 Windows 95 es un sistema operativo orientado a documentos. Permite la asociación de la extensión de cada fichero a un

Más detalles

Módulo 2. Estructura del Sistema Operativo. Servicios del Sistema Operativo. Objectivos. Servicios del Sistema Operativo (Cont)

Módulo 2. Estructura del Sistema Operativo. Servicios del Sistema Operativo. Objectivos. Servicios del Sistema Operativo (Cont) Estructuras de Sistemas Operativos Estructura del Sistema Operativo Módulo 2 Servicios de Sistemas operativos Interfaz de Usuario del Sistema Operativo Llamadas a Sistema Tipos de Llamadas a Sistema Programas

Más detalles

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

Más detalles

Introducción a la Computación

Introducción a la Computación Introducción a la Computación MCC Marco Antonio Crúz Chávez 2003 Sistema de información Es un sistema incluido en otro sistema mayor que recibe, almacena, procesa y distribuye información. Los principales

Más detalles

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 18 y 19 Sistemas de Archivos Distribuidos y Tarea 05 Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco [email protected] Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Software Computacional y su clasificación

Software Computacional y su clasificación Software Computacional y su clasificación Capítulo 5 El software En modo sencillo el software permite que las personas puedan contarle a la computadora cierto tipo de problemas y que ésta a su vez le ofrezca

Más detalles

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III DI PIETRO, Franco RODRIGUEZ, Matías VICARIO, Luciano Introducción En este papper se muestran

Más detalles

SESIÓN 8 TIPOS DE SISTEMAS DE MANUFACTURA

SESIÓN 8 TIPOS DE SISTEMAS DE MANUFACTURA SESIÓN 8 TIPOS DE SISTEMAS DE MANUFACTURA CONTENIDO Términos en manufactura Clasificación de sistemas de manufactura Beneficios y ejemplos de sistemas de manufactura Los componentes de un sistema de manufactura

Más detalles

Arquitectura para análisis de información. Zombi es una arquitectura que proporciona de manera integrada los componentes

Arquitectura para análisis de información. Zombi es una arquitectura que proporciona de manera integrada los componentes Capítulo 4 Arquitectura para análisis de información propuesta 4.1 Arquitectura Zombi es una arquitectura que proporciona de manera integrada los componentes necesarios para el análisis de información

Más detalles

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido

Más detalles

Memoria Virtual. Figura 1: Memoria Virtual

Memoria Virtual. Figura 1: Memoria Virtual 1 Memoria Virtual. Qué podemos hacer si un programa es demasiado grande para caber en la memoria disponible? Una posibilidad es usar superposiciones (overlays), como en MS-DOS: dividimos el programa en

Más detalles

Capítulo 5. Sistemas operativos. Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática)

Capítulo 5. Sistemas operativos. Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática) Capítulo 5 Sistemas operativos Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática) 1 Sistemas operativos Definición de Sistema Operativo Partes de un Sistema Operativo Servicios proporcionados:

Más detalles

1. Generalidades. M. en C. Mario Farias-Elinos

1. Generalidades. M. en C. Mario Farias-Elinos 1. Generalidades M. en C. Mario Farias-Elinos 1 Contenido Introducción Arquitectura de computadoras Arquitectura de un sistema operativo Introducción 2 Introducción Qué es un sistema operativo? Intermediario

Más detalles

2.- Estructuras de Sistemas Operativos

2.- Estructuras de Sistemas Operativos 2.- Estructuras de Sistemas Operativos Describir los servicios que el SO proporciona a los usuarios, procesos y otros sistemas Estudiar las maneras de estrcturar un SO Explicar como se instala un SO, como

Más detalles

POST Y BIOS. comprobación de la

POST Y BIOS. comprobación de la POST Y BIOS. Al encender la computadora personal (PC),la BIOS inicia el POST (Power On Self Test), el encendido de la PC tiene dos objetivos; por un lado se tiene que proporcionar la tensión adecuada a

Más detalles

Tema 1 Fundamentos de Computación

Tema 1 Fundamentos de Computación Tema 1 Fundamentos de Computación Clase 2 Prof. María Alejandra Quintero Asignatura: Informática Escuela de Ingeniería Forestal Puntos a tratar Continuación hardware Memoria principal Dispositivos de almacenamiento

Más detalles

SISTEMAS OPERATIVOS INTRODUCCION.

SISTEMAS OPERATIVOS INTRODUCCION. INTRODUCCION. A finales de los 40's el uso de computadoras estaba restringido a aquellas empresas o instituciones que podían pagar su alto precio, y no existían los sistemas operativos. En su lugar, el

Más detalles

PARTICIONES Y FORMATOS

PARTICIONES Y FORMATOS PARTICIONES Y FORMATOS 1. Función de un disco duro Un disco duro es un dispositivo que permite el almacenamiento y recuperación de grandes cantidades de información. Los discos duros forman el principal

Más detalles

MÁSTER ONLINE EN ADMINISTRACIÓN LINUX

MÁSTER ONLINE EN ADMINISTRACIÓN LINUX MÁSTER ONLINE EN ADMINISTRACIÓN LINUX Módulo 1 Hardware & Arquitectura de sistemas - 20 horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros

Más detalles

Procesos. Bibliografía. Threads y procesos. Definiciones

Procesos. Bibliografía. Threads y procesos. Definiciones Procesos Prof. Mariela Curiel Bibliografía A. Tanembaum & M. Van Steen. Sistemas Distribuidos. Principios y Paradigmas. 2da. Edición. Smith & Nair. The Architecture of Virtual Machines. IEEE Computer.

Más detalles
Sitemap