MPC0809: Sistemas operativos y alternativas RTOS

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

Download "MPC0809: Sistemas operativos y alternativas RTOS"

Transcripción

1 MPC0809: Sistemas operativos y alternativas RTOS Rubén Marrero Gómez

2 Índice 1. Introducción 2 2. Perspectiva histórica 2 3. Definición de sistema operativo y conceptos Conceptos Proceso Hilo Núcleo Características Multi Capa de abstracción de hardware (HAL) Interfaz de programación de aplicaciones (API) Planificación Planificación de tiempo real Tipos de sistemas operativos Symbian OS Mobilinux VxWorks 18 Índice de figuras 1. Modelo de cinco estados. Wikipedia Núcleo monolítico. Wikipedia Micronúcleo. Wikipedia Exonúcleo. Wikipedia Logo Symbian OS Logo mobilinux Características mobilinux Logo Wind River Systems

3 1. Introducción En este trabajo se va realizar un pequeño repaso sobre el campo de los sistemas operativos, explicando siempre de forma somera, algunos conceptos y fundamentos para entender el paradigma actual de sistema operativo, intentando atender a las distintas formas en que la literatura trata algunos de estos conceptos. Se darán por sabidos conocimientos básicos sobre la arquitectura de un computador: procesador, registros, buses, I/O, etc. Finalmente se exponen algunos ejemplos de sistemas operativos que cumplen requisitos de tiempo real y están diseñados para sistemas empotrados, con la intención de ver características reales de algunos sistemas actuales que están en boga. 2. Perspectiva histórica Para entender la necesidad de equipar a los sistemas actuales con un sistema operativo, así como también el porqué de algunas características, se hace necesario ver la evolución de los sistemas operativos en el tiempo. Los primeros sistemas de computación, desde finales de los años cuarenta hasta mediados de los años cincuenta, eran máquinas de gran tamaño sin ningún tipo de soporte lógico, en el que el programador interactuaba directamente con el hardware sin ninguna interfaz de por medio. Así, los trabajos que realizaban estas computadoras se ordenaban en serie, existiendo en cada momento un solo operador enfrentándose al hardware. Ésta es la razón por la que este modo de operación se denomina procesamiento serie. Este sistema planteaba varios problemas, de entre los cuales cabe destacar la planificación y el tiempo de configuración. La planificación de trabajo se realizaba de manera estática, siendo el programador quien reservaba bloques de tiempo, usualmente múltiplos de media hora, que podían dejar la máquina ociosa si se terminaba antes de tiempo o al programador sin terminar su trabajo si la reserva de tiempo fuera insuficiente, ya que el tiempo de configuración era largo e indeterminado. En este tiempo de configuración el programador debía especificar al hardware cuál era su propósito, necesitando cargar en memoria el compilador y el programa en el lenguaje de alto nivel, para luego cargar y enlazar el programa objeto. Cada uno de estos pasos podía suponer montar y desmontar cintas, en los que de existir algún error reiniciaban el proceso, pues se hacía necesario volver a comenzar desde el principio. Estos primeros sistemas eran muy caros y se requería maximizar su utilización. Para ello se desarrolló el concepto de sistema operativo en lotes que consistían en el uso de un software al que llamaron monitor. El monitor tenía la responsabilidad de controlar la ejecución de cada uno de los trabajos que se le asignaban al sistema, de modo que se evitaban los tiempos muertos entre trabajos. Además, el monitor era capaz de ejecutar sentencias de preparación para el programa a ejecutar, de modo que la configuración se hacía mucho menos tediosa y menos vulnerable a errores. Son estos los considerados primeros sistemas operativos, destacando el GM-NAA I/O, diseñado por General Motors y North American Aviation para un IBM 704 en el año 1956, basado en otro monitor del año 1955 diseñado sólo por General Motors para un IBM 701. Gracias al denominado monitor, los trabajos se realizan de forma continua, aumentando por tanto el rendimiento, pero el procesador continúa estando ocioso durante largos intervalos, esperando por los lentos dispositivos de entrada y salida. Para aprovechar esos espacios de tiempo se diseñaron los sistemas en lotes multiprogramados que permiten cambiar el contexto del procesador hacia otros trabajos aunque no hayan terminado los anteriores. Este es el enfoque de los sistemas operativos modernos, para el desarrollo de los cuales se hizo necesario la gestión de interrupciones y el aumento del espacio de memoria con el propósito de que pudieran coexistir más de un trabajo a la vez en el sistema. La evolución natural de las computadoras llevó a que se requiriera una interacción con el usuario, lo que priorizaba entre otros aspectos que el tiempo de respuesta fuera mínimo. De la misma forma llegaron los sistemas operativos de tiempo compartido en el que varios usuarios hacen uso del mismo sistema. Éste debía ser multiprogramado para poder satisfacer la necesidad de todos los usuarios que utilizarían distintos programas. Uno de los primeros sistemas operativos de tiempo compartido desarrollados fue el sistema Compatible Time-Sharing System, CTSS, desarrollado en el MIT para el IBM 709 en No fue hasta la aparición del microprocesador y de las computadoras asequibles para el consumo de masas que la facilidad de uso de los sistemas se hiciera imperante. Con ello, llegaron en los años setenta los primeros 2

4 ordenadores personales y nuevas interfaces de usuario, los sistemas WIMP (Window-Icon-Menu-Pointing device), que en la actualidad se suelen llamar GUI (Graphical User Interface), desarrollados por Xerox para su ordenador personal Xerox Alto y que fueron popularizados ya en los años ochenta por los ordenadores Macintosh de Apple. Este hecho ayudó a que se entendiera el mercado de los ordenadores personales como un negocio potencial, por lo que aparecieron innumerables sistemas para uso doméstico como el Commodore64, el Amstrad CPC y el ZX Spectrum que incluían un intérprete de BASIC en ROM con el que el usuario podía realizar operaciones de fichero como borrado, copiado y demás. [3] 3. Definición de sistema operativo y conceptos Llegados a este punto se hace necesario definir algunos conceptos para poder abordar el estudio de algunos sistemas operativos en mayor profundidad, así como consensuar una definición para sistema operativo que no está clara en la literatura. La definición de sistema operativo más usual hace siempre referencia a una infraestructura software necesaria en los sistemas actuales para gestionar de forma eficiente los recursos de la máquina. Sin embargo, una definición más completa es la que hace William Stallings[1]: Un sistema operativo es un programa que controla la ejecución de aplicaciones y programas que actúa como interfaz entre las aplicaciones y el hardware del computador. Se puede considerar que un sistema operativo tiene los siguientes tres objetivos: Facilidad de uso, eficiencia y capacidad para evolucionar. De esta manera podemos entender el sistema operativo como una interfaz usuario/computadora que facilita el uso del sistema, como un gestor de recursos que aumenta la eficiencia de la computadora, así como un ente capaz de evolucionar para adaptarse a las actualizaciones del hardware, capaz de incluir nuevos servicios para el usuario y resolver fallos que lleva implícito por ser una pieza software de gran complejidad. Es un hecho contrastado la necesidad de abstraer al usuario del hardware en mayor o menor medida, tanto si se trata de un usuario doméstico como de un desarrollador de aplicaciones, en cuyo caso la abstracción no es total. Esta abstracción nos la proporciona el sistema operativo a través de un conjunto de aplicaciones y utilidades para servicios como: Desarrollo de programas, donde el sistema operativo nos brinda herramientas que aunque no están integradas en el núcleo del sistema operativo, se ofrecen para dicho sistema. Ejecución Acceso Detección de programas, en el que el usuario no se preocupa de cómo el hardware carga la aplicación en memoria y se prepara en general para hacerla correr. a dispositivos de E/S, pues para quien está frente al sistema le es completamente transparente cómo se gestionan el disco duro, el teclado, el ratón, etc. así como tampoco conoce cómo controla los ficheros o la protección de recursos y datos. de errores y la posible respuesta para eliminar la condición de error. Contabilidad para monitorizar parámetros y generar estadísticas que permitan mejorar el rendimiento futuro de la computadora. Como gestor de recursos el sistema operativo procura aumentar la eficiencia del sistema aplicando políticas de uso en función del entorno para el cual fue diseñado el sistema. No debemos olvidar que el sistema operativo también es un programa como otro cualquiera, que se ejecuta sobre el hardware, con la particularidad de que es el que controla cómo se ejecutan el resto de programas. Entre los recursos que debe diligenciar se encuentran: CPU, pues cede y tramita el tiempo a otros procesos, quedando el sistema operativo dependiente de que la CPU retorne. 3

