Fundamentos básicos de los Sistemas Operativos

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

Download "Fundamentos básicos de los Sistemas Operativos"

Transcripción

1 Fundamentos básicos de los Sistemas Operativos

2 Índice de contenido Fundamentos básicos de los sistemas operativos Capítulo 1. Consideraciones generales de los sistemas operativos...7 Objetivos...7 Servicios de un sistema operativo...7 Evolución histórica...7 Tipos de sistemas operativos...8 Llamadas al sistema...9 Estructura del núcleo de un sistema operativo...9 Capítulo 2. Descripción y control de procesos...11 Espacio de direcciones de memoria lógica o virtual de un proceso...11 Tipos de procesos...11 Estados de un proceso...11 Control de los procesos...12 Estructuras de control del sistema operativo...12 Creación de procesos...12 Terminación de procesos...13 Cambio de proceso...13 Ejecución del sistema operativo...13 Procesos multihilo...13 Control de hilos...14 Tipos de hilos...14 Principales configuraciones en función del número y tipo de hilos soportados por un sistema operativo...15 Capítulo 3. Planificación de procesos...17 Niveles de planificación...17 Planificador a corto plazo...17 Planificador a medio plazo...18 Planificador a largo plazo...18 Criterios generales considerados en la planificación de procesos...18 Criterios considerados en la planificación del procesador...18 Expropiabilidad del procesador...19 Algoritmos de planificación...19 Primero en llegar primero en ser servido FCFS...19 Primero el proceso más corto SJF...19 Menor tiempo restante...20 Planificación de turno rotatorio...20 Planificación basada en prioridades...20 Planificación basada en múltiples colas de prioridad...21 Múltiples colas de prioridad y realimentación...21 Planificación por tiempo límite...22 Elección del algoritmo de planificación...22 Planificación de hilos...22 Capítulo 4. Sincronización y comunicación de procesos...23 Exclusión mutua...23 Interacción entre procesos concurrentes...23 ii

3 Condiciones de carrera...23 Secciones críticas...23 Descripción de la exclusión mutua...23 Soluciones software a la exclusión mutua...24 Soluciones a la exclusión mutua con apoyo del hardware...25 Semáforos...25 Implementación...25 Utilidad de los semáforos...27 Sincronización de procesos...27 Problemas potenciales asociados a un mal uso de los semáforos...27 Problemas clásicos de sincronización de procesos concurrentes...28 El problema de los productores y los consumidores...28 El problema de los lectores y los escritores...28 Monitores...29 Definición...29 Estructura y declaración de un monitor...29 Uso de los monitores...30 Paso de mensajes...30 Definición...30 Especificación de la fuente y el destino del mensaje...31 Esquemas de sincronización...31 Formato y almacenamiento de los mensajes...32 Uso del paso de mensajes...32 Capítulo 5. Interbloqueo...33 Introducción...33 Definición y condiciones del interbloqueo...33 Grafos de asignación de recursos...33 Prevención de interbloqueos...34 Eliminación de la condición de exclusión mutua...34 Eliminación de la condición de retención y espera...34 Eliminación de la no existencia de expropiación...34 Eliminación de la espera circular...34 Evitación de interbloqeos...34 Estado de la asignación de recursos: estados seguros y estados inseguros...35 Denegación de asignación de recursos: el algoritmo del banquero...35 Denegación de la iniciación de un proceso...35 Detección y recuperación de interbloqueos...36 Algoritmos de detección de interbloqueos...36 Frecuencia de invocación del algoritmo de detección de interbloqueos...36 Técnicas de recuperación del interbloqueo...36 Ventajas e inconvenientes...36 Otras estrategias de tratamiento de interbloqueos...37 Capítulo 6. Administración de memoria...38 Espacio de núcleo y espacio de usuario...38 Área de intercambio en memoria secundaria...38 Asignación de memoria en sistemas monoprogramados...39 Particionamiento fijo...40 Particiones de igual tamaño...40 Particiones de distinto tamaño...40 Traducción de direcciones y protección...40 iii

4 Ventajas e inconvenientes...41 Particionamiento dinámico...41 Asignación de espacio de memoria principal...41 Traducción de direcciones y protección...42 Ventajas e inconvenientes...42 Paginación simple...42 Traducción de direcciones...43 Tablas de páginas paginadas...44 Tablas de páginas invertidas...45 Protección...46 Compartición de páginas...46 Ventajas e inconvenientes...46 Segmentación simple...46 Traducción de direcciones...47 Protección...47 Compartición de segmentos...47 Ventajas e inconvenientes...47 Segmentación con paginación simple...48 Capítulo 7. Memoria virtual...49 Paginación por demanda...49 Reinicio de instrucciones...50 Localización de las páginas en memoria secundaria...50 Bloqueo de marcos de página...50 Tratamiento de un fallo de página...50 Conjunto de trabajo de un proceso...51 Reemplazamiento de páginas...51 Algoritmo de reemplazamiento óptimo...52 Algortimo de reemplazamiento LRU...52 Algoritmo de reemplazamiento mediente envejecimiento...52 Algoritmo de reemplazamiento FIFO...52 Algoritmo de reemplazamiento de la segunda oportunidad (algoritmo del reloj)...53 Algoritmo de reemplazamiento del reloj considerando el conjunto de trabajo.53 Conclusiones sobre los algoritmos de reemplazamiento...54 Asignación de memoria principal...54 Control de carga...55 Copia en memoria secundaria de páginas modificadas...55 Consideraciones adicionales sobre la paginación por demanda...55 Tamaño de página...55 Paginación por adelantado...56 Reserva de marcos libres...56 Capítulo 8. Gestión de la Entrada/Salida...57 Peticiones de E/S...57 Capas del núcleo de un sistema operativo encargadas de la E/S...57 Subsistema de E/S...57 Drivers de dispositivos de E/S...58 Manejador de las interrupciones...58 Buffering...58 Estrategias...59 Caché de buffers de bloques de disco...59 iv

5 Spooling...59 Detalles de la gestión de E/S de algunos dispositivos...59 Relojes...59 Discos duros...60 Dispositivos de E/S adaptados al usuario...62 Capítulo 9. Gestión de archivos...64 Archivos...64 Tipos de archivos...64 Atributos de un archivo...64 Estructura interna de un archivo...64 Métodos de acceso a un archivo...65 Operaciones sobre archivos...65 Directorios...66 Estructura de los directorios...66 Operaciones sobre directorios...67 Sistemas de archivos...67 Estructura de un sistema de archivos...67 Montaje de un sistema de archivos...68 Asignación de espacio...68 Gestión del espacio libre...69 Implementación de directorios...70 Consistencia...70 Recuperación de archivos...71 Copias de seguridad...71 Instantáneas...71 Eficiencia...72 v

6

7 Capítulo 1. Consideraciones generales de los sistemas operativos Un sistema operativo es una capa de software cuya función es administrar todos los dispositivos hardware del computador y suministrar para usuarios y programas una interfaz apropiada con el hardware. Objetivos Gestionar eficientemente los dispositivos hardware Tiempo de procesador a los programas de usuario: planificador. Ocupación/gestión de memoria principal Gestión de memoria secundaria: área de intercambio (zona donde se almacenan los programas que hay que ejecutar pero que aún no disponen de espacio en memoria principal) y sistema de archivos y resto de dispositivos E/S. Ofrecer una interfaz cómoda a los usuarios. El SO proporciona una máquina virtual que envuelve al hardware facilitando su programación. Capas: Hardware Núcleo (kernel), proporciona un conjunto de instrucciones como llamadas al sistema. Utilidades del SO (intérpretes de comandos, sistemas de ventanas, compiladores, etc). Programas de aplicación. Servicios de un sistema operativo Ejecución de programas. Acceso a los dispositivos de E/S. Manipulación del sistema de archivos Comunicación y sincronización. Detección y respuesta a errores Protección y seguridad. Contabilidad. Evolución histórica Procesamiento serie Procesamiento por lotes (batch) Multiprogramación (multitarea). Aprovechamiento de operaciones de E/S de un proceso para ejecutar otro. Multiprogramación por tiempo compartido. Debe gestionar los recursos asignándolos de manera equitativa. Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 7

