La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SISTEMAS INFORMÁTICOS UD3. Introducción a los Sistemas Operativos.

Presentaciones similares


Presentación del tema: "SISTEMAS INFORMÁTICOS UD3. Introducción a los Sistemas Operativos."— Transcripción de la presentación:

1 SISTEMAS INFORMÁTICOS UD3. Introducción a los Sistemas Operativos

2 Contenidos  Definición, partes, estructura y funciones de un S.O.  Tipos de sistemas operativos clasificados siguiendo diferentes criterios  Sistemas operativos más usados  Uso de software de virtualización

3 Arquitectura básica

4 1. Introducción  S.O. software más importante de un sistema informático. Software base.  Frontera entre elementos hardware y software de aplicación y usuario, usado por el hombre.  Se encarga de:  Gestionar y asignar los recursos hardware a los programas en ejecución. Los recursos son procesador, memoria, periféricos y sistemas de archivos.  Proporciona una interfaz al usuario para que pueda usar el sistema con facilidad.

5 2. Componentes Siguiendo el esquema iniciado por Unix, un sistema operativo básicamente está formado por:  Núcleo  El interprete de órdenes o Shell (que puede ser gráfico o de texto)

6 Estructura: Ejemplo 

7 Estructura sistema informático: Linux

8 Estructura Linux

9 Estructura: Ejemplo

10 Ejemplo microkernel

11 2. Componentes: Núcleo  Interacciona con el HW, proporcionando acceso seguro a los programas en ejecución.  Gestiona los recursos (CPU, memoria, periféricos o E/S, archivos)  Si un programa en ejecución necesita el usar más memoria RAM, este programa en ejecución realizará una “llamada al sistema” para realizar esa solicitud al “gestor de memoria”. El gestor de memoria, responderá a esa solicitud manejando directamente el HW, en este caso, la memoria (RAM o virtual).

12 2. Componentes: Núcleo  Contiene:  Gestor de memoria  Gestor de procesos.  Gestor de la E/S  Gestor de archivos y directorios  Comunicación y sincronización entre procesos

13 Gestor de procesos  Un proceso es un programa en ejecución. Es una unidad de trabajo en el sistema.  Programa es una entidad pasiva mientras que proceso es una entidad activa  Los procesos necesitan recursos para realizar sus tareas: CPU, memoria, E/S, archivos, etc.  El sistema operativo realiza las siguientes operaciones con los procesos:  Crea y elimina procesos  Suspende y reanuda procesos  Provee mecanismos para la sincronización de procesos  Provee mecanismos para la comunicación entre procesos  Provee mecanismos para la gestión de interbloqueo

14 Gestor de memoria  La memoria principal es un recurso al que la CPU puede acceder directamente  Los programas deben estar en memoria antes de poder ser ejecutados  El SO gestiona la memoria y para ello debe ser capaz 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  Asignar y liberar espacio de memoria conforme se necesite

15 Gestor de archivos y directorios  Un fichero es una representación lógica uniforme que hace el SO del almacenamiento de información.  De esta forma el SO abstrae las propiedades físicas de los dispositivos de almacenamiento  Los archivos se suelen agrupar en directorios  Las tareas que el SO realiza en relación a la gestión de ficheros son:  Crea y elimina archivos y directorios  Proporciona primitivas para la manipulación de archivos y directorios  Establece una correspondencia entre los archivos y el almacenamiento secundario  Controla los accesos de usuarios y programas a los archivos

16 Gestión de E/S  Un propósito del SO es ocultar los detalles de los dispositivos hardware al usuario  El sistema de E/S se encarga de:  Planificar las peticiones de E/S para mejorar el rendimiento  Gestionar la memoria de E/S incluyendo caching: almacenamiento de datos en dispositivos de acceso rápido para mejorar el rendimiento buffering: almacenamiento de datos temporalmente mientras se transfieren

17 Gestión de almacenamiento  En los dispositivos de almacenamiento secundario se suelen encontrar los datos permanentes y los que no caben en la memoria principal  La gestión correcta de este recurso es muy importante para un computador  El SO se encarga de las siguientes actividades:  Administración del espacio libre  Asignación de almacenamiento  Planificación del disco  Formateo de discos  Control del sector de arranque  Manejo de bloques defectuosos  Administración del espacio de intercambio

18 Interfaz de usuario  Proporcionar un entorno en el que el usuario pueda comunicarse con el SO y realizar comandos y visualizar resultados.  A través de interfaces gráficas  A través de terminales de comandos.