5 Memoria, ya que asigna el espacio de ésta para que se carguen los procesos a ejecutar, así como evita que existan accesos ilegales conociendo qué partes de la memoria están siendo utilizadas y por quién. En la memoria reside también el núcleo del sistema operativo así como otras utilidades del mismo que hayan o vayan a ser ejecutadas. Almacenamiento secundario, donde se dispone la estructura de datos sobre la que se asienta el sistema de ficheros del sistema. El sistema operativo se encarga de gestionar, asignar y proteger su espacio para los datos estáticos o para procesos que no pudieron mantenerse residentes en la memoria principal. E/S en general, con lo que se incluye la gestión de interrupciones para indicar a la máquina cómo responder y qué decisiones tomar en cada caso particular. Aquí se incluyen interfaces de red que nos permiten comunicar nuestra computadora con otros sistemas, creando y supervisando conexiones entre aplicaciones que se ejecuten en otras máquinas (o localmente, en cuyo caso la conexión se denomina virtual) Conceptos Se han tratado varias nociones sin ahondar en lo que ellas significan. Con el propósito de dejar claras estas ideas para lo sucesivo, se introduce este apartado en el que se tratarán fundamentalmente aquellos conceptos que servirán para, de igual manera, exponer las características que pueden definir a los distintos sistemas operativos Proceso Igual que sucede con la definición de sistema operativo, aclarar lo que llamamos proceso es muy disperso. Entre las posibles definiciones están: Un programa en ejecución. Una instancia de un programa ejecutándose en un computador. La entidad que se puede asignar o ejecutar en un procesador. Una unidad de actividad caracterizada por un solo hilo secuencial de ejecución, un estado actual y un conjunto de recursos del sistema asociados. Sin embargo, desde el punto de vista del sistema operativo, debe considerarse al proceso como un conjunto de piezas, que le dan vida e identifican. Los dos elementos esenciales son el código de programa, que puede compartirse con otros procesos que ejecuten el mismo programa, y un conjunto de datos asociados a dicho código: Identificador. Estado. Prioridad. Contador de programa. Punteros a memoria. Datos de contexto. Información de estado de E/S. Información de auditoría. 4

6 Estos elementos pueden encontrarse en las distintas lecturas, que versan sobre el tema que tratamos, reunidos en tres grupos: el contexto de ejecución, la memoria que ha reservado con su contenido y otra información que posibilite al sistema operativo realizar una planificación. Así en el contexto de ejecución se pueden agrupar el estado del proceso, que puede ser ejecutando, parado,...; el contador de programa que indica la dirección de la siguiente instrucción a ejecutar; los punteros a memoria que posibilitan acceder al contenido de la memoria reservada; los datos de contexto que son los valores que se encuentran en los registros del procesador cuando éste está ejecutando el proceso; y la información de estado de E/S que contiene las peticiones a dispositivos así como sus posibles asignaciones, la lista de ficheros que puede estar manejando el proceso, etc. En cuanto a la información que permite al sistema operativo realizar la planificación, se agrupan la prioridad con la que el proceso se ejecuta dentro del sistema respecto a otros procesos y la información de auditoría, que incluye estadísticas de tiempo de uso del procesador, registros usados, dispositivos empleados, etc. El sistema operativo debe controlar el modo en que se ejecutan los procesos y gestionar los recursos que pudieran necesitar, para lo cual se le asignan diversas tareas sobre cada proceso como su creación y terminación, la planificación y activación e intercambio y sincronismo para comunicarse con otros procesos mediante espacio de memoria compartida, paso de mensajes y semáforos. Es por ello que se fijan un conjunto de posibles estados para cada proceso los cuales dependen del modelo empleado por cada sistema operativo. Existen modelos muy simples como el de dos estados que determinan sólo si el proceso está en ejecución o no, siendo útiles para planificaciones simples FIFO; hasta modelos de cinco, siete y nueve estados como el que emplea UNIX. El más empleado es el modelo de cinco estados que se muestra a continuación: Figura 1: Modelo de cinco estados. Wikipedia Nuevo: el proceso es creado pero el sistema operativo aun no ha fijado que recursos le son asignados, pues aun no ha sido admitido y no reside en memoria. Una vez es admitido pasa a estar listo. Listo: el proceso tiene determinados todos sus recursos y se encuentra esperando que el planificador a corto plazo le permita pasar a ejecución. Ejecución: el proceso ha tomado el control del procesador, tiene toda la información para correr dispuesta sobre los registros. El procesador ejecuta las instrucciones del proceso hasta que finaliza o produce 5

7 una excepción, en cuyo caso pasa al estado terminado; o hasta que es interrumpido por el planificador para que otro proceso se pueda ejecutar pasando al estado listo; o hasta que necesita un evento, ya sea desde un dispositivo de E/S o desde otro proceso, pasando al estado de espera. Espera: el proceso se encuentra bloqueado a la espera de un evento. Una vez se produce el evento pasa a estar listo. Terminado: el proceso es expulsado del grupo de procesos ejecutables y el sistema operativo libera los recursos de la máquina que consumía. En la literatura es usual hacer uso del término tarea o proceso indistintamente, sin embargo, es conveniente explicar que el término tarea se emplea con mayor frecuencia como sinónimo de proceso cuando se tratan los sistemas empotrados o cuando se trata la planificación, pues en la lengua inglesa el término multitasking, que se explica más adelante, es preferible a multiprocessing, ya que se puede confundir con multiprocessor Hilo Hilo, hebra, proceso ligero, o thread en inglés, hace referencia a una unidad de trabajo que contiene información de contexto del procesador y área de datos de la misma manera en que lo hace un proceso. También se ejecuta secuencialmente y puede interrumpirse para dar paso a otro hilo. La diferencia de las hebras respecto de los procesos es que en sistemas multithread los procesos se definen como conjunto de hilos, de modo que los últimos pueden compartir información en memoria dentro del espacio del proceso al que pertenecen, a diferencia de los sistemas monohilo en los que el concepto de hilo se confunde con el de proceso. Esto es útil para aplicaciones, que siendo modulables, realizan varias labores, esencialmente independientes, que no tienen que ser serializadas. Se presenta a continuación una serie de ventajas de los sistemas multithilo respecto a los monohilo: [1] Lleva mucho menos tiempo crear un nuevo hilo en un proceso existente que en crear un proceso. Lleva menos tiempo finalizar un hilo que un proceso. Lleva menos tiempo cambiar entre dos hilos dentro del mismo proceso. La comunicación entre hilos de una misma aplicación es más eficiente que entre procesos, pues no necesita la intervención del núcleo para realizar labores de protección y comunicación como lo sería necesario entre procesos Núcleo El núcleo del sistema operativo, también conocido por su anglicismo kernel, es la pieza fundamental del sistema operativo. Se encarga de gestionar los recursos de la máquina a través de servicios de llamada al sistema: planificación de hilos, el intercambio de procesos, las excepciones, el manejo de interrupciones, la sincronización de multiprocesadores, etc. Existen algunos tipos de núcleo: Monolíticos. Micronúcleos. Híbridos. Exonúcleos. 6

8 Los núcleos monolíticos son grandes, complejos y engloban la mayoría de los servicios del sistema incluyendo la planificación, los sistemas de ficheros, las redes, los controladores de dispositivos, la gestión de memoria y otras funciones. No tienen estructura modular, implementado como un único proceso con todos los elementos compartiendo el mismo espacio de direcciones. Algunos ejemplos de núcleos monolíticos son los sistemas Unix-like como la propia Unix, BSD y sus derivados, Solaris, Linux y otros como los Microsoft Windows 9x. Figura 2: Núcleo monolítico. Wikipedia Por otra parte los micronúcleos sólo tienen unas pocas funciones esenciales asignadas al núcleo, incluyendo los espacios de almacenamiento, comunicación entre procesos (IPC) y la planificación básica. El resto de servicios como la gestión de memoria, sistema de archivos, operaciones de E/S, etc, se procesan como procesos servidores en el espacio de usuario. Como ventaja respecto a los núcleos monolíticos se encuentran la simplicidad del núcleo, la descentralización de fallos y la facilidad que aporta para crear y depurar controladores de dispositivos. Sin embargo, cuenta con ciertas desventajas como la dificultad para sincronizar los módulos que componen el micronúcleo. Sistemas operativos que emplean micronúcleos entre otros son Minix, QNX y AmigaOS, el sistema operativo por defecto del ordenador personal Amiga de los años ochenta y noventa. Figura 3: Micronúcleo. Wikipedia Existen, aun hoy en día, grandes debates sobre si los sistemas micronúcleo son o no mejores que los monolíticos. Un ejemplo interesante de estos debates es la discusión entre el profesor Tanenbaum y Linus Torvalds, creadores de los sistemas Minix y Linux respectivamente. [4] Los núcleos híbridos son micronúcleos modificados a los que se les ha añadido código que estaría en el espacio de usuario en el caso de ser micronúcleos puros para realizar ciertos servicios de manera más rápida. Ejemplos de sistemas operativos que empleen núcleos híbridos son Microsoft Windows XP, Windows Vista y MAC OS X. Otro tipo de núcleo es el exonúcleo que sigue siendo un tema de investigación, sin existir un sistema comercial que lo emplee. La idea subyacente consiste en abstraer al programador del hardware hasta el punto que 7