8 Tipos de sistemas operativos En función del número de usuarios simultáneos Monousuario y multiusuario. Según el número de programas cargados en memoria principal: Monoprogramado y multiprogramado. Se denomina grado de multiprogramación el número de programas cargados en memoria principal. Para implementar multiprogramación se precisan algoritmos de planificación, mecanismos de sincronización y de asignación y protección de memoria principal y secundaria. El hardware también debe soportar protección de la memoria, E/S por interrupciones y DMA. Un SO puede ser multiacceso (acceso desde dos o más terminales) pero no necesariamente multitarea (sistema de venta de billetes, por ejemplo). Un SO multiprocesamiento coordina la actividad de varios procesadores. Son multiprogramados por definición. En función de los requisitos temporales de los programas a ejecutar: Sistemas por lotes o batch, planificación del procesador simple; suele utilizarse E/S por programa; gestión sencilla de la memoria principal: bloque del SO y bloque de programas Sistemas de tiempo compartido o sistemas interactivos. Sistemas multiusuario con multiprogramación. El planificador debe asegurar el reparto equitativo del tiempo de procesador así como poseer mecanismos de protección de MP, MS y acceso concurrente a archivos. Sistemas de tiempo real. Pueden ser en tiempo real estricto o suave. Las primeras requieren un tiempo límite preestablecido de respuesta. Utilizan un sistema de planificación de tipo expropiativo, en el que el proceso con más prioridad toma el control. la gestión de la memoria es menos exigente. (VxWorks, QNX) Sistemas híbridos. Soportan tanto trabajos por lotes como aplicaciones interactivas o aplicaciones suaves en tiempo real. Prioridad de ejecución mínima para trabajos por lotes, media para interactivos y máxima para aplicaciones en tiempo real. (UNIX, LINUX) En función de la finalidad del computador. Sistemas para macrocomputadores. Sistemas operativos para servidores de red. Sistemas operativos para computadoras personales. Sistemas para computadoras de mano. Sistemas integrados. Otros tipos importantes de SO Sistemas paralelos o multiprocesador. Comparten bus, reloj, memoria, E/S. Se les suele denominar como sistemas fuertemente acoplados. Los SO paralelos más comunes utilizan multiprocesamiento simétrico. Cada procesador ejecuta su propia copia del SO, que se comunican entre ellas cuando es necesario. Sistemas distribuidos. Se ejecutan en sistemas informáticos distribuidos implementados mediante redes. Se les suele denominar sistemas débilmente acoplados. El usuario no sabe si el proceso se ejecuta en su propio procesador o en el de otra máquina de la red. 8 Capítulo 1. Consideraciones generales de los sistemas operativos

9 Sistemas operativos de red. Posibilita el acceso a contenido y recursos entre computadoras mediante el paso de mensajes. Llamadas al sistema La mayoría de procesadores disponen de dos modos de operación: modo núcleo y modo usuario. Los programas de usuario deben hacer uso de llamadas al sistema para poder utilizar los recursos hardware a través del SO. Mediante el uso de librerías de llamadas al sistema, de forma similar a como se invoca cualquier otra función. De forma directa, mediante programas en lenguaje ensamblador. La llamada al sistema provoca una trampa (tramp), haciendo que el procesador conmute a modo núcleo. Para poder acceder a los parámetros de la llamada al sistema se utiliza: Cargar los parámetros en registros. Método sencillo, puede que no se tengan registros suficientes. Almacenamiento en un bloque o tabla de memoria. Sólo es necesario conocer la dirección de comienzo del bloque. Almacenamiento en una pila. Las llamadas al sistema, atendiendo a su funcionalidad, se pueden agrupar en: Control de programas en ejecución (procesos). Administración de archivos y directorios. Comunicaciones. Gestión de dispositivos. Gestión de información del sistema. Estructura del núcleo de un sistema operativo La forma más eficiente de diseñar un SO consiste en descomponerlo en varios componentes o subsistemas. La mayoría disponen de: Subsistema de control de procesos. Subsistema de control de la memoria principal. Subsistema de gestión de archivos. Subsistema de E/S. El núcleo de un sistema operativo se puede considerar como un conjunto lógico de módulos software. El nucleo puede tener Estructura monolítica o simple. Todos los subsistemas y las estructuras de datos del núcleo se ubican en un mismo módulo lógico. El software del núcleo está escrito como un conjunto de procedimientos. Un procedimiento es visible por todos los demás. (MSDOS, UNIX tradicional). Estructura en módulos. Cada módulo con una interfaz bien definida. De fácil mantenimiento con una ligera merma en el rendimiento. Estructura en capas o niveles. El núcleo se organiza en capas de software en la que las capas pueden invocar a las capas inferiores, pero nunca a las superiores. Un esquema típico en seis Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 9

10 capas: capa 0, controladores hardware; capa 1, control, sincronización y comunicación de procesos; capa 2, gestión de memoria; capa 3, comunicaciones entre procesos y el operador de consola; capa 4, gestión de E/S; capa 5, programas de usuario. Estructura extensible. Puede considerarse como un caso particular de la estructura modular. Posee un módulo principal, el núcleo extensible o micronúcleo, y varios módulos como extensiones del núcleo. El micronúcleo realiza los servicios absolutamente esenciales, los que dependen estrechamente de la arquitectura de la máquina como la gestión de interrupciones, comunicación entre procesos, gestión de memoria a bajo nivel y gestión de E/S. El resto de las funciones se realizan en modulos de extensión del núcleo. Los procesos de usuarios se comunican con las extensiones del núcleo utilizando un mecanismo cliente (applicación de usuario) servidor (extensión del núcleo). La comunicación cliente/servidor se realiza mediante el paso de mensajes. Las ventajas de un núcleo extensible son: Manejabilidad. Cada extensión del núcleo se encarga de un servicio del sistema. Extensibilidad. Añadir nuevas características añadiendo un nuevo módulo. Fiabilidad. Las extensiones se ejecutan como procesos de usuario. Ante el fallo de un servicio, el resto puede seguir disponible. Soporte simultáneo de múltiples sistemas operativos. Sobre un mismo micronúcleo pueden implementarse diferentes extensiones. Portabilidad. Solo es necesario reescribir el micronúcleo al ser la única parte dependiente del hardware. Su principal desventaja es un menor rendimiento debido al paso de mensajes (creación, envío, procesamiento). 10 Capítulo 1. Consideraciones generales de los sistemas operativos

