Componentes y Funciones. Tipos de Software



Documentos relacionados
Procesos. Planificación del Procesador.

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.

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


Unidad 2: Gestión de Memoria

Tema 4. Gestión de entrada/salida

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

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

Tema 6. Gestión de la memoria

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

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Tema 1. Conceptos fundamentales de los Sistemas Operativos

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

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

Unidad 1: Conceptos generales de Sistemas Operativos.

Fundamentos de Sistemas Operativos

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

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

Introducción a las redes de computadores

Sistemas Operativos. Curso 2014 Planificación

Sistemas Operativos. Curso 2015 Planificación

Unidad 2: Gestión de Procesos

2. Sistema Operativo Windows

Concurrencia. Primitivas IPC con bloqueo

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

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

Introducción a los Sistemas Operativos

4. Programación Paralela

Sistemas Operativos Windows 2000

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

SEGURIDAD Y PROTECCION DE FICHEROS

Conceptos Básicos de Software. Clase III

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

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

Capitulo V Administración de memoria

Convivencia. Gestión del Sistema de Entrada/Salida

Sistemas Operativos. Curso 2016 Procesos

TEMA 6: «LOS SISTEMAS DE ARCHIVO» Implantación de Sistemas Operativos

TEMA 1: VISIÓN GENERAL DE LOS SISTEMAS OPERATIVOS

Gestión de procesos DEFINICIONES DE PROCESOS

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

Capítulo 9. Archivos de sintaxis

CÓMO TRABAJA TU SISTEMA OPERATIVO?

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

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

Unidad II: Administración de Procesos y del procesador

Unidad 2: Gestión de Procesos

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

TEMA 7. GESTIÓN DE PROCESOS

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

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

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

Estructuras de Sistemas Operativos

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

Índice. agradecimientos...19

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

Software Computacional y su clasificación

Familia de Windows Server 2003

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

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

Tema 1: Implementación del sistema de archivos

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

T5.- Gestión de discos Estructura física del disco duro. TEMA 5 GESTIÓN DE DISCOS Estructura física del disco duro.

CI Politécnico Estella

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

Administración Local Soluciones

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

Guia para examen de Sistemas Operativos Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes

ÍNDICE SISTEMAS OPERATIVOS... 5

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

Tema 2. Procesos. 1. Concepto de proceso

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

Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16

Unidad 1: Conceptos generales de Sistemas Operativos.

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

Creación y administración de grupos de dominio

Contenido. Práctica 1. Configuración de sistemas operativos. Vista clásica. Configuración y personalización

INDICE. Prefacio Parte 1: sistemas operativos tradicionales

Arquitectura de Aplicaciones

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

Diseño orientado al flujo de datos

Examen de Arquitectura de Computadores

1. Sistema Operativo Unix

Sistema de proceso por lotes: esquema operativo

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

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

Oficina Online. Manual del administrador

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

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

Sistema de Ficheros. Sistemas Operativos - ITIG. Álvaro Polo Valdenebro. Abril apoloval@gsyc.es. GSyC Introducción 1

índice CONVENCIONES USADAs...17

Sistemas de ficheros en Servidores de Información multimedia

Gestión de archivos (módulo transversal, MF0978_2)

ARMADO Y REPARACIÒN DE PC

TEMA 6: GESTIÓN DE ENTRADA/SALIDA

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

CDI Exclusión mutua a nivel alto. conceptos

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

1. Instala servicios de configuración dinámica, describiendo sus características y aplicaciones.

Transcripción:

Tema 3.1 Software

Componentes y Funciones Tipos de Software Sistemas Conjunto de Instrucciones Encargado de comunicar al usuario con la máquina Capa de Abstracción Usuario-Máquina Permite el control de los periféricos Programación Programas para realizar programas Sintaxis del lenguaje: Conjunto de instrucciones y normas Tipos Bajo Nivel: unos y ceros Medio Nivel: mnemónicos Ensamblar Alto Nivel: Similar al lenguaje humano: Edición Compilación Enlace Compilados vs interpretados 2

Componentes y Funciones Aplicación Utilización final por parte del usuario Verticales: A medida Estándar: Propósito general Proceso de Texto Hoja de Cálculo Paquetes Integrados Diseño Gráfico, Autoedición, CAD (profesionales) Gestión Comercial y Administrativa (Nóminas, Contabilidad, ) Utilidades Antivirus Grabación de CD/DVD Desfragmentadores Monitorización 3