9 considere necesario, pudiendo el programador realizar operaciones de muy bajo nivel como pedir direcciones específicas de memoria, bloques de disco y demás, a través de librerías aportadas por el sistema. La gran ventaja de los exonúcleos es que son muy simples pues están limitados a asegurar la protección y el multiplexado de recursos. Figura 4: Exonúcleo. Wikipedia Características Multi Multitasking/multiprogramming: Multitarea/Multiprogramación es una característica que hace referencia a la capacidad que tiene el sistema operativo para ejecutar varias tareas/programas de forma intercalada. Cuando el sistema posee más de un procesador algunos autores prefieren el término multiprocessing. Existen esencialmente dos tipos de multitasking: cooperative (cooperativo) y preemptive (preferente). En el primero la tarea una vez está en modo ejecución ocupando el procesador decide en qué momento ceder el procesador al sistema operativo o a otro proceso. En el segundo caso el sistema operativo es el que regula los tiempos de ocupación del procesador por parte de todos los procesos del sistema. multithreading: Multihilo es la técnica por la cual un sistema puede gestionar un proceso como un conjunto de hilos (threads) que pueden ejecutarse concurrentemente. multiprocessing: Traducido como multiprocesamiento, se refiere a la capacidad de gestionar varios procesos en un multiprocesador. Existen varios tipos dentro de las distintas categorías de sistemas de computadores. Una posible clasificación de sistemas de computadores es la taxonomía de Flynn propuesta por Michael J. Flynn en el año 1972[6]: SISD Single instruction single data: un solo procesador ejecuta instrucciones que modifican datos en una única memoria asociada al procesador. Caso de monoprocesador. SIMD Single instruction multiple data: una única instrucción se ejecuta en varios procesadores, los cuales operan sobre memorias independientes asociadas a cada procesador. Caso de los procesadores vectoriales y matriciales. MISD Multiple instruction single data: varias instrucciones se procesan en procesadores distintos actuando sobre el mismo conjunto de datos. No se ha implementado. MIMD Multiple instruction multiple data: varios procesadores ejecutan instrucciones diferentes que operan sobre datos distintos. Atendiendo a esta clasificación y haciendo énfasis en las arquitecturas MIMD, múltiples instrucciones, múltiples flujos de datos, se necesita conocer la forma de comunicación entre los distintos procesadores a través de la memoria. Así, si la memoria es totalmente distribuída, es decir, que está débilmente acoplada, los elementos de proceso son computadoras en sí mismo y se denominan clusters o multicomputadores. Sin embargo, si 8

10 la memoria es compartida, es decir, que está fuertemente acoplada, aparecen dos variantes: la arquitectura maestro/esclavo (o multiprocesador asimétrico ASMP) y el multiprocesador simétrico (SMP). En la primera de estas variantes, un procesador ejecuta el núcleo del sistema operativo y se encarga de planificar cómo los procesos se van ejecutando en un procesador y otro. En la segunda variante el núcleo puede ejecutarse en cualquier procesador y normalmente cada procesador realizar su propia planificación del conjunto de procesos e hilos. Los sistemas actuales están basados en esta última variante, SMP, tratando de explotar el paralelismo real que ofrece. multiuser: Multiusuario, en contraposición a monousuario, es la característica que determina si los recursos del sistema pueden ser utilizados por más de un usuario al mismo tiempo Capa de abstracción de hardware (HAL) La capa de abstracción hardware (Hardware Abstraction Layer) es un software capaz de aislar las funciones del sistema operativo del hardware sobre el que se encuentra. De esta manera el sistema operativo ve siempre una misma máquina hipotética, sin importar cuál es el verdadero hardware, sobre la que vierte mandatos y respuestas genéricas que la capa de abstracción traduce a la máquina real Interfaz de programación de aplicaciones (API) (Application Programming Interface) Es un conjunto de bibliotecas en forma de funciones y procedimientos que aporta una pieza software a otra para que puedan comunicarse a través de llamadas, lo que permite una vez más abstraer las particularidades de una aplicación al resto. El sistema operativo ofrece una API a las aplicaciones que corren sobre él para gestión de dispositivos de E/S, manejo de energía, monitoreo del sistema, gestión de ventanas y sistemas gráficos, etc. Algunos ejemplos de API son: Win32 de Microsoft Windows. Estándar POSIX. OpenGL de Silicon Graphics. Colección DirectX de Microsoft que incluye Direct3D. Carbon de MAC OS X Planificación En los sistemas modernos multiprogramados una de las funciones fundamentales que debe realizar el sistema operativo es la planificación de procesos o hilos, pues las tareas residen en memoria de forma concurrente. La política de planificación va a depender fundamentalmente de la aplicación para la cual ha sido diseñado el sistema y de los recursos con los que cuenta la máquina, siendo muy importante saber si la máquina cuenta con un único procesador o varios. Existen cuatro tipos de planificación: Planificación a largo plazo. Planificación a medio plazo. Planificación a corto plazo. Planificación de E/S. 9

11 En la planificación a largo plazo el sistema operativo se limita a decidir si un proceso se añade o no al conjunto de procesos a ser ejecutados, lo que determina el grado de multiprogramación del sistema; a medio plazo se decide si el proceso debe añadirse al número de procesos que están parcialmente o totalmente en la memoria principal; a corto plazo se decide con los procesos o hilos residentes en memoria cuál es el siguiente a ejecutarse en el procesador; y en la planificación de E/S se establece qué tarea pendiente de una petición de E/S debe ser atendido por un dispositivo de E/S disponible. A continuación se entrará con mayor detalle, aunque de forma somera, en los aspectos más relevantes de la planificación a corto plazo. En síntesis, la planificación a corto plazo debe optimizar uno o más aspectos del sistema asignando tiempos de procesador. Existen sistemas en que a cada proceso se le asigna una prioridad, de modo que la planificación es simple, pues se debe ejecutar con la mayor brevedad posible los procesos con mayor prioridad. Este método tiene el gran inconveniente de poder dejar a los procesos con la prioridad más baja sufriendo inanición. Existen políticas de planificación alternativas que podemos clasificar en dos categorías: sin expulsión (nonpreemptive) y con expulsión (preemptive). Las políticas sin expulsión consisten en dejar al proceso que está en ejecución ocupando el procesador hasta que termine o hasta que se bloquea esperando una petición de E/S o algún servicio del sistema operativo. Por otra parte, las políticas con expulsión permiten interrumpir la ejecución de un proceso aunque no haya terminado o no esté esperando ninguna petición o servicio, para dar paso a otro proceso. 1 Algunas de las planificaciones alternativas son: Primero en llegar, primero en servirse (first-come-first-served): Consiste en una cola FIFO de procesos. Es sin expulsión. Se emplea como referencia para el estudio de otras planificaciones. Existe riesgo de inanición penalizando a los procesos cortos. Turno rotatorio (round robin o time slicing): La planificación está basada en el reloj, de forma que van ejecutándose los procesos que están listos de forma cíclica. Es con expulsión. Todos los procesos ocupan el procesador durante el mismo tiempo hasta ser expulsados. Primero el proceso más corto (shortest process next): Se selecciona el proceso con el tiempo de ejecución más corto esperado. No es expulsivo. Posible inanición. Gran overhead para cálculo de tiempo de ejecución. Menor tiempo restante (shortest remaining time): Versión expulsiva del caso anterior, en el que, de entrar un proceso con menor tiempo de ejecución que el proceso que esté ejecutándose en ese momento, pasa a ejecutarse el recién entrado. Inanición posible. Primero el de mayor tasa de respuesta (highest response ratio next): Se prioriza a los procesos de forma dinámica mediante la función (w+s)/s, siendo w el tiempo invertido en el sistema esperando o en ejecución y s el tiempo total estimado de ejecución que necesita el proceso para terminar. No expulsivo. De esta forma los procesos cortos son priorizados y los procesos que llevan largo tiempo en cola también. No existe posibilidad de inanición pues los procesos a medida que están más tiempo en el sistema van ganando prioridad. Cuando tratamos sistemas con más de un procesador, es necesario realizar algunas consideraciones de más. Es evidente que el gran potencial que tiene un sistema multiprocesador es su capacidad para realizar tareas de forma realmente concurrente. La necesidad de realizar las tareas de forma concurrente se mide en función del término granularidad, siendo una aplicación de grano fino aquella que tiene paralelismo inherente en un único flujo de instrucciones y de grano muy grueso aquella en que sus procesos no están relacionados. Esta granularidad nos sirve también para clasificar las distintas arquitecturas en función de la capacidad que tienen para explotar el paralelismo de estas aplicaciones. Así, una arquitectura que es capaz de sincronizar procesos dentro de una aplicación con mucho paralelismo, se puede decir que es de grano fino; y una arquitectura de 1 proceso puede hacer referencia a hilo, dependiendo de si el sistema es multithreading o no. 10