11 Capítulo 2. Descripción y control de procesos Un proceso es un programa en ejecución. También puede definirse como la entidad que se puede asignar y ejecutar en un procesador: es la unidad básica de trabajo de un sistema informático. Si un programa se ejecuta más de una vez, cada copia tendrá su propio proceso asignado. Cuando un proceso puede interactuar con los usuarios se dice que está en primer plano (foreground), en caso contrario un proceso se encuentra en segundo plano (background). Espacio de direcciones de memoria lógica o virtual de un proceso. El espacio de direcciones de memoria lógica o virtual de un proceso (imagen del proceso o espacio de direcciones de usuario) se divide en varias regiones: la región de código (o región de texto), la región de datos y la región de pila. La región de datos puede dividirse en región de datos inicializados, de tamaño fijo, y región de datos no inicializados, de tamaño variable. La región de pila se crea automáticamente y su tamaño se ajusta dinámicamente en tiempo de ejecución. El registro puntero de pila almacena la próxima entrada libre o la última utilizada, dependiendo de la arquitectura del procesador. Puesto que la región de pila y la de datos no inicializados puede variar durante la ejecución de un proceso se deben reservar regiones libres adyacentes. A parte de las regiones del espacio de direcciones de memoria lógica a las que se accede en modo usuario, el SO ubica estructuras de datos relativas al proceso en curso que le permiten controlar su ejecución y que son accesibles en modo supervisor o núcleo. Tipos de procesos Procesos de usuario. Pueden ejecutarse en primer o segundo plano. Se ejecutan en modo usuario. Procesos demonio. Procesos no asociados a ningún usuario. Realizan tareas relacionadas periódicas de administración del sistema. Se ejecutan en modo usuario generalmente en segundo plano. Procesos del sistema operativo. Realizan tareas de administración (como el intercambio de procesos entre memoria principal y secundaria) del sistema en modo supervisor y, generalmente, en segundo plano. Estados de un proceso Aunque el número y el nombre depende de cada sistema operativo, algunos de los estados más habituales son: Nuevo. Preparado. Ejecutándose. Bloqueado. Terminado. Además, nos podemos encontrar con otros dos estados disponibles en algunos sistemas operativos: Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 11

12 Preparado en memoria secundaria. Bloqueado en memoria secundaria. Control de los procesos Estructuras de control del sistema operativo El sistema operativo debe mantener información sobre el estado de cada proceso y cada recurso. Esta información se guarda en tablas en memoria Tabla de procesos. Cada entrada en la tabla almacena un PCB (Process Control Block) con diversa información: Identificador del proceso. Identificador del usuario. Estado del proceso. Contenido de algunos registros del procesador. Información de planificación del proceso. Información de localización de la memoria principal asociada al proceso. Información de tipo estadístico. Información de estado de E/S. Información sobre el evento por el que el proceso ha entrado en modo bloqueado. Tablas de memoria, con información sobre espacio libre y asignado. Tablas de E/S, con información sobre disponibilidad de dispositivos y quien lo usa. Tablas de archivos, con información sobre archivos abiertos por los procesos. Además, podemos encontrar las pilas de control del sistema o pilas del sistema operativo, así como pilas de interrupciones, colas de procesos preparados y bloqueados, etc. Creación de procesos Comprobar si el proceso puede ser creado. Asignar una nueva entrada de la tabla de procesos para el nuevo proceso. Reservar espacio en memoria para el proceso. Inicializar el bloque de control del proceso. Establecer los enlaces adecuados. Las causas que originan la creación de un proceso pueden ser: El arranque del sistema operativo. Interacción del usuario mediante intérprete de comandos o entorno de ventanas. Inicio de un trabajo por lotes. Un proceso en ejecución invoca una llamada al sistema para crear otro proceso. UNIX y Linux, mediante llamada a fork. Crea una copia exacta del proceso padre. Cuando el hijo es planificado para ejecutarse, invoca a execve, y lanza el otro programa. 12 Capítulo 2. Descripción y control de procesos

13 En Windows, createprocess utiliza otro espacio de direcciones distinto para el proceso hijo. Terminación de procesos Cuando se produce una excepción en su ejecución. Cuando finaliza la tarea para la que ha sido creado En UNIX, llamada al sistema exit. En Windows llamada a ExitProcess. Cuando un proceso privilegiado detenga otro. En UNIX, llamada al sistema kill. En Windows, llamada al sistema TerminateProcess. Una vez finalizado el proceso, hay que liberar los recursos que utilizaba. El PCB no se elimina inmediatamente, sino después de haber auditado los datos. Cambio de proceso Un proceso A se interrumpe para iniciar o continuar la ejecución de otro proceso B: cambio de contexto o cambio de proceso. Causas más frecuentes para un cambio de contexto son: El proceso en ejecución pasa al estado bloqueado. La terminación voluntaria o forzada del proceso en ejecución. El sistema operativo termina de atender una interrupción y existe un proceso B en estado preparado con mayor prioridad que el proceso actual. El proceso en ejecución ha excedido el tiempo máximo de ejecución ininterrumpida. Para proceder a un cambio de contexto, el sistema operativo sigue los pasos siguientes: Salva el contexto del proceso A en su PCB. Se ejecuta el algoritmo de planificación para seleccionar el proceso B. Cargar el PCB del proceso B seleccionado. El tiempo de conmutación es el tiempo que se tarda en completar todo el proceso debido a las limitaciones físicas de los componentes. Ejecución del sistema operativo En función de la tarea o servicio realizado, el tiempo utilizado por el sistema operativo puede ser contabilizado a un determinado proceso. El tiempo de uso de las tareas y servicios propios de la administración del sistema no se contabilizan a ningún proceso de usuario; este tiempo no dedicado a tareas de usuario se denomina sobrecarga del sistema (overhead). El tiempo de determinadas tareas del sistema operativo, como la atención a las interrupciones hardware, no es sencillo asignarlas a un proceso en particular dado su carácter asíncrono. UNIX, por ejemplo, se las anota al proceso ejecutándose en el momento de producirse la interrupción, aunque no sea este el causante. Procesos multihilo Un proceso está caracterizado por dos elementos que pueden ser tratados de forma independiente: Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 13

14 Conjunto de recursos asignados: espacio de direcciones, archivos abiertos, etc. Traza de ejecución, hilo de control, hilo o hebra (thread). Hace referencia a las instrucciones que ejecuta el proceso durante su tiempo de vida. Los sistemas operativos modernos introducen el modelo de proceso multihilo: un proceso puede estar formado por múltiples hilos. Estos sistemas operativos utilizan los procesos como unidad de asignación del procesador que sigue una determinada traza de ejecución y tiene asignado una pila de usuario, espacio de almacenamiento y un bloque de control del hilo. Este bloque de control contiene el identificador numérico del hilo, el estado del hilo, su prioridad de ejecución y los valores de los registros. A un hilo se le llama a veces proceso ligero (lightweigth process). Cada hilo perteneciente a un proceso comparte con los restantes hilos del mismo proceso los mismos recursos bloque de control del proceso, etc. Ventajas de procesos multihilos respecto de múltiples procesos: Aumento del rendimiento del sistema. Ahorro de recursos. Comunicación más eficiente. Mayor aprovechamiento de las arquitecturas multiprocesador. Simplificación de la estructura de las aplicaciones. El principal inconveniente es la necesidad de sincronización de acceso a las estructuras de datos que comparten los hilos. Control de hilos Como sucede con los procesos, un hilo puede encontrarse durante su tiempo de vida en diferentes estados. En un determinado instante, un proceso se encontrará en un estado determinado que no tiene por que coincidir con el estado de sus hilos. Obviamente, el estado del proceso limita el estado en el que pueden encontrarse sus hilos: si un proceso se encuentra en estado preparado ninguno de sus hilos puede estar ejecutándose. La planificación de la cola de hilos se realiza a nivel de hilos. Cuando un hilo termina su ejecución simplemente desaparece, ya no es planificable. El poder realizar un cambio de hilo dentro de un mismo proceso cuando un hilo cambia al estado bloqueado depende del tipo de implementación de hilos que soporte el sistema operativo. En el momento que un hilo finaliza su ejecución sus recursos asignados son liberados. Un proceso no puede entrar en estado terminado hasta que no hayan finalizado todos sus hilos. Tipos de hilos Hilos a nivel de usuario. O, simplemente, hilos de usuario, son implementados por una biblioteca de hilos que se ejecuta a nivel de usuario. Inicialmente, una aplicación comienza con un solo hilo. Este proceso puede iniciar otro hilo invocando a la función apropiada de la biblioteca de hilos del SO. Cada proceso requiere una tabla de hilos, en la que cada entrada, denominada bloque de control del hilo, mantiene la información asociada al hilo (contador del programa, registro de pila, etc.) Esta tabla es similar a la tabla de procesos. La realización del cambio de hilo dentro de un mismo proceso se realiza sin necesidad de realizar un cambio de modo y un cambio de contexto. Toda esta actividad tiene lugar en modo usuario dentro del proceso en ejecución, sin intervención del sistema operativo. Esto proporciona las siguientes ventajas: 14 Capítulo 2. Descripción y control de procesos

