Download Sistemas Operativos - Cluster CNCA/CeNAT
Document related concepts
Transcript
Fundamentos de Computación para Cientı́ficos Conceptos de Sistemas Operativos Noviembre, 2015 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Contenido 1 Definición 2 Kernel 3 Procesos 4 Memoria 5 Sistema de Archivos 6 Seguridad y Protección 7 Interfaz con el usuario 2 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Definición 3 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Definición ¿Cómo definir un Sistema Operativo (S.O.)? ... es un programa que está en ejecución todo el tiempo. ... es un intermediario entre el usuario y el hardware. Administrador de recursos: CPU Memoria Almacenamiento Dispositivos de entrada y salida Sirve como base para la ejecución de otros programas. 4 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Definición ¿Cómo definir un Sistema Operativo (S.O.)? ... es un programa que está en ejecución todo el tiempo. ... es un intermediario entre el usuario y el hardware. Administrador de recursos: CPU Memoria Almacenamiento Dispositivos de entrada y salida Sirve como base para la ejecución de otros programas. 4 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Kernel 5 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Kernel Componente central del S.O. Se encarga de manejar las entradas del usuario, transformarlas en procesos de datos, utilizar dispositivos y evidenciar los resultados. Al iniciar, la computadora está en modo real. Este es un modo privilegiado con acceso sin restricciones a todos los recursos. El kernel se carga en modo real, cambia el modo de ejecución y rápidamente pasa a modo protegido. En este modo, lo que se esté ejecutando no puede acceder directamente a los recursos sin pasar por el kernel. Comunicaciones del Kernel 6 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Kernel Las aplicaciones se comunican con el Kernel usando mecanismos como: Llamadas al sistema (system calls) Interfaz entre el S.O. y las aplicaciones. Expuestas por medio de un API. Control de procesos Manipulación de archivos Manipulación de dispositivos Información Comunicación Protección. El kernel se comunica con el hardware por medio de: BIOS Capa de abstracción de hardware (Drivers) 7 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Kernel Estrategias de diseño de Kernel Tipos de núcleos de S.O. 8 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Procesos 9 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Manejo de Procesos Programa: conjunto de datos e instrucciones utilizados para ejecutar un trabajo o tarea. Proceso: programa en memoria, instancia de un programa. Un programa puede ejecutarse varias veces, lo que resulta en diferentes procesos. Asociado al proceso, existe: Pila: datos temporales Heap: memoria dinámicamente asignada al proceso. Datos: memoria asignada estáticamente. Código: instrucciones del programa. 10 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Ciclo de vida de Procesos Ciclo de vida de un proceso 11 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario PCB Para poder poner el proceso a trabajar, el Kernel necesita metainformación del proceso.. Esta información se almacena en una estructura llamada PCB (Process Control Block). Con esta información el S.O. puede calendarizarlo para ejecución. Process Control Block 12 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Hilos Hilos: unidades de procesamiento más pequeñas que procesos. Dependen de un proceso ”padre”que los genera. Todos los hilos de un proceso comparten recursos: memoria, tiempo de CPU, archivos abiertos, dispositivos, etc. Un proceso es de 1 hilo cuando explı́citamente no utiliza más. Procesos multi-hilo realizan tareas concurrentemente. 13 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Memoria 14 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Manejo de Memoria Memoria: arreglo de bytes que puede ser leido o escrito por el CPU. El CPU utiliza una Unidad Manejadora de Memoria (UMM) para accederla. El CPU tiene instrucciones de lectura y escritura que le indican a la UMM que operaciones debe realizar: Asignar memoria a procesos Liberar memoria de procesos Proteger memoria de procesos Control de memoria compartida Los programas utilizan direcciones lógicas. la UMM convierte direcciones lógicas en direcciones fı́sicas. 15 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Sistema de Archivos 16 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Sistema de Archivos Almacenamiento no volátil de información Se conoce como sistema de archivos a dos conceptos: Representación lógica utilizada por los dispositivos de almacenamiento en conjunto con el S.O. que permite: guardar, recuperar, editar, eliminar o manipular información. Jerarquización de la información contenida en un medio de almacenamiento. Algunos sistemas de archivos: FAT EXT GPFS LUSTRE NFS 17 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Sistema de Archivos Jerarquı́a de archivos en *nix Jerarquı́a de archivos en Windows/MS-DOS 18 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Bibliotecas Colección de rutinas u operaciones necesarias para el funcionamiento tanto del sistema operativo como de otros programas. Pueden contener código para operar dispositivos o funciones listas para usar por programadores Ej.: Controladores o drivers Operaciones usuales de cálculo o álgebra lineal (BLAS, ATLAS, LAPACK) Paso de mensajes (MPICH, OpenMPI) Memoria compartida e hilos (OpenMP, PThreads) Procesamiento de A/V (ffmpeg) 19 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Seguridad y Protección 20 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Seguridad y Protección El S.O. está encargado también de proteger el sistema. Esta protección la puede hacer de varias formas pero las más obvias son: Evitar que procesos escriban en segmentos de memoria que no le corresponden. Detectar búcles o ciclos infinitos. Detener (”matar”) procesos con comportamiento anómalo. Esto garantiza que el sistema no caiga en un estado inconsistente o inseguro. 21 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Interfaz con el usuario 22 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Interfaz con el usuario Conjunto de programas que forma una capa de interacción del usuario con el S.O. Brinda una comunicación bidireccional. Presentación gráfica (o de audio, luces u otros indicadores) de las respuestas del S.O. Interfaces de usuario 23 / 24 Definición Kernel Procesos Memoria Sistema de Archivos Seguridad y Protección Interfaz con el usuario Interfaz con el usuario Las interfaces de usuario se pueden categorizar: Gráficas Sistema de ventanas de Windows Sistema de ventanas de MacOS X Sistema de ventanas X Interfaz de Android OS Interfaz de iOS Lı́nea de comandos sh bash cmd Cisco IOS Modo texto: XTree Norton Commander 24 / 24