12 grano muy grueso podría ser un grid de computadoras en el que la sincronización entre procesos se puede realizar cada varios miles o millones de instrucciones ejecutadas. En este apartado, toma gran relevancia la diferencia entre procesos e hilos. En los sistemas monoprocesador, los hilos pueden aportar gran beneficio por la facilidad con la que el sistema es capaz de cambiar la asignación del procesador entre hilos de un mismo proceso pues no se ha de cambiar el contexto de memoria como si es necesario hacer cuando cambiamos entre procesos. Pero en un sistema multiprocesador el paralelismo real que existe en la ejecución de los hilos permite una mejora muy importante de prestaciones. Destacan cuatro enfoques dentro de las posibles propuestas para la planificación multiprocesador de hilos: Compartición de carga: Los procesos no se asignan a un procesador particular. Existe una cola global de hilos que van ejecutándose en los distintos procesadores a medida que estos quedan ociosos. Planificación en pandilla: Se ejecutan al mismo tiempo sobre los distintos procesadores un conjunto de hilos relacionados. Asignación de procesador dedicado: Cada proceso ocupa un número de procesadores igual al número de hilos en el programa durante toda la ejecución del programa. Planificación dinámica: El número de hilos de un proceso puede cambiar durante el curso de su ejecución Planificación de tiempo real La planificación de tiempo real tiene sentido cuando lo aplicamos a un entorno en el que la obtención del resultado que ofrece una tarea urge o tiene un plazo. Las tareas, denominadas en este contexto como tareas de tiempo real, pueden ser tareas de tiempo real duro o de tiempo real suave. Las primeras son aquellas en las que, de no cumplirse el plazo que la limita, puede ocasionar un error fatal e irreversible en el sistema. Sin embargo, el plazo de las segundas es un límite deseable pero no obligatorio. Otra característica de las tareas de tiempo real es la periodicidad. Una tarea real se dice periódica cuando el requisito de la misma se produce cada cierto tiempo T o cada cierto número de eventos. Por otra parte, una tarea real se dice aperiódica si sólo está limitado su instante de comienzo o finalización. Existen cinco características que definen a un sistema de tiempo real: Determinismo Reactividad Control de usuario Fiabilidad Operación de fallo suave Un sistema operativo se dice determinista si es capaz de realizar las operaciones en instantes de tiempo fijos o dentro de intervalos de tiempo predeterminados. Puesto que es imposible saber a priori en un sistema las circunstancias con las que se puede encontrar, es útil saber el retardo máximo desde la llegada de una interrupción de un dispositivo de alta prioridad hasta que comienza el servicio. La reactividad por otra parte indica el tiempo que necesita para manejar una interrupción dependiendo mucho de la arquitectura hardware sobre la que se sustenta el sistema. El determinismo y la reactividad juntos conforman el tiempo de respuesta a eventos externos. El control del usuario hace referencia a la capacidad que tiene el usuario de interferir en la planificación que hace el sistema operativo sobre las tareas, siendo por norma general mayor en los sitemas de tiempo real, ya que el número de variables que determinan la mejor planificación son mayores que en un sistema no de tiempo real. La fiabilidad es una característica muy importante en los sistemas operativos de tiempo real siendo mucho más importante que en un sistema de no tiempo real, pues la pérdida o degradación de sus 11

13 prestaciones puede tener consecuencias catastróficas. La operación de fallo suave se refiere a la habilidad que tiene el sistema para minimizar las consecuencias de un fallo, de modo que sea capaz de preservar tanta capacidad y datos como sea posible. Un sistema no de tiempo real, al encontrar un fallo, puede permitirse detener la ejecución tras valorar cuál ha sido el posible daño. Sin embargo, un sistema de tiempo real no puede detenerse, por lo que debe estar preparado para continuar su ejecución a pesar del posible deterioro. Existen cuatro enfoques o tipos de algoritmos para la planificación de tiempo real: Enfoques estáticos dirigidos por tablas Enfoques estáticos expulsivos dirigidos por prioridad Enfoques dinámicos basados en un plan Enfoques dinámicos de mejor esfuerzo El primer enfoque es aplicable a tareas que son periódicas en el que el planificador intenta encontrar un plan que le permita cumplir todos los requisitos de todas las tareas. La entrada de datos para el análisis son: tiempo periódico de llegada, tiempo de ejecución, plazo periódico de finalización y prioridad relativa de cada tarea. La planificación por plazos es un ejemplo de este tipo de algoritmo. El segundo tipo realiza también un análisis estático, pero que en vez de obtener una planificación obtiene una tabla de tareas con su prioridad. en función de esta tabla el planificador expulsa las tareas como en la mayoría de los sistemas multiprogramados que no son de tiempo real. Un ejemplo de este tipo de algoritmo es el algoritmo de tasa monótona. Con la planificación dinámica basada en un plan se realiza una nueva planificación cada vez que llega una tarea a la cola de ejecución teniendo en cuenta todas las tareas que están en cola, de modo que si puede correr la tarea sin que ninguna de las tareas anteriores pierda su plazo, pasa directamente a ejecutarse. En el enfoque dinámico de mejor esfuerzo, cuando llega una tarea, el sistema le asigna una prioridad basada en las características de la misma sin realizar ningún análisis de factibilidad. El sistema intenta cumplir todos los plazos y aborta la ejecución de cualquier proceso cuyo plazo haya fallado. Es fácilmente implementable. Es el tipo más usado en los sistemas operativos de tiempo real disponibles en la actualidad. 4. Tipos de sistemas operativos Existen muchas clasificaciones para los distintos tipos de sistemas operativos, variando mucho en función del año en que se realizara la clasificación. Hoy en día la frontera entre un sistema operativo para sistema empotrado o para un dispositivo móvil de mano es muy difusa, así como también lo es cuando lo comparamos con los sistemas operativos de tiempo real. Una posible ordenación pudiera ser: Sistemas operativos para supercomputación[7] Suse Linux Server : monolítico AIX Unix : microkernel Red Hat Linux : monolítico UNICOS : monolítico Sistemas operativos para mainframes/servidores/estaciones de trabajo IBM Z/OS Solaris 12

14 Sistemas operativos de propósito general para ordenadores personales Unix-Like : Distribuciones Linux : monolítico Debian Ubuntu Red Hat Fedora Gentoo Suse Minix : micronúcleo Distribuciones BSD : monolítico FreeBSD OpenBSD OpenSolaris : monolítico MAC OS X : Híbrido Microsoft Windows 9x / XP / Vista : Monolítico / Híbrido / Híbrido Sistemas operativos de tiempo real/empotrados ecos Nucleus : microkernel VRTX : microkernel QNX : microkernel VxWorks : microkernel Symbian : microkernel Snapgear : monolítico Palm OS Windows Mobile / CE : híbrido / híbrido Openmoko : monolítico Mobilinux : monolítico Android : monolítico Sistemas operativos web [8, 9] WebOS eyeos Sistemas operativos de red Microsoft Windows NT / 2000 : híbrido / híbrido Novell Netware : monolítico BSD : monolítico 13