15 Portabilidad. Al no requerir la intervención del SO, sólo de la biblioteca de hilos que puede estar disponible para múltiples SO. Mejora del rendimiento del sistema. Al realizarse toda la gestión de hilos en modo usuario. Planificación independiente. Cada proceso puede emplear un algoritmo de planificación distinto y estos a su vez distintos del que emplee el sistema operativo. La principal desventaja se da en aquellos sistemas operativos que solo soportan un hilo a nivel de núcleo: cuando un hilo de un proceso entra en estado bloqueado, todo el proceso se bloquea: el sistema operativo desconoce la existencia de hilos de usuario. Otra desventaja es que cuando un hilo se está ejecutando no se puede planificar otro hilo de usuario del mismo proceso a no ser que el primero ceda voluntariamente el uso del procesador. Hilos a nivel de núcleo Los hilos del núcleo son implementados y gestionados directamente por el núcleo del SO. No precisan biblioteca de hilos. El sistema mantiene una única tabla de hilos. Si uno se bloquea se puede planificar otro del mismo o distinto proceso. En sistemas multiprocesador puede ejecutarse un hilo en cada procesador. Su gestión contribuye a la sobrecarga del sistema. Algunos SO, por ello, limitan el número de hilos del núcleo. Para ahorrar en tiempo, cuando un hilo se destruye se marca como no planificable pero su estructura de datos no se elimina, se reutiliza para otros hilos. Principales configuraciones en función del número y tipo de hilos soportados por un sistema operativo Dependiendo del número y tipo de hilos soportados por un sistema operativo, se pueden distinguir las siguientes configuraciones: Múltiples hilos de usuario sin soporte de hilos del núcelo. El sistema planifica procesos, no hilos. La gestión de hilos la realiza una biblioteca de hilos. Cuando un hilo realiza una llamada al sistema, comienza a ejecutarse el SO. Si la llamada requiere el bloqueo del hilo, se bloquea el proceso completo. No pueden ejecutarse varios hilos al mismo tiempo, ya que sólo uno puede acceder al SO. Un hilo del núcleo por cada hilo de usuario. No se precisa biblioteca de hilos, solo acceder a las utilidades de hilos del núcleo. Si un hilo de usuario se bloquea se puede planificar otro del mismo proceso. La planificación la realiza el SO. Debido a la sobrecarga, se limita el número de hilos que es posible crear. Menor número de hilos del núcleo que hilos de usuario. Se requiere biblioteca de hilos para gestión de hilos de usuario. Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 15

16 Los hilos de usuario se asocian a un número <= de hilos del núcleo. Es el programador de la aplicación quien se encarga de establecer el número de hilos del núcleo que necesita. Auna las ventajas de las dos configuraciones anteriores, si está bien implementada. 16 Capítulo 2. Descripción y control de procesos

17 Capítulo 3. Planificación de procesos En una máquina con multiprogramación pueden ejecutarse concurrentemente varios procesos. Si la máquina dispone de un único procesador, en un determinado instante de tiempo sólo un proceso o hilo puede usarlo. El sistema operativo debe decidir qué proceso es el que va a ser ejecutado. Niveles de planificación Colas de procesos para planificar los recursos del procesador: Cola de procesos en estado preparado. Cola de procesos en estado preparado en memoria secundaria. Cola de procesos en estado bloqueado. Cola de procesos en estado bloqueado en memoria secundaria. Cola de trabajos por lote o cola de entrada. Un proceso puede pasar por varias colas. La actividad de determinar cuándo se entra en una cola o se pasa a otra se denomina planificación de procesos y al componente que la realiza planificador. Se distinguen tres niveles de planificación: Planificación a corto plazo, que decide qué proceso será ejecutado a continuación. Planificación a medio plazo, de determina qué proceso en cola de memoria principal pasa a cola de memoria secundaria y viceversa. Planificación a largo plazo, determina qué trabajo por lotes pasa a ser ejecutado mediante la creación de un proceso. Además, se puede distinguir un cuarto nivel de planificación, la planificación de E/S. Cada nivel de planificación es implementado por su propio planificador. Planificador a corto plazo Desde el punto de vista lógico, todo planificador se puede dividir en tres componentes o elementos: Encolador (enqueuer), encargado de incluir al proceso en la cola de procesos preparados y de asignarle una prioridad. Conmutador de contexto (context switcher), encargado de guardar el contexto del proceso a ser desalojado y cargar el contexto del proceso a ser ejecutado. Distribuidor o despachador (dispatcher), encargado de seleccionar un proceso de la cola de procesos preparados y cederle el control del procesador. El tiempo que transcurre entre la detención de un proceso y la ejecución de otro se llama tiempo de despacho. Algunos SO no permiten la expropiación de un proceso que se ejecuta en modo núcleo que está realizando una llamada al sistema. Estos sistemas se llaman de nucleo no expropiable. Algunas circunstancias que hacen necesaria una llamada al planificador a corto plazo son: Cuando se ha terminado de crear un nuevo proceso hijo. Cuando un proceso entra en estado bloqueado en espera de que se producza algún evento. Cuando se termina de atender una interrupción. Cuando un proceso finaliza. Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 17