19 Interfaz de llamadas al sistema  Consiste en librerías de funciones que pueden ser usadas por los programas para realizar distintas operaciones  Crear procesos (fork)  Solicitar más memoria para un proceso (malloc)  Abrir un fichero (open)  Usando estas funciones, los procesos solicitan las operaciones pertinentes a los distintos gestores de procesos, memoria, archivos, etc.

20 Sistema operativo monolítico Sistemas monolíticos versus microkernel Enfoque monolítico Kernels implementados como un gran proceso único ejecutándose en un único espacio de direcciones  kernels en disco como un archivo binario Todos los servicios del kernel existen y se ejecutan en el gran espacio de direcciones del kernel Comunicación con el kernel es trivial, ya que todo se ejecuta en modo kernel en el mismo espacio de direccines El kernel puede llamar directamente a funciones, como si fuesen aplicaciones en modo usuario Sencillo y buen rendimiento  Mayoria de los sistemas UNIX son monolíticos en diseño

21

22 Sistemas monolíticos versus microkernel Enfoque microkernel Núcleo con funcionalidad mínima Servicios provistos por servidores que son procesos El kernel sólo gestiona la comunicación con los servidores Las distintas partes del S.O. se comunican mediante paso de mensajes Chorus, QNX, Mach (GNU Hurd), WNT 3.51

23 Windows NT

24 Preguntas  ¿Qué se entiende por memoria virtual? Busca información y redacta un documento breve donde lo expliques y cómo se implementa en sistemas Windows y Linux.  Localiza en la web los términos POSIX y Win32. Pon un ejemplo de cada API

25 Tipos de sistemas operativos  Multiprogramados o tiempo compartido: permiten mantener varios programas simultáneos en la memoria principal. El objetivo es mejorar la productividad del sistema ejecutando varios programas a la vez.  De tiempo real: Tareas muy específicas y se instalan en sistemas que deben procesar muchos eventos. Proporcionan tiempos rápidos de respuesta.  Distribuidos: Aquel común a varios equipos que mantienen una comunicación a través de la red. Cuando un usuario accede al mismo no sabe donde están almacenados los ficheros. 

26 A completar por los alumnos  Introduzcámonos un poco más en cada una de las funcionalidades del núcleo.  Además, ayudad al profesor a completar este powerpoint.  Lo podemos hacer en parejas.  Los documentos se integrarán en este mismo documento.

27 Gestión de procesos (Toro y Gambín)  Estados de un proceso y qué provoca el cambio entre estado.

28 Gestión de procesos  Estados de un proceso y qué provoca el cambio entre estado.  Definición de los estados:  · Nuevo: El proceso se acaba de crear, pero aún no ha sido admitido en el grupo de procesos ejecutables por el sistema operativo.  Habitualmente en un sistema operativo multitarea como Windows, nada más que un proceso se crea, éste resulta admitido, pasando al estado listo. Sin embargo, esto no tiene por qué ser siempre así. Por ejemplo, en una situación de sobrecarga temporal del sistema, el SO puede decidir retardar la admisión de los procesos nuevos. Así se alivia la carga del sistema, ya que hasta que un proceso no es admitido, éste no compite por los recursos del sistema.  · Listo: El proceso está esperando ser asignado al procesador para su ejecución.  Una CPU clásica (con un solo núcleo) solo se puede dedicar en cada momento a un proceso. Los procesos que están preparados para ejecutarse permanecen en estado listo hasta que se les concede la CPU. Entonces pasan al estado “En ejecución”.  · En ejecución: El proceso tiene la CPU y ésta ejecuta sus instrucciones.  · En espera: El proceso está esperando a que ocurra algún suceso, como por ejemplo la terminación de una operación de E/S.  · Terminado: El proceso ha sido sacado del grupo de procesos ejecutables por el sistema operativo. Después de que un proceso es marcado como terminado se liberarán los recursos utilizados por ese proceso, por ejemplo, la memoria.

29 Gestión de procesos  Algoritmo de planificación de procesos Round Robin y FIFO  Los sistemas operativos multitarea, en un equipo que tenga un procesador con un solo núcleo, son capaces de dar la sensación de que se están ejecutando varios programas en paralelo, aunque en un instante concreto, sólo uno sea el que está en la CPU (aunque sí están cargados en memoria)  El Algoritmo Round Robin y el FIFO son algunos de los algoritmos usandos