15 5. Symbian OS Figura 5: Logo Symbian OS. Symbian es un sistema operativo creado para telefonía móvil por Symbian Ltd. que desciende de los sistemas operativos EPOC desarrollados por Psion. Symbian Ltd nació en 1998 como una asociación de las empresas Nokia, Siemens, Fujitsu, Arima, Samsung, LG, Mitsubishi Electric, Panasonic, Motorola, Lenovo, Sharp, Benq, Sony Ericsson, Sanyo y Sendo con la intención de aprovechar la convergencia entre los teléfonos móviles y las PDAs. Su intención primera era diseñar un sistema operativo que funcionara en un espacio pequeño y además supiera administrar de manera eficiente la energía que por aquel entonces era importante con el surgimiento de las pantallas a color y aplicaciones multimedia. Actualmente Symbian Ltd. es propiedad de Nokia liderando el mercado móvil desde la salida de su versión v7.0, con una cuota actual del 46.6 %, seguido por Apple con un 17.3 % con iphone OS y por Microsoft con un 13.5 % gracias a Windows CE y Windows Mobile. Está previsto que se libere el código durante la primera mitad del año Symbian OS se ecuentra en la versión 9.5, diseñado para los requerimientos específicos de los móviles de última generación 2.5G y 3G. Emplea el kernel EKA2 que corre sobre ARM (y puede ser emulado sobre x86), derivado de EKA1 que ya ofrecía preemptive multitasking y protección de memoria pero no garantías de tiempo real. EKA2 incluye como diferencias más relevantes la garantía de tiempo real, la capacidad de gestionar múltiples hilos dentro como fuera del kernel y llevar el microkernel EKA1 al concepto nanokernel, que deja al kernel con lo absolutamente imprescindible, sobre lo cual se construyen el resto de capas de abstracción que se crean convenientes para la aplicación. Las características más relevantes según Symbian son: microkernel con capacidad de tiempo real y multithreading SMP con desconexión de procesadores para ahorro de energía amplio soporte para periféricos y tipos de memoria internas y externas sistemas de ficheros NOR, NAND, SD y MMC capacidad de funcionamiento bajo distintos estándares de red grandes capacidades en multimedia soporte para grabación de vídeo y audio soporte para cámaras de gran resolución potentes gráficos soporte para GUIs (OpenGL, Open VG) amplia suite de aplicaciones de servicio (manejador de contactos, calendario...) 14

16 Algoritmos criptográficos: DES, 3DES, RC2, Rc4, RC5 y AES Algoritmo symbian Demand Paging que sólo carga las páginas necesarias de los DLL en RAM Soporte para ARMv5, v6 y v7 entornos de desarrollo basados en Eclipse y CodeWarrrior a partir de lenguajes como Java, C++, Visual Basic, Python, Perl y Flash Lite. 15

17 6. Mobilinux Figura 6: Logo mobilinux. Montavista Mobilinux es un sistema operativo basado en Linux que fue diseñado especialmente para telefonía móvil por MontaVista Software y presentado en Abril de Montavista fue fundada en el año 1999 por James Jim Ready, creador de VRTX, el primer sistema operativo considerado de tiempo real que salió en Siguiendo una estrategia basada en el código libre, lo que le ha aportado una vasta comunidad de desarrolladores, Mobilinux copa el 90 % de los móviles con Linux, siendo el sistema operativo empotrado comercial fundamentado en Linux más utilizado. Según MontaVista las características más importantes de este sistema son [10]: Duración de la batería más larga: Con el sistema de gestión de batería Montavista Dynamic Power Management, que implementa un algoritmo de regulación de la frecuencia de CPU y otras funciones [11], es capaz de aumentar el tiempo de batería hasta cinco veces según benchmarks que ofrece MontaVista como referencia. Conectividad Incorporada: Es capaz de conectar a más tipos de software y dispositivos que cualquier otro Linux. Permite soporte out-of-the-box para SDIO, Wi-LAN/Wi-Fi sobre USB, Bluetooth sobre USB, USB On-The-Go, drivers de sonido ALSA (Advanced Linux Sound Architecture), GStreamer. Velocidad en el inicio: Arranca desde cero en menos de 5 segundos y establecer una llamada telefónica en menos de 10 segundos, tres veces más rápido que dispositivos basados en Symbian o en Microsoft y tres veces y medio más rápido que un iphone de Apple. Capaz de retornar de modo sleep en menos de medio segundo. Figura 7: Características mobilinux. 16

18 Pequeño tamaño: Puede ser implementado bajo 2 megabytes y, para un móvil típico con funcionalidad básica, bajo algo menos de 14 megabytes. Seguridad a nivel NSA: Primer sistema operativo que incluye MontaVista microselinux, una versión reducida de SELinux (Security-Enhanced Linux), desarrollado por la NSA (National Security Agency) para proteger la confidencialidad de los mensajes y la integridad de los archivos y el software del sistema. Respuesta en tiempo real: Mobilinux es 100 % Linux nativo lo que le confiere prestaciones de tiempo real. Montavista Linux preemptible kernel technology: Preempt_RT. Version del kernel actual v Soporte para procesadores multinúcleo: Mobilinux soporta tanto procesadores mononúcleo como multinúcleo además de multiprocesamiento síncrono y asíncrono. Reducción de costes BOM: Reducir el BOM (bill of materials) supone grandes beneficios económicos. Mobilinux es capaz de correr sobre una amplia cantidad de arquitecturas y simples, a diferencia de otros sistemas operativos, lo que permite al fabricante mayor flexibilidad para la elección de componentes hardware. Mejor entorno de desarrollo: Está provisto de KGDB (Kernel GNU Debugging) sobre USB, en contraposición a los clásicos debuggers que corren sobre puertos más grandes que por la miniaturización de los móviles no permitían realizar el depurado de forma nativa sobre el propio dispositivo. Además Montavista provee a la comunidad de desarrolladores con herramientas de desarrollo basadas en Eclipse, Platform Development Kit (PDK) y Application Depelopment Kit (ADK). 17

19 Figura 8: Logo Wind River Systems. 7. VxWorks VxWorks es un sistema operativo de tiempo real unix-like propietario diseñado por Wind River Systems para sistemas empotrados. Wind River Systems fue fundada en el año 1981 en Berkeley por Jerry Fiddler y David Wilner. Sus primeros clientes fueron la NFL (Liga Nacional de Fútbol Americano) y Francis Ford Coppola, director de cine para quien desarrollaron un sistema de edición de vídeo. Wind River en la actualidad se dedica a crear software y sistemas operativos que son usados en teléfonos móviles, sistemas de frenado en automoción, routers, cámaras digitales, proyectores, set-top boxes, señales de tráfico, los Mars Rovers y más. Algunos de los sucesos más recientes que han definido la trayectoria de la compañía es la alianza que creó con Red Hat en 2004 para crear un sistema operativo basado en Linux para sistemas empotrados que salió al mercado en el año 2005 y la cooperación con BMW e Intel desde 2008 para el desarrollo de una plataforma open-source para el control de la electrónica dentro de los automóviles. En la actualidad los competidores más importantes con los que cuenta Wind River son Green Hillos Software, creadores de algunos RTOS como VelOSity; QNX, con su sistema operativo homónimo de tiempo real; Mentor Graphics, con el sistema Nucleus; y algunos más como Microsoft, con sus plataformas para dispositivos de mano, y MontaVista con Mobilinux. VxWorks ha sido portado a muchísimas plataformas debido al grán abanico de aplicaciones para el que ha sido diseñado, pudiendo correr sobre casi cualquier arquitectura moderna como la familia x86, MIPS, PowerPC, Freescale ColdFire, Intel i960 o la familia de ARMs. Es de destacar el que Wind River no vende sólo el sistema operativo, sino toda una plataforma de desarrollo incluyendo una gran cantidad de servicios de soporte técnico como la exportación de proyectos a versiones del sistema más recientes. Esta plataforma desde la versión 6.x de VxWorks la denominan simplemente Workbench, a diferencia de la denominación Tornado que empleaban para versiones anteriores. Entre los productos que están basados en VxWorks destacan: El Mars Reconnaisaance Orbiter La Phoenix Mars Lander la sonda Deep Impact Los Mars Rover Spirit y Opportunity El robot ASIMO de Honda El Airbus A400M y el Boeing 787 así como el El sistema idrive de BMW routers Linksys WRT54G wireless procesadores de imagen DIGIC II y DIGIC III de Canon El helicóptero de ataque Apache Longbow 18