18 Planificador a medio plazo También conocido como planificador de memoria o intercambiador. Decide qué procesos de memoria principal se pasa a memoria secundaria y viceversa. Se ejecuta con menor frecuencia que el planificador a corto plazo. Puede ser invocado cuando queda espacio libre en la memoria principal o porque el número de procesos en el estado preparado cae por debajo de algún límite prefijado. Planificador a largo plazo También se denomina planificador de trabajos o planificador de admisión. Decide qué trabajo de los pendientes en la cola trabajos por lotes será admitido para ser ejecutado. La admisión de un trabajo consiste en la creación de un proceso para el procesamiento de dicho trabajo. El planificador a largo plazo permite regular el nivel de multiprogramación del sistema, invocándolo cuando se termina un trabajo o tras cierto tiempo de inactividad del procesador. A tener en cuenta es que la ejecución de un proceso comienza con una ráfaga de CPU, esto es, utilizando el procesador de forma continuada durante un cierto periodo de tiempo. Así nos podemos encontrar con procesos limitados por CPU, en los que éste se encuentra la mayor parte del tiempo utilizando la CPU y poco los recursos de E/S y los procesos limitados por E/S. El planificador debe intentar seleccionar los trabajos de forma que exista un equilibrio entre procesos de un tipo y de otro. Algunos sistemas operativos como UNIX no disponen de planificador a largo plazo. Criterios generales considerados en la planificación de procesos Equidad. Requisistos similares tiempo de uso de los recursos similares. Previsibilidad. Características similares tiempo de ejecución similares. Uso equilibrado de los recursos. Mantener todos los recursos ocupados / optimizados. Proporcionalidad. Peticiones sencillas mejor tiempo de respuesta que peticiones complejas. Criterios considerados en la planificación del procesador El planificador del procesador elige el próximo proceso que pasará a ser ejecutado en el procesador en base a la optimización simultánea de alguno o alguno de los siguientes criterios: Utilización del procesador o eficacia. Porcentaje de tiempo del procesador activo. Productividad (throghput) o rendimiento. Número de trabajos completados por u.t. (1 hora) Tiempo de entrega (turnaround time), también denominado tiempo de retorno o tiempo de estancia. Tiempo desde que se lanza un proceso hasta que finaliza. Tiempo de espera. Tiempo total de estancia en las colas de espera. Tiempo de respuesta (response time). Tiempo desde que se lanza una orden hasta que se obtiene el resultado. Plazo de finalización (deadline). Tiempo máximo que un proceso tiene para ser completado en un sistema de tiempo real. La elección de los criterios a optimizar depende del tipo de sistema operativo. En un sistema por lotes debe intentar maximizar la utilización del procesador y la productividad, uno de tiempo compartido el tiempo de respuesta y uno de tiempo real el tiempo de entrega. 18 Capítulo 3. Planificación de procesos

19 Normalmente, el planificador optimiza los valores medios de los criterios que considera. Es más importante minimizar la varianza en el tiempo de respuesta que minimizar el tiempo de respuesta promedio. Cuando se intentan optimizar varios criterios simultáneamente, se debe tener en cuenta que pueden ser incompatibles entre sí. Expropiabilidad del procesador Planificación del procesador no expropiativa (non preemptive) si permite que un proceso pueda estar ejecutándose en el procesador ininterrumpidamente. Utilizada en sistemas por lotes. También se utiliza en sistemas en tiempo real, en el que los procesos no utilizan el procesador por largos períodos de tiempo. Planificación del procesador expropiativa (preemptive) si el proceso que se está ejecutando puede ser interrumpido en cualquier momento. Mayor sobrecarga en el sistema Proporciona mejor servicio a la población de procesos Requiere que el núcleo disponga de mecanismos de sincronización Utilizada en sistemas de tiempo compartido o interactivos. El tiempo máximo de ejecución ininterrumpida se denomina quantum (cuanto). Algoritmos de planificación Primero en llegar primero en ser servido FCFS Abreviadamente FCFS (First Come First Served). Cede el uso del procesador al primer proceso que lo solicite. No expropiativo. Requiere de una cola FIFO de procesos preparados. Tiempo de espera promedio bastante grande. Mejor para procesos largos. Favorece a los procesos limitados por el procesador frente a los limitados por E/S. Se desaconseja su uso como principal algoritmo de planificación. Útil en combinación con otros. Primero el proceso más corto SJF Abreviadamente SJF, Shortest Job First o SPN Shortest Job Next. Se ejecuta primero el proceso con tiempo de procesamiento más corto. No expropiativo. Si dos o más procesos tienen el mismo tiempo de procesamiento se aplica FCFS. Minimiza el tiempo de espera promedio de un conjunto de procesos. Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 19

20 Se suele utilizar en SO por lotes, tanto en el planificador a largo como a corto plazo. Se precisa conocer por adelantado el tiempo de procesamiento de cada proceso. En SO de tiempo compartido, se puede estimar la duración de las siguientes ráfagas utilizando la duración de las anteriores. Se suele utilizar un preditor promedio exponencial. M n+ 1 =α t n + (1 α) M n. donde M n+1 es el promedio estimado para la próxima ráfaga; t n es la duración de la última ráfaga, M n el promedio estimado para la última ráfaga y α el peso que se le asigna entre 0 y 1. Al tener que calcular estimaciones, la sobrecarga se hace mayor cuanto mayor es la precisión del cálculo. Los procesos largos pueden sufrir inanición. Menor tiempo restante Abreviadamente SRT, Shortest Remaining Time next, versión expropiativa del SFJ. Algoritmo expropiativo. Siempre selecciona al proceso con el menor tiempo restante de ejecución. Suele utilizarse en sistemas de procesos por lotes. Requiere una estimación de los tiempos restantes de ejecución de la población de procesos. Puede producir inanición a los procesos largos. A igualdad de tiempo de servicio restante se aplica FCFS. Planificación de turno rotatorio Round Robin o cíclico, similar al FCFS pero expropiatorio. Asigna el uso ininterrumpido del procesador durante un periodo de tiempo determinado llamado cuanto, quantum o time slice. Al finalizar el cuanto, se interrumpe el proceso actual y se ejecuta el siguiente en la cola. El proceso interrumpido pasa al final de la cola. Si un proceso finaliza antes que su cuanto, se planifica el siguiente proceso preparado sin esperar a la finalización del cuanto. Si finaliza el cuanto de un proceso y no existen procesos en cola, vuelve a planificarse el mismo proceso. Elemento clave para el rendimiento del algoritmo es la elección del tamaño del cuanto. Se recomienda un cuanto ligeramente mayor que el tiempo promedio de duración de una ráfaga de procesador. Algoritmo diseñado para los sistemas de uso compartido. El tiempo de respuesta promedio, el tiempo de retorno promedio y el tiempo de espera promedio pueden ser largos. Planificación basada en prioridades Asigna a cada proceso una determinada prioridad en el momento de su creación. Siempre se planifica para ejecución el proceso de mayor prioridad. 20 Capítulo 3. Planificación de procesos

21 La asignación de prioridades a los procesos puede realizarse en función de factores internos del sistema, como requerimientos de memoria, duración promedio de la ráfaga.. o a factores externos, como la importancia del usuario. Si la prioridad asignada no se modifica durante el tiempo de vida del proceso, se denomina asignación de prioridades estática; dinámica si se modifica. Puede ser expropiativo y no expropiativo. Cuando es de tipo expropiativo se dice que está guiado por eventos (event-driven). Un proceso con baja prioridad puede sufrir inanición. Técnicas para evitar la inanición: Envejecimiento de procesos (aging), aumentando la prioridad conforme aumenta el tiempo de espera. Disminuir la prioridad del proceso en ejecución en cada interrupción de reloj. Limitar el tiempo de ejecución. Puede darse el fenómeno de inversión de prioridad que ocurre cuando un proceso más prioritario debe esperar a que un recurso se libere por otro proceso con menor prioridad. Puede resolverse mediante el traspaso o herencia de prioridad. Planificación basada en múltiples colas de prioridad Se disponen varias colas cada una de las cuales dispone únicamente de procesos con un determinado nivel de prioridad o dentro de un rango de prioridades. Siempre se ejecuta un proceso de la cola de mayor prioridad. Sólo cuando esa cola se vacía, se ejecutan los de la siguiente cola. Un proceso sólo puede pertenecer a una cola. Para planificar cada cola puede usarse FCFS, SJF, etc. Puede producirse inanición de los procesos de las colas de menor prioridad. Para evitarlo, puede asignarse a los procesos de cada cola un porcentaje de tiempo de procesador Múltiples colas de prioridad y realimentación Se permite que un proceso pueda ir cambiando de cola de prioridad durante su existencia. Requiere definir un mecanismo que regule cómo se modifica la prioridad de los procesos, esto es, cómo y cuándo se produce el paso de una cola a otra. Un mecanismo puede consistir en reducir la prioridad del proceso en cada cuanto de ejecución hasta que llega a la cola de menor prioridad, donde se queda, siendo entonces esta cola de turno rotatorio. Con este mecanismo se favorecen los procesos nuevos y cortos frente a los viejos y largos. Para evitarlo puede asignarse un cuanto de mayor tamaño conforme disminuye la prioridad de las colas. Esta técnica no evita compeltamente la inanición, por lo que puede combinarse con la de envejecimiento de procesos. Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 21

