Sistemas Operativos

download Sistemas Operativos

of 47

description

Sistemas Operativos

Transcript of Sistemas Operativos

  • Sistemas operativos: una visin

    aplicada

    Modulo 1

    Introduccin a los sistemas

    operativos

    Ing. Yarisol A. Castillo Q.

  • Sistemas Operativos: Captulo I 1

    Contenido

    Qu es un sistema operativo?

    Arranque del computador

    Componentes y estructura de un sistema operativo

    Activacin del sistema operativo

    Interfaz del programador

    Interfaz del usuario

    Historia y evolucin

  • Sistemas Operativos: Captulo I 2

  • Sistemas Operativos: Captulo I 3

    Qu es un sistema operativo?

    Un programa que acta como intermediario entre el usuario de un computador y el hardware del mismo

    Objetivos del sistema operativo: Ejecutar programas y facilitar la solucin de los

    problemas del usuario

    Hacer un uso conveniente del computador

    Usar el computador de forma eficiente

    Proporcionar una mquina virtual extendida

  • Sistemas Operativos: Captulo I 4

  • Sistemas Operativos: Captulo I 5

    Funciones del sistema operativo

    Gestor de recursos (UCP, memoria, ...) Asignacin y recuperacin de recursos Proteccin de los usuarios Contabilidad/monitorizacin Soporte de usuario

    Mquina extendida (servicios) Ejecucin de programas (procesos) rdenes de E/S Operaciones sobre archivos Deteccin y tratamiento de errores

    Interfaz de usuario Shell

  • Sistemas Operativos: Captulo I 6

  • Sistemas Operativos: Captulo I 7

  • Sistemas Operativos: Captulo I 8

  • Sistemas Operativos: Captulo I 9

    Niveles del sistema operativo

    Ncleo

    Servicios

    Programas

    Usuarios

    Shell

    Sistemaoperativo

    API

    Hardware

  • Sistemas Operativos: Captulo I 10

    Contenido

    Qu es un sistema operativo?

    Arranque del computador Componentes y estructura de un sistema operativo

    Activacin del sistema operativo

    Interfaz del programador

    Interfaz del usuario

    Historia y evolucin

  • Sistemas Operativos: Captulo I 11

    Arranque del computador

    El Reset carga valores predefinidos en registros

    CP direccin de arranque del cargador ROM

    Se ejecuta el cargador ROM del sistema Test del sistema Trae a memoria el boot del SO

    En el caso del PC la ROM contiene, adems, sw de E/S (BIOS)

    0

    2.047

    1.048.575

    Direccin Celdas

    Unidad de Memoria

    ZonaROM

    0

    1.046.528

    1.048.575

    Direccin Celdas

    Unidad de Memoria

    ZonaROM

  • Sistemas Operativos: Captulo I 12

    Arranque del sistema operativo

    El SO est almacenado en el disco

    Programa cargador

    (identificador) Disco

    Sistema Operativo

  • Sistemas Operativos: Captulo I 13

    Arranque del sistema operativo

    El cargador ROM carga el sector de boot del SO y le da control

    El boot del SO carga el SO residente y da control al programa de arranque del SO, que:

    Comprueba el hardware Comprueba el sistema de ficheros Establece las tablas del SO Crea procesos (segn el tipo de SO)

    Proceso INIT Procesos o tareas del sistema (demonios) Procesos de login (uno por terminal)

    Tras la autenticacin, el proceso login se convierte en shell

  • Sistemas Operativos: Captulo I 14

    Contenido

    Qu es un sistema operativo?

    Arranque del sistema operativo

    Componentes y estructura de un sistema operativo

    Activacin del sistema operativo

    Interfaz del programador

    Interfaz del usuario

    Historia y evolucin

  • Sistemas Operativos: Captulo I 15

    Componentes del SO

    Ncleo

    POSIX

    Programas de usuario

    Usuarios

    Sistemaoperativo

    Varias API

    Hardware

    Win 32

    Shell 1 Shell 2

    Gestin deprocesos

    Gestin dememoria

    Gestin de la E/S

    Comunicac.y

    sincroniz.

    Seguridad y

    proteccin

    Gestin de archivos y directorios

  • Sistemas Operativos: Captulo I 16

    Estructura del sistema operativo

    Sistemas operativos monolticos

    Sistemas operativos estructurados Sistemas por capas Modelo cliente-servidor

  • Sistemas Operativos: Captulo I 17

    Estructura cliente-servidor

    Microncleo

    Procesos cliente

    Procesos servidores

    API API

    Hardware

    Servidor de procesos

    Servidor de memoria

    Servidor de la E/S

    Servidor de

    Comunicac.

    Servidor de Seguridad

    Modo ncleo

    Modo usuario Servidor de archivos y directorios

  • Sistemas Operativos: Captulo I 18

    Gestin de procesos

    Un proceso es un programa en ejecucin.

    Un proceso necesita recursos, tales como UCP, memoria, ficheros, etc., para llevar a cabo su tarea.

    El SO tiene la responsabilidad de gestionar los siguientes aspectos de procesos:

    Creacin y destruccin. Suspensin y reanudacin. Asignacin y mantenimiento de los recursos del

    proceso.

    Proporcionar mecanismos de sincronizacin y comunicacin.

    Gestionar los interbloqueos.

  • Sistemas Operativos: Captulo I 19

    Elementos de un proceso

    Mapa deMemoria

    BCP

    Mapade

    E/S

    Registros generales

    PC

    SP

    Estado

    Cdigoy

    datos

  • Sistemas Operativos: Captulo I 20

    Servicios de procesos

    Crear un procesos A partir de un proceso padre (UNIX) A partir de un archivo ejecutable (Windows NT)

    Ejecutar un proceso

    Terminar la ejecucin de un proceso

    Cambiar el programa que ejecuta un proceso

  • Sistemas Operativos: Captulo I 21

    Gestin de memoria

    Memoria: vector enorme de palabras o bytes, cada uno con su propia direccin.

    Compartido por UCP y dispositivos E/S. Voltil: pierde su contenido si el sistema falla.

    El SO tiene la responsabilidad de gestionar los siguientes aspectos de la memoria:

    Mantener un mapa de las partes de memoria en uso y saber quin las est usando.

    Decidir qu procesos se deben cargar, y dnde, cuando hay memoria disponible.

  • Sistemas Operativos: Captulo I 22

    Servicios de gestin de memoria

    Asignar y liberar espacio de memoria cuando sea necesario.

    Ofrecer servicios para que los procesos puedan compartir memoria.

    Solicitar memoria

    Liberar memoria

    Compartir memoria

  • Sistemas Operativos: Captulo I 23

    Comunicacin y sincronizacin entre procesos

    Procesode Usuario

    SO

    UN COMPUTADOR DOS COMPUTADORES

    Procesode Usuario

    Procesode Usuario

    SO SO

    Procesode Usuario

  • Sistemas Operativos: Captulo I 24

    Servicios de comunicacin y sincronizacin

    Servicios de comunicacin Crear el mecanismo de comunicacin Enviar datos a un proceso Recibir datos de un proceso Destruir el servicio de comunicacin

    Servicios de sincronizacin Crear el mecanismo de sincronizacin Bloquear un proceso hasta que ocurra un evento Despertar a un proceso bloqueado Destruir el mecanismo de sincronizacin

  • Sistemas Operativos: Captulo I 25

    Tipos de comunicacin

    Comunicacin sncrona Los dos procesos han de ejecutar los servicios de

    comunicacin al mismo tiempo

    Comunicacin asncrona Los dos procesos no tiene que ejecutar los servicios de

    comunicacin al mismo tiempo

    enviar

    EsperaEsperarecibir enviar

    recibir

    Proceso A

    El proceso A espera al B

    Av

    an

    za l

    a e

    jec

    uci

    n

    El proceso B espera al A

    Proceso A

    Proceso B

    Proceso B

  • Sistemas Operativos: Captulo I 26

    Gestin de E/S

    El gestor de E/S est formado por: Un sistema global de almacenamiento intermedio en

    memoria.

    Manejadores genricos, uno por cada clase, de dispositivos.

    Manejadores especficos para cada dispositivo.

    Almacenamiento secundario no voltil en dispositivos rpidos de E/S (discos, NAD, etc.) como respaldo de la memoria.

  • Sistemas Operativos: Captulo I 27

    Servicios de E/S

    El SO tiene la responsabilidad de gestionar los siguientes aspectos de la E/S y el almacenamiento secundario: Traducir peticiones a formato de manejador. Copiar memoria de/a memoria a/de controlador. Controlar operaciones por DMA. Controlar dispositivos de E/S serie: teclado, ratn, etc. Asignacin y liberacin de espacio. Planificacin de accesos a los dispositivos.

    Servicios orientados a caracteres Impresoras, terminales

    Servicios orientados a bloques La operacin de E/S se hace sobre un bloque de

    informacin de un nmero fijo de caracteres

    Discos

  • Sistemas Operativos: Captulo I 28

    Gestin de archivos y directorios

    Archivo: conjunto de informacin lgicamente relacionada y definida por su creador.

    Directorio: conjunto de identificadores lgicos de archivos y su relacin con identificadores internos del SO.

    Archivos frecuentes: programas (fuentes y ejecutables) y datos.

    El SO tiene la responsabilidad de gestionar los siguientes aspectos del servicio de archivos:

    Creacin y borrado de archivos y directorios. Primitivas para manipular archivos y directorios. Proyectar los ficheros sobre almacenamiento secundario. Hacer respaldo de archivos sobre dispositivos estables y no

    voltiles.

  • Sistemas Operativos: Captulo I 29

    Seguridad y proteccin

    Proteccin: controlar accesos a los recursos de usuario y sistema.

    El servidor de proteccin debe: Distinguir entre uso autorizado y no autorizado. Especificar los controles de acceso a llevar a cabo. Proporcionar mtodos de control de acceso.

    Seguridad: proteger al sistema de un uso indebido.

    El servidor de seguridad debe: Autenticar a los usuarios. Evitar amenazas al sistema (gusanos, virus, piratas,

    fuego, etc.)

    Evitar la intercepcin de comunicaciones: cifrado, canales seguros, etc.

  • Sistemas Operativos: Captulo I 30

    Contenido

    Qu es un sistema operativo?

    Arranque del sistema operativo

    Componentes y estructura de un sistema operativo

    Activacin del sistema operativo Interfaz del programador

    Interfaz del usuario

    Historia y evolucin

  • Sistemas Operativos: Captulo I 31

    Activacin de los servicios del SO

    Fuentes de las peticiones Mandatos de los usuarios interpretados por el shell Llamadas al sistema emitidas por los programas Interrupciones producidas por los perifricos Condiciones de excepcin o error del hardware

    Forma de solicitar los servicios Por llamada problema de seguridad Por interrupcin o trap Rutina de biblioteca:

    Instrucciones de mquina que prepara la llamada al SO

  • Sistemas Operativos: Captulo I 32

    Servicios del SO: llamadas al sistema

    Interfaz entre aplicaciones y SO. Generalmente disponibles como funciones en

    ensamblador.

    Actualmente en otros lenguajes de alto nivel (C, Bliss, ).

    Servicios tpicos del sistema operativo Gestin de procesos Gestin de procesos ligeros Gestin de seales, temporizadores Gestin de memoria Gestin de ficheros y directorios

  • Sistemas Operativos: Captulo I 33

    Paso de los parmetros a las llamadas

    Tres mtodos genricos para pasar parmetros a las llamadas al sistema: En registros. En una tabla de memoria, cuya direccin se pasa al SO

    en un registro. Poner los parmetros en la pila del programa y dejar

    que el SO los extraiga.

    Cada SO proporciona sus propias llamadas al sistema: Estndar POSIX en UNIX y LINUX. Win32 en Windows NT.

  • Sistemas Operativos: Captulo I 34

    Servicios del SO

    Los servicios se programan mediante sentencias de un lenguaje (p.e. C)

    Estas sentencias son como llamadas a funcin

    Se convierten, mediante una rutina de biblioteca de sistemas en un conjunto de instrucciones de mquina que

    terminan con una instruccin de trap

    El trap, como toda interrupcin es tratada por el SO

    El SO realiza el servicio pedido y devuelve un valor

  • Sistemas Operativos: Captulo I 35

    Contenido

    Qu es un sistema operativo?

    Arranque del computador

    Componentes y estructura de un sistema operativo

    Activacin del sistema operativo

    Interfaz del programador Interfaz del usuario

    Historia y evolucin

  • Sistemas Operativos: Captulo I 36

  • Sistemas Operativos: Captulo I 37

  • Sistemas Operativos: Captulo I 38

    Interfaz del programador

    Esta interfaz recupera la visin que como mquina extendida tiene el usuario del sistema operativo

    Interfaces seguidas: POSIX Win32

  • Sistemas Operativos: Captulo I 39

    Estndar POSIX

    Interfaz estndar de sistemas operativos de IEEE.

    Objetivo: portabilidad de las aplicaciones entre diferentes plataformas y sistemas operativos.

    NO es una implementacin. Slo define una interfaz

    Diferentes estndares 1003.1 Servicios bsicos del SO 1003.1a Extensiones a los servicios bsicos 1003.1b Extensiones de tiempo real 1003.1c Extensiones de procesos ligeros 1003.2 Shell y utilidades 1003.2b Utilidades adicionales

  • Sistemas Operativos: Captulo I 40

    Win32

    Define los servicios ofrecidos por los sistemas Windows 95/98, Windows NT, Windows 2000, Windows Vista,

    Windows 7

    No es un estndar

    API totalmente distinto a POSIX

  • Sistemas Operativos: Captulo I 41

    Caractersticas de Win32

    Los recursos se referencian mediante manejadores

    Nombres de funciones largos y descriptivos: GetFileAttributes

    CreateNamedPipe

    Dispone de tipos de datos predefinidos BOOL

    DWORD

    TCHAR

    Las funciones devuelven en general true en caso de xito y false en caso de error

  • Sistemas Operativos: Captulo I 42

    Contenido

    Qu es un sistema operativo?

    Arranque del computador

    Componentes y estructura de un sistema operativo

    Activacin del sistema operativo

    Interfaz del programador

    Interfaz del usuario Historia y evolucin

  • Sistemas Operativos: Captulo I 43

    Interfaz de usuario

    Funciones: Manipulacin de archivos y directorios Herramientas de desarrollo de aplicaciones Comunicacin con otros sistemas Informacin de estado Configuracin de la propia interfaz y entorno Intercambio de datos entre aplicaciones Control de acceso Sistema de ayuda interactivo

    Tipos Interfaces alfanumricas (interpretes de mandatos) Interfaces grficas

  • Sistemas Operativos: Captulo I 44

    Intrprete de mandatos

    Programa cuya funcin es obtener los mandatos del usuario y ordenar su ejecucin al sistema operativo.

    Hay dos tipos bsicos: Intrpretes de mandatos internos Intrpretes de mandatos externos

    Casi todos los mandatos son sentencias de control para los gestores del SO descritos (procesos, E/S, ficheros,

    proteccin y comunicaciones).

    Puede haber mltiples intrpretes de mandatos sobre el mismo SO -> la visin del mismo SO cambia segn el

    usado. Ejemplo: POSIX sobre Windows o Win32 sobre

    LINUX.

  • Sistemas Operativos: Captulo I 45

    Contenido

    Qu es un sistema operativo?

    Arranque del computador

    Componentes y estructura de un sistema operativo

    Activacin del sistema operativo

    Interfaz del programador

    Interfaz del usuario

    Historia y evolucin

  • Sistemas Operativos: Captulo I 46