20 Características que definen a VxWorks v6.6 [25]: Gran escalabilidad del SO por estar diseñado para amplio rango de aplicaciones. Algunos profiles: Minimal kernel profile: small-footprint (36KB-100KB) dependiente de la familia del procesador y algún componente que el diseñador pueda incluir. El kernel es totalmente estático, no permite asignación dinámica de memoria. Basic kernel profile: permite asignación dinámica de memoria y ocupa unos 150KB aproximadamente. Basic OS profile: añade al kernel servicios para E/S y soporte para posible coprocesador, 250KB. Gran determinismo en la planificación de tiempo real mediante expulsión basada en prioridades o round-robin con rápida respuesta a interrupciones. opción de SMP como add-on, manteniendo las mismas características y prestaciones de RTOS. Multitasking real con exclusión mutua como protección entre procesos. Capacidad de elegir el diseñador cómo las tareas se distribuyen entre los distintos procesadores del sistema. protección de memorias basadas en MMU (memory management unit). Aislamiento entre el kernel y modo usuario. Rápida y flexible comunicación entre procesos incluyendo TIPC (Transparent IPC). compatibilidad hacia atrás con el resto de versiones. VxSim simulator. Herramientas de análisis Run-Time: provee de detallados análisis y visualización gráfica de los distintos eventos del sistema, interacción entre tareas, interrupciones, prestaciones de tiempo real, aparición de cuellos de botella, análisis de memoria, monitor de datos, variables, localización en memoria... Aseguran un rápido time-to-market a través de su plataforma mediante herramientas de desarrollo y manejadores de error. Soporte para multitud de sistemas de ficheros. Extensible con protocolos de red como IPv4/IPv6. 19

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas Unidad I Fundamentos de Sistemas Distribuidos M.C. Juan Carlos Olivares Rojas Temario 1.1. Características de un sistema distribuido 1.2. Objetivos de los sistemas distribuidos 1.3. Ventajas y desventajas

Más detalles

Sistemas Operativos de red (NOS).

Sistemas Operativos de red (NOS). Sistemas Operativos 4 tareas principales: Proporcionar interfaz: de comando o gráfica. Administrar los dispositivos de hardware en la computadora. Administrar y mantener los sistemas de archivo de disco.

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

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

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

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

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

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

INDICE. Prefacio Parte 1: sistemas operativos tradicionales

INDICE. Prefacio Parte 1: sistemas operativos tradicionales INDICE Prefacio Parte 1: sistemas operativos tradicionales 1 1 Introducción 1.1 Qué es un sistema operativo? 1.1.1 El sistema operativo como una maquina extendida 3 1.1.2 El sistema operativo como controlador

Más detalles

Sistemas Operativos Para Dispositivos Móviles

Sistemas Operativos Para Dispositivos Móviles Sistemas Operativos Para Dispositivos Móviles Diseño de Sistemas Operativos Prof. Ing. Angel Caffa Gonzalo Villar - 143125 Ignacio Toledo - 143698 25/06/2008 Sistemas tratados Palm OS Symbian Windows Mobile

Más detalles

TEMA 3: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

TEMA 3: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. TEMA 3: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1. DEFINICIÓN DE SISTEMA OPERATIVO.... 2 2. FUNCIONES DE LOS SISTEMAS OPERATIVOS.... 2 3. CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS.... 4 4. MODOS DE EXPLOTACIÓN

Más detalles

ESTUDIO DE CASOS: LINUX

ESTUDIO DE CASOS: LINUX ESTUDIO DE CASOS: LINUX En este capítulo se estudia el sistema operativo Linux. Se trata de un sistema operativo de libre distribución que proporciona una interfaz POSIX. Actualmente Linux es ampliamente

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. 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

Sistemas Operativos INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

Sistemas Operativos INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS Sistemas Operativos INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS Contenido 1. Repaso: software y tipos de software 2. Sistemas Operativos: conceptos generales 3. Sistemas Operativos: Windows, Unix, Mac

Más detalles

TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL.

TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL. TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL. 8.1. Introducción. 8.2. Problemas de los sistemas operativos convencionales. 8.3. Sistemas operativos para tiempo real 8.3.2. KU-Real-Time Linux (KURT). 8.3.3.

Más detalles

Taxonomía de los sistemas operativos. Programación de Sistemas. Características en Win3.1 (1/3) Características en Win3.1 (3/3)

Taxonomía de los sistemas operativos. Programación de Sistemas. Características en Win3.1 (1/3) Características en Win3.1 (3/3) Programación de Sistemas Taxonomía de los sistemas operativos Mtro. en IA José Rafael Rojano Cáceres tareasrojano@gmail.com http://www.uv.mx/rrojano Referencia [Oney 96] Características en Win3.1 (1/3)

Más detalles

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

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

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

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

SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA SECCION F 3 SEMESTRE YORDAN ALEXANDER MARIN CUBIDES

SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA SECCION F 3 SEMESTRE YORDAN ALEXANDER MARIN CUBIDES REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PORDER POPULAR PARA LA EDUCACION INSTITUTO UNIVERSITARIO POLITECNICO SANTIAGO MARIÑO EXTENSION MARACAIBO SITEMAS OPERATIVOS PROFESORA ELIZABETH ARIAS INFORMATICA

Más detalles

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux

Sistemas operativos: una visión aplicada. Capítulo 11 Estudio de casos: Linux Sistemas operativos: una visión aplicada Capítulo 11 Estudio de casos: Linux Contenido Historia de Linux Características y estructura de Linux Gestión de procesos Gestión de memoria Entrada/salida Sistema

Más detalles

Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información.

Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información. INTRODUCCIÓN AL ORDENADOR Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información. Se compone de dos elementos fundamentales que

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

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: garcia.fernando.j@gmail.com Profesor: Fernando J. Garcia Ingeniero en Sistemas de Información Sistemas Operativos Generaciones

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

Carrera: IFC - 0436 4-2-10. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: IFC - 0436 4-2-10. Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos. 1.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Sistemas Operativos I Licenciatura en Informática IFC - 0436 4-2-10 2.- HISTORIA

Más detalles

5 SISTEMAS OPERATIVOS

5 SISTEMAS OPERATIVOS 5 SISTEMAS OPERATIVOS Características de los nuevos sistemas[editar] Sistemas operativos desarrollados[editar] MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

Más detalles

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 israel@ula.ve 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 LOS SISTEMAS OPERATIVOS 1.-

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

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

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

2. Sistema Operativo Windows

2. Sistema Operativo Windows 2. Sistema Operativo Windows 2.1 Introducción al S.O. Windows NT y Windows 2000 2.2 Subsistema de Archivos 2.3 Subsistema de Procesos 2.4 Gestión de Memoria Dpto. Lenguajes Tema y 2: Sistemas 2. Sistema

Más detalles

Unidad I. Introducción a la programación de Dispositivos Móviles

Unidad I. Introducción a la programación de Dispositivos Móviles Clase:002 1 Unidad I Introducción a la programación de Dispositivos Móviles Tomado de : Programación Multimedia y Dispositivos Móviles 2012 Paredes Velasco, Maximiliano / Santacruz Valencia, Liliana 2

Más detalles

Introducción. Sistemas Operativos. Pedro Chávez Lugo mailto:pchavezl74@gmail.com. 23 de marzo de 2010

Introducción. Sistemas Operativos. Pedro Chávez Lugo mailto:pchavezl74@gmail.com. 23 de marzo de 2010 mailto:pchavezl74@gmail.com 23 de marzo de 2010 1 Introducción Que es un Sistema Operativo? Un sistema operativo es un programa que tiene la finalidad de simplificar el manejo y la utilización de la computadora.

Más detalles

Programación Concurrente

Programación Concurrente Master en Computación Programación Concurrente Bloque II: Programación concurrente en POSIX Tema 1. Introducción al estándar POSIX Tema 3. Gestión de Threads Tema 4. Gestión del Tiempo Tema 5. Planificación

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

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

Introducción a los sistemas operativos

Introducción a los sistemas operativos Facultad de Ingeniería, UNAM Instituto de Investigaciones Económicas, UNAM Índice Objetivo 1 Objetivo 2 3 4 5 Objetivo de la sesión Presentar y definir el concepto de sistemas operativos Hacer un repaso