30 Método Round Robin (por Alejandro y Pedro)  Los procesos van ejecutándose en orden con un tiempo limite de ejecución, llamado quantum. Si no son completados en este tiempo, se suspende el proceso para dar lugar a otro proceso, pasando el anterior proceso a una cola de espera o al final de cola de los procesos listos para ejecutarse.

31 Gestión de procesos  Round Robin  De todos los procesos en estado preparado (que se encuentra en una cola, como la del supermercado), se elije uno, el primero que llego, se ejecutan instrucciones de ese programa (proceso) durante unos 10 milisegundos, siempre y cuando: No nos encontremos con ninguna instrucción de entrada/salida, en cuyo caso se lleva el proceso a estado bloqueado. Pasados los 10 milisegundos o cuando se desbloquea el proceso, se vuelve al estado preparado, al final de la cola de procesos preparados.

32 Gestión de procesos  FIFO (First In, First Out)  De todos los procesos en la cola de preparados, se elije el primero que llegó (como en un supermercado) y Se queda ejecutandose hasta que terminan todas sus instrucciones o O hasta que encuentra una instrucción de entrada y salida, que lo conducirá al estado de bloqueo. Cuando salga del bloqueo, vuelve a la cola de preparados.

33 Gestión de procesos  En realidad, se utiliza Round Robin, con varias colas de distinta prioridad, cada una con distinta prioridad.  Se ejecutan, cada 10ms procesos de la cola de procesos con mayor prioridad, hasta que no queden más.  Se pasa a la siguiente cola de prioridad hasta que entre un nuevo proceso en la cola de mayor prioridad  Cada cierto tiempo, a los procesos en la cola de menor prioridad, se le aumenta la prioridad para que puedan pasar a la cola de mayor prioridad, y puedan ser ejecutados.

34 Gestión de procesos  En realidad, se utiliza Round Robin, con varias colas de distinta prioridad, cada una con distinta prioridad.

35 Gestión de memoria (JuanJe y Miguel N.)  Fragmentación interna  La memoria RAM se divide en huecos de 4 KB.  Cada proceso, se divide en trozos de 4KB Por ejemplo, un proceso de 5KB, usará un trozo completo y en otro trozo usará 1KB, el espacio que no se usa (3KB), se conoce como fragmentación interna Ese hueco no puede ser usado por otro proceso, por seguridad.

36 Gestión de memoria  Paginación  La memoria RAM se divide en huecos de 4 KB.  Cada proceso, se divide en páginas de 4KB, (POR ESO SE LLAMA PAGINACIÓN)  En este ejemplo, el proceso A y proceso se encuentran en la RAM (pero cada trocito de datos se introduce en una dirección diferente y no tiene porqué se consecutiva)

37 Gestión de memoria (María y David)  Paginación y memoria virtual  El proceso se divide en páginas y se introducen inicialmente en una zona del disco duro.  Sólo se llevan a la memoria RAM las páginas del proceso que previsiblemente se vayan a ejecutar (cuando el proceso arranca, se llevan sólo las del main y trozos de instrucciones que se vayan a ejecutar) De esta manera, se deja espacio en la RAM

38 Gestión de memoria (Mangel y Mjara)  Paginación y SWAP Cuando una página de un proceso lleva mucho tiempo en la RAM sin ser usada, se lleva al disco duro, a la zona de SWAP, a la espera que se vuelva a necesitar. De esta manera, se deja más espacio en la RAM.

39 Swapping Swapping es mover un proceso o parte de él temporalmente desde la memoria principal a un dispositivo secundario de almacenamiento para luego devolverlo a la memoria principal.

40 Gestión de memoria  Fallo de página:  Es el mecanismo que utiliza el sistema operativo. Cuando la CPU va a buscar a la RAM instrucciones pertenecientes a una página y ésta no se encuentra en RAM, automáticamente, se genera un evento (conocido como fallo de página) que hace que esa página se mueva del disco duro a la RAM.

41 Gestión de memoria  Memoria virtual y Swapping  Tienen la ventaja de que permiten correr una mayor cantidad de programas y se mejora la eficiencia del sistema operativo.  Además, permite ejecutar programas más grandes que el tamaño real de la RAM.  Pero tiene la desventaja de que la CPU tenga que estar ocupada en estar moviendo páginas de Disco duro a RAM muy a menudo, bajando el rendimiento del sistema.

42 Gestión de almacenamiento: MFT en NTFS (Zenón y Song)  El MFT (Master File Table) es una tabla de índices de ficheros usada en el sistema NTFS usado en Windows NT y sucesivos.  Se basa en crear un archivo al comienzo del disco duro en el cual se guardan 48bits de datos para cada fichero/directorio del sistema.  Los datos correspondientes a cada fichero/directorio son: Nº entrada en el MTF Atributos del archivo Longitud del nombre Nombre en Unicode