22 Planificación por tiempo límite En los sistemas de tiempo real estricto el tiempo de servicio de algunos procesos debe completarse en un determinado plazo o tiempo límite (deadline). El planificador sólo admite en la cola de procesos preparados aquellos a los que pueda garantizar que su tiempo de servicio se atenderá dentro de su tiempo límite, en función de los tiempos de espera existentes en la cola. Debe conocerse por adelantado el tiempo de servicio y deadline de cada proceso Elección del algoritmo de planificación En primer lugar deben fijarse los criterios de selección y a continuación evaluar los diferentes algoritmos de planificación usando algún método de evaluación. Modelado determinista. Evalua cada algorimo candidato usando una carga de trabajo predeterminada e idéntica para todos ellos. Es difícil establecer esta carga de manera realista y manejable. Modelo analítico mediante sistema de colas. Se obtiene un modelo analítico matemático. Cada recurso hardware del sistema y cada cola software asociada se modela como una estación de servicio que consta de un servidor y una cola de espera. Se establece para cada estación de servicio una determinada tasa de llegada y una tasa de servicio de peticiones. El conjunto formado por las estaciones de servicio y sus clientes (los usuarios) forma un sistema de colas que puede ser analizado usando la teoría de colas. Simulación. Se construye un programa que reproduce el comportamiento temporal del sistema basándose en sus estados y sus transiciones. Planificación de hilos La planificación de hilos depende de los tipos de hilos soportados por el SO. Si sólo se soportan hilos a nivel de usuario el SO no es consciente de su existencia, debiendo ser el proceso que los lanza quien debe encargarse de su planificación. Si se soportan hilos del núcleo el sistem operativo los planifica utilizando alguno de los métodos vistos anteriormente. El planificador debe tener en cuenta la sobrecarga que puede producir en el sistema el cambio de contexto entre hilos de distintos procesos. 22 Capítulo 3. Planificación de procesos

23 Capítulo 4. Sincronización y comunicación de procesos La ejecución concurrente de procesos presenta varios problemas, todos ellos asociados al hecho de que no es posible predecir la velocidad relativa de ejecución de un proceso. Dicha velocidad es función de la política de planificación del sistema operativo, de la forma en que se tratan las interrupciones y de la actividad de los otros procesos en el sistema. Uno de los principales problemas de la ejecución concurrente de procesos es que el acceso a recursos globales compartidos (memoria, dispositivos de E/S, etc) debe controlarse de alguna forma si se desea que el resultado de la ejecución de un proceso sea independiente de la velocidad de ejecución del proceso con respecto a los otros procesos concurrentes. Exclusión mutua Interacción entre procesos concurrentes En un sistema con multiprogramación se ejecutan múltiples procesos de manera concurrente. Podemos distinguir Procesos independientes, que se ejecutan sin tener en cuenta la existencia de otros procesos. Procesos cooperantes, que intercambian información o colaboran entre sí para compartir un recurso o realizar alguna tarea. Cooperación directa: los procesos conocen la existencia e identidad de los otros procesos con los que colaboran. Cooperación indirecta, los procesos no conocen la existencia e identidad de los otros procesos y, en consecuencia, no se comunican con ellos pero deben garantizar que los recursos queden en un estado coherente. Condiciones de carrera El problema denominado condición de carrera (race condition) surge cuando múltiples procesos independientes se ejecutan concurrentemente y acceden para leer o escribir en un recurso compartido. En ese caso el resultado final de la ejecución depende del órden en que se hayan planificado los procesos. Secciones críticas Sección crítica o región crítica de un proceso es una instrucción o conjunto de instrucciones secuenciales de su código que requieren manipular un recurso compartido (variable, dato, fichero, ) con otros procesos. Dentro del código de un proceso pueden existir varias regiones críticas. Descripción de la exclusión mutua Las condiciones de carrera se evitarían si el uso de un recurso por parte de un proceso excluye su uso para los restantes. Este mecanismo se denomina de exclusión mutua. Sin más requisitos adicionales la exclusión mutua puede producir problemas como interbloqueos o inanición de procesos. El interbloqueo o bloqueo mutuo de dos o más procesos se produce cuando dos procesos A y B necesitan dos recursos R1 y R2 para realizar una cierta función. Si A posee R1 y B posee R2, ambos se quedarán esperando por el recurso que necesitan; no pueden liberar el recurso que poseen porque están esperando el otro recurso para realizar la función correspondiente. Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 23

24 La inanición de un proceso se produce cuando este no puede progresar al necesitar un recurso al que nunca llega a acceder porque el sistema operativo siempre da prioridad a otros procesos. Para evitar esto, los mecanismos de exclusión mutua deben cumplir cinco requisitos: 1. Sólo un proceso puede estar a la vez en una sección crítica asociada a un recurso R. 2. No pueden realizarse suposiciones sobre la velocidad relativa y prioridad de ejecución de los procesos concurrentes. 3. Un proceso que no está ejecutando una sección crítica asociada a un recurso R no está impidiendo o bloqueando el uso de R a otros procesos. 4. Debe evitarse la inanición de procesos. Un proceso no debe permanecer en su sección crítica por tiempo ilimitado. 5. Si ningún proceso está en una sección crítica asociada a R, debe concederse rápidamente el acceso a esa sección crítica al proceso que lo solicite. Soluciones software a la exclusión mutua No presuponen el apoyo del sistema operativo o del hardware del ordenador para su implementación. Hacen uso de un bucle de comprobación del valor de una o varias variables cerrojo (lock). La comprobación del valor en un bucle se denomina cerrojo con vuelta (spinlock). Este tipo de espera se denomina espera activa (busy waiting) o espera cíclica (spin waiting). Uso de cerrojo y alternancia estricta. Esta solución considera la existencia de una variable global de acceso que se usa como cerrojo y que puede tomar como valor el identificador numérico de un proceso. Este método posee dos inconvenientes: la velocidad de ejecución se ve limitada por el proceso más lento. Además, si un proceso falla antes de cambiar el valor de la variable global el otro proceso quedará bloqueado indefinidamente. Algortimo de Peterson. Simplificado para dos procesos, se dispone de un vector donde cada proceso establece a TRUE su deseo de acceder al recurso. Además, se guarda en una variable global el identificador del otro proceso. Un bucle de espera cíclica comprueba que la petición pueda ser atendida y que el recurso no está siendo utilizado por el otro proceso. #define FALSE 0 #define TRUE 1 int turno; int peticion_rec[2]; void acceso_sc(int pid) { int otro_pid; otro_pid = 1 pid; peticion_rec[pid] = TRUE; turno = otro_pid; while(turno == otro_pid && peticion_rec[otro_pid == TRUE): Cada proceso llama a acceso_sc antes de acceder a su sección crítica y al salir llamaría a salida_sc, que establece a FALSE su entrada en peticion_rec. Este algoritmo garantiza la exclusión mutua ya que el proceso que primero ejecuta la instrucción peticion_rec[pid] = TRUE obtiene el acceso al recurso. Se evita la posibilidad de interbloqueo al almacenarse en turno el valor del pid del otro proceso. 24 Capítulo 4. Sincronización y comunicación de procesos

