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

Slides:



Advertisements
Presentaciones similares
Sistemas operativos Prof. Alberto Rivas.
Advertisements

TEMA 1 Introducción a la Programación Concurrente
Arquitectura de Sistema de E/S
CARACTERISTICAS, CLASES, EJEMPLOS
Sistema operativo Componentes de un sistema operativo
III - Gestión de memoria
SISTEMAS OPERATIVOS.
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Introducción al software
Estructuras en Sistemas Operativos
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
Introducción al Software
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
Direcciones físicas y direcciones virtuales (lógicas)
Elemento Lógico (Software)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Sistema Operativo. ¿Qué es el Sistema Operativo? Un sistema operativo (SO) es el conjunto de programas y utilidades software que permiten al usuario interactuar.
Tema 10: Gestión de Memoria
Sistemas Operativos Procesos.
Unidad 7 Entrada/Salida
UNIDAD 3 Conceptos de Sistemas Operativos.
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
SISTEMAS OPERATIVOS.
Programación I MC José Andrés Vázquez Flores
EL SISTEMA OPERATIVO.
Introducción a los Sistemas Operativos
Capítulo 7 Gestión de memoria.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Gestión de procesos Sistemas Operativos Edwin Morales
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
COMPONENTES DEL SISTEMA OPERATIVO.
Gestión de Memoria.
UNIVERSIDAD LATINA. I. TEORIA DE SISTEMAS OPERATIVOS.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN Programación I MC Hilda Castillo Zacatelco.
W w w. i n a c a p. c l FUNDAMENTOS DE SISTEMAS OPERATIVOS LUIS ALEJANDRO PACHECO TORO.
Sistemas Distribuidos
Redes de Transmisión de Datos
El Sistema Operativo y la Interfaz de Usuario
1 Ana Mercedes Cáceres Instructor: Raúl Aguilar Año 2006 [Parte I ]
Estructura de los Sistemas Operativos
 Qué opinan de un Sistema Operativo (S.O.)?  Qué esperan de un S.O.?  Cuál es el S.O. de su preferencia?  Qué los decepciona de su S.O?  Cómo y por.
Un ordenador no puede funcionar sin sistema operativo.
Universidad Metropolitana Introducción a la Computación
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Gestión de Memoria.
UNIDAD 3 C ONCEPTOS DE S ISTEMAS O PERATIVOS. El ordenador es un sistema programable formado por un conjunto de elementos hardware que necesitan instrucciones.
Sebastian Madrid Perez
Sistemas Operativos.
SISTEMAS OPERATIVOS.
LIA. SUEI CHONG SOL, MCE..  1.- SOFTWARE BÁSICO O DE SISTEMA. Conjunto de programas imprescindibles para el funcionamiento del sistema.  2.- SOTWARE.
Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Programación I MC Beatriz Beltrán Martínez.
HISTORIA DE LOS SISTEMAS OPERATIVOS
Licenciatura Tecnologías de la Información y Comunicación
Sistemas Operativos I Introducción
Elementos y tipos de sistemas operativos
UNIDAD I INTRODUCCION A LOS S.O.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
ELEMENTO DE COMPETENCIA 3
TECNICO EN SISTEMAS NUMERO DE FICHA:
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
. Ing. Jorge Ospina. Cortes y parciales I corteMartes 1 de Marzo de 2011 II corteMartes 12 de Abril de 2011 III corteMartes 1 de Junio de 2011.
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
CAPITULO III El Sistema Operativo (OS)
Gestión de Memoria – Parte 2
 Software  Humanware  Hardware Conformado por.
Estructura del sistema operativo
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

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

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

Arquitectura básica

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.

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)

Estructura: Ejemplo 

Estructura sistema informático: Linux

Estructura Linux

Estructura: Ejemplo

Ejemplo microkernel

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

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

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

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

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

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

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

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.

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.

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

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

Windows NT

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

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

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.

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

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.

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

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.

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.

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.

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.

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

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.

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)

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

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.

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.

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.

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.

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

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.

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.

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

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.

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.

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.

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.

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