Más detalles

Sistemas Operativos II Introducción 2

Sistemas Operativos II Introducción 2 1 Introducción Se define la función del sistema operativo como gestor de recursos en contraste con su papel de interfaz con las aplicaciones. Desde este punto de vista cobra relevancia el rendimiento,

Más detalles

República Bolivariana de Venezuela. Ministerio del P.P. para la Educación Universitaria. Instituto Universitario Politécnico Santiago Mariño

República Bolivariana de Venezuela. Ministerio del P.P. para la Educación Universitaria. Instituto Universitario Politécnico Santiago Mariño República Bolivariana de Venezuela. Ministerio del P.P. para la Educación Universitaria. Instituto Universitario Politécnico Santiago Mariño Ampliación Maracaibo, Estado Zulia. Docente: Elizabeth Arias

Más detalles

Cómputo Móvil: Diferentes lenguajes de programación para dispositivos móviles que utilizan la plataforma S60

Cómputo Móvil: Diferentes lenguajes de programación para dispositivos móviles que utilizan la plataforma S60 Cómputo Móvil: Diferentes lenguajes de programación para dispositivos móviles que utilizan la plataforma S60 Laboratorio de Tecnologías de Información Cinvestav-Tamaulipas. Laboratorio de Tecnologías de

Más detalles

Interfaces y Manejadores de Dispositivos

Interfaces y Manejadores de Dispositivos Informática Electrónica Unidad 6 Interfaces y Manejadores de Dispositivos Modalidad y Materiales Dos clases expositivas a cargo del docente responsable (jlsimon@fceia.unr.edu.ar) Una práctica cargo de

Más detalles

Sistemas Operativos Tema 6. Planificación de procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana

Sistemas Operativos Tema 6. Planificación de procesos. 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana Sistemas Operativos Tema 6. Planificación de procesos 1998-2012 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenido Modelo del sistema y criterios de rendimiento Algoritmo FCFS Algoritmo SJF

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

Sistemas operativos: una visión aplicada. Capítulo 12 Estudio de casos: Windows-NT

Sistemas operativos: una visión aplicada. Capítulo 12 Estudio de casos: Windows-NT Sistemas operativos: una visión aplicada Capítulo 12 Estudio de casos: Windows-NT Contenido Introducción Principios de diseño de Windows NT Arquitectura de Windows NT El núcleo de Windows NT Subsistemas

Más detalles

Curso de Android con Java

Curso de Android con Java Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Este es un tiempo único para el mundo de los celulares, en particular de los Smartphones. Este tipo de dispositivos

Más detalles

Tema 2. Arquitecturas de Sistemas Operativos

Tema 2. Arquitecturas de Sistemas Operativos Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Índice 1 Núcleos monoĺıticos 2 3 4 Características de los micronúcleos Exokernels El sistema operativo Mach 5 Núcleos monoĺıticos

Más detalles

Maquinas Virtuales. Prof.: Huerta Molina Samuel. Cuellar Sánchez Jesús. Pinto López Luis Tonatiuh. Hecho por Jesús y Luis. 1

Maquinas Virtuales. Prof.: Huerta Molina Samuel. Cuellar Sánchez Jesús. Pinto López Luis Tonatiuh. Hecho por Jesús y Luis. 1 ESTRUCTURA Y PROGRAMACIÓN DE COMPUTADORAS. Grupo: 08. Prof.: Huerta Molina Samuel. Maquinas Virtuales Cuellar Sánchez Jesús. Pinto López Luis Tonatiuh. Hecho por Jesús y Luis. 1 Conceptos Básicos Sobre

Más detalles

Fundamentos de software. Introducción a la Informática 2010-2011

Fundamentos de software. Introducción a la Informática 2010-2011 Fundamentos de software Introducción a la Informática 2010-2011 Objetivos Describir las 3 categorías principales de software y su relación Explicar la correspondencia entre algoritmos y programas Discutir

Más detalles

Tema 3: Software: Sistemas Operativos y Aplicaciones. Informática Básica

Tema 3: Software: Sistemas Operativos y Aplicaciones. Informática Básica Tema 3: Software: Sistemas Operativos y Aplicaciones Informática Básica Licesio J. Rodríguez-Aragón Departamento de Informática, Estadística y Telemática Universidad Rey Juan Carlos Tema 3: Software 1

Más detalles

:Arquitecturas Paralela basada en clusters.

:Arquitecturas Paralela basada en clusters. Computación de altas prestaciones: Arquitecturas basadas en clusters Sesión n 1 :Arquitecturas Paralela basada en clusters. Jose Luis Bosque 1 Introducción Computación de altas prestaciones: resolver problemas

Más detalles

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

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

Más detalles

TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN

TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN TEMA 1. SISTEMAS OPERATIVOS Y ALMACENAMIENTO DE INFORMACIÓN 1 SISTEMAS OPERATIVOS. INTRODUCCIÓN. Un sistema operativo es un programa (software) que se inicia al encender el ordenador, se encarga de gestionar

Más detalles

TIPOS DE SISTEMAS OPERATIVOS

TIPOS DE SISTEMAS OPERATIVOS TIPOS DE SISTEMAS OPERATIVOS En esta sección se describirán las características que clasifican a los sistemas operativos, básicamente se cubrirán tres clasificaciones: sistemas operativos por su estructura

Más detalles

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente

Visualización y modelado de elementos geográficos en dispositivos móviles. Capítulo 5: Aplicaciones cliente Capítulo 5: Aplicaciones cliente 46 5.1 La aplicación cliente en la Pocket PC La aplicación desarrollada para el cliente en un dispositivo móvil como corresponde a la Pocket PC necesita una capa muy delgada

Más detalles

Visión general y entorno de desarrollo

Visión general y entorno de desarrollo CAPÍTULO 1. Visión general y entorno de desarrollo La telefonía móvil está cambiando la sociedad actual de una forma tan significativa como lo ha hecho Internet. Esta revolución no ha hecho más que empezar,

Más detalles

Unicenter Asset Management versión 4.0

Unicenter Asset Management versión 4.0 D A T A S H E E T Unicenter Asset Management versión 4.0 Unicenter Asset Management es una completa solución para gestionar los activos TI de su entorno empresarial de forma activa. Proporciona funciones

Más detalles

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 Sistemas Embebidos Act 11: Reconocimiento Unidad 3 LECTURA 1

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 Sistemas Embebidos Act 11: Reconocimiento Unidad 3 LECTURA 1 LECTURA 1 Qué diferencias hay entre aplicaciones para PC convencional o para sistemas embebidos? No es lo mismo desarrollar aplicaciones para un PC convencional que para un sistema embebido. El desarrollo

Más detalles

Sistemas Operativos de Red

Sistemas Operativos de Red Sistemas Operativos de Red Como ya se sabe las computadoras están compuestas físicamente por diversos componentes que les permiten interactuar mas fácilmente con sus operarios y hasta comunicarse con otras

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

SISTEMAS OPERATIVOS. Juan Diego Villa Juan Guillermo Salazar

SISTEMAS OPERATIVOS. Juan Diego Villa Juan Guillermo Salazar SISTEMAS OPERATIVOS Juan Diego Villa Juan Guillermo Salazar INTRODUCCION Un Sistema Operativo (SO) es una colección organizada de rutinas o extensiones de software del hardware. Consiste en rutinas de

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

Ramón Manjavacas Ortiz

Ramón Manjavacas Ortiz Curso 2004-2005 Ramón Manjavacas Ortiz Web: http://oreto.inf-cr.uclm.es Email: Ramon.Manjavacas@uclm.es Definiciones.: 1 El papel del administrador del sistema.: 2 Responsabilidades respecto al hardware.:

Más detalles

Administración UNIX: Introducción

Administración UNIX: Introducción Administración UNIX: Introducción Juan Hernando jhernando@fi.upm.es Septiembre 2013 jhernando@fi.upm.es Administración UNIX: Introducción 1/12 Sistema Operativo Pieza de software fundamental de la máquina

Más detalles

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos TEMA 1: SISTEMAS INFORMÁTICOS Parte 3: sistemas operativos Qué vamos a ver? Qué tipos de sistemas operativos existen principalmente Las distintas formas de instalar un sistema operativo En qué consiste

Más detalles

Fundamentos básicos de los Sistemas Operativos