Tipos de Distribución de Software Comerciales Pagados en el momento de la adquisición Shareware Probados y luego pagados o borrados Posible limitación de funciones o tiempo antes del pago Freeware Sin costo ni otras obligaciones para el usuario Adware Sin coste pero con anuncios insertados Componentes y Funciones 4

Otros elementos complementarios Manuales y Documentación Impresa, en línea o en soporte electrónico Debe ser clara y concisa Tutores y Ayudas Software de documentación Componentes y Funciones 5

Sistemas Operativos

Sistemas Operativos: Fundamentos Fundamentos Definición Original: Software que controla el Hardware Actual: Funciones mucho más complejas: sin definición exacta Objetivos Básicos Comodidad para los usuarios: Máquina Virtual Creación de Programas Ejecución de Programas Operaciones de E/S Manipulación y Control del Sistema de Ficheros Detección de errores Control de Acceso al Sistema Elaboración de informes Eficiencia Gestor de Recursos 7

Sistemas Operativos: Historia Historia Generación 0 Años 40 Sin Sistema Operativo Usuarios: Acceso directo al código máquina y ejecución de sus programas Primera Generación Años 50 Permitía la secuencia automática de los trabajos de los usuarios Organización por lotes 8

Sistemas Operativos: Historia Segunda Generación Años 60 Mejora del rendimiento aumentando el número de trabajos en ejecución Multiprogramación Multiproceso Sistemas de Tiempo Real Tercera Generación Sistemas Operativos grandes y costosos Asumen multitud de tareas El mismo sistema Operativo permitía Multiprogramación, Multiproceso y Tiempo real El usuario debe pagar por tareas que no necesita y aprender funciones no utilizadas 9

Sistemas Operativos: Historia Cuarta Generación Estado actual Funcionalidades disponibles: Multiprogramación Tiempo Compartido Tiempo Real Memoria Virtual Procesos Cooperantes Sistemas de Ficheros Jerárquicos Redes de Ordenadores Sistemas Distribuidos 10

Sistemas Operativos: Procesamiento de Trabajos Sistemas de Procesamiento de Trabajos Proceso por Lotes Un solo trabajo en ejecución Este tiene control total sobre la máquina y lo mantiene hasta su terminación Cuando acaba entra un nuevo trabajo que se ha situado en una cola (FIFO) Pueden establecerse prioridades en la cola Si el trabajo en ejecución comete algún error: Se da algún tipo de explicación rudimentaria Se saca de la máquina Se coge el siguiente trabajo de la cola Trabajo por lotes en sistemas multiprogramados Para procesos que no necesitan intervención del usuario (generalmente largos) Se cogen en grupos y se ejecutan en paralelo 11

Sistemas Operativos: Procesamiento de Trabajos Multiprogramación Posibilidad de procesar simultáneamente varios trabajos Surge para aprovechar los tiempos muertos del procesador en operaciones de E/S Varios programas residen simultáneamente en memoria El procesador elegirá uno de ellos que esté preparado Desde el punto de vista del proceso el procesador les atiende a tiempo completo Desde el punto de vista del usuario los procesos se ejecutan en paralelo Se necesitan: Políticas para acceder al procesador Resolución de problemas de concurrencia (acceso simultaneo a un recurso) Gestión de la memoria (compartida por todos los procesos) 12

Sistemas Operativos: Procesamiento de Trabajos Multiproceso Utilización de varios procesadores trabajando, cada uno, en una tarea diferente Posibilidades: Cada procesador trabaja con un proceso diferente Dividir un proceso en tareas (hilos) y ejecutar cada uno en un procesador (Multihilo, Multithreading) Mismas necesidades que con multiprogramación: acceso simultaneo a los recursos Los sistemas multiproceso también pueden ser multiprogramados 13

