Download Sistemas Operativos - Cluster CNCA/CeNAT

Document related concepts

Proceso de arranque en Linux wikipedia , lookup

GridMathematica wikipedia , lookup

Windows 9x wikipedia , lookup

Sistema operativo wikipedia , lookup

Sistema operativo móvil wikipedia , lookup

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