Fundamentos básicos de los Sistemas Operativos Fundamentos básicos de los Sistemas Operativos Índice de contenido Fundamentos básicos de los sistemas operativos Capítulo 1. Consideraciones generales de los sistemas operativos...7 Objetivos...7 Servicios

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

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

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

Máquinas Virtuales en arquitecturas de microkernel

Máquinas Virtuales en arquitecturas de microkernel en arquitecturas de microkernel Amilcar Meneses Viveros & Hugo García Monroy Sección Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN México, D.F. Departamento de Aplicación de Microcomputadoras

Más detalles

Sistema Operativo MAC. Francisco Jesús Delgado Almirón fjdelg@correo.ugr.es Diseño de Sistemas Operativos 5º Ingeniería Informática

Sistema Operativo MAC. Francisco Jesús Delgado Almirón fjdelg@correo.ugr.es Diseño de Sistemas Operativos 5º Ingeniería Informática Sistema Operativo MAC Francisco Jesús Delgado Almirón fjdelg@correo.ugr.es Diseño de Sistemas Operativos 5º Ingeniería Informática Introducción Mac OS (Macintosh Operating Systems) es un sistema operativo

Más detalles

Grado en Sistemas de información Universidad de Alcalá Curso Académico

Grado en Sistemas de información Universidad de Alcalá Curso Académico SISTEMAS OPERATIVOS Grado en Sistemas de información Universidad de Alcalá Curso Académico Primer Curso Segundo Cuatrimestre GUÍA DOCENTE Nombre de la asignatura: SISTEMAS OPERATIVOS Código: 580000 Titulación

Más detalles

Seminario II: Introducción a la Computación GPU

Seminario II: Introducción a la Computación GPU Seminario II: Introducción a la Computación GPU CONTENIDO Introducción Evolución CPUs-Evolución GPUs Evolución sistemas HPC Tecnologías GPGPU Problemática: Programación paralela en clústers heterogéneos

Más detalles

Tema II: Introducción a los Sistemas Operativos

Tema II: Introducción a los Sistemas Operativos Redes de Datos Tema II: Introducción a los Sistemas Operativos Funciones y objetivos de los Sistemas Operativos Características y tipos de Sistemas Operativos Sistemas Operativos Actuales Software Libre

Más detalles

Evaluación de Software de Base

Evaluación de Software de Base Evaluación de Software de Base Sistemas Operativos Es un conjunto de software de sistema que controla como las aplicaciones acceden al hardware (Dispositivos de entrada / salida y administración de memoria)

Más detalles

LINUX. GNU/Linux. Cuatro características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado:

LINUX. GNU/Linux. Cuatro características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado: LINUX GNU/Linux GNU/Linux es un sistema operativo de libre distribución, basado en el kernel Linux creado por Linus Torvalds y los desarrolladores del grupo GNU (Fundación para el software libre encabezada

Más detalles

SISTEMAS OPERATIVOS II

SISTEMAS OPERATIVOS II SISTEMAS OPERATIVOS II INSTITUTO TECNOLÓGICO DE MORELIA Unidad I: Sistemas Operativos en ambientes Distribuidos Departamento de Sistemas y Computación M.C. Benito Sánchez Raya sanchezraya@hotmail.com Disponible

Más detalles

Prof. Ing. Miguel Angel Aguilar Ulloa 2009-2010

Prof. Ing. Miguel Angel Aguilar Ulloa 2009-2010 LECCIÓN 3 ARQUITECTURA DE SOFTWARE DE SISTEMAS EMPOTRADOS Prof. Ing. Miguel Angel Aguilar Ulloa 2009-2010 Copyright 2009. Ing. Miguel Angel Aguilar Ulloa. Última actualización: 15/02/2010. Usted es libre

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

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.

Taller de Programación de Dispositivos Móviles. José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv. Taller de Programación de Dispositivos Móviles José Miguel Rubio L. Oficina 3-20 http://www.inf.ucv.cl/~jrubio jose.rubio.l@ucv.cl Parte 1 1.Programación de dispositivos 2.Limitaciones de los dispositivos

Más detalles

UT04 01 Máquinas virtuales (introducción)

UT04 01 Máquinas virtuales (introducción) UT04 01 Máquinas virtuales (introducción) n) Módulo: Sistemas Informáticos Virtualización Qué es una máquina m virtual? Terminología Características, ventajas e inconvenientes de las MVs Productos: VMWare,

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

SISTEMA OPERATIVO FUNCIONES DEL SISTEMA OPERATIVO

SISTEMA OPERATIVO FUNCIONES DEL SISTEMA OPERATIVO SISTEMA OPERATIVO El sistema operativo es el software destinado a administrar los recursos de un ordenador, actuando intermediario entre el hardware, los programas y los usuarios. Se inicia al encender

Más detalles

ADMINISTRACIÓN DE LOS ACTIVOS DE HARDWARE Y SOFTWARE

ADMINISTRACIÓN DE LOS ACTIVOS DE HARDWARE Y SOFTWARE 5 TEMA ADMINISTRACIÓN DE LOS ACTIVOS DE HARDWARE Y SOFTWARE 5.1 OBJETIVOS Qué capacidad de procesamiento y de almacenamiento necesita nuestra organización para realizar sus transacciones de información

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

Sistema de grabación por celulares

Sistema de grabación por celulares Sistema de grabación por celulares Informe Técnico Interno Miguel Martínez Soler Laboratorio de Investigaciones Sensoriales - LIS Facultad de Medicina Universidad de Buenos Aires Buenos Aires, mayo de

Más detalles

Historia de los sistemas operativos

Historia de los sistemas operativos Historia de los sistemas operativos Gustavo Romero Arquitectura y Tecnología de Computadores 14 de febrero de 2014 Gustavo Romero Historia de los sistemas operativos (1/31) Índice 1 Definición 2 Historia

Más detalles

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI

DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI DIRECCIÓN REGIONAL DE EDUCACIÓN PUNO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO MACUSANI RM. N 102-90-ED de Creación y Funcionamiento, RD Nº 0086-2006-ED de Revalidación Web Site: www.tecnomacusani.edu.pe

Más detalles

Maquinas virtuales Conceptos Básicos

Maquinas virtuales Conceptos Básicos Jimenez Zamudio Eduardo Aplicaciones de redes de computadoras 13 de septiembre de 2014 Maquinas virtuales Conceptos Básicos Concepto Básicamente, es un equipo dentro de un equipo, implementado en el software.

Más detalles

Un largo etcétera de desventajas respecto a otros lenguajes de programación.

Un largo etcétera de desventajas respecto a otros lenguajes de programación. HISTORIA DE VISUAL BASIC El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code) nació en el año 1964 como una herramienta destinado a principiantes, buscando una forma sencilla

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

PRÁCTICA SOFTWARE OPERATIVO Y DE DESARROLLO Parte I. Objetivos

PRÁCTICA SOFTWARE OPERATIVO Y DE DESARROLLO Parte I. Objetivos Objetivos El alumno conocerá algunos tipos de software operativo existentes que le serán útiles en su desempeño académico y profesional. Al final de esta práctica el alumno podrá: 1. Distinguir varias

Más detalles

SISTEMAS OPERATIVOS AVANZADOS

SISTEMAS OPERATIVOS AVANZADOS SISTEMAS OPERATIVOS AVANZADOS TEMA 5 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 5. SISTEMAS OPERATIVOS AVANZADOS 5.1 Características de los sistemas 5.2 Sistemas operativos multiprocesador

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

Al concluir la práctica el alumno conocerá las definiciones, los elementos y funciones de los Sistemas Operativos.

Al concluir la práctica el alumno conocerá las definiciones, los elementos y funciones de los Sistemas Operativos. Sistemas Operativos Práctica 2 Alumno: Grupo: Fecha: Instituto Politécnico Nacional Secretaria Académica Dirección de Educación Superior ESIME Culhuacan Ingeniería en Computación Fundamentos de Programación

Más detalles

S O F T W A R E. Autor: Raquel Giannini

S O F T W A R E. Autor: Raquel Giannini S O F T W A R E Autor: Raquel Giannini Qué es el software? Es un conjunto de instrucciones detalladas que controlan el funcionamiento de un sistema de computación Software Informático Programas que ayudan

Más detalles

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación )

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación ) Clase:003 1 Unidad I Introducción a la programación de Dispositivos Móviles (Continuación ) 2 Entornos de Desarrollo Virtualizaciones. Agenda IDE s. Y Lenguajes de Programación. 3 Virtualización Que es

Más detalles