840 likes | 2.23k Views
Tema 1: Conceptos de los Sistemas Operativos Modernos (II). Actividad 5: Entrada Salida, Sistemas de Ficheros. Implementaci
E N D
1. Tema 1: Conceptos de los Sistemas Operativos Modernos (I) Actividad 1: Introducción a los sistemas operativos. Introducción al Modelo de Procesos.
Actividad 2: Modelo de Procesos cont. Modelo con Hlios. Comunicación entre procesos. Cómo en Windows y Linux.
Actividad 3: Planificación de la CPU. Algoritmos. Aplicación en Windows y Linux
Actividad 4: Administración de la Memoria. Cómo en Windows y Linux.
2. Tema 1: Conceptos de los Sistemas Operativos Modernos (II) Actividad 5: Entrada Salida, Sistemas de Ficheros. Implementación en Windows y Linux
Actividad 6: Sistemas Multiprocesadores. Cómo Windows y Linux.
Actividad 7: Elementos de Seguridad en los sistemas operativos.
Actividad 8: VmWare, concepto y aplicaciones. (LAB)
3. Actividad 1 Introducción ¿Qué es un sistema operativo?
Historia de los sistemas operativos.
El universo de sistemas operativos
Componentes del sistema operativo
Llamadas al sistema
4. Sistema moderno
5. Una PC sin software… Cajón de metal inusable
¿Qué permite el software?
Almacenar, procesar y recuperar la información
Visualizar archivos multimedia
Realizar búsquedas en Internet
Comunicación on-line
…
6. Sistema Computacional Un sistema computacional puede dividirse a groso modo en cuatro componentes:
El hardware (cpu, memoria, dispositivos de entrada-salida)
El sistema operativo
Los programas de aplicación (compiladores, sistemas de bases de datos, juegos)
Los usuarios (personas, máquinas automáticas, otras computadoras)
7. Representación gráfica del sistema computacional
8. ¿Qué es el Sistema Operativo? Un programa que actúa como intermediario entre un usuario de una computadora y el hardware de la misma.
Las metas del sistema operativo:
Ejecute los programas del usuario y garantizar que la solución a los problemas de este se obtenga fácilmente.
Haga el sistema computacional conveniente al uso.
Use el hardware de la computadora de una manera eficaz.
9. SO como máquina virtual… I/O floppy
16 comandos (leer, escribir, mover el brazo, inicializar, reiniciar, sensar, formatear pistas, recalibrar, etc.)
1-9 bytes en un registro
Los comandos básicos (leer, escribir) constan de 13 parámetros, 9 bytes (dirección del bloque, sectores/pista, que hacer con marcas de borrado, etc.)
Al finalizar la operación el controlador retorna 23 campos de estado y error en 7 bytes.
Además, controlar el motor eficientemente lo cual significa…
10. SO como máquina virtual
11. SO como gestor de recursos Impresión simultánea
12. Eso no es todo… Entornos multiusuarios
Se comparte memoria, dispositivos I/O, información, etc.
Quién y como usa cada recurso
Asignación de recursos
Programar tiempos de procesamiento
13. Gestión de recursos Multiplexar o compartir por dos vías:
Tiempo
Por turnos
Quién es el próximo, por cuanto tiempo
Ejemplo: CPU, Impresora, ...
Espacio
Divisiones
Ejemplo: Memoria
Eficiente asignación de memoria
Protección de espacios compartidos
Ejemplo: Disco duro
Quién usa cada bloque
14. ¿Qué es un sistema operativo? Una máquina extendida
Oculta las complejidades
Presenta al usuario una MV fácil de usar
Gestor de recursos
la memoria
acceso a dispositivos
tiempo de procesamiento
control de recursos (quién y cómo)
Se ejecuta en modo protegido
15. Historia de los Sistemas Operativos Historia de los S.O. relacionada con el desarrollo del hardware.
Primera generación 1945 – 1955: los tubos de vacío, las tarjetas programables.
Segunda generación 1955 – 1965: los transistores, los sistemas por lote.
Tercera generación 1965-1980: ICs y multiprogramación
Cuarta generación 1980-al presente: las computadoras personales
16. Sistemas por lotes sencillos Requerían de un operador
usuario != operador
Se agregó un lector de tarjetas
Se redujo tiempo de arranque mediante el procesamiento por lotes de los trabajos similares.
Secuenciamiento automático de trabajos – transferencia automática del mando de un trabajo a otro. Primer sistema operativo rudimentario.
Monitor residente:
el mando inicial lo tiene el monitor
el mando se transfiere al trabajo
cuando el trabajo se completa el mando se transfiere nuevamente al monitor
17. Mapeo de la memoria para el sistema por lotes sencillo
18. Mapeo de la memoria para un sistema por lotes multiprogramado Se guardan varios trabajos al mismo tiempo en la memoria principal, y el CPU es multiplexado entre ellos.
19. Características del S.O. requeridas para la multiprogramación. Rutinas de I/O proporcionadas por el sistema.
La administración de memoria- el sistema debe asignar la memoria a varios trabajos.
Programación de la CPU- el sistema debe escoger entre varios trabajos listos para correr.
La asignación de dispositivos.
20. Sistemas de tiempo compartido – computación interactiva. El CPU es multiplexado entre varios trabajos que se guardan en la memoria y en el disco (el CPU sólo se asigna a un trabajo si el trabajo está en la memoria).
Un trabajo se intercambia hacia y fuera de memoria al disco.
La comunicación en línea entre el usuario y el sistema se garantiza; cuando el sistema operativo termina la ejecución de un comando, busca el próximo no en un lector de la tarjeta, sino del teclado del usuario.
El sistema en línea debe estar disponible para los usuarios acceder a datos y código.
21. Computadoras personales El sistema computacional dedicado a un solo usuario.
Dispositivos de I/O: teclado, ratón, monitor, impresoras pequeñas.
Conveniencia del usuario y sensibilidad.
Puede adoptar tecnología desarrollada para sistemas operativos más grandes.
22. Migración de los conceptos y las características de los sistemas operativos
23. Otras arquitecturas donde se desarrollan los S.0. Sistemas de Tiempo Real
Sistemas Distribuidos (multiprocesadores)
Sistemas embebidos
24. Sistemas de tiempo real Es un tipo especial de S.O.
Se utiliza cuando existen requerimientos de tiempo estrictos en un proceso o el flujo de datos.
Usualmente utilizados en ambientes de control
El sistema lee datos del mundo real
Luego debe analizarlos
El sistema podrá tener que ajustar los controles del proceso real dentro de un tiempo fijo estricto (temperatura de un horno)
25. Sistemas de tiempo real II Dos tipos de implementaciones:
Time Real duro - garantiza que se completan las tareas críticas a tiempo
Time Real suave - menos restrictivo las tareas de tiempo reales críticas consiguen prioridad por encima de otros aspectos del sistema.
26. Sistemas Multiprocesador El sistema herméticamente acoplado: Los procesadores comparten memoria y un reloj; la comunicación normalmente tiene lugar a través de la memoria compartida.
Las ventajas de sistema paralelo:
Aumento del throughput
Disminución de los costos
Aumenta la fiabilidad
Degradación elegante
27. Sistemas Paralelos II Multiprocesamiento simétrico (SMP) :
Cada procesador ejecuta una copia idéntica del sistema operativo.
Muchos procesos pueden correr a la vez sin deterioro de las prestaciones
La mayoría de los sistemas operativos moderno implementan SMP
Multiprocesamiento asimétrico:
A cada procesador se asigna una tarea específica; el procesador amo programa y asigna el trabajo a los procesadores esclavos.
Más común en los sistemas sumamente grandes
28. Componentes del S.O. El S.O. se construye a través de componentes más pequeños:
Máquinas virtuales.
Procesos.
Hilos
Gestor de memoria
Gestor de Archivos
Gestión del sistema I/O.
Componentes de Red.
29. Máquina Virtual Usando técnicas de planificación un sistema puede crear la ilusión de que cada proceso tiene su propio CPU, cuando de hecho sólo 1 CPU existe en realidad.
30. Procesos En términos simples un proceso es un programa que se está ejecutando.
Incluye un CONTEXTO que es una descripción de lo que está pasando
Esto le permite ser intercambiado hacia y fuera de memoria para la ejecución.
31. Procesos II El modelo del Proceso básico implica un solo hilo de ejecución.
Un solo hilo de ejecución le permite al proceso realizar sólo una tarea en cada momento.
Los S.O. modernos extienden el modelo de proceso para permitir hilos múltiples de ejecución en cada proceso.
32. Administración de la Memoria La Memoria principal es un recurso de almacenamiento disponible a todos los procesos que están corriendo.
El S.O. es responsable de.
Conocer las partes de la memoria que están actualmente en uso y por quien
Cargar y descargar los procesos cuando se requiera y cuando los recursos estén disponibles
Asignar / reasignar los recursos físicos a las máquinas virtuales.
33. Administración de Ficheros Componente muy visible de cualquier S.O.
Un archivo es una colección de información relacionada definida por su creador.
S.O. responsable de:
Crear y Borrar los archivos y los directorios
Apoyar la manipulación de archivos
Mapear los archivos al almacenamiento secundario
34. Administración de I/O El S.O. tiene que esconder las peculiaridades de dispositivos del hardware específicos al usuario.
El sistema de I/O consiste de:
Un componente de administración de memoria que incluye buffering caching y spooling
La interfaz de manipulador de dispositivos
Manipuladores para el hardware específico.
35. Llamadas al sistema Proporcionan la interfaz entre los procesos y el S.O.
Tipos de llamadas al Sistema disponibles
Para control de procesos: Cargue, Ejecute etc.
Administración de archivos: Crear, Abrir, Cerrar etc.
Administración de dispositivos: leer la información desde el dispositivo, escribir hacia el dispositivo etc.
36. Procesos e Hilos Procesos
Hilos
37. Definición de Procesos De acuerdo a Deitel
programa en ejecución
actividad asíncrona
“espíritu animado” de un procedimiento
La entidad a la que se asignan los procesadores
De acuerdo a Tanenbaum
Un programa en ejecución
38. ProcesosEl modelo de procesos Multiprogramación de 4 programas.
Modelo conceptual de cuatro procesos secuénciales independientes.
Solo un programa activo en cada instante.
39. Creación de Procesos Principales eventos que originan la creación de procesos
Inicialización del sistema
Ejecución de un sistema creador de procesos.
Solicitud del usuario.
Procesamiento de un trabajo por lotes
40. Terminación de los Procesos Condiciones que terminan los procesos
Salida normal (voluntaria)
Salida por Error (voluntaria)
Error fatal (involuntaria)
Terminado por otro proceso (involuntaria)
41. Jerarquías de Procesos Los procesos pueden crear procesos hijos, estos a su vez pueden crear otros procesos.
Se construye una jerarquía.
UNIX llama a esto "process group"
Windows no maneja el concepto de jerarquía de procesos.
Todos los procesos son creados por igual.
42. Estados de un proceso Posibles estados de un proceso
corriendo
bloqueado
Listo
43. Estados de un proceso (2) El scheduler es el nivel inferior de los sistemas operativos estructurados a procesos
Maneja las interrupciones, programación de la CPU
Encima de este nivel se encuentran los procesos secuencial mente.
44. Implementación de los procesos Campos de un entrada en la tabla de procesos
45. HilosEl modelo con hilos (a) tres procesos cada uno con un hilo.
(b) Un proceso con tres hilos
46. El modelo con hilos (2) Elementos compartidos por todos los hilos de un proceso.
Elementos privados a cada hilo.
47. El modelo con hilos (3) Cada hilo tiene su propio stack
48. Uso de los hilos (1) Un procesador de textos con tres hilos
49. Uso de los hilos (2) Un servidor WEB multihilo
50. Conclusiones El sistema operativo actúa como intermediario entre un usuario de una computadora y el hardware de la misma.
El S.O. se construye a través de componentes más pequeños
Para el diseño de los sistemas operativos se utiliza el modelo de procesos.
Los sistemas operativos modernos incluyen el concepto de hilos.