Sistemas Operativos: Procesamiento de Trabajos Multiprogramación vs Multiproceso Cuándo elegir un sistema u otro? Sistema Multiproceso: Trabajos limitados por proceso (la mayor parte del tiempo haciendo uso del procesador) Sistema Multiprogramado: Trabajos limitados por operaciones de E/S (la mayor parte del tiempo haciendo uso de los dispositivos de E/S 14

Sistemas Operativos: Procesamiento de Trabajos Time Sharing: Tiempo compartido Multiprogramación interactiva Terminales para la sesión de usuario: conversación constante mediante el intérprete de comandos (proceso) Durante la sesión el usuario cree tener a su disposición todos los recursos Se atiende a varios usuarios simultáneamente El tiempo de respuesta debe ser relativamente corto (segundos) Se utilizan técnicas de buffering y spooling Debe tener una gestión de ficheros robusta Gestor de Memoria Virtual 15

Sistemas Operativos: Procesamiento de Trabajos Tiempo real Utilizado en sistemas en que se necesite una respuesta inmediata ante un suceso (sensores) Tiempo de respuesta pequeño (milisegundos) El procesador permanece mucho tiempo inactivo Gestor de Memoria Real 16

Sistemas Operativos: Clasificación Clasificación de los S.O. Monousuario Un solo terminal Acceso a solo a un usuario en un momento dado Ese usuario solo competirá contra: Otros trabajos suyos Trabajos del Sistema Operativo Multiusuario Múltiples terminales Acceso simultáneo a múltiples usuarios Acceso todos los recursos del sistema desde cualquier terminal El Sistema decide cuando se atiende a cada usuarios El usuario debe competir contra Otros trabajos suyos Trabajos de otros usuarios Trabajos del Sistema Operativo 17

Procesos

Procesos: Introducción Introducción Definición Programa en Ejecución Relaciones entre procesos Ejecución Concurrente Servicios prestados por el Sistema Operativo Sincronización Comunicación Algoritmos de gestión y planificación Qué proceso toma el procesador Información sobre cada proceso (tiempo en ejecución, propietario, prioridad, ) Clasificación según relaciones Independientes Cooperativos Competitivos 19

Procesos: Creación Creación de los procesos Explícitamente Creados por el usuario Implícitamente Creados por el Sistema Operativo Otros procesos pueden utilizarlos mediante llamadas al sistema Padres e Hijos Ejecución Concurrente Muerto el padre, debe morir toda su descendencia 20

Procesos: Estados Estados de los procesos Activo En posesión del procesador Preparado En memoria principal Todas las condiciones necesarias para pasar a activo Bloqueado En memoria principal En espera de alguna condición Suspendido En memoria secundaria Puede estar preparado o bloqueado Muerto Terminada la ejecución Puede estar Zombi 21

Procesos: Estados Transiciones entre los estados 22

PCB: Bloque de Control del Proceso Vida Aparece en la creación del proceso Desaparece cuando muere el proceso Información Identificador de proceso: PID Otros identificadores: PPID, UID, Prioridad Estado del proceso Estado de Hardware (Registros de la CPU) Información para Gestión de Memoria Gestión de E/S Contabilidad y Planificación Procesos: PCB 23

Procesos: Planificadores Planificadores PLP: Planificador a Largo Plazo Decide, de entre los trabajos que aun no han entrado (p.e. en alguna cola) cual es el siguiente que pasa a la lista de preparados Se invoca cada vez que termina un trabajo (frecuencia baja) PMP: Planificador a Medio Plazo Decide, de entre los trabajos Bloqueados (en memoria secundaria) cuales pasan a la lista de preparados en Memoria Principal Se invoca cada vez que se libera memoria (más a menudo que el PLP) No existe en todos los sistemas 24

Procesos: Planificadores PCP: Planificador a Corto Plazo Decide, de entre los trabajos preparados en Memoria Principal, cual pasa a Activo. Se invoca cada vez que un evento puede producir un cambio del estado global del sistema (muy a menudo) Señales del reloj Interrupciones Finalización de Operaciones de E/S Llamadas a las Funciones del Sistema Activación de programas interactivos Es el más importante También se llama Distribuidor o Dispatcher 25

Procesos: Políticas Políticas de Planificación FCFS: First Come, First Served El primero que entra, el primero que sale (FIFO) El primer trabajo que entra en la cola es el primero en ser atendido por el procesador y mantiene el control del Procesador hasta su finalización No apropiativa (un proceso que está haciendo uso del procesador no puede ser sacado de él por ningún otro proceso) Ventajas: Sencilla de implementar Recarga mínima del Sistema Desventajas Bajo Rendimiento Tiempo de respuesta pobre Productividad del Sistema no predecible (depende del tamaño de los procesos) Los procesos cortos pueden verse muy perjudicados 26

Procesos: Políticas RR: Round Robin El tiempo de CPU se divide en fracciones fijas e iguales (Quantum) Ese es el tiempo que se asigna a los procesos preparados de forma cíclica La gestión de la cola de preparados puede hacerse mediante cola (FIFO) o establecer prioridades Características Apropiativo (cuando un proceso está en uso del procesador puede ser sacado de él por alguna circunstancia dando lugar a un cambio de contexto) Equitativo (trata por igual a los procesos cortos y a los largos) Se necesita un temporizador (Hardware que cuenta el tiempo y provoca una interrupción cuando el quantum ha finalizado) El resultado depende del tamaño del quantum Utilizado en sistemas de Tiempo Compartido 27

Procesos: Políticas SJN: Shortest Job Next (SJF: Shortest Job First) Se elige, de la cola de procesos preparados, aquel que va a tardar menos en finalizar su trabajo. No apropiativa Ventajas: Buen tiempo de servicio (tiempos de espera mínimos) Desventajas Es difícil conocer el tiempo que necesita cada proceso No sirve para sistemas de tiempo compartido 28

Procesos: Políticas SRTN: Shortest Remaining Time Next Cada vez que entra un proceso en la cola de procesos preparados se comprueba si va a tardar menos tiempo en terminar que el que actualmente esté en uso del procesador. Si es así, se apropia del procesador. Apropiativa (variante apropiativa del SJN) Ventajas e inconvenientes Los mismos que SJN Desventajas añadida Perjudica claramente a los procesos largos 29

Procesos: Políticas Prioridades A cada proceso se le asigna una prioridad Se elige, de la cola de procesos preparados, aquel que tiene la prioridad más alta. Existen versiones apropiativas y no apropiativas Pueden establecerse sistemas de envejecimiento (aumentar la prioridad conforme pasa el tiempo sin ser ejecutado) Deben establecerse sistemas de desempate para procesos de igual prioridad (pe RR o SRJN) 30

Procesos: Políticas Colas Multinivel Varios Planificadores Los procesos se dividen en categorías A cada categoría se le asigna una cola de procesos preparados Cada cola se gestiona con un sistema de planificación diferente Debe establecerse un sistema de planificación entre colas 31

Procesos: Políticas Colas Multinivel Realimentadas Variación del anterior Los procesos no se dividen en categorías, van pasando de una cola a otra en función de su comportamiento en tiempo de ejecución 32

Procesos: Concurrencia Concurrencia Definición Acceso Simultáneo a un recurso por parte de dos o más procesos. Problemas Sección Crítica: Zona de código que va a hacer uso del recurso. Exclusión mutua: Solo un proceso podrá acceder a su sección crítica. Problemas asociados: Interbloqueo: Dos o más procesos se bloquean mutuamente Inanición: Un proceso queda bloqueado al no acceder nunca al recurso Soluciones Software Programar adecuadamente el acceso a los recursos (Dekker, Peterson, Panadería de Lampbert, ) Hardware Deshabilitar / Habilitar interrupciones (Deshabilitar cuando se va a usar el recurso y habilitarlas al terminar) Instrucciones especiales del procesador (test-and-set, swap) 33

Procesos: Concurrencia Semáforos Utilizado para la sincronización de procesos y exclusión mutua Consta de: Una variable entera asociada al recurso Una cola en la que se guardará información sobre los procesos que quieren acceder al recurso Operaciones sobre la variable: wait(s) (donde s es la variable asociada al recurso): Disminuye el valor del semáforo. Si pasa a ser menor que cero el recurso queda bloqueado. Se utiliza para indicar que se quiere utilizar el recurso (entrada en la sección crítica) signal(s): Aumenta el valor del semáforo. Se utiliza para indicar que se ha terminado de utilizar el recurso (salida de la sección crítica) initial(s, valor): para inicializar el valor del semáforo. Se inicializa a un valor positivo e indica el número de procesos que pueden utilizar simultáneamente el recurso. 34

Procesos: Concurrencia Semáforos Utilización en sincronización Solo se ejecutará <código 2> haya terminado <código 1> Utilización en Exclusión Mutua Solo se entra en la <Sección Crítica> si el recurso está disponible Se inicializa el semáforo a 1 para que el primer proceso que quiera acceder a él lo pueda hacer. Si se inicializa a valores mayores se indicará que varios procesos pueden acceder simultáneamente al recurso 35

Procesos: Concurrencia Monitores Solución a los problemas de los semáforos (no estructurados, posibilidad de manejar indebidamente las variables, muy vulnerables a errores de programación, ) Un monitor es un módulo de programación con Procedimientos Secuencia de inicialización Variables locales Características Las variables locales solo son accesibles desde los procedimientos del monitor Un proceso entra en el monitor haciendo uso de sus procedimientos Solo un proceso puede estar haciendo uso de los procedimientos del monitor en un momento dado 36

Gestión de Memoria

Gestión de Memoria: Introducción Introducción Necesidad Los procesos, para estar activos o preparados, deben residir en memoria principal. Los procesos no pueden saber cuanta memoria tienen disponible ni en que lugar de ella van a ser ubicados El Sistema Operativo debe gestionar todas las necesidades de memoria de los procesos Requisitos de gestión Reubicación Protección y Compartición 38

Gestión de Memoria: Requisitos Requisitos Reubicación El proceso no sabe en que lugar de memoria va a ejecutarse Mientras se está ejecutando un proceso puede ser intercambiado a memoria secundaria y luego regresar a memoria principal en un lugar diferente (swapping) Las referencias lógicas de memoria deben traducirse a direcciones físicas Protección y Compartición Los procesos no pueden referenciar zonas de memoria de otro proceso sin permiso En ocasiones es necesario que dos o más procesos utilicen las mismas zonas de memoria (para datos) 39

Gestión de Memoria: Partes de un proceso Partes de un proceso Bloque de Control del Proceso Instrucciones Zona de almacenamiento de datos del Proceso Zona de Memoria Especial 40

Gestión de Memoria: Técnicas Simples Técnicas Simples Sin Gestor de Memoria Toda la memoria física es asignada al proceso No hay control sobre la utilización de esta Cuando el proceso termina, la libera Monitor residente La memoria se divide en dos partes En una de ella se sitúan, de forma permanente, las rutinas del Sistema Operativo necesarias para gestionar los recursos La otra queda disponible para que la utilicen los procesos 41

Gestión de Memoria: Memoria Real Gestión de Memoria Real Particionado Estático La memoria disponible para procesos se divide (toda) en particiones en el arranque del sistema Del mismo tamaño De distinto tamaño Los procesos se asignan a cualquier partición disponible de igual o mayor tamaño Si todas están ocupadas podrá sacarse algún proceso de memoria principal (swapping) El uso de la memoria es ineficiente Fragmentación Interna: Debe darse la partición completa por lo que parte de esta quedará desaprovechada 42

Gestión de Memoria: Memoria Real Particionado Dinámico La memoria disponible para procesos se divide en particiones Conforme la van solicitando los procesos Se da al proceso el tamaño exacto de memoria que necesita Cuando un proceso termina, libera su partición. Los espacios liberados podrán volver a particionarse Un proceso necesita ocupar un espacio contiguo en memoria Problema Fragmentación Externa: Quedan espacios pequeños que no pueden ser aprovechados por ningún proceso Solución Compactación Algoritmos de ubicación Best Fit: Donde quepa mejor First Fit: El primero en que quepa Next Fit: El siguiente en que quepa 43

Gestión de Memoria: Memoria Real Sistema de los Colegas Se parte de toda la memoria disponible para los procesos como una sola partición Cuando un proceso solicita memoria se empieza a dividir por mitades hasta darle lo más cercano posible a sus necesidades Conforme van llegando procesos se realiza la misma operación con las particiones libres Cuando un proceso termina libera su partición y esta puede juntarse con su colega si esta también está libre. Así las veces que se pueda El Sistema Operativo mantiene una lista de bloques libres 44

Gestión de Memoria: Memoria Real Paginación Se divide la memoria en bloques de igual tamaño (pequeño y potencia de 2: 2 KB, 4 KB, ) La memoria que necesita un proceso se divide en bloques de ese mismo tamaño y se denominan Páginas Cada uno de los bloques en que se divide la memoria recibe el nombre de Marco de Página El Sistema Operativo asignará al proceso el número adecuado de Marcos, que podrán estar consecutivos o no. Para cada proceso se guarda una tabla de traducción entre las páginas del proceso y sus Marcos correspondientes Elimina la Fragmentación Externa Produce Fragmentación Interna 45

Gestión de Memoria: Memoria Real Paginación 46

Gestión de Memoria: Memoria Real Segmentación El proceso se divide en partes independientes, p.e. Código Variables Globales Variables Locales y memoria dinámica (montículo) Pila Se asigna una zona de memoria a cada una de estas partes. Cada una de esas partes se denomina Segmento. El segmento tiene exactamente el tamaño necesario El Sistema Operativo Guarda una tabla para cada proceso con información de en que posición de memoria se encuentra y cual es su tamaño. Elimina la Fragmentación Interna Genera Fragmentación Externa por lo que necesita Compactación 47

Gestión de Memoria Virtual Gestión de Memoria: Memoria Virtual Funcionamiento Se utiliza almacenamiento en memoria secundaria. Los procesos se dividen en partes. Para esta división pueden utilizarse técnicas de paginación, de segmentación o combinadas. Se sitúan partes del proceso en memoria virtual y se moverán a memoria real según se vayan necesitando (se genera una interrupción (Fallo de página) y el proceso pasa a bloqueado hasta que tiene lo necesario en memoria real) El conjunto de partes que se encuentran en memoria real se denomina Conjunto Residente Si es necesario se intercambiaran partes del proceso entre memoria real y virtual o se ampliará el tamaño del conjunto residente Se utilizan técnicas de ubicación para decidir que partes se intercambiarán. Se utilizan políticas de vaciado para eliminar partes de la memoria real 48

Gestión de E/S

Gestión de E/S Técnicas de E/S Programada El proceso que realiza la operación espera de manera activa a que termine. Dirigida por Interrupciones El procesador emite una orden de E/S y continua con otros procesos (o el mismo si no necesita esperar la finalización de esa operación) Cuando finaliza la operación, el módulo de E/S emite una interrupción para comunicárselo al procesador Acceso Directo a Memoria (DMA) Existe un módulo de DMA que gestiona la transferencia de datos entre el módulo de E/S y la memoria El procesador envía una petición de transferencia de un bloque al módulo DMA y solo se ve interrumpido cuando ha terminado de transferirse el bloque completo 50

Gestión de E/S Tipos de Dispositivos de E/S Orientados a Bloque La información se almacena en Bloques de tamaño fijo La transmisión se realiza por bloques completos Habitual en los dispositivos de almacenamiento Orientados a Flujo (o a Carácter) Se transmiten flujos de caracteres de longitudes variables Habitual en terminales, ratones, impresoras y dispositivos de comunicaciones 51

Gestión de E/S Configuraciones DMA DMA Independiente de bus sencillo Todos los módulos compartes el mismo bus DMA Integrada de bus sencillo Camino separado entre el módulo DMA y el de E/S Bus DMA Bus específico para el módulo DMA y los E/S 52

Gestión de E/S Almacenamiento Intermedio (Buffer) Sin buffer Comunicación directa entre Proceso y Dispositivo de E/S Buffer sencillo Se asigna un espacio en memoria principal para almacenar temporalmente la información. En otro momento se moverá hacia el proceso o hacia el dispositivo de E/S En dispositivos orientados a flujo se almacenan líneas completas En dispositivos orientados a bloque se almacena el bloque completo 53

Gestión de E/S Buffer Doble Se asignan, alternativamente, dos espacios en la memoria principal El sistema puede vaciar uno de ellos mientras se va rellenando el otro Buffer Circular Ampliación del modelo anterior a n espacios de memoria que se utilizarán en turno rotatorio. 54

Sistema de Ficheros

Sistema de Ficheros Introducción Modos de acceso Secuencial Aleatorio (indexado) Ficheros y Directorios Fichero es una agrupación de información bajo un nombre Un fichero es el elemento mínimo de almacenamiento de la información manejado por los usuarios Directorio es una agrupación de ficheros Los usuarios agrupan los ficheros en directorios siguiendo sus propias normas Los directorios pueden contener, a su vez, directorios dando lugar a una estructura jerárquica 56

Sistema de Ficheros Bloques Otros Nombres Clusters (MS-DOS) Unidades de Asignación (Windows) Agrupación de sectores Un bloque está compuesto de un número de sectores consecutivos El número de sectores es siempre potencia de 2 El Bloque es la cantidad de información mínima que se transfiere entre el dispositivo y el Sistema Operativo Ficheros y Bloques Un fichero ocupa cualquier número de bloques dependiendo de su tamaño Los bloques no tienen por que se consecutivos Los bloques se asignan completos a un fichero, no se puede asignar parte a un fichero y parte a otro Se produce Fragmentación Interna. 57

Sistema de Ficheros Tamaño del Bloque Según los criterios de Rendimiento y Fragmentación Interna: (Pocos) Ficheros Muy grandes Bloques Grandes (Muchos) Ficheros Muy Pequeños Bloques Pequeños Los Sistemas operativos pueden (y suelen) utilizar otros criterios para definir el tamaño del Bloque según: Tamaño de la zona de índice Tamaño de la partición 58

Sistema de Ficheros Sistemas de Ficheros más importantes MS-DOS Windows FAT (12, 16, 32) NTFS (3, 3.1) Unix Linux UFS (Unix File System) ext2, ext3, ext4 reiserfs, reiser4 Otros HPFS (High Performance File System; OS/2) HFS (MacOS) NFS (Network File System; Acceso por red) ISO9660 (CD) UDF (Universal Disk Format; DVD, CD) 59

Sistema de Ficheros FAT (File Allocation Table) Tipos FAT12: Original (Actualmente para Diskettes) FAT16: Hasta Windows 95 FAT32: Desde Windows 95 OSR2 Estructura Directorio Raíz Lista de ficheros y directorios del directorio raíz Atributos de cada fichero incluyendo: Primera entrada en la fat Tamaño FAT Lista de bloques utilizado por cada fichero Incluye bloques marcados como defectuosos Dos copias por seguridad Datos 60

Sistema de Ficheros Características FAT12 FAT16 FAT32 Tamaño Fichero 32 MB 2 GB 4 GB Tamaño Partición 32 MB 2 GB 8 TB Numero de Ficheros 4.077 65.517 268.435.437 Longitud Nombre Atributos 8.3; 255 (LFN) Archivo, Solo Lectura, Sistema, Oculto 61

NTFS (New Tecnologies File System) Tipos NTFS 2: Windows NT NTFS 3: Windows 2000 NTFS 3.1: Windows Server 2003, 2008, XP, Vista, 7 Comando fsutil fsinfo ntfsinfo d: para averiguar versión Comand convert d: /fs:ntfs para convertir de fat a ntfs Estructura MFT (Master File Table) Base de Datos relacional que almacena toda la información sobre ficheros y directorios Datos Sistema de Ficheros 62

Sistema de Ficheros Características ACL (Access Control List) Journaling Compresión y Cifrado de Ficheros NTFS3 Tamaño Fichero Tamaño Partición 16 TB 256 TB Numero de Ficheros 2 32-1 (4.294.967.295) Longitud Nombre 255 Atributos Archivo, Solo Lectura, Sistema, Oculto, Comprimido, Lectura, Escritura, Ejecución, Borrado, 63

Sistemas de Ficheros de Unix/Linux Sistema de Ficheros Tipos ext2 (1993) ext3 (1999): evolución de ext2 incluyendo journaling reiserfs (2001): Incompatible con ext2 o ext3, soporta journaling Estructura Tabla de i-nodos Lista de ficheros del sistema operativo Cada i-nodo contiene información sobre el fichero incluyendo: Tipo Permisos Propietarios Fechas Punteros a los bloques que utiliza Datos 64

Sistema de Ficheros Características ext2 ext3 reiserfs Tamaño Fichero 2 TB 2 GB 2 TB (según el tamaño del bloque) 8 TB Tamaño Partición 16 TB 2 TB 32 TB (según el tamaño del bloque) 16 TB Numero de Ficheros 2 18 Variable 2 32 Longitud Nombre 255 Atributos Permisos unix 65