25 Soluciones a la exclusión mutua con apoyo del hardware Uso de instrucciones máquina especiales que bloquean el uso del bus. Se caracterizan por ser atómicas, es decir, se ejecutan en un único ciclo de instrucción que no puede ser interrumpido. Una instrucción típica en muchos procesadores es probar y configurar (test and set): ccc r1, cerrojo, que copiaría el contenido de la posición de memoria compartida cerrojo en el registro r1 y escibe en cerrojo un valor distinto de cero. El principal inconveniente es que también hay que realizar una espera activa para comprobar el valor del cerrojo. También pueden producirse interbloqueos. Bloqueo de las interrupciones. Antes de entrar en una región crítica, puede ejecutarse una instrucción especial que bloquea el mecanismo de interrupciones del sistema, restaurándolo al salir de la sección crítica. Pero el sistema se puede degradar bastante al no permitirse atender las interrupciones mas prioritarias en el momento en que llegan, Además, se deja en manos del proceso la decisión de ceder el procesador, pudiendose quedar el sistema colgado si este nunca lo devuelve. Esta solución no sirve en el caso de multiprocesadores. Semáforos Son un mecanismo de sincronización de procesos concurrentes gestionados por los sistemas operativos. Un semáforo es una variable que almacena un valor entero sobre el que se pueden realizar tres operaciones básicas: Asignar un valor inicial entero no negativo. S = N P(S). [wait]. Disminuir en una unidad el valor del semáforo. S = S 1. Si S se hace negativo, el proceso que ha llamado al semáforo pasa a la cola de procesos bloqueados asociada al semáforo. V(S). [signal]. Incrementa en una unidad el valor del semáforo, S = S + 1. Si S es menor o igual a cero, se eliminar uno de los procesos bloqueados la cola y se pasa al estado preparado. Los nombres P y V, se suelen encontrar como wait y signal. En este texto wait_sem y signal_sem. El anterior es un semáforo general o semáforo con contador. La versión de semáforo que sólo puede tomar los valores 0 y 1 se denomina semáforo binario o mutex funcionando de la siguiente manera: wait_sem(s). Si S = 0, el proceso pasa a cola de bloqueados, si S = 1, pone el semáforo a cero y continúa su ejecución. signal_sem(s). Si la cola de bloqueados está vacía, pone el semáforo a 1 y continúa. Si no está vacía, se elimina un proceso de la cola de bloqueados y pasa al estado preparado. Implementación El sistema operativo se encarga de asignar las estructuras de datos necesarias para los semáforos y de realizar las operaciones sobre ellos. Las operaciones wait_sem y signal_sem son implementadas por el núcleo como primitivas o funciones atómicas, esto es, que se ejecutan como un único ciclo de instrucción que no puede ser interrumpido. En la implementación de estas primitivas en el núcleo se ha de resolver un problema de exclusión mutua. En sistemas monoprocesadores la exclusión mutua se garantiza bloqueando las interrupciones cuando se está ejecutando una operación sobre el semáforo. Apuntes por Demetrio Quirós Fundamentos básicos de los Sistemas Operativos 25

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

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2014 Planificación Sistemas Operativos Curso 2014 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.

Más detalles

Sistemas Operativos. Curso 2015 Planificación

Sistemas Operativos. Curso 2015 Planificación Sistemas Operativos Curso 2015 Planificación Agenda Introducción. Despachador. Clases de procesos. Esquemas de planificación. Criterios de planificación. Algoritmos de planificación. FCFS. SJF. Prioridad.

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

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 Procesos

Unidad 2: Gestión de Procesos Unidad 2: Gestión de Procesos Tema 5: Planificación de procesos. 5.1 Criterios y tipos de planificación. 5.2 Algoritmos de planificación. 5.3 Métodos multicolas y multiprocesadores. 5.4 Evaluación de políticas

Más detalles

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos 1.- Notas y criterios para los problemas de planificación NOTA GENERAL: Normalmente los enunciados no son rigurosamente completos,

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

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 1.- INTRODUCCIÓN A LOS PROCESOS 1.1.- Concepto 1.2.- Composición y estructura 1.3.- Estados y transiciones 2.- COMUNICACIÓN ENTRE PROCESOS

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

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

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

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

Sistemas Operativos. Curso 2016 Procesos

Sistemas Operativos. Curso 2016 Procesos Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor

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

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

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

CDI Exclusión mutua a nivel alto. conceptos

CDI Exclusión mutua a nivel alto. conceptos conceptos El concepto de usar estructuras de datos a nivel alto libera al programador de los detalles de su implementación. El programador puede asumir que las operaciones están implementadas correctamente

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

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

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

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

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

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa

Hardware y Estructuras de Control. Memoria Virtual. Ejecución de un Programa. Ejecución de un Programa Memoria Virtual Capítulo 8 Hardware y Estructuras de Control Las referencias de memoria se traducen a direcciones físicas dinámicamente en tiempo de ejecución Un proceso puede ser intercambiado hacia dentro

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

SISTEMAS OPERATIVOS AVANZADOS

SISTEMAS OPERATIVOS AVANZADOS SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia

Más detalles

Tema 6. Gestión de la memoria

Tema 6. Gestión de la memoria Tema 6. Índice Introducción Compartición de memoria Memoria virtual Soporte en los procesadores: la MMU en Linux en Windows NT/2000 1 Tema 6. Introducción Necesidad de la gestión de la memoria Requisitos

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

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

Gestión de procesos DEFINICIONES DE PROCESOS

Gestión de procesos DEFINICIONES DE PROCESOS DEFINICIONES DE PROCESOS Gestión de procesos 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

Más detalles

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución Tema 8 Procesos 8.1 Aspectos básicos de los procesos 8.1.1 Concepto de proceso * Definición informal: un proceso es un programa en ejecución Un programa ejecutable es un conjunto de instrucciones y datos

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

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

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

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1

Procesos. Procesos. Concurrencia de procesos. Qué es un proceso? Estados de un proceso. Modelo de 2 estados. (C) 2008 Mario Medina 1 Procesos Procesos Mario Medina mariomedina@udec.cl El sistema operativo como administrador de procesos Controla la ejecución de procesos para optimizar criterios Asigna recursos a procesos Facilita sincronizació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 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

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005

Ingeniería Superior de Informática. Curso 3º. Sistemas Operativos. Examen Final. TEORÍA. 31 de Enero de 2005 Ingeniería Superior de Informática. Curso º. Sistemas Operativos. Examen Final. TEORÍA. de Enero de 005 Nombre: DNI:. ( puntos). La TFA es la tabla que, en UNIX, guarda los punteros de posición de cada

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

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

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

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

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas Módulos: 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 componentes adicionales como

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:

1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas: Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen parcial, 11 de mayo de 2002 SOLUCIONES Calificación 1 2 3 4 5 1 (2 5 puntos)

Más detalles

Arquitectura de sistema de alta disponibilidad

Arquitectura de sistema de alta disponibilidad Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los

Más detalles

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno. Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos

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

Sistemas operativos avanzados. 1.3 Algoritmos de planificación del procesador

