SO Introducción X2

Embed Size (px)

Citation preview

  • 7/23/2019 SO Introduccin X2

    1/24

    07/04/2015

    1

    Qu es un sistema operativo?

    Un programa que acta como un intermediario entre un usuario de una

    com utadora elhardware de la com utadora.

    Introduccin

    Objetivos de Sistema Operativo:

    Ejecutar los programas de usuario y permitir la solucin de problemas

    del usuario mas fcilmente.

    Conveniencia de uso del sistema de la computadora.

    17/03/201300:55:07

    .

    Componentes del Sistema de Cmputo

    1. Hardware provee los recursos bsicos de computacin (CPU,

    memoria dis ositivos de E S .

    Introduccin

    2. Sistema Operativo controla y coordina el uso del hardware entre

    varios programas de aplicacin para varios usuarios.

    3. Programas de Aplicacin define el modo en el cual los recursos del

    sistema son usados para resolver los problemas de computacin delos usuarios (compiladores, sistemas de bases de datos, videojuegos,

    17/03/201300:55:07

    we , programas a m n strat vos, etc .

    4. Usuarios (gente, mquinas, otras computadoras).

  • 7/23/2019 SO Introduccin X2

    2/24

    07/04/2015

    2

    Introduccin

    17/03/201300:55:07

    Vista Abstracta de los Componentes del Sistema

    Introduccin

    17/03/201300:55:07

  • 7/23/2019 SO Introduccin X2

    3/24

    07/04/2015

    3

    Definiciones de Sistemas Operativos

    Alocador de recursos

    Introduccin

    a m n s ra o os os recursos.

    decide sobre requerimientos conflictivos para asegurar eficiencia y

    uso imparcial de recursos

    Programa de Control

    controla ejecucin de los programas para prevenir errores y el uso

    17/03/201300:55:07

    .

    Los sistemas Operativos

    son ante todo administrado-

    El programa ms fundamental

    de todo el sistema es el Sistema

    Sistemas Operativos: Definiciones

    res de recursos.

    H. M. Deitel

    Operativo, el cual controla todos

    los recursos del computador.

    Andrew Tanenbaum.

    Un Sistema Operativo es un

    programa que acta comoEl Sistema Operativo es un

    programa que controla la

    17/03/201300:55:07

    intermediario entre el

    usuario y el hardware del

    computador.

    Silberschatz-Peterson-Galvin

    ejecucin de los programas

    de Aplicacin.

    W. Stall ings.

  • 7/23/2019 SO Introduccin X2

    4/24

    07/04/2015

    4

    Inicio de la Computadora

    El programa debootstrap es cargado en el encendidoo reboot

    Introduccin

    p camen e a macena o en o , genera men e

    conocido como firmware

    Inicializa todos los aspectos del sistema

    Carga el kernel del sistema operativo y comienza la ejecucin

    17/03/201300:55:07

    Cmo arranca el SO?

    Windows:

    Se car a la biblioteca HAL.

    Introduccin

    El Kernel.

    Registro del sistema.

    Se determinan los controladores y se cargan.

    Se inicia el sistema y se crean procesos. Proceso del sistema.

    17/03/201300:55:07

    Procesos de Usuario.

    SMSS (Session Manager Subsystem, similar al init en linux).

    Crea procesos como winlogon y csrss (subsistema API Win 32).

    Qu sucede cuando un Windows hiberna?

  • 7/23/2019 SO Introduccin X2

    5/24

    07/04/2015

    5

    Qu hace el SO?

    El SO corre programas de los usuarios, si esta disponible, entonces

    entra en un ciclo de no hacer nada (ciclo idle).

    Introduccin

    En el ciclo idle:

    El SO ejecuta un ciclo infinito (UNIX).

    El SO realiza actividades de gestin del sistema y anlisis de rendimiento.

    EL SO detiene el procesador y entra en modo de bajo consumo de energa

    (notebooks).

    El SO realiza al una funcin DECs VMS sobre VAX calculaba Pi .

    17/03/201300:55:07

    El SO se despierta cuando recibe:

    Interrupciones desde los dispositivos de hardware.

    Traps desde los programas.

    Excepciones desde los programas de usuario.

    Organizacin del Sistema de Cmputo

    Operacin del Sistema de Cmputo

    Introduccin

    na o m s s, se provee acceso a a memor a compar a por

    dispositivos de control conectados a un canal comn

    La ejecucin concurrente de CPUs y dispositivos compiten por

    ciclos de memoria.

    17/03/201300:55:07

  • 7/23/2019 SO Introduccin X2

    6/24

    07/04/2015

    6

    Organizacin del Sistema de Cmputo

    Introduccin

    17/03/201300:55:07

    Operacin del Sistema de Cmputo

    Los dispositivos de E/S y la CPU pueden ejecutar concurrentemente.

    Introduccin

    a a con ro a or e spos vos es encarga o e un po par cu ar

    de dispositivo.

    Cada controlador de dispositivos tiene un buffer local.

    La CPU mueve datos desde/hacia la memoria principal a/desde losbuffers locales.

    17/03/201300:55:07

    .

    El controlador de dispositivo informa a la CPU que ha finalizado su

    operacin por medio de unainterrupcin.

  • 7/23/2019 SO Introduccin X2

    7/24

    07/04/2015

    7

    Funcionamiento de las Interrupciones

    Una interrupcin transfiere el control a la rutina de servicio de la

    misma eneralmente or medio del vector de interru cin ue

    Introduccin

    contiene las direcciones de todas las rutinasde servicio.

    La arquitectura de la interrupcin debe salvar la direccin de

    Introduccin la instruccin interrumpida.

    Las interrupciones entrantes son deshabilitadas mientras otra

    interrupcin est siendo procesada para prevenir una prdida de

    17/03/201300:55:07

    nterrupc n.

    Untrap es una interrupcin generada por el software causadapor un

    error o por un requerimiento de usuario.

    Un sistema operativo es manejado por lasinterrupciones.

    Manejo de Interrupciones

    El sistema operativo preserva el estado de la CPU almacenando los

    re istros el contador de ro rama.

    Introduccin

    Determina que tipo de interrupcin ha ocurrido:

    o polling

    o

    Sistema de interrupcinvectoreadoSegmentos de cdigo separados determinan que tipo de accin

    17/03/201300:55:07

    .

  • 7/23/2019 SO Introduccin X2

    8/24

    07/04/2015

    8

    Multiprogramacin

    Dos tcnicas son posibles para el funcionamiento de E/S.

    Introduccin

    .

    No usa interrupciones.

    El CPU tiene que esperar por la terminacin de cada

    operacin de E/S.

    E/S manejada por interrupcin.

    El CPU puede ejecutar cdigo durante el funcionamiento de

    17/03/201300:55:07

    E/S.

    Se interrumpe cuando la operacin de E/S se termina.

    Mejoras del acceso:

    Acceso Directo a Memoria: Un bloque de datos se transfiere

    hacia/desde memoria directamente, sin pasar por el CPU.

    Estructura de E/S

    Forma Sincrnica

    Introduccin

    uego que a com enza, e con ro re orna a programa e usuar o

    solo cuando la E/S se haya completado.

    Una instruccin de espera mantiene ociosa la CPU hasta la

    prxima interrupcin.

    Lazo de espera (contencin para el acceso a memoria).

    17/03/201300:55:07

    ,

    procesamiento simultneo de E/S.

  • 7/23/2019 SO Introduccin X2

    9/24

    07/04/2015

    9

    E/S programada

    El mdulo de E/S realiza la accin, en

    Introduccin

    .

    Pero el mdulo de E/S no interrumpe

    al CPU cuando se termina la E/S.

    El procesador debe mantenerse

    ocupado esperando, verificando el

    estado del mdulo de E/S.

    17/03/201300:55:07

    E/S manejada por interrupciones

    El procesador es interrumpido

    cuando el mdulo de E/S esta

    Introduccin

    listo para intercambiar datos.

    El procesador es libre de realizar

    otro trabajo.

    El procesador NO necesita estarocupado esperando.

    17/03/201300:55:07

    procesador porque cada palabra

    leda o escrita pasa a travs del

    procesador.

  • 7/23/2019 SO Introduccin X2

    10/24

    07/04/2015

    10

    Usado por dispositivos de E/S de alta velocidad para transmitir

    informacin a velocidades similares a la de la memoria.

    Estructura de Acceso Directo a Memoria (DMA)

    Introduccin

    El controlador de dispositivos transfiere bloques de datos desde el

    buffer de almacenamiento directamente a la memoria principal sin la

    intervencin de la CPU.

    Solo una interrupcin es generada por bloque, y no una por byte.

    17/03/201300:55:07

    Estructura de almacenaje

    Memoria principal nico medio de almacenaje que la CPU puede

    acceder directamente.

    Introduccin

    Almacenaje Secundario extensin de la memoria principal que

    provee una gran capacidad de almacenaje no voltil.

    Discos Magnticos

    La superficie del disco est lgicamente dividida entracks (pistas),

    los cuales estn subdivididas en sectores.

    17/03/201300:55:07

    El controlador de disco determina la interaccin lgica entre el

    dispositivo y la computadora.

  • 7/23/2019 SO Introduccin X2

    11/24

    07/04/2015

    11

    Caching

    Principio importante que es llevado a cabo por varios niveles en una

    com utadora en hardware sistema o erativo software

    Introduccin

    La informacin en uso copiada desde un almacenaje lento a uno ms

    rpido temporariamente.

    El almacenaje ms rpido (cache) es verificado primero para

    determinar si la informacin est all:

    Si est, es usada directamente del cache (rpido)

    17/03/201300:55:07

    Si no, el dato es copiado al cache y usado all.

    Estructura del Sistema Operativo

    La Multiprogramacin es necesaria para lograr eficiencia:

    Introduccin

    n s mp e usuar o no pue e man ener a y os spos vos e

    E/S ocupados todas las veces.

    La multiprogramacin organiza las tareas ( cdigo y p g g g datos)

    de tal manera que la CPU siempre tiene uno ejecutando.

    Un subconjunto del total de tareas en el sistema se mantienen en

    memoria.

    17/03/201300:55:07

    Una tarea es seleccionada y ejecuta va una planificacin de

    tareas.

    Cuando tiene que esperar (p.ej. E/S), el sistema operativo

    conmuta a otra tarea.

  • 7/23/2019 SO Introduccin X2

    12/24

    07/04/2015

    12

    Concurrencia

    En un sistema multiprogramado (1 P), los procesos se intercalan,

    para dar la apariencia de simultaneidad.

    Introduccin

    En un sistema con varios procesadores (n P), los procesos se

    P1

    P2

    P3

    17/03/201300:55:07

    superponen.

    P1

    P2

    P3

    Operaciones del Sistema Operativo

    La operacin en modo dual permite al sistema operativo protegerse a

    si mismo otros com onentes del sistema

    Introduccin

    Modo usuario y modo kernel

    El bit de modo es provisto por el hardware

    Provee la habilidad para distinguir cuando el sistema estejecutando cdigo de usuario o cdigo kernel.

    17/03/201300:55:07

    ,

    modo kernel.

    La llamada a sistema cambia el modo a kernel, el retorno de la

    llamada reinicia al modo usuario.

  • 7/23/2019 SO Introduccin X2

    13/24

    07/04/2015

    13

    Administracin de Procesos

    Un proceso es un programa en ejecucin. Es una unidad de trabajo

    dentro del sistema. Un ro rama es unaentidad asiva el roceso es

    Introduccin

    unaentidad activa.

    El proceso necesita recursos para realizar su tarea.

    CPU, memoria, E/S, archivos

    Inicializacin de datos

    17/03/201300:55:07

    .

    Administracin de Memoria

    Todos los datos antes y despus del procesamiento.

    Introduccin

    o as as ns rucc ones en memor a para e ecu ar.

    Determina que hay en memoria cuando es necesario optimizar la

    utilizacin de CPU y el tiempo de respuesta.

    Actividades de la administracin de memoria: Lleva control de que partes de la memoria estn siendo usadas y

    17/03/201300:55:07

    .

    Decide que procesos cargar cuando hay espacio de memoria

    disponible.

    Ocupa y desocupa espacio de memoria cuando necesite.

  • 7/23/2019 SO Introduccin X2

    14/24

    07/04/2015

    14

    Administracin del almacenaje

    Administracin del Sistema de Archivos

    Introduccin

    os arc vos, usua men e es n organ za os en rec or os

    El control de acceso en la mayora de los sistemas determina

    quien puede acceder a que

    Las actividades del SO incluyen:

    Creacin y destruccin de archivos y directorios.

    17/03/201300:55:07

    Soporte de primitivas para el manejo de archivos y directorios.

    Mapeo de archivos sobre el almacenaje secundario.

    Respaldo sobre medios de almacenajes estables.

    Administracin de Almacenaje Secundario

    Los discos son usados para almacenar datos que no entran en

    memoria rinci al o ara datos ue tienen ue ser uardados un

    Introduccin

    largo perodo de tiempo.

    Su administracin es de vital importancia.

    La velocidad de operacin de la computadora depende del subsistema

    de discos y sus algoritmos.

    17/03/201300:55:07

  • 7/23/2019 SO Introduccin X2

    15/24

    07/04/2015

    15

    Subsistema de E/S

    Uno de los propsitos del SO es esconder las peculiaridades de los

    dis ositivos de hardware de los usuarios.

    Introduccin

    Los subsistemas de E/S son responsables de:

    Administracin de memoria de las E/S incluyendo el buffering

    (almacena datos temporariamente mientras estn siendo

    transferidos), caching (almacena partes de datos en

    almacenamiento rpido por rendimiento), spooling (el solapado

    17/03/201300:55:07

    e a sa a e un o con aentra a a otros

    Interfaz general de drivers de dispositivos.

    Drivers especficos para dispositivos de hardware

    Proteccin y Seguridad

    Proteccin mecanismo para controlar el acceso de procesos o

    usuarios a recursos definido or el SO

    Introduccin

    Seguridad defensa del sistema contra ataques internos y externos

    Amplio rango, incluyendo DoS, worms, virus, robo de identidad,

    robo de servicios

    17/03/201300:55:07

  • 7/23/2019 SO Introduccin X2

    16/24

    07/04/2015

    16

    Proteccin y Seguridad (cont.)

    Los Sistemas generalmente primero distinguen entre usuarios para

    determinar uien uede ue:

    Introduccin

    oIdentidad de usuarios (ID de usuarios, IDs de seguridad) incluye

    nombre y nmero asociado, uno por usuario

    oEl ID de usuario se asocian con todos los archivos

    oprocesos de ese usuario para determinar el control de acceso

    17/03/201300:55:07

    de usuarios controlar el manejo, tambin asociado con cada

    proceso, archivo

    oEscalamiento de privilegios permite al usuario cambiar a un ID

    efectivo con ms derechos

    Ambientes de Computacin

    Computadora Tradicional

    Introduccin

    orrosa en e empo

    Ambiente de oficina

    oPCs conectadas a una red, terminales conectados mainframe o

    minicomputadoras proveyendo procesamiento en lotes ytiempo compartido

    17/03/201300:55:07

    remotos acceder a los mismos recursos.

    Redes hogareas

    oUsados como sistemas simples, luego modems

    oAhora firewalls y redes

  • 7/23/2019 SO Introduccin X2

    17/24

    07/04/2015

    17

    Ambientes de Computacin (Cont.)

    Computacin Cliente-Servidor

    Introduccin

    erm na es o as sup an a as por s

    Muchos sistemas, ahora servidores, responden a requerimientos

    generados por los clientes

    El servidor provee una interfaz al cliente que requiere el

    servicio (p.e. base de datos)

    17/03/201300:55:07

    almacenen y recuperen archivos

    Computacin Peer-to-Peer (P2P)

    Otro modelo de sistema distribuido

    Introduccin

    no s ngue en re c en es y serv ores

    Todos los nodos son considerados peers

    Cada uno puede actuar como cliente, servidor o ambos

    El Nodo debe agregarse a la red P2P

    oRegistra su servicio con un servicio central de bsqueda sobre

    17/03/201300:55:07

    la red o

    oRequerir por un broadcast un servicio y responder a los

    requerimientos por servicio viaprotocolo de descubrimiento.

    Ejemplos incluyenNapster y Gnutella

  • 7/23/2019 SO Introduccin X2

    18/24

    07/04/2015

    18

    Computacin basada en la Web

    La Web se ha convertido ubicua

    Introduccin

    as s son os spos vos que preva ecen

    La mayora de los dispositivos estn en red para tener acceso a la web

    Nueva categora de dispositivos para manejar el trfico de la web

    entre servidores similares: balanceadores de carga.

    El uso de SOs como Windows 95, lado del cliente, han evolucionado

    17/03/201300:55:07

    ,

    clientes y servidores

    Servicios del Sistema Operativo

    Un conjunto de servicios de SO provee funciones que son tiles al

    usuario:

    Estructura del Sistema Operativo

    Comunicaciones. Los procesos pueden intercambiar informacin, en la red

    Las comunicaciones pueden ser va memoria compartida o por medio de

    pasaje de mensajes (los paquetes son movidos por el SO)

    Deteccin de errores. Los SOs necesitan estar constantemente al margen deerrores.

    17/03/201300:55:07

    , ,

    en programas de usuario

    Para cada tipo de error el SO toma la operacin apropiada para asegurar

    una computacin correcta y consistente

    Las facilidades de depuracin pueden mejorar las habilidades del usuario y

    programador para hacer eficiente el uso del sistema.

  • 7/23/2019 SO Introduccin X2

    19/24

    07/04/2015

    19

    Servicios del Sistema Operativo (Cont)

    Otro conjunto de funciones del SO existen para asegurar una

    o eracin eficiente del ro io sistema va recursos com artidos.

    Estructura del Sistema Operativo

    Proteccin y seguridad. Los propietarios de la informacin

    almacenada en sistema de computadoras multiusuarios o de red

    pueden querer controlar el uso de esa informacin, los procesos

    concurrentes no deben interferir uno con otro.

    o Proteccin implica asegurar que todos los accesos a recursos del sistema

    17/03/201300:55:07

    .

    o Seguridad del sistema frente a los de afuera requiere autenticacin,

    extensin para defender los dispositivos externos de E/S de intentos de

    accesos no vlidos.

    Si un sistema debe ser protegido y seguro, deben ser tomadas precauciones

    pues una cadena es tan fuerte como el ms dbil de los eslabones.

    Interfaz de Usuario del Sistema Operativo - CLI

    La interfaz de lneas de comando (Command Line Interface - CLI) o

    intr rete de comando ermite entrar comandos en forma directa

    Estructura del Sistema Operativo

    o Algunas veces implementadas en el kernel, otras como programas

    de sistema

    o A veces mltiples variantes shells

    o En primer lugar espera un comando del usuario y luego lo ejecuta

    17/03/201300:55:07

    ,

    programas

    En este ltimo caso, agregar nuevas caractersticas no

    requiere modificaciones en la shell.

  • 7/23/2019 SO Introduccin X2

    20/24

    07/04/2015

    20

    Llamadas al Sistema

    Son la interfaz de programacin a los servicios provistos por el SO

    Estructura del Sistema Operativo

    p camen e escr as en engua es e a o n ve o

    Mayoritariamente accedidas por programas va Application Program

    Interface (API) ms que por el uso llamadas a sistema directas

    Las tres API ms comunes son Win32 para Windows, POSIX API para

    sistemas POSIX (incluyendo virtualmente todas las versiones de UNIX,

    Linux, y Mac OS X), y Java API para la mquina virtual Java (JVM)

    17/03/201300:55:07

    Programas de Sistema

    Los programas de sistema proveen un medio conveniente para el

    desarrollo de ro ramas e ecucin. Pueden ser divididos en:

    Estructura del Sistema Operativo

    o Manipulacin de archivos

    o Informacin de estado

    o

    Modificacin de archivoso Soporte de lenguajes de programacin

    17/03/201300:55:07

    o Carga de programas y ejecucin

    o Comunicaciones

    o Programas de aplicacin

    La visin que tienen la mayora de los usuarios del sistema operativo est dada por los

    programas de sistema y no por las llamadas a sistema (system calls).

  • 7/23/2019 SO Introduccin X2

    21/24

    07/04/2015

    21

    Sistema monoltico App App

    Modo Usuario

    Estructura del Sistema Operativo

    Supervisa solicitudes

    de cambio desde modo

    usuario al modo kernel

    Servicios del sistema

    Modo Kernel

    17/03/201300:55:07

    Hardware

    Procedimientos

    SO

    Estructura Simple

    MS-DOS escrito para proveer mxima funcionalidad en el menor

    es acio

    Estructura del Sistema Operativo

    No est dividido en mdulos

    Aunque MS-DOS tiene cierta estructura, sus interfaces y niveles de

    funcionalidad no estn bien separados

    17/03/201300:55:07

    Capas de la Estructura MS-DOS

  • 7/23/2019 SO Introduccin X2

    22/24

    07/04/2015

    22

    Enfoque por Capas

    El sistema operativo est dividido en un nmero de capas (niveles),

    cada una construida sobre el to e de otra.

    Estructura del Sistema Operativo

    La capa inferior (nivel 0), es el hardware; la mas alta (capa N) es la

    interfaz de usuario.

    En forma modular, las capas son seleccionadas de manera que cada

    una usa funciones (operaciones) y servicios de las capas inferiores

    17/03/201300:55:07

    enta as:Simplicidad de construccin.

    Facilidad de depuracin.

    Extensible.

    Desventajas:Definir las capas.

    Cada capa agrega sobrecarga.

    Estructura Unix

    Estructura del Sistema Operativo

    17/03/201300:55:07

  • 7/23/2019 SO Introduccin X2

    23/24

    07/04/2015

    23

    Estructura UNIX modernos

    Estructura del Sistema Operativo

    17/03/201300:55:07

    Microkernel del SO (SO Cliente/Servidor)

    Implementos del Kernel : ServidorMemoria

    App

    Cliente

    Servidor

    Red

    Estructura del Sistema Operativo

    Planificacin

    Gestin Memoria

    Comunicacin

    interprocesos (IPC)Servidores modo-usuarios

    Servidor

    Procesos

    Servidor

    Archivos

    Servidor

    Pantallas

    Modo Usuario

    Modo Kernel

    17/03/201300:55:07

    Microkernel

    Hardware

    pet c n

    respuesta

  • 7/23/2019 SO Introduccin X2

    24/24

    07/04/2015

    24

    Estructura Windows

    Estructura del Sistema Operativo

    17/03/201300:55:07

    Estructura de Sistema Microkernel

    Mueve tanto como se pueda al espacio de usuario

    Estructura del Sistema Operativo

    as comun cac ones enen ugar en re m u os e usuar os por

    medio de pasajes de mensajes

    Beneficios:

    Ms fcil de extender

    Ms fcil de portar el SO a nuevas arquitecturas

    17/03/201300:55:07

    Mas confiable (menos cdigo corre el el modo kernel)

    Ms seguro

    Detrimentos:

    Sobrecarga de rendimiento en la comunicacin del espacio de

    usuario al espacio de kernel