UT 3: Sistemas operativos. Instalación PDF
Document Details
Uploaded by UnparalleledConnemara2177
SEMAS/INFORMATIVOS - 1º DAM
Álvaro Arrabal Esgueva
Tags
Summary
Estos apuntes presentan una introducción a los sistemas operativos, incluyendo una descripción de los diferentes tipos de software (software de sistema, software de programación y software de aplicación), una vista general de las funciones de un sistema operativo, y una breve descripción de los componentes de un sistema operativo como la gestión de procesos y memoria, virtualización, archivos, E/S, y demás.
Full Transcript
UT 3. SISTEMAS OPERATIVOS. INSTALACIÓN 1º DAM – Sistemas Informáticos UT 3: Sistemas operativos. Instalación 2 1.- SISTEMAS OPERATIVOS....
UT 3. SISTEMAS OPERATIVOS. INSTALACIÓN 1º DAM – Sistemas Informáticos UT 3: Sistemas operativos. Instalación 2 1.- SISTEMAS OPERATIVOS. INTRODUCCIÓN SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 3 1- Software. Tipos de Software 2- ¿Qué es un sistema operativo? 3- Componentes de un sistema operativo 4- Historia de los sistemas operativos 5- Funciones de un sistema operativo 6- Clasificación de los sistemas operativos 7- API (Interface de programación de aplicaciones) 8- Gestión de procesos 9- Gestión de memoria 10- Gestión de archivos 11- Gestión de E/S 12- Virtualización 13- Instalación de VirtualBox SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 4 1 Introducción Tipos de Software SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1. INTRODUCCIÓN 5 El software son programas que se ejecutan en el ordenador. Es la parte lógica de un sistema informático. ¿Qué es un programa? Es un conjunto de instrucciones. Una instrucción es una orden que se ejecuta sobre unos datos. TODAS las tareas que realizamos con un ordenador, son un conjunto de instrucciones que se ejecutan. Los programas tampoco son capaces de trabajar por si mismos. Necesitan de un software de apoyo muy especial que es el SISTEMA OPERATIVO. Sin él, el mejor equipo hardware sería un conjunto de componentes sin ninguna utilidad. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1. INTRODUCCIÓN 6 SISTEMA O BASE. Sistema operativo TIPOS DE SOFTWARE DE PROGRAMACIÓN. Lenguajes de SOFTWARE programación SOFTWARE DE APLICACIÓN- Aplicaciones SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1.2. TIPOS DE SOFTWARE 7 Software de sistema Sirve para administrar el equipo informático. En la actualidad, la mayoría proporcionan una interfaz gráfica. Es utilizado por un administrador de sistemas. Se pueden incluir dentro de este tipo de aplicaciones: El sistema operativo y Controladores o drivers (Software de Base) Herramientas de diagnóstico. Herramientas de Optimización. Otras utilidades de administración. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1.2. TIPOS DE 8 SOFTWARE Software de programación Son aplicaciones que permiten a un programador desarrollar sus propios programas informáticos haciendo uso de lenguajes de programación. Algunos ejemplos: Editores de lenguajes de programación Compiladores Intérpretes Depuradores Entornos de Desarrollo Integrados (IDE) SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1.2. TIPOS DE SOFTWARE 9 Software de aplicación Distintos tipos de programas que existen en el mercado destinados al usuario final. Los podemos clasificar: Programa de aplicación sectorial orientado a una clase de usuarios determinados: médicos, notarios, etc. Programas de aplicación funcional diseñado para un gran número de usuarios y se puede personalizar: nóminas, facturación, etc. Programas genéricos: tienen un carácter muy global y está enfocado a una gran diversidad de usuarios y actividades: procesadores de texto, hojas de cálculo, etc. Programas de ocio: juegos, etc. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación NIVELES CONCEPTUALES DE UN SISTEMA INFORMÁTICO 10 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1.3. ESTRUCTURA DE UN SISTEMA INFORMÁTICO 11 Los niveles conceptuales de un sistema informático: Nivel de Lógica digital: se corresponde con el hardware real de la máquina (dispositivos y circuitos electrónicos). Nivel de Microprogramación: En este nivel encontramos las microinstrucciones, son órdenes que realizan operaciones muy básicas como puede ser mover un dato entre dos registros,… SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1.3. ESTRUCTURA DE UN SISTEMA INFORMÁTICO 12 Nivel de Lenguaje máquina: es el nivel más bajo accesible por el usuario y se corresponde con: El conjunto de instrucciones que forman el lenguaje directamente interpretable por el hardware Los modos de direccionamiento Los tipos de datos Organización del subsistema de memoria Nivel de Sistema operativo: es el conjunto de programas que proporcionan facilidades a los niveles superiores en la gestión de los recursos del sistema Nivel de Lenguajes de alto nivel: son lenguajes de programación con alta abstracción respecto al hardware. (donde programamos) Nivel de aplicación: es el nivel más alejado de la realidad física SISTEMAS INFORMÁTICOS en – 1º el cual el usuario no tiene en cuenta losÁlvaro DAM niveles Arrabal Esgueva UT 3: Sistemas operativos. Instalación 13 Actividad 1 Busca Información en Internet y clasifica los siguientes programas como software de sistema, software de aplicación o software de programación. Netbeans OpenSuse LibreOffice ContaPlus Debian DasiClinic Monitor de Rendimiento de Windows MinGW SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 14 2 ¿Qué es un sistema operativo? SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 2. ¿Qué es un sistema operativo? 15 El sistema operativo constituye el software más importante de un sistema informático. Actúa como intermediario entre el usuario y el hardware del ordenador. Se encargará de la gestión y asignación de los recursos hardware. Los recursos a gestionar serán: procesador, memoria, periféricos y sistemas de archivos. Proporcionará una interfaz al usuario para que pueda usar el sistema con facilidad. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 16 3 Componentes de un sistema operativo SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 17 Un sistema operativo básicamente estará formado por: El núcleo Los servicios El intérprete de órdenes o Shell (la pantalla negra MD) SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 18 1. Núcleo / Kernel en linux: Es la parte del sistema operativo que interacciona directamente con el hardware del equipo. Al arrancar el ordenador se carga en memoria y se encarga de gestionar el procesador, la memoria, la E/S, etc. La gestión de los recursos la realiza en función de los servicios, es decir, si una aplicación necesita del uso de la memoria, esta aplicación realizará una llamada al sistema para alertar al gestor de memoria, éste se encargará de localizar las zonas ocupadas y finalmente el núcleo es el que entra en contacto con el hardware para que la acción se lleve a cabo. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 19 2. Los Servicios: ofrece servicios a las aplicaciones de usuario para que puedan utilizar los recursos hardware del ordenador. Existen diferentes gestores de servicios agrupados según su funcionalidad: Gestor de memoria: Parte del Sistema Operativo que se encarga de la gestión de la MP. Se encarga de conocer las partes de la misma que están libres u ocupadas, y de la asignación y liberación de los procesos. (cuando finalizamos una tarea en el administrador de tareas) Gestor de procesos: Se encarga de la gestión del procesador. Cuando ejecutamos un programa éste pasa a denominarse proceso (programa en ejecución). Se encarga de asignar qué proceso debe usar en qué momento el procesador. Y si existen recursos del sistemas accesibles por varios procesos, se encargará que no se produzca el acceso al mismo tiempo. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 20 Gestor de la E/S: Encargado de la gestión de los dispositivos periféricos. Gestor de archivos y directorios: Gestión del almacenamiento secundario. (El árbol de carpetas, las carpetas que existen, unas dentro de otras.) Comunicación y sincronización entre procesos: mecanismos para que los procesos puedan comunicarse entre sí. Seguridad: Conocer qué puede hacer cada usuario que accede al sistema, qué recursos puede usar. () 3. Shell o interprete de comandos: proporciona al usuario una interfaz por la que puede “hablar” con el PC haciendo uso de una serie de comandos. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 21 4 Historia de los sistemas operativos SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 22 Los sistemas operativos han evolucionado paralelamente a los ordenadores, por lo que se divide en generaciones de la misma forma en que se clasifican los ordenadores: Primera generación: tubos de vacío y tableros Segunda generación: transistores y sistemas por lotes Tercera generación: circuitos integrados y multiprogramación Cuarta generación: computadoras personales SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación PRIMERA GENERACIÓN (1943-1955) 23 TUBOS DE VACÍO Y TABLEROS En esta primera etapa (computadora ENIAC) no se hacía uso de ningún sistema operativo. Era el programador quien se encargaba de desarrollar el programa a código máquina. Se usaban las tarjetas perforadas para introducir el programa en el ordenador. Los resultados eran impresos o grabados en otras cintas perforadoras. Los trabajos se ejecutaban en serie. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación SEGUNDA GENERACIÓN (1956-1963) TRANSISTORES Y SISTEMAS POR 24 LOTES Aparecen los sistemas operativos por lotes (donde la secuencia de trabajo es en serie, pero se agrupaban las tareas del mismo tipo, formando lotes) SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación TERCERA GENERACIÓN (1963-1979) CIRCUITOS INTEGRADOS Y MULTIPROGRAMACIÓN 25 En este periodo distinguimos distintos tipos de sistemas operativos: SO MULTIPROGRAMACIÓN. Permiten mantener varios programas simultáneamente en memoria principal. El objetivo es mejorar la productividad del sistema ejecutando varios programas a la vez y mejorando el uso de recursos. SO DE TIEMPO COMPARTIDO. El sistema operativo comparte sus recursos con todos los usuarios del sistema de forma que asigna a cada uno de ellos tiempo de CPUs, memoria, etc. Esta operación es transparente al usuario. Es una forma de trabajar bastante habitual hoy día, incluso en arquitecturas cliente-servidor. SO EN TIEMPO REAL. Se construyen para tareas específicas y se utilizan para proporcionar tiempos de respuesta rápidos. (control de tráfico aéreo, de trenes, etc.) SO DE PROPÓSITO GENERAL O MULTIMODO. Es capaz de trabajar en lotes, multiprogramación, tiempo real o tiempo compartido. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación CUARTA GENERACIÓN (1980-ACTUALIDAD) ORDENADORES PERSONALES 26 Esta etapa se caracteriza porque aparecen los SO de propósito general. Se pretenden SO más fáciles de usar. Ej: Windows, Ubuntu… Aparecen los conceptos de redes de ordenadores, sistemas virtualizados y máquina virtual. Dentro de esta etapa podemos encontrar: SO orientados a usuarios finales. Sistemas operativos fáciles de usar. SO distribuidos. Es un sistema operativo común a varios equipos que mantienen comunicación a través de la red de tal manera que el usuario no sabe dónde se almacenan sus datos. Por ejemplo, la red de sucursales de un banco.(accedes mediante clave y contraseña, tus archivos se están ejecutando a través de la red u ordenador central. Puede haber un servidor central y el resto trabaja a través de el con los programas y datos del pc central) SO middleware. Es una evolución de los sistemas operativos distribuidos. Se denomina middleware a una capa de software que se ejecuta sobre un equipo que tiene un SO propio y que es la encargada de gestionar el sistema distribuido. SISTEMAS INFORMÁTICOSEn – 1º los DAM últimos años surge un nuevo concepto Álvaro de middleware Arrabal Esgueva UT 3: Sistemas operativos. Instalación 27 5 IMPORTANTE Funciones de un sistema operativo SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 28 Básicamente un sistema operativo debe gestionar los recursos hardware y proporcionar una interfaz adecuada para su uso por parte del usuario. Sus funciones principales son: La gestión del procesador: – Creación y finalización de procesos. – Control de recursos o secciones críticas. – Asignación y liberación de recursos críticos, accesibles por varios procesos. – Solucionar posibles bloqueos en el uso de recursos. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 29 La gestión de la memoria: – Reserva y liberación de la memoria. – Conversión de direcciones virtuales. – Comprobación del uso de la memoria. – Uso de memoria virtual.(cuando la ram se queda corta, se utiliza la memoria virtual del disco duro)imp La gestión del sistema de archivos: – Creación y eliminación de archivos y directorios. – Modificación de los ficheros y directorios. – Asignación y manejo de permisos de archivos. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 30 La gestión de E/S: – Coordinación de los procesos a los diferentes dispositivos de E/S. – Manejo de la memoria para el acceso directo del dispositivo. – Proporcionar interfaz entre sistema y dispositivo. – Proporcionar interfaz entre usuario y dispositivo. La interfaz de usuario: – Proporcionar un entorno en el que el usuario pueda comunicarse con el sistema operativo a partir de comandos (intérprete de comandos).(cmd pantalla negra) – En los sistemas operativos actuales se proporciona Interfaces Gráficas de Usuario (GUI) intuitivas y fáciles de usar. La interfaz para el uso de aplicaciones: – Proporcionar una interfaz con funciones para ser usadas en el desarrollo de aplicaciones y que puedan hacer uso de los recursos (API). SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 31 6 Clasificación de los sistemas operativos SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 32 Hay diferentes formas de clasificar los sistemas operativos: Por el modo de administración de usuarios: Monousuario y multiusuario. Por el modo de administración de tareas: Monotarea y multitarea. Por el número de procesos: Monoproceso y multiproceso. Según su estructura Según su disponibilidad SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 33 Por el número de usuarios: Sistemas monousuario: son aquellos en los que solo puede haber un usuario en el sistema en un momento determinado. Un ejemplo es MS-DOS (parecido al cmd, se iniciaba el pc desde la pantalla negra, solo permitia un usuario) Sistemas multiusuario: pueden dar servicio a más de un usuario simultáneamente. Ejemplo: Windows 10 Por el número de tareas: Monotarea: solo permiten una tarea a la vez por usuario. Multitarea: en estos sistemas se pueden ejecutar varias tareas simultáneamente. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 34 Por el número de procesos: Monoproceso: son los que únicamente permiten ejecutar un proceso a la vez. Un sistema multitarea puede ser monoproceso: solo ejecuta un proceso en un momento determinado pero alterna muy rápidamente entre los diferentes procesos. Multiproceso: estos sistemas pueden aprovechar las capacidades de los microprocesadores multinúcleo y multihebra para ejecutar simultáneamente varios procesos. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación SEGÚN LA FORMA DE OFRECER LOS SERVICIOS 35 Sistemas centralizados: en estos sistemas toda la carga de trabajo la lleva un mainframe (super ordenador) al que se conectan los usuarios mediante terminales tontos. Ej. Las películas de Netflix están en un servidor no en nuestra propia cuenta. Los juegos online. Sistemas distribuidos: son sistemas que funcionan en varios equipos como si fuera uno solo, realizando las tareas de forma distribuida entre todos ellos. Algunos ejemplos de estos sistemas son: Amoeba, Mach, Chorus, Spring,…se utilizan para cotejar grandes cantidades de datos. Tienen un conjunto de pc, y entre todos con un sistema operativo distribuido hace que todos trabajen al unísono en una tarea. Sistemas operativos en red: son sistemas operativos que permiten compartir recursos entre diferentes máquinas a través de la red. Ejemplo: Windows Server, Linux Server,…(desde el window server del profesor puedo gestionar los Windows 10 del resto de pc de la clase por ejemplo, otorgar o denegar permisos, etc.) Sistemas operativos de escritorio: son los sistemas operativos utilizados en los equipos de sobremesa, estaciones de trabajo o portátiles. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación SEGÚN SU ESTRUCTURA 36 - Sistemas operativos Monolíticos Un solo programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra.es un gran bloque, todo esta programado a la vez. Ejemplos: MS-DOS y UNIX. - Sistemas operativos Estructurados Estructurados por capas Varias capas, cada una de ellas con una funcionalidad y ofreciendo servicios a la que está justo por encima de ella. (se divide el problema en diferentes capas, una gestiona hardware, otra memoria, cpu, y se coordinan entre ellas) Cliente-Servidor Sólo las funciones esenciales en el micro núcleo (gestión básica de procesos, interrupciones, memoria, comunicación procesos) Las aplicaciones de usuario funcionan como clientes El resto de funciones se implementan como servidores (gestor de memoria, gestor de procesos, etc.) Los componentes intercambian mensajes para comunicarse SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 37 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación SEGÚN SU DISPONIBILIDAD 38 Sistemas operativos libres: son aquellos sistemas operativos que garantizan las cuatro libertades del software : Puede ejecutarse siempre que se quiera y con los propósitos que el usuario quiera. Acceso al código fuente para su estudio o modificación. Libertad de distribuir copias del software. Posibilidad de mejorar el software y compartir las mejoras con otros usuarios. Sistemas operativos propietarios: son aquellos que son propiedad intelectual de una empresa. Normalmente esto implica que se necesitan licencias de uso para que el usuario ejecute el software y no se dispone de acceso a su código fuente. Incumplen alguna de las libertades indicadas. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación TIPOS DE LICENCIA DE SOFTWARE 39 Antes de conocer los distintos tipos de licencias tanto para software libre como propietario entendamos los siguientes conceptos: Licencia: Contrato entre el desarrollador del software y usuario donde se establecen los derechos y deberes de ambos. Patente: Derechos garantizados por un gobierno al inventor de un producto. Derecho de autor o copyright: Forma en la que las leyes actuales protegen las obras originales. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 40 LICENCIA DE SOFTWARE LIBRE Licencia Pública General de GNU (GNU General Public License o GNU GPL): licencia creada por Free Software Foundation en 1989. Esta licencia protege las cuatro libertades de software libre: libertad de uso, distribución, modificación y mejora de software. LICENCIA DE SOFTWARE PROPIETARIO Cuando adquirimos un software propietario tenemos que tener en cuenta que éste está protegido por unos derechos de autor y quien lo compre debe someterse a ellos. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 41 DIFERENTES TIPOS DE LICENCIA DE SOFTWARE PROPIETARIO CLUF (Contrato de Licencia para Usuario Final) o EULA (End User License Agreement). El autor del software decide qué se puede hacer con él. OEM (Original Equipment Manufacturing o Fabricante de Equipos Originales). Licencias que se tiene al adquirir equipos con una versión del sistema operativo o software preinstalado. Licencia de producto empaquetado. En la caja del producto aparece el contrato de licencia de uso. Licencias por volúmenes (por ejemplo, Open License, Select License o Enterprise Agreement). permite ejecutar el software en múltiples computadoras dentro de una única empresa, de manera fácil y accesible. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación Actividad 42 Busca información sobre los sistemas operativos de la tabla para poder rellenarla de acuerdo a los tipos de SO vistos Organizac Tiempo Uso de Nª de Nº de Nº de ión de memoria usuario procesadore tareas del respuesta s s núcleo UNIX Windows 10 Windows 2019 Server MS-DOS Windows XP Ubuntu Server Debian SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 43 7 API (Interface de programación de aplicaciones) ES UN PROGRAMA PARA CREAR APLICACIONES PARA EL SO SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación API (INTERFACE DE PROGRAMACIÓN DE APLICACIONES 44 Un sistema operativo proporciona servicios que pueden ser accedidos por los programas a través de las APIs o interfaz de programación de aplicaciones. NO IMPORTANTE ESTE CUADRO SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 45 8 Gestión de Procesos SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación A. PROCESO 46 Un proceso es un programa en ejecución. Se compone de código, datos y pila, cargados en memoria, consume recursos del sistema: tiempo de CPU, memoria RAM, E/S, archivos, etc… Un programa es un fichero ejecutable que contiene un conjunto ordenado de instrucciones y está almacenado en memoria secundaria (disco duro). Un programa es una entidad pasiva mientras que un proceso es una entidad activa. Los sistemas de computación actuales permiten cargar múltiples programas en memoria y ejecutarlos de forma concurrente (multiprocesamiento o multiprogramación). SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación GESTIÓN DE PROCESOS A. CARGA DEL PROGRAMA EN MEMORIA 47 MEMORIA DISCO PRINCIPA L Proceso c:\winword.exe 2 2. Orden de ejecutar 3 1 el programa 3.El SO crea el proceso: 1. El programa está proceso 3 lo carga en memoria en un fichero lo prepara para ejecutarlo En el ordenador habrá varios proceso 2 procesos ejecutándose. 4.El SO crea un bloque (BCP, 4 bloque de control de proceso) con proceso 1 la información que identifica a cada MEMORI proceso que se está ejecutando. A Sist. oper. SISTEMAS INFORMÁTICOS – 1º DAM PRINCIP Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación A. PROCESO 48 S.O. se encarga de: ⁻ Crear y terminar procesos. ⁻ Suspender y reanudar los procesos. ⁻ Proporcionar mecanismos para la sincronización de procesos ⁻ Proporcionar mecanismos para la comunicación entre procesos. Para ello, el SO debe tener controlado en cada momento el código cargado en memoria de cada proceso, los datos con los que trabaja, información sobre su estado actual. Esta información se almacena en el PCB ( bloque de controlPID:delIdentificación proceso).. del proceso. Nombre del fichero que tiene el programa Usuario que lo está ejecutando Estado actual del proceso: preparado, en ejecución, bloqueado Prioridad del proceso Memoria asignada Recursos asociados: ficheros, etc. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación ESTADO DE UN PROCESO 49 Estado de un Proceso: situación en la que se encuentra. Estados de un proceso importante saber los estados de un proceso – Nuevo: Primer estado de un proceso. Ocurre cuando el gestor de procesos esta creando todas las estructuras del proceso. – Listo o preparado: Los procesos que están preparados y esperan a que se les asigne el procesador. – Ejecución: El procesador está ejecutando las instrucciones del proceso. A este estado sólo se llega desde el estado de listo. – Bloqueado: El proceso está detenido esperando que finalice el evento que ha provocado que pase a este estado, por ejemplo, una operación de E/S. Una vez producido esto, pasa de nuevo al estado de listo. Por ejemplo cuando pedimos al usuario un dato por escaner, esta en estado bloqueado hasta que el us introduce el dato. – Terminado: El proceso ha finalizado y el gestor de recursos libera todos los recursos que tenía asignados. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación CICLO DE VIDA DE UN PROCESO 50 En Terminado ejecución Termina Planificador Interrupción Espera un evento (parte del SO) Ocurre el evento Bloquead Preparado o Ejecutar el programa: se crea el proceso Nuevo SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación C. CAMBIO DE CONTEXTO 51 Tenemos UNA CPU y varios procesos: La CPU dedica un poco de tiempo a cada proceso Cada proceso tiene que continuar exactamente donde había terminado. Para eso, cuando cambia de proceso, la CPU tiene que cambiar de contexto, es decir: Guardar el estado del proceso: contenido de los registros de la CPU, etc. Cargar los registros del nuevo proceso Ejemplo: p1 p3 p2 p1 p3 p2 p1 p3 tiempo de CPU cambio de contexto SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación D. DIFERENCIAS ENTRE PROCESO E HILO 52 Un hilo es una pequeña unidad de ejecución en un proceso. Es más rápido cambiar de contexto entre dos hilos que entre dos procesos, porque los hilos son del mismo programa y utilizan los mismos datos. En los sistemas operativos actuales los procesos son multihilo. Un hilo es la unidad mínima de utilización de CPU, con lo cual contiene su PID (o identificador de proceso), su contador de programa, sus registros y pila. Los hilos comparten con otros hilos del mismo proceso principalmente la sección de datos y de código. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 53 Ejemplo: Un servidor web acepta solicitudes de los clientes que piden páginas web. Si este servidor tiene varios clientes y funciona con un solo hilo de ejecución, solo puede dar servicio a un cliente cada vez, y el tiempo que un cliente tendría que esperar para ser atendido podría ser muy grande. Una posible solución sería que el servidor funcione de tal manera que acepte una solicitud cada vez, y que cuando reciba otra solicitud, cree otro proceso para dar servicio a la nueva solicitud. Pero crear un proceso lleva tiempo y utiliza muchos recursos, entonces, si cada proceso realiza las mismas tareas ¿Por qué no utilizar hilos? Generalmente es más eficiente usar un proceso que utilice múltiples hilos (un hilo para escuchar las solicitudes, y cuando llega una solicitud, en vez de crear otro proceso, se crea otro hilo para procesar la solicitud. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación TIPOS DE PLANIFICACIÓN DE LA CPU 54 DOS MÉTODOS:: No expulsivas, no apropiativa. El sistema operativo no controla la ejecución. El proceso no deja libre la CPU y no da paso a otro proceso hasta que no finalice su ejecución o pase al estado de bloqueado. SOLO EJECUTA UN PROCESO A LA VEZ Peligro: ¿y si el proceso no deja la CPU? Expulsiva (pre-emptive) o apropiativa El sistema operativo controla la ejecución. Más seguro. Cada proceso podrá utilizar la CPU un tiempo. Para cambiar de proceso se utilizan interrupciones. Motivos para abandonar la CPU: La llegada de un nuevo proceso Cuando se bloquea el proceso en ejecución. Cuando termina su periodo de tiempo asignado (quantum) SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación ALGORITMOS DE PLANIFICACIÓN 55 FCFS (FIFO) SJF SRT Round-Robin Prioridades Otros SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1- ALGORITMOS DE PLANIFICACIÓN: FCFS 56 Primero en llegar primero en ser servido (First Come First Served) EL QUE 1º LLEGA 1º SE LE ATIENDE Es el algoritmo más simple, cuando se crea un proceso se coloca al final de la cola de preparados. Cuando el procesador queda libre el planificador coge el primero de la cola. Ventaja: – Es muy rápido en su ejecución. Inconveniente: – Tiempos de espera muy largos. – Se perjudica a los procesos cortos precedidos por procesos largos. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 1- ALGORITMOS DE PLANIFICACIÓN : FCFS 57 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 2- PLANIFICACIÓN: SJF (SHORT JOB FIRST) 58 Se ejecuta primero el proceso más corto. Se elige el proceso en función de su duración (es decir, el más corto). Si hay dos procesos que duren lo mismo, se elige el primero que llegó (FCFS). Se ejecuta un proceso hasta que termina. Inconvenientes: No apropiativo !!! El sistema no puede interrumpir a un proceso hasta que termine!!! Normalmente no se sabe de antemano cuánto va a tardar un proceso. Ventajas: Los procesos cortos no tienen que esperar tanto. CPU p1 (1) p4 (4) p3 (5) p2 (10) Procesos: en estado “preparado”, ordenados según el tiempo que necesitan (de menor a mayor) SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 59 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 3- PLANIFICACIÓN: SRTF - Short Remaining Time First 60 (PRIORIDAD AL TIEMPO RESTANTE MÁS CORTO) Se ejecuta primero el proceso más corto. Se ejecuta un proceso hasta que llega otro proceso más corto. Es la versión expropiativa de SJF. Si llega un proceso más corto que el tiempo que le queda al proceso que se está ejecutando, se interrumpe el proceso que se estaba ejecutando y pasa a ejecutarse el nuevo proceso. Ventajas: Los procesos cortos no tienen que esperar tanto. Desventajas: El planificador debe intervenir cada vez que llegue un proceso más corto. Los procesos largos quedan postergados para su ejecución. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 61 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación E.4. PLANIFICACIÓN: ROUND 62 ROBIN Cada proceso tiene asignado un tiempo de ejecución, llamado quantum. Se ejecuta un proceso hasta que termine el quantum, si no termina antes. Inconvenientes: Si el quantum es muy grande se convierte en el algoritmos FCFS. Si el quantum es más pequeño se producen más cambios de contexto. Ventajas: Expulsivo: el sistema operativo tiene el control de la CPU. Más justo. Ventajas y desventajas no importante CPU p1 (1) p2 (10) p3 (5) p4 (4) SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación E.4. PLANIFICACIÓN: ROUND ROBIN 63 quantum=20 1 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 64 1. Supongamos que los siguientes trabajos llegan para ser procesados en los momentos indicados. Cada trabajo se ejecutará durante el tiempo que se indica. ¿Cuál es el tiempo de retorno y de espera para esos trabajos en cada uno de los siguientes algoritmos?: a. FCFS. b. SRTF. c. SJF. d. Round Robin con q=2. e. A la vista de los resultados ¿qué conclusiones puedes sacar? Trabajos Instante de Tiempo de llegada servicio A 0 3 B 2 10 C 3 1 D 7 5 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 65 Tiempo medio de espera = (2+7+2+5)/4=16/4=4 Tiempo medio de retorno = ROUND ROBIN (5+17+3+10)/4=35/4= quantum=2 8,7 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación CONCURRENCIA 66 Definición de concurrencia -> “coincidir en el espacio o en el tiempo dos o más personas o cosas”. Dos procesos que se gestionan a la vez. En informática se habla de concurrencia cuando se ejecutan varios procesos a la vez (multiprogramación o multitarea). Cuando se ejecutan varios procesos a la vez, es posible, que estos compartan uno o varios recursos del sistema (monitor, memoria….) OBJETIVO DEL SO: Permitir que varios procesos compartan recursos sin que se produzcan problemas. Se habla de paralelismo cuando existe una ejecución simultánea de instrucciones de los diferentes procesos, por lo cual es necesario que exista más de una CPU (multiproceso). Exactamente al mismo tiempo Todo sistema SISTEMAS paralelo INFORMÁTICOS es – 1º DAM un sistema concurrente pero no al contrario. Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación CONCURRENCIA 67 Ventajas de la ejecución de procesos concurrentes: Compartir recursos del sistema para lograr una mayor productividad del sistema. Mejor aprovechamiento de la CPU. Agilizar la ejecución de programas mediante la descomposición de las tareas a realizar en subtareas más simples. Mayor comodidad para los usuarios puesto que ahora podemos ejecutar un programa mientras otro se ejecuta con lentitud debido a que está realizando muchas operaciones de E/S. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación SINCRONIZACIÓ 68 N En los sistemas multitarea se ejecutan a la vez varios procesos. A la mayoría de los recursos solo puede acceder un proceso a la vez. La sincronización garantiza que solo un proceso pueda acceder a ese recurso en un momento dado. El sistema operativo da a los procesos acceso exclusivo a los recursos que necesitan y que sólo pueden ser utilizado por un proceso a la vez. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación SINCRONIZACIÓ 69 N Los procesos pueden ser: saber la diferencia y el concepto de ambos Independientes: se pueden ejecutar a la vez pero no interfieren el uno con el otro. Cooperantes: comparten algunos recursos. Es importante el orden en el que se ejecutan porque se podrían provocar situaciones peligrosas si entre los procesos se comparten recursos y no existe ningún tipo de sincronización. dos procesos distintos ejecutados a la vez. Tienen que están coordinados. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación G. SINCRONIZACIÓN 70 Ejemplo de procesos independientes: Imaginemos que un usuario tiene lanzados los siguientes cuatro procesos: un navegador (A), un editor de texto (B), un reproductor MP3 (C) algún juego que permita llevar el trabajo con cierta alegría (D). Estos procesos compiten por el uso de los recursos del ordenador en el que se ejecutan y son independientes en el sentido de que entre ellos no existe ninguna necesidad de comunicación. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación G. SINCRONIZACIÓN 71 Ejemplo de procesos cooperantes: Se podría pensar en dos procesos A y B : el proceso A captura imágenes de una cámara conectada al ordenador y las almacena en un búfer compartido y el proceso B extrae la imagen de dicho búfer, la procesa (ejemplo: extracción de los bordes de la imagen) e imprime el resultado. Se trata de un claro ejemplo de procesos concurrentes cooperativos en el computador. Cuando se habla de procesos concurrentes cooperativos existe la necesidad de comunicación y sincronización entre los mismos SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación Sincronización 72 Ejemplo de procesos cooperantes: Dos personas que viven juntas. Puede darse la siguiente situación de procesos cooperantes, en los que haría falta mayor sincronización: Persona A Persona B 9:50 Llega a casa 10:10 Llega a casa 10:00 Mira en la nevera. No 10:20 Mira en la nevera. No hay leche. hay leche. 10:10 Va a la tienda 10:30 Va a la tienda 10:20 Llega a la tienda 10:40 Llega a la tienda 10:30 Sale de la tienda 10:50 Sale de la tienda 10:40 Llega a casa y guarda 11:00 Llega a casa y ¡¡¡ya la leche hay leche!!! SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 73 9 Gestión de Memoria SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación INTRODUCCIÓN 74 La parte del sistema operativo que administra la memoria principal se llama gestor de memoria y se encarga de: Llevar el control de las partes de memoria usadas en cada momento y de quién las usa. Decidir qué procesos o datos se cargan o se liberan de la memoria (junto con los planificadores correspondientes) Asignar y liberar espacio de memoria conforme se necesite. Proteger el espacio de direcciones de memoria de cada SISTEMAS INFORMÁTICOS proceso – 1º DAM de accesos indebidos de Álvaro otros Arrabal Esgueva UT 3: Sistemas operativos. Instalación CONCEPTOS 75 Algunos conceptos importante relacionados son: Fragmentación: La fragmentación se produce cuando los procesos asignados han ocupado posiciones no contiguas de memoria dejando demasiados bloques libres de pequeño tamaño, en los que no "caben" nuevos procesos. Imp. Cuando hay huecos no aprovechados. Protección: propiedad por la que se asegura que un proceso no accede a la zona de memoria donde está el SO ni a zonas de otros procesos. Tenemos una parte de la memoria protegida para un proceso y no lo puede usar otro proceso.posibilidad Compartición: Esta reservado. de tener zonas de memoria a las que accede más de un proceso Memoria compartida. Compartir memoria con varios procesos SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación MÉTODOS DE ASIGNACIÓN DE 76 MEMORIA ASIGNACIÓN DE MEMORIA CONTINUA O CONTIGUA. Los trozos de memoria se van cogiendo de forma continua, en orden. Particiones estáticas. Particiones dinámicas ASIGNACIÓN DE MEMORIA NO CONTINUA O NO CONTIGUA. Coge trozos de memoria de manera no contigua, no va en orden. Paginación divide la memoria en parte iguales del mismo tamaño Segmentación Memoria virtual SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación ASIGNACIÓN DE MEMORIA CONTINUA. 77 PARTICIONES ESTÁTICAS ASIGNACIÓN DE MEMORIA CONTINUA Un proceso se ubica en su totalidad en posiciones consecutivas de memoria. Existen dos métodos: Particiones estáticas y dinámicas. Particiones estáticas: se divide la memoria ram en espacios que el SO cree que va a necesitar los procesos. El SO crea fragmentación interna. El so crea la memoria en trozos fijos de memoria, el espacio que se desperdicia es fragmentación interna Esta forma de gestión consiste en dividir la memoria en varias zonas, pudiendo ser cada zona de un tamaño diferente. El número de estas zonas y sus tamaños se definirá al iniciar el sistema y quedarán fijados para toda la sesión. Cuando tenga que iniciar un programa, el planificador de trabajos del sistema le asignará una partición que pueda contenerlo. Se seleccionará según un algoritmo o criterio de selección. Se produce fragmentación interna. Consiste en el desperdicio de memoria donde el sistema operativo no sabe que existen direcciones en la memoria sin utilizar. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación EJEMPLO DE SISTEMA DE PARTICIONES 78 ESTÁTICAS EN MEMORIA Ejemplo: Se tiene una memoria de 100 kB dividida en 5 partes de 20KB, 10KB, 30KB, 15KB y 20 KB. Los procesos que se cargan son: Libre Libre Libre Libre (5KB) (5KB ) (5KB ) (5KB ) Proceso A de 30 20K Proceso KB Proceso Proceso Proceso B C Proceso B de 15K Proceso C C E 15KB B B Proceso Proceso 30K Proceso Proceso Proceso Proceso C de B A B Proceso B B B 15KB 10K Proceso A Termina A B 20K A Proceso D de 15KB B Termina C Libre Libre Libre Proceso E de 5kB 5kB 5kB 15KB Proceso Proceso Proceso D D D SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación ASIGNACIÓN DE MEMORIA CONTINUA. PARTICIONES 79 DINÁMICAS En este método se va asignando la memoria dinámicamente a los procesos, conforme se introducen en la memoria. A cada proceso se le asigna exactamente la memoria que necesita. A medida que van saliendo procesos y llegando otros aparecen huecos inutilizados (fragmentación externa) la produce los procesos. Se produce fragmentación externa Para solucionar la fragmentació n externa COMPACTACI ÓN Desplazar todos los procesos hacia la parte inferior de la memoria. Elimina los huecos SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación ASIGNACIÓN DE MEMORIA CONTINUA. 80 PARTICIONES DINÁMICAS Cuando en un sistema de particiones dinámicas se debe asignar memoria principal para un nuevo proceso, y los procesos y huecos se mantienen en una lista ordenada por direcciones, se pueden utilizar diversos algoritmos para la elección del hueco de memoria donde ubicar al proceso. Supongamos que se conoce la cantidad de memoria por asignar: El algoritmo más simple es el primero en ajustarse (first fit). Se revisa la lista de huecos hasta encontrar un espacio lo suficientemente grande. Este algoritmo es rápido, ya que busca lo menos posible. El primer hueco en el que encajes entras. Si ocupa 15 y tenemos un espacio de 20k entra ahi Otro algoritmo es el mejor en ajustarse (best fit), el cual busca en toda la lista, y elige el mínimo hueco suficientemente grande como para ubicar al proceso. Este algoritmo intenta que los huecos que se creen en la memoria sean lo más pequeños posible. Entra en el hueco que mejor le ajuste, intenta dejar el mínimo espacio sobrante. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación No siguen un orden contiguo UBICACIÓN NO CONTIGUA. 81 Se utilizan dos formas de asignar la memoria RAM a los procesos: Paginación, el programa se divide en páginas del mismo tamaño. Si un programa necesita 2 paginas las coge.es un tamaño fijo Segmentación, divide el programa en sus unidades lógicas (instrucciones, pila, datos, …) en segmentos de tamaño variable. Cada parte del programa necesita un tamaño, y lo va cogiendo de la memoria. Es un tamaño variable. Pueden darse las dos opciones, paginación y segmentación. Los programas manejan direcciones lógicas y el gestor debe calcular la dirección física o real. Dirección física de memoria. Es la ubicación en memoria principal. Son las direcciones donde se ubica realmente el programa en memoria principal. Dirección lógica de memoria. Es la dirección de memoria asignada por la CPU en la ejecución del programa. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación PAGINACIÓN 82 Se basa en dividir la RAM en zonas iguales llamadas frames/marcos y el código en partes iguales llamadas páginas. La capacidad de la página y del marco son iguales, cada página se almacenará en un marco. Pero los marcos asignados a un proceso no tienen por qué ser consecutivos. Ventajas: Se elimina la fragmentación externa. Los procesos pueden estar almacenados en zonas no contiguas de la memoria. Paginación por demanda: Sólo se cargan las páginas que se van a utilizar. MP SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación PAGINACIÓN 83 El SO internamente mantiene una tabla de páginas donde relaciona cada página cargada en memoria principal con el frame que la contenga, o lo que es lo mismo con su dirección inicial en memoria real. Cada dirección que genere el procesador, será dividida en dos componentes: Un nº de página (p) Un desplazamiento en la página (d) que indica la posición que ocupa el Byte indicado por la dirección, contando desde el principio de la página. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación PAGINACIÓN 84 Ubicar un proceso de N páginas consiste en encontrar N marcos de páginas libres Fragmentación interna: la página de código puede ocupar menos que el marco. Es la memoria interna al marco que se desaprovecha. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación PAGINACIÓN 85 Cuando la memoria principal está llena de páginas y es necesario cargar una nueva deberemos seguir algún criterio para sacar una de las que ya están cargadas. Algoritmos de reemplazamiento. Algoritmo FIFO: el más sencillo, cuando se necesita sustituir una página se elige aquella que lleve más tiempo en memoria. Algoritmo LRU (Least Recently Used): se basa en sustituir aquella página que haya sido usada menos recientemente. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación SEGMENTACIÓN 86 El programa se divide en segmentos, de tamaño variable que se corresponden con sus unidades lógicas (instrucciones, pila, datos, …). Fragmentación externa: como los segmentos son de tamaño variable, puede suceder con el tiempo que los bloques de memoria que van quedando libres sean pequeños y no se puedan usar. La fragmentación externa se puede solucionar haciendo una compactación o desfragmentación. La compactación se realiza reubicando los procesos cargados en memoria para que estén contiguos. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación SEGMENTACIÓN- PAGINACIÓN 87 La paginación evita la fragmentación externa y la segmentación permite manejar tamaños variables, para combinar las ventajas de ambas, se puede combinar segmentación con paginación. Se denominan sistemas de segmentación paginada cuando los segmentos de un proceso se dividen en páginas. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación MEMORIA VIRTUAL 88 La memoria virtual es la parte del disco duro que se utiliza para intercambio con la memoria principal cuando ésta está muy llena, con el fin de poder seguir utilizando el sistema. cuando la memoria ram se queda sin espacio, coge espacio de la memoria virutal. En el caso de Windows la parte de disco utilizada para intercambio con la MP depende de que haya espacio libre en el disco. Puede ocurrir que el disco esté tan lleno que la gestión sea imposible. En el caso de Linux, la parte de disco utilizada para intercambio con la MP se establece en la instalación como SISTEMAS INFORMÁTICOS zona swap, y está reservada para – 1º DAM eseArrabal Esgueva Álvaro UT 3: Sistemas operativos. Instalación 89 10 Gestión de Archivos SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación GESTIÓN DE ARCHIVOS. DIRECTORIOS DE ARCHIVOS 90 Un archivo o fichero informático es una secuencia de bytes que son almacenados en un dispositivo. Un archivo es identificado por un nombre. Documento1.doc Los directorios son una agrupación lógica de archivos u otros directorios (subdirectorios). Las carpetas de windows SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación GESTIÓN DE ARCHIVOS 91 El Gestor de archivos tiene las siguientes funciones: – Administración de archivos: funciones para la manipulación de los archivos y directorios. – Crear, abrir, guardar, renombrar y borrar archivos. – Crear, abrir y borrar directorios. – Copiar archivos y directorios en otras ubicaciones – Administración del almacenamiento secundario Asigna espacio a los archivos en los dispositivos de almacenamiento secundario (discos duros, CD-DVD, memorias flash). – Mecanismos de integridad Proporciona mecanismos para que la información almacenada en un archivo no desaparezca. – Métodos de acceso Definen la forma en que se puede acceder a la información de un archivo. Que el.doc se abra con Word por ejemplo SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 92 11 Gestión de E/S SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación GESTIÓN DE E/S 93 Un propósito del SO es ocultar los detalles de los dispositivos hardware de E/S (periféricos) al usuario El gestor de E/S se encarga de: – Planificar las peticiones de E/S para mejorar el rendimiento. – Gestión de errores. – Adaptar la velocidad para que puedan comunicarse dispositivos que funcionan a velocidades diferentes. La ram va mas rápido que el disco duro, esto hace que se sincronicen Conceptos: Buffering: almacenamiento en MP de datos temporalmente en transferencias de E/S. va cogiendo espacio en la memoria ram sobre las transferencias de los periféricos. Se coge mas espacio del que se prevé que se va a necesitar. En youtube, la barra gris de precarga antes de visualizar el video. Caching: caché del dispositivo de E/S de rápido acceso donde se almacenan los datos a enviar o a recibir. Ej: caché de disco. Guardas en la memoria SISTEMAScache lo que– te INFORMÁTICOS han pedido para que funcione de manera mas rápida. 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación GESTIÓN DE E/S. PETICIONES DE E/S 94 Las 2 técnicas más usadas para realizar operaciones de E/S son: – E/S por Interrupciones – E/S mediante acceso directo a memoria (DMA) SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación GESTIÓN DE E/S POR INTERRUPCIONES 95 El procesador envía la orden de E/S al controlador del dispositivo y se despreocupa mientras realiza otra tarea. Cuando el controlador termina la operación de E/S manda una interrupción al procesador modificando el registro correspondiente del procesador - El procesador comprueba este registro periódicamente. – Si detecta una interrupción se determina qué dispositivo ha lanzado la interrupción – Y realiza las operaciones necesarias para tratar la interrupción El procesador sigue siendo responsable de extraer o almacenar en memoria SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación GESTIÓN DE E/S POR DMA (Acceso Directo a Memoria) 96 Los dispositivos se comunican directamente con la memoria sin intervención del procesador. El procesador da la orden al módulo DMA y realiza otra tarea. El módulo DMA realiza la transferencia de un bloque de datos cuando consiga el bus del sistema Cuando el módulo de DMA acaba envía una interrupción SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 97 12 Virtualización SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación CONCEPTOS EN VIRTUALIZACIÓN 98 - Con las máquinas virtuales podemos mantener varios sistemas operativos bajo un mismo equipo sin particionar el disco duro. - Su uso es cada vez más frecuente, por ejemplo, en servidores web que ofrecen alojamiento tanto en Windows como en Linux. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación ¿QUÉ ES LA VIRTUALIZACIÓN? 99 Virtualizar se puede interpretar como simular el funcionamiento de un elemento tecnológico real mediante software específico para tal fin. Ejemplo: si virtualizamos un PC estamos simulando mediante software el funcionamiento de un PC SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 100 Cuando usamos máquinas virtuales tenemos: - Un PC con un sistema operativo instalado llamado sistema operativo anfitrión. - Unos recursos hardware disponibles: CPU, memoria, disco y red. - Una capa software llamada VMM (Virtual Machine Monitor) o Hypervisor que se encuentra entre el hardware y el sistema operativo de la máquina virtual, de forma que consigue abstraer los recursos de la máquina para que sean distribuidos por todas las máquinas virtuales instaladas, es decir, el sistema operativo huésped. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación TIPOS DE VIRTUALIZACIÓN 101 Virtualización de hardware: Es el más complicado de conseguir. Consiste en emular los elementos físicos del PC host o anfitrión. De este modo, el sistema operativo huésped no se ejecuta sobre el hardware real de la máquina, sino sobre el hardware virtual creado. La virtualización de hardware permite emular diferentes arquitecturas hardware. NO ES NECESARIO SABER ESTO, ENTENDER EL CUADRO SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación TIPOS DE VIRTUALIZACIÓN 102 Virtualización a nivel de Sistema Operativo: en esta virtualización disponemos de hardware real y un único kernel del sistema operativo anfitrión que usarán todos los sistemas operativos que se quieren virtualizar. Paravirtualización: Consiste en ejecutar sistemas operativos huésped sobre otro sistema operativo llamado anfitrión que actúa como hypervisor. El sistema operativo huésped colabora con el anfitrión. Virtualización completa: Similar a la parvirtualización, pero no es necesario que el sistema operativo huésped colabore con el anfitrión. Actualmente, Intel y AMD han incorporado en sus microprocesadores nuevas tecnologías que facilitan la paravirtualización y la virtualización completa: Intel VT y AMD-V. NO NECESARIO SABER ESTO, ENTEDER LOS SIGUIENTES CUADROS SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación TIPOS DE MÁQUINAS VIRTUALES 103 EJEMPLOS: Linux KVM12. VMware ESX / ESXi / vSphere. Xen. Citrix XenServer / Hypervisor. Microsoft Hyper-V Server. Oracle VM Server. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación TIPOS DE MÁQUINAS VIRTUALES 104 EJEMPLOS: Oracle VirtualBox. VMware Workstation / Fusion / Player. QEMU. Microsoft Virtual PC. Microsoft Hyper-V. HASTA AQUÍ EL TEMA, EL RESTO MIRAR SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación TIPOS DE MÁQUINAS VIRTUALES 105 MÁQUINAS VIRTUALES DE PROCESO A veces se llama MV de aplicación. Se ejecuta como un proceso normal del sistema operativo. Su finalidad es proporcionar un entorno de ejecución de la plataforma hardware y del sistema operativo. EJEMPLOS: Maquina virtual de Java. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación ACTIVIDADES 106 1. Busca información sobre la características Sandbox. ¿Cómo funciona y para qué sirve? SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 107 12 Instalación de VirtualBox SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación ORACLE VM VIRTUALBOX 108 Oracle VM VirtualBox es un software de virtualización creado inicialmente por innotek GmbH, aunque en la actualidad es desarrollado por Oracle Corporation. Podemos simular arquitectura x86/amd64 y sistemas operativos Linux, Windows, Solaris, Mac OS, etc. Algunas características del software son: Portabilidad: es un software diseñado para ser ejecutado en multitud de sistemas operativos anfitrión. No requiere de las nuevas tecnologías de virtualización que incorporan algunas CPUs modernas. Incorpora las Guest Additions, una herramienta que permite la comunicación anfitrión-huésped mediante el uso de carpetas compartidas. Soporta gran cantidad de hardware. Podemos acceder a su página oficial y descargárnoslo: www.virtualbox.org SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación INSTALACIÓN DE VIRTUALBOX 109 Al finalizar la instalación de VirtualBox preguntará si desea instalar software de dispositivo, se aconseja autorizar esta instalación para no tener problemas posteriores en la configuración de máquinas virtuales y el acceso a ellas desde la máquina anfitrión. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 110 BARRA DE HERRAMIENTAS Nueva: Nos permite crear una nueva máquina virtual para poder instalar en ella un nuevo sistema operativo. Configuración: Primero tendremos que seleccionar la máquina virtual y luego en el botón configuración nos aparecerá la ventana para configurar varios aspectos. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 111 BARRA DE HERRAMIENTAS Iniciar: Inicia la máquina virtual seleccionada. Iniciar una máquina virtual es equivalente a pulsar el botón de encendido de un PC, de manera que aparecerá una ventana de virtualbox en la que se cargará el sistema operativo que se haya instalado en la máquina virtual y con la que interactuaremos como si estuviéramos en un ordenador real. Descartar: Se activa cuando hemos guardado algún estado de la máquina virtual. Las MV permiten pausar su ejecución retomando ésta desde un estado concreto. La opción descartar permite eliminar posibles estados guardados. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación BARRA DE MENÚS 112 Administrador de medios virtuales: Al pulsar en esta opción se abre un cuadro de diálogo donde podemos configurar los dispositivos de almacenamiento virtuales. SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación BARRA DE MENÚS 113 Importar / Exportar servicio virtualizado: VirtualBox soporta la importación de servicios virtualizados en Open Virtualization Format (OVF). Estándar abierto que permite distribuir software que puede ser ejecutado en máquinas virtuales. Podemos tener varias máquinas virtuales y empaquetarlas para que puedan ser usadas en otros programas dedicados a la virtualización que soporten OVF (por ejemplo, VMWare) SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación USO DE CARPETAS 114 COMPARTIDAS Una carpeta compartida en VirtualBox va a permitir la comunicación directa entre el sistema operativo anfitrión y el huésped. Cuando creamos la carpeta compartida esta es accesible desde el explorador de archivos como elemento de red. Para poder usar una carpeta compartida virtual debemos instalar las Guest Additions. CONFIGURACIÓN PREVIA: 1. Compartimos una carpeta desde Configuración -> Carpetas compartidas -> Agregar carpeta compartida. 2. Arrancamos la máquina virtual. 3. Instalamos la Guest Additions accediendo al menú dispositivos. 4. Accedemos al entorno de red del sistema operativo de la máquina virtual para visualizar el recurso (Equipo -> Red visualizaremos VBOXSVR). SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva UT 3: Sistemas operativos. Instalación 115 SISTEMAS INFORMÁTICOS – 1º DAM Álvaro Arrabal Esgueva