Sistemas operativos avanzados. 1.3 Algoritmos de planificación del procesador Sistemas operativos avanzados 1.3 Algoritmos de planificación del procesador Parámetros Cuando tenemos más de un proceso en condiciones de ejecutar, debemos escoger uno de entre ellos. Para escogerlo empleamos

Más detalles

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2) 1. Qué es un sistema operativo?...2 2. Funciones de los sistemas operativos...2 3. Windows...2 3.1. La interfaz gráfica...2 3.2. La administración y los usuarios...3 3.3. El sistema de archivos...3 3.4.

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

SEMANA 12 SEGURIDAD EN UNA RED

SEMANA 12 SEGURIDAD EN UNA RED SEMANA 12 SEGURIDAD EN UNA RED SEGURIDAD EN UNA RED La seguridad, protección de los equipos conectados en red y de los datos que almacenan y comparten, es un hecho muy importante en la interconexión de

Más detalles

La Tecnología líder en Simulación

La Tecnología líder en Simulación La Tecnología líder en Simulación El software de simulación Arena, es un "seguro de vida" para las empresa: le ayuda a predecir el impacto en las organizaciones de nuevas ideas, estrategias y políticas

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

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

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

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

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

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

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

IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO) IAP 1009 - TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO) Introducción 1. Como se indica en la Norma Internacional de Auditoría 401, "Auditoría en un contexto informatizado", los objetivos globales

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 efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación.

2) Tenemos un sistema informático con una sola CPU que está gestionada mediante una cola multinivel con realimentación. EJERCICIOS DE PLANIFICACIÓN: 1) Un sistema informático posee los siguientes recursos: - una CPU - tres unidades de almacenamiento UAM1, UAM2 y UAM3. En nuestro sistema tenemos dos tipos de procesos: Tipo

Más detalles

CÓMO TRABAJA TU SISTEMA OPERATIVO?

CÓMO TRABAJA TU SISTEMA OPERATIVO? CÓMO TRABAJA TU SISTEMA OPERATIVO? AUTORÍA MARÍA CATALÁ CARBONERO TEMÁTICA SISTEMAS OPERATIVOS ETAPA CICLO MEDIO Y SUPERIOR DE INFORMÁTICA Resumen Los sistemas operativos nacen de la informática. Su función

Más detalles

Soporte y mantenimiento de base de datos y aplicativos

Soporte y mantenimiento de base de datos y aplicativos Soporte y mantenimiento de base de datos y aplicativos Las bases de datos constituyen la fuente de información primaria a todos los servicios que el centro de información virtual ofrece a sus usuarios,

Más detalles

Creación y administración de grupos locales

Creación y administración de grupos locales Creación y administración de grupos locales Contenido Descripción general 1 Introducción a los grupos de Windows 2000 2 Grupos locales 5 Grupos locales integrados 7 Estrategia para utilizar grupos locales

Más detalles

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos.

En esta unidad añadiremos información sobre EXT3 y trabajaremos con aspectos visibles que nos proporcionan estos sistemas de archivos. ESTRUCTURA DEL SISTEMA DE ARCHIVOS 1. Introducción. En la unidad anterior se esbozó mediante la explicación de los formatos del disco duro, distintos tipos de sistemas de archivos: FAT16, FAT32, NTFS y

Más detalles

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales.

Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales. Capítulo 2. Sistemas Operativos. Elementos, estructura y funciones generales. 1. Concepto de Sistema Operativo. 2. Evolución histórica. 3. Tipos de Sistemas Operativos. 4. Estructura de un Sistema Operativo.

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 / 41

Más detalles

Mensajes. Interbloqueo

Mensajes. Interbloqueo CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose

Más detalles

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows Qué es Recuperación? Recuperación del Panel de control proporciona varias opciones que pueden ayudarle a recuperar el equipo de un error grave. Nota Antes de usar Recuperación, puede probar primero uno

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador

Más detalles

WINDOWS 2008 5: TERMINAL SERVER

WINDOWS 2008 5: TERMINAL SERVER WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

Sistemas de Operación II

Sistemas de Operación II Sistemas de Operación II Sistemas de Archivos Distribuidos Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Introducción Requisitos Aspectos

Más detalles

Tema 2. Procesos. 1. Concepto de proceso

Tema 2. Procesos. 1. Concepto de proceso Tema 2. Procesos 1. Concepto de proceso. 2. Principios de la Programación concurrente. 1. Concurrencia. Programación concurrente. 2. Áreas de comunicación entre procesos. 1. Exclusión mutua. 2. Sincronización.

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

Edición de Ofertas Excel Manual de Usuario

Edición de Ofertas Excel Manual de Usuario Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE

Más detalles

SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es

SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es SCT3000 95 Versión 3.5 Software para la calibración de transductores de fuerza. Microtest S.A. microtes@arrakis.es Introducción El programa SCT3000 95, es un sistema diseñado para la calibración automática

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010

Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010 Programa de Ayuda EMCS Instalación Versión SQL Server Versión 1.0 - Marzo 2010 Programa de Ayuda EMCS Instalación Versión SQL Server Tabla de Contenido 1 INSTALACIÓN EN EL SERVIDOR...3 1.1 CREAR LA BASE

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

Transacciones y bloqueos en SQL-Server

Transacciones y bloqueos en SQL-Server Transacciones y bloqueos en SQL-Server (Información para el uso desde Axapta) Introducción En este documento vamos a intentar explicar cuatro conceptos básicos acerca de las transacciones y los bloqueos

Más detalles

Análisis de aplicación: Virtual Machine Manager

Análisis de aplicación: Virtual Machine Manager Análisis de aplicación: Virtual Machine Manager Este documento ha sido elaborado por el Centro de Apoyo Tecnológico a Emprendedores bilib, www.bilib.es Copyright 2011, Junta de Comunidades de Castilla

Más detalles

La Pirámide de Solución de TriActive TRICENTER

La Pirámide de Solución de TriActive TRICENTER Información sobre el Producto de TriActive: Página 1 Documento Informativo La Administración de Sistemas Hecha Simple La Pirámide de Solución de TriActive TRICENTER Información sobre las Soluciones de

Más detalles

M.T.I. Arturo López Saldiña

M.T.I. Arturo López Saldiña M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil

Más detalles

http://www.statum.biz http://www.statum.info http://www.statum.org

http://www.statum.biz http://www.statum.info http://www.statum.org ApiaMonitor Monitor de Infraestructura BPMS Por: Ing. Manuel Cabanelas Product Manager de Apia Manuel.Cabanelas@statum.biz http://www.statum.biz http://www.statum.info http://www.statum.org Abstract A

Más detalles

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

Concurrencia: Exclusión mutua y Sincronización

Concurrencia: Exclusión mutua y Sincronización Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

I. E. S. Cristóbal de Monroy. DEPARTAMENTO: Informática. MATERIA: Sistemas Operativos en Red. NIVEL: 2º Sistemas Microinformáticos y Redes

I. E. S. Cristóbal de Monroy. DEPARTAMENTO: Informática. MATERIA: Sistemas Operativos en Red. NIVEL: 2º Sistemas Microinformáticos y Redes DEPARTAMENTO: Informática MATERIA: Sistemas Operativos en Red NIVEL: 2º Sistemas Microinformáticos y Redes 1. Objetivos. Competencias Profesionales, Personales y Sociales 2.1 Objetivos del ciclo formativo

Más detalles

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos 1. La base de datos se puede considerar como una unificación de varios archivos de datos independientes, cuyo propósito básico es evitar la

Más detalles