43 Gestión de almacenamiento Partes del fichero MFT  Nº entrada: es simplemente el número que se le asigna en el MTF al fichero (o directorio) para poder identificarlo.  Atributos del archivo: los distintos atributos (permisos, modificación, peso, DIRECCION, etc…) que posea el fichero.  Longitud del nombre: guarda la longitud del nombre del archivo.  Nombre en Unicode: el nombre del archivo (codificado en Unicode). Nº entrada en el MTF Atributos del archivo Longitud del nombre Nombre en Unicode NOTA DEL PROFESOR: Cuando modificamos la pestaña de Seguridad de una carpeta o fichero en Windows 7, la configuración que hagamos se guarda en esos 48 bits de cada fichero.

44 Gestión de almacenamiento  Además de la RAM, también se produce FRAGMENTACIÓN del disco duro  En un disco duro, cada partición está compuesta de bloques (clusters).  Cada fichero se divide en bloques de ese tamaño y se guardan en bloques que no tienen por qué ser consecutivos.  Cuando los ficheros se encuentran fragmentados en distintas zonas de un disco duro, se dice que está fragmentado y abrir dicho fichero costará más dado que hay que estar buscando por distintas partes del disco duro.

45 Gestión de E/S  La CPU ha de interactuar con dispositivos de E/S:  Dispositivos de almacenamiento: Discos duros Unidades ópticas  Dispositivos de comunicaciones: Tarjeta de red  Dispositivos de interacción con el usuario: Monitor, teclado, ratón, impresora

46 Gestión de E/S (Jose Ant y Roque)  Problemas:  Todos los dispositivos son más lentos.  Los dispositivos son distintos entre si.  SOLUCIONES del gestor de E/S:  La lentitud, la resuelve, usando Buffers: Son memorias intermedias, donde se guardan los datos que el dispositivo va a transmitir a la CPU, y cuando los tenga listos, lo avisa, para que la CPU no se quede bloqueada esperando a que termine el envío de ciertos datos.  Ocultar las características de funcionamiento y proveer una forma sencilla de interactuar con los dipositivos de E/S. Por ejemplo, la función write ( ), se puede usar tanto para mostrar datos por pantalla, como para escribir en un fichero del disco duro, como para enviar datos a través de la red.

47 Gestión de E/S  1.Entrada/salida programada (POLLING)  La CPU accede a los registros del dispositivo a través de instrucciones del programa.  Consulta periódicamente el estado de ese registro para detectar si el dispositivo está listo (por ejemplo, si ya tiene listos el fichero solicitado)  2.Entrada/salida por interrupciones  El dispositivo avisa a la CPU cuando está listo. Activa un bus.  Cuando la CPU detecta una nueva interrupción, busca qué tiene que hacer para atenderla y si tiene suficiente prioridad, para la ejecución del proceso que estuviera en marcha y ejecuta las instrucciones para atender a la interrupción.

48 Interfaz de llamadas  Los programas desarrollados por los programadores, utilizan, para interactuar con los distintos dispositivos (pantalla, disco duros), funciones que proveen los sistemas operativos, llamadas INTERFAZ DE LLAMADAS DEL SISTEMA.  Ejemplos de API  Glibc es la interfaz que provee Linux, en lenguaje C.  Win32 es la interfaz que provee Windows, en C.

49 Interfaz de llamadas  Extensiones de librerías dinámicas para línux y para Windows  Los ficheros que contienen las librerias dinámicas de Windows son los archivos dll.  En Linux los archivos.so  Efectos en el uso de librerías dinámicas  Si dos procesos en ejecución, usan código que esté en una librería dinámica, esta parte del código no tendrá que cargarse dos veces en la memoria  Esto provoca un ahorro de memoria RAM.

50 Interfaz de llamadas  Funciones de acceso al disco duro  Para crear un fichero,  Linux: fopen (…)  Windows: CreateFile (…) Gracias a esas funciones, el programador se puede olvidar de si está grabando en un disco duro o un pen- drive y si está formateado en NTFS o ext4 o si accede a un sector del disco  Extensiones de librerías dinámicas para línux y para Windows


Descargar ppt "SISTEMAS INFORMÁTICOS UD3. Introducción a los Sistemas Operativos."

Presentaciones similares


Anuncios Google