Download seguridad
Document related concepts
Transcript
Lenguajes de Programación Sesión 1 – Sistemas Operativos Prof. César A. Molina Objetivos COMPETENCIA Conocer los conceptos e instrumentos que son base para la computación. CAPACIDADES Explica el rol del sistema operativo en la computadora Comprende y explica el rol de las redes en el desarrollo de las comunicaciones. Definición “ Un Sistema Operativo es un programa que actúa como interfaz entre el usuario y el hardware de un computador. Su propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas de una manera cómoda y eficiente”. Funciones de los sistemas operativos Supervisar las operaciones en una computadora Almacenar y recuperar archivos Gestionar el acceso a las redes Gestionar la ejecución de múltiples programas al mismo tiempo. Proteger los recurso de la computadora De acciones de no intencionadas y acciones intencionadas. Evolución de la computación distribuida Procesamiento por lotes (Batch) Colas de trabajos Tiempo compartido Multi-tarea: múltiples tareas para un único usuario Procesamiento interactivo Procesamiento en tiempo real Programación de tareas en maquinas multiprocesadores Procesamiento por Lotes Años 60’s y 70’s Procesamiento interactivo 80´s … Tipos de software Software aplicativo Software base (Sistema) Realiza tareas especificas para los usuarios. Generalmente se adquiere a parte del S.O. Realiza tareas requeridas por todas las computadoras Sistemas operativos Utilitarios Muchas veces no hay una clara distinción entre ellos. MS afirma que el media player es parte del S.O En la EU (Unión Europea) ofrecen una versión sin media player. Tipos de software Componentes de un sistema operativo Shell: modulo que se comunica con los usuarios GUI: Interfaz gráfica de usuarios CLI: Interfaz de línea de comandos Kernel: contiene componentes que realizan las funciones básicas requeridas: Gestión de archivos Manejadores de dispositivos Gestión de memoria Planificación y despachador Componentes de un sistema operativo Shell Shell Esquema de un S.O. Gestor de archivos Directorio (o folder): paquete creado por el usuario que contiene grupos de archivos u otros directorios (subdirectorios) Path : Posición de un archivo dentro de una jerarquía de directorios. Descriptor de archivo: Información requerida para acceder a un archivo. Gestor de archivos Las responsabilidades del S.O. con respecto a la gestión de archivos son las siguientes: Manipulación de archivos: crear, borrar, leer, escribir, modificar propiedades, etc. Manipulación de directorios. Ubicar los archivos y directorios en los dispositivos de almacenamiento secundario. Facilitar ciertos servicios: copia de seguridad, gestión de versiones, etc. Gestor de memoria Pagina: unidad de memoria que puede ser gestionada (usualmente unos cuantos Kb) Memoria virtual: Espacio de memoria imaginaria donde: Las paginas se van intercambiando entre la actual memoria principal y un dispositivo de almacenamiento masivo. Principales componentes de HW Memoria física RAM : Volátil, se pierde si no hay electricidad ROM: No es volátil, pequeña y requerida para el encendido del computador. Cache: pequeña y rápida, sirve para aumentar la velocidad de procesamiento. Almacenamiento masivo Discos duros Cd o dvd Flash Principales componentes de HW CPU BUS Donde se realizan los cálculos La CPU no puede hacer nada con solo datos en disco o memoria Usado para transferir contenido de la memoria al cache o a la CPU. Cualquier dato en disco debe ser copiada a la memoria antes de ser accedida. Cualquier dato en memoria debe ser movida a la cache y luego a la CPU antes de ser procesada. Tarjeta de red o modem Sirve para transferir datos desde/hacia la computadora, generalmente a través de internet. Sistema de archivos Encendido del computador (Bootstrapping) Bootstrap : Programa guardado en la memoria ROM Ejecutado por la CPU cuando el computador es encendido Transfiere el sistema operativo desde el disco duro a la memoria principal Transfiere el control al sistema operativo. Proceso de encendido (Booting) Procesos Programa: conjunto estático de instrucciones Es una acción que el CPU puede realizar Procesar: la actividad de ejecutar un programa Estado del proceso: Estado actual de la actividad de procesar: Fotografía de las partes relevantes de un proceso La siguiente instrucción a ejecutar Acciones completadas parcialmente que ya no se encuentran en memoria. Procesos Estados de un proceso: Nuevo: recién creado por el S.O. En ejecución: está en la CPU ejecutando instrucciones Bloqueado: esperando por algún evento (ej. una operación de E/S) Preparado: esperando a que le asignen un procesador (CPU) Terminado: no ejecutará más instrucciones Administración de procesos: Scheduler (Planificador) Guarda el estado de todos los procesos en una tabla, generalmente guarda la siguientes información: Listo o en espera Prioridad Información adicional: páginas de memoria, archivos en uso, etc. Administrador de procesos Dispatcher (Despachador) Le da un espacio de tiempo cuando el proceso se encuentra listo para su ejecución Realiza el cambio de estado del proceso, cuando el tiempo asignado a un proceso termina. Tiempo compartido entre los procesos AyB Administración de la competencia por un recurso Semáforo : es un concepto de sw, pensado como una bandera que indica si el recurso se encuentra en uso. La verificación de la bandera y su actualización debe ser realizada en conjunto para un adecuado uso. Región crítica: secuencia de instrucciones que debe ser ejecutada por solo un proceso a un tiempo determinado. Protegido por un semáforo. Exclusión mutua: requerimiento para la ejecución apropiada de una región crítica. Tipos de S. O. Algunos sistemas operativos comerciales Windows. Distintos tipos: Para servidores: NT Server, 2000 Server, Server 2003, XP profesional. Para clientes o domésticos: 2000, XP Home, Vista Home. Para equipos especiales (PDA’s, móviles, etc): CE, Mobile UNIX. Distintas versiones y distibuciones: Unix (SUN) Linux (Gratis) Aix (IBM) SEGURIDAD La vulnerabilidad de las comunicaciones de datos es un aspecto clave de la seguridad de los sistemas informáticos; la importancia de este aspecto es cada vez mayor en función de la proliferación de las redes de computadoras. El nivel de criticidad y de confidencialidad de los datos administrados por los sistemas informáticos es cada vez mayor: SEGURIDAD Ej.: correo personal, transferencia de fondos, control de manufactura, control de sistemas de armas, control de tráfico aéreo, control de implantes médicos (marcapasos, etc.). Los sistemas deben funcionar ininterrumpidamente y sin problemas. Seguridad – Una de las principales tareas del S.O. Tiempo atrás cuando muchas personas compartían un mismo computador: Se cuidaba de que un proceso no afecte los procesos de otras personas. Se protegían los archivos. Solo se podían leer y cambiar archivos al cual se estaba autorizado. Solo personas autorizadas usaban la computadora (recursos caros) Seguridad: Alternativas Sólo las personas autorizadas poseen “algo” que les permite el acceso: Key, id-card, retina, etc Sólo las personas autorizadas conocen “algo” que les permite el acceso: Password, códigos especiales, etc. Seguridad: detectar errores o ataques desde afuera Para la protección de las computadoras se usa generalmente un usuario y contraseña. Problemas: Robo de claves Uso de muchas contraseñas Generación automática de claves de visitantes Contramedidas Siempre informar al usuario la fecha y hora de su último logeo Reportar contraseñas ingresadas incorrectamente Grabar un log con la actividad de los visitantes Seguridad: detectar errores o ataques desde adentro El S.O. debe prevenir acceso ilegal a los recursos: Espacios de memoria diferente para cada proceso Instrucciones privilegiadas solo permitidas desde el kernel. Realizar el acceso a archivos sólo desde el kernel. Acceso a dispositivos a través del kernel. Preguntas de comprobación ¿Qué es un sistema operativo? ¿Cual es la función del Shell? Mencione y explique los tipos de software ¿Qué es el booting? ¿Qué es el Scheduler?