Sistemas Operativos 19

Embed Size (px)

Citation preview

  • 8/4/2019 Sistemas Operativos 19

    1/180

    Sistemas Operativos

    Ing. David Benavides

  • 8/4/2019 Sistemas Operativos 19

    2/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    3/180

    Ing. David Benavides L.

    Sistemas Operativos

    ProcesamientoDatos Resultado

    Entrada Salida

    Instrucciones de mquina

  • 8/4/2019 Sistemas Operativos 19

    4/180

    Ing. David Benavides L.

    Sistemas Operativos

    La arquitectura de Von Neumann describe una computadora con 4secciones principales: la unidad aritmtico lgica (ALU por sus siglasdel ingls: Arithmetic Logic Unit), la unidad de control (UC), la memoriacentral, y los dispositivos de entrada y salida (E/S). Estas partes estninterconectadas por canales de conductores denominados buses.

  • 8/4/2019 Sistemas Operativos 19

    5/180

    Ing. David Benavides L.

    Sistemas Operativos

    Secuencia de celdasde almacenamientonumeradas, dondecada una es un bit ou n i d a d d einformacin.

    E l p r o c e s a d o r (tambin llamadoUnidad central deprocesamiento oCPU) consta de:

    O A L U e s e ld i s p o s i t i v od iseado parallevar a cabo laso p e r a c i o n e selementales comolas operacionesa r i t m t i c a s yl g i c a s , yoperaciones decomparacin orelacionales

    Sigue la direccinde las posicionesen memoria quec o n t i e n e n l ainstruccin que elcomputador va a

    realizar. Transfiereluego el resultadoa ub i cac i onesapropiadas en lamemoria.

    S i r v e n a l acomputadora parao b t e n e r informacin delmundo exterior y/o comunicar los

    r e s u l t a d o sgenerados por elcomputador a lexterior.

  • 8/4/2019 Sistemas Operativos 19

    6/180

    Ing. David Benavides L.

    Sistemas Operativos

    p1

    p2

    p3

    Procesos.

    CPU

    Memoria.

  • 8/4/2019 Sistemas Operativos 19

    7/180Ing. David Benavides L.

    Sistemas Operativos

    Es una seal recibida por el procesador de un ordenador,indicando que debe "interrumpir" el curso de ejecucin actual ypasar a ejecutar cdigo especfico para tratar esta situacin.

    Estas son

    asncronas a laejecucin del

    procesador, es decir,se pueden producir

    en cualquiermomento.

    Conocidas como excepciones.Son aquellas que se producen

    de forma sncrona a laejecucin del procesador y portanto podran predecirse si seanaliza con detenimiento latraza del programa que en esemomento estaba s iendoejecutado en la CPU

  • 8/4/2019 Sistemas Operativos 19

    8/180Ing. David Benavides L.

    Sistemas Operativos

    Excepciones de programas.Interrupciones peridicas del reloj.Interrupciones de entrada y salida.Excepciones de Hardware.

  • 8/4/2019 Sistemas Operativos 19

    9/180Ing. David Benavides L.

    Sistemas Operativos

    Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de unamemoria de baja velocidad, basndose en el principio de cercana de referencias.

  • 8/4/2019 Sistemas Operativos 19

    10/180Ing. David Benavides L.

    Sistemas Operativos

    A menor tiempo de acceso mayor costoA mayor capacidad mayor costoA mayor capacidad menor velocidad.

    - REGISTROS: Los registros son espacios fsicos dentro delmicroprocesador.- MEMORIA CACH: Clase de memoria RAM esttica (SRAM) de

    acceso aleatorio y alta velocidad, situada entre el CPU y la RAM.

    - MEMORIA RAM: Tipo de memoria de ordenador a la que se puedeacceder aleatoriamente; es decir, se puede acceder a cualquier byte dememoria sin acceder a los bytes precedentes.

    - MEMORIA VIRTUAL: Es una tcnica de gerencia de memoria, usada

    por un sistema operativo, donde memoria no contigua es presentada alsoftware como memoria contigua.

    - DISCOS: Dispositivo magntico que almacena todos los programas ydatos de la computadora.

  • 8/4/2019 Sistemas Operativos 19

    11/180Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    12/180Ing. David Benavides L.

    Sistemas Operativos

    Es un software que acta de interfaz entre los dispositivos de hardware ylos programas utilizados por el usuario para gestionar un computador. Esel responsable de coordinar las actividades y llevar a cabo el intercambiode los recursos y acta como estacin de trabajo para las aplicacionesque se ejecutan en la mquina.

    Provee de un ambiente conveniente de trabajo.Hace uso eficiente del Hardware.Provee de una adecuada distribucin de losrecursos

    Un Sistema Operativo debe cumplir las siguientesfunciones:

    Gobierna el Sistema.Asigna los recursos.Administra y controlar la ejecucin de los programas.

  • 8/4/2019 Sistemas Operativos 19

    13/180Ing. David Benavides L.

    Sistemas Operativos

    Nmero de usuariosque puede soportar

    Propsito para elq u e f u e r o n

    diseados

    Monousuarios

    Multiusuario

    De propsitoGeneral

    De propsitoespecfico

    De tiempo real

    De tolerancia a fallos

  • 8/4/2019 Sistemas Operativos 19

    14/180Ing. David Benavides L.

    Sistemas Operativos

    Modo de trabajo

    Hardware delordenador

    off-line (batch)

    on-line (interactivo)

    Nmero deprocesadores

    Situacin de lamemoria principal

    Centralizado

    Distribuido

    Monoprocesador

    Multiprocesador

    Si t O ti

  • 8/4/2019 Sistemas Operativos 19

    15/180Ing. David Benavides L.

    Sistemas Operativos

    Arbitro eficiente que asigna los recursos a losprocesos.

    Procesos: Programas en ejecucin quecompiten por el uso de un recurso.

    Recursos: Reales, virtuales, fsicos o lgicos.

    El Sistema Operativo monitorea:

    Estado en el que se encuentran los recursos.Quien, cuando y durante cuanto tiempo tieneel control.Asociar y desasociar recursos.

    Si t O ti

  • 8/4/2019 Sistemas Operativos 19

    16/180Ing. David Benavides L.

    Sistemas Operativos

    1. Auto verificacin, memoria ROM.

    2. Programa cargador del S.O.

    Revisa el buen funcionamiento de los dispositivos bsicos en lacomputadora, memoria, unidades de disco, monitor, puertos y

    teclado, si todo esta correcto inicia carga del sistema operativo.

    Segn la secuencia de arranque declarada en la configuracin bsica de lacomputadora (setup) la computadora inicia una bsqueda del sistema operativo

    (el disco duro, disco A: u otra unidad especifica, esto se conoce como boot

    drive), una vez ubicado, lo cargar la memoria RAM.

    Si t O ti

  • 8/4/2019 Sistemas Operativos 19

    17/180Ing. David Benavides L.

    Sistemas Operativos

    Comprobacin del sistemaSe establecen estructuras internas del SO: Tabla de procesos, tabla dememoria, de E/S.

    Se carga la parte del S.O. que va a estar siempre en memoria, conocidocomo sistema operativo residente.

    Se lanzan los procesos auxiliares y demonios (impresin, red, etc.)Se crea un proceso de inicio o login por cada terminal o sesin deusuario

    3. Fase de iniciacin del S.O.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    18/180Ing. David Benavides L.

    Sistemas Operativos

    (1945 1955)Hardware: Tubos de vaco y paneles de control.Sistema Operativo: No existe.

    (1955 1965)Hardware: Transistores (tarjetas perforadas).Sistema Operativo:I. SO de trabajo nico: slo se dedica a preparar elsistema para la llegada de trabajos.II. SO por lotes (batch): automatiza la secuencia deoperaciones involucradas en la ejecucin de unprograma usando ordenes que lee, interpreta yejecuta el monitor de lotes (porcin de cdigoresidente en memoria).

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    19/180Ing. David Benavides L.

    Sistemas Operativos

    (1965 1980)Hardware: Circuitos integrados.Sistema Operativo:I. SO de multiprogramacin: ms de unprograma residente en memoria principal al

    mismo tiempo.II. SO de multiprocesamiento: ms de unprocesador.III. SO multiusuario o multiacceso: permite avarios usuarios acceder a un mismo ordenadormediante terminales interactivos (menor tiempo

    de respuesta).Multiprogramacin MultiusuarioI V . S O d e t i e m p o c o m p a r t i d o :multiprogramacin, multiusuario e interactivo. Elusuario tiene la impresin de que es l el nicoque trabaja con la mquina.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    20/180Ing. David Benavides L.

    Sistemas Operativos

    (1980 hoy)Hardware: Microprocesador (computadorpersonal).

    Sistema Operativo: (para comunicar variasmquinas)I. SO de red: el usuario es consciente de laexistencia de varias mquinas e indica deforma explcita con cul desea trabajar.II. SO distribuido: el usuario no es consciente

    de las mquinas conectadas entre s(transparencia).

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    21/180

    Ing. David Benavides L.

    Sistemas Operativos

    Usuarios de rdenes/aplicaciones.Usuario programador.Usuario diseador/implementador.Administrador del sistema.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    22/180

    Ing. David Benavides L.

    Sistemas Operativos

    Se considera que un sistema operativo est formado por trescapas:NcleoServiciosIntrprete de mandatos o shell

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    23/180

    Ing. David Benavides L.

    Sistemas Operativos

    Es el principal responsable de facilitar a los distintos programas acceso seguro al

    hardware de la computadora. Generalmente utiliza abstracciones.

    Se encarga de:La comunicacin entre los programas que solicitan recursos y el hardware.Gestin de los distintos programas informticos (tareas) de una mquina.Gestin del hardware (memoria, procesador, perifricos, formas de almacenamiento,etc.)

    Ncleos hbridos:Son muy parecidos alos microncleos

    puros, excepto queincluyen cdigoadicional en elespacio de ncleopara que se ejecutems rpidamente.

    Tipos de kernel

    Ncleosmonolticos:Facilitan

    abstraccionesdel hardwarerealmentepotentes yvariadas.

    Microncleos:Proporcionanun pequeoconjunto deabstraccionessimples del

    hardware.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    24/180

    Ing. David Benavides L.

    Sistemas Operativos

    Los servicios se suelen agrupar segn su funcionalidad en varios componentes, cada uno decuales se ocupa de las siguientes funciones:

    Gestin de procesos:Encargada de la creacin, planificacin y destruccin de procesos.Gestin de memoria: Componente encargado de saber qu partes de memoria estnlibres y ocupadas, as como de la asignacin y liberacin de memoria segn la necesiten los

    procesos.

    Gestin de la E/S: Se ocupa de facilitar el manejo de los dispositivos perifricos.Gestin de archivos y directorios: Se encarga del manejo de archivos y directorios yde la administracin del almacenamiento secundario.

    Comunicacin y sincronizacin en procesos: Encargada de ofrecer mecanismospara que los procesos puedan comunicase y sincronizarse.

    Seguridad y proteccin: Este componente debe encargarse de garantizar la informacinde los usuarios y de definir lo que pueden hacer cada uno de ellos con los recursos delsistema.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    25/180

    Ing. David Benavides L.

    Sistemas Operativos

    Es el programa que atiende a los comandos tecleados en el terminal y los traduce ainstrucciones en la sintaxis interna del sistema. Es un programa independiente queproporciona comunicacin directa entre el usuario y el sistema operativo.

    El shell de comandos de lossistemas operativos de servidorWindows utiliza el intrprete decomandos Cmd.exe, que carga

    aplicaciones y dirige el flujo deinformacin entre ellas, paratraducir los datos de entrada delusuario a un formato que elsistema operativo reconozca.

    Algunos de los Shell de Linux msutilizados son:Bourne Shell: Es el interprete decomandos bsico. Se invoca con laorden sh.

    C-Shell: Su programacin esprcticamente lenguaje C. Se invocacon la orden csh.

    Bash: Es el shell utilizado por Linuxpor defecto. Se invoca con bash.

    SHELL DE WINDOWS SHELL DE LINUX

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    26/180

    Ing. David Benavides L.

    Sistemas Operativos

    Crea ilusiones (mquinas virtuales) de la mquina real, permitiendo que encada mquina virtual se ejecute un SO distinto. Lo que realmente hace escorrer los SO dentro de un contenedor que se ejecuta en el SO anfitrin, porlo que se comporta como si fuera una aplicacin ms.

    El programa de control es el que se ejecuta directamente sobre el propio

    hardware y ofrece al nivel inmediatamente superior varias mquinas virtuales.

    HARDWARE

    S.O. ANFITRION

    VIRTUALIZADOR

    USUARIOUSUARIO

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    27/180

    Ing. David Benavides L.

    Sistemas Operativos

    Las mquinas virtuales son compatibles con todoslos ordenadores x86 estndar en adelante.

    Las mquinas virtuales estn aisladas unas de otras.

    Las mquinas virtuales encapsulan un entornoinformtico completo.

    Compatibilidad:

    Aislamiento:

    Encapsulamiento:

    Independencia del hardware:Las mquinas virtuales se ejecutan de formaindependiente del hardware subyacente.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    28/180

    Ing. David Benavides L.

    p

    Agregan gran complejidad y carga operativaal sistema en tiempo de ejecucin

    El programa no alcanzar la misma velocidadde ejecucin que si se instalase en el sistemaoperativo anfitrin

    El desempeo de una vitalizacin nunca serel mismo que el de una instalacin directasobre el hardware requerido

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    29/180

    Ing. David Benavides L.

    p

    Software propietario, muy maduro yrobusto.

    Las versiones bsicas son freeware:

    VMware player: Permite ejecutarmquinas virtuales creadas con cualquierVmware

    Vmware server: Permite crearmquinas virtuales, y ejecutar mquinas

    virtuales creadas con VMware server.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    30/180

    Ing. David Benavides L.

    p

    Software propietario, algunas versiones son freeware.

    Dos versiones:

    Para Windows: Es un virtualizador.Para MAC: Es un emulador.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    31/180

    Ing. David Benavides L.

    p

    Virtualizador para MAC basados en INTEL.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    32/180

    Ing. David Benavides L.

    Permite la ejecucin de maquinas virtuales de forma remota, por medio delRemote Desktop Protocolo (RDP). Los discos duros de los sistemas invitadosson almacenados en los sistemas anfitriones como archivos individuales en uncontenedor llamado Virtual Disk Image.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    33/180

    Ing. David Benavides L.

    K V M p e r m i t e e j e c u t a r mquinas virtuales utilizando

    imgenes de disco quec o n t i e n e n s i s t e m a soperativos sin modificar.Cada mquina virtual tiene supropio hardware virtualizado:una tarjeta de red, discos

    duros, tarjeta grfica, etc.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    34/180

    Ing. David Benavides L.

    A c c e d e r d e s d e u n a

    computadora a un recurso

    ubicado fsicamente en otra

    computadora, a travs de unared local o externa (como

    internet).

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    35/180

    Ing. David Benavides L.

    Funcionalidad de Windows (desde XP) que permite controlar unequipo de forma remota desde cualquier lugar con conexin a

    Internet o LAN, siempre que se cuente con los requisitos

    necesarios. Esto permite que el usuario pueda utilizar los datos,

    aplicaciones y recursos de red de su equipo desde fuera de ella.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    36/180

    Ing. David Benavides L.

    Windows XP o superior instalado en el equipo que se quiera controlarde forma remota. A este equipo se le denomina host.

    Un equipo remoto con Windows XP o superior. A este equipo lodenominaremos cliente y debe tener instalado el software cliente de

    Conexin a Escritorio remoto.

    Una conexin a Internet con ancho de banda mnimo de 64 Kbps ouna red LAN 10/100 MBPS con lnea de vista entre ambos equipos.

    Cuentas de usuario y permisos adecuados.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    37/180

    Ing. David Benavides L.

    El primer paso antes de configurar

    nada, ser conocer el nombre o la

    direccin IP del equipo remoto.

    Necesitaremos cualquiera de estos

    dos parmetros para despus poder

    conectarnos mediante el Escritorio

    Remoto.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    38/180

    Ing. David Benavides L.

    A continuacin debemos seleccionar los usuarios que queremos que tenganacceso remoto al equipo. Los usuarios seleccionados deben disponer de los

    permisos adecuados para conectarse al equipo de forma remota. Estos son el

    administrador o cualquiera que sea miembro de los grupos Administradores o

    Usuarios de escritorio remoto en el equipo host.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    39/180

    Ing. David Benavides L.

    Para conectarnos al equipo host remoto desde un equipo cliente,necesitamos disponer del software cliente de servicios de TerminalServer, que en Windows XP se denomina cliente de Conexin aEscritorio Remoto. Para conectarnos al equipo host remoto desde unequipo cliente, necesitamos disponer del software cliente de serviciosde Terminal Server, que en Windows XP se denomina cliente de

    Conexin a Escritorio Remoto.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    40/180

    Ing. David Benavides L.

    El cliente de Conexin a

    E s c r i t o r i o R e m o t o

    presenta una serie de

    opciones de configuracin

    que podemos personalizar

    pa ra cada conex in

    remota.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    41/180

    Ing. David Benavides L.

    Una de las novedades del cliente Conexin a Escritorio Remoto es

    la posibilidad de tener acceso a recursos locales del cliente desde

    una sesin en el escritorio remoto del equipo host. Para tener

    acceso a nuestros recursos locales pulsamos sobre la ficha

    Recursos locales.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    42/180

    Ing. David Benavides L.

    Otro parmetro configurable es la velocidad de la conexin,

    en la ficha Rendimiento podemos ver las distintas opciones

    disponibles.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    43/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    44/180

    Ing. David Benavides L.

    VNC es un programa de software libre basado en una estructura cliente-servidor el

    cual permite tomar el control del ordenador servidor remotamente a travs de un

    ordenador cliente, tambin llamado software de escritorio remoto. VNC permite que

    el sistema operativo en cada computadora sea distinto: Es posible compartir la

    pantalla de una mquina de "cualquier" sistema operativo conectando desde

    cualquier otro ordenador o dispositivo que disponga de un cliente VNC portado.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    45/180

    Ing. David Benavides L.

    Al comenzar la instalacin

    debemos elegir los servicios que

    deseamos instalar.

    VNC Server, para hacer de

    servidor y que otro equipo se

    conecte al nuestro.

    VNC Viewer, para conectarnos a

    otro equipo.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    46/180

    Ing. David Benavides L.

    Al usar Server es recomendable que

    configuremos una contrasea de acceso

    para permitir o denegar el acceso remoto

    al computador.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    47/180

    Ing. David Benavides L.

    Si usamos el servicio Viewer, solo tenemos que introducir la ip delequipo al que queremos conectar (equipo con VNC Service Activo)

    y a continuacin la contrasea.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    48/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    49/180

    Ing. David Benavides L.

    LogMeIn es una utilidad de control remoto, que permite acceder y manejarnuestro PC desde otro equipo de forma segura, con el nico requisito de que

    ambos estn conectados a Internet.

    La comunicacin entre los dos equipos se realizar a travs del protocolo SSL

    (Secure Sockets Layer) que inscripta todos los datos de las transferencias, as

    como las contraseas necesarias para activar el sistema.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    50/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    51/180

    Ing. David Benavides L.

    Paso 1. Despliegue

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    52/180

    Ing. David Benavides L.

    Paso 2: Acceso

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    53/180

    Ing. David Benavides L.

    Paso 3: Gestin y control

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    54/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    55/180

    Ing. David Benavides L.

    Un proceso es un programa en ejecucin. Es una actividad del computador,gestionada directamente por el SO.

    Est formado por:

    Las instrucciones de un programa destinadas a ser ejecutadaspor el microprocesador.

    Su estado de ejecucin en un momento dado, esto es, losvalores de los registros de la CPU para dicho programa.

    Su memoria de trabajo, es decir, la memoria que ha reservado ysus contenidos.

    Otra informacin que permite al sistema operativo suplanificacin.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    56/180

    Ing. David Benavides L.

    Se puede crear un proceso por los siguientes motivos:

    Inicio del sistema: Procesos interactivos vs demonioLlamada al sistema para crear procesosEl usuario inicia un proceso en modo grfico o modo consola

    Un proceso puede terminar por varias razones:

    Terminacin normal -> voluntaria

    Terminacin por error -> voluntariaError fatal -> involuntarioTerminado por otro proceso -> involuntario (kill -9)

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    57/180

    Ing. David Benavides L.

    En ejecucin: fase de procesamientoBloqueado: en espera de un eventoListo: puede entrar a la fase de procesamiento

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    58/180

    Ing. David Benavides L.

    Es un registro especial donde el sistema operativo agrupa toda lainformacin que necesita conocer respecto a un proceso enparticular.

    El BCP incluye, entre otros, los siguientes campos:

    Identificador del proceso (PID).Estado del proceso.Contador de programa: direccin de la prxima instruccin aejecutar.Espacio de direcciones de memoria.Prioridad del proceso.Lista de recursos asignados para atencin del proceso.Datos del propietario (owner).Permisos asignados.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    59/180

    Ing. David Benavides L.

    Un proceso es

    independientesi no afecta o

    no es afectadopor la ejecucin

    de otrosprocesos en el

    sistema. stosno comparten

    datos.

    Los procesos son

    cooperantescuando estn

    diseados paratrabajar

    conjuntamente enalguna actividad,

    para lo que debenser capaces decomunicarse e

    interactuar entreellos.

    Es un proceso

    que hacompletado suejecucin peroan tiene unaentrada en la

    tabla deprocesos,ocupando

    recursos delcomputador deforma

    permanente.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    60/180

    Ing. David Benavides L.

    Porcin de cdigo de un programa de computador en la cual se accede a un

    recurso compartido que no debe ser accedido por ms de un hilo en ejecucin.

    Cuando un proceso se encuentra ejecutando cdigo de la seccin crtica,

    ningn otro proceso puede ejecutar en su seccin, ya que provocara conflictos.

    Exclusin mutua,

    Progreso,Espera acotada.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    61/180

    Ing. David Benavides L.

    Son mecanismos dinmicos que se usan para la gestinde:

    Comunicacin:

    Varios procesos puedan colaborar para realizar unamisma tarea.

    Sincronizacin:

    Funcionamiento coordinado en la resolucin de unatarea encomendada.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    62/180

    Ing. David Benavides L.

    El emisor ejecutael servicio enviarm i e n t r a s e lreceptor ejecutarecibir, coordinado

    por el reloj delcomputador.

    El emisor hace elenvo y prosiguesu ejecucin.

    Asncrona:Sncrona:

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    63/180

    Ing. David Benavides L.

    Archivos.Tuberas.Variables en memoria compartida.Paso de mensajes.

    Permite comunicar a un nmero potencialmente ilimitado deprocesos. Basta con que los procesos tengan permisos paraacceder a los datos almacenados en un archivo.

    Necesita algn otro mecanismo que permita que los procesos sesincronicen en el acceso a los datos almacenados en un archivo.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    64/180

    Ing. David Benavides L.

    Cada proceso ve la tubera como un conducto con dos extremos, uno delos cuales se utiliza para escribir o insertar datos y el otro para extraer oleer datos de la tubera.

    El flujo de datos puede ser:

    Unidireccional Bidireccional

    TUBERIA

    Procesode

    usuario

    Procesode

    usuario

    write read

    SOTUBERIA

    TUBERIA

    Flujo de datos

    Procesode

    usuario

    Procesode

    usuario

    write

    SO

    read write

    Flujo de datosFlujo de datos

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    65/180

    Ing. David Benavides L.

    Memoria compartida.

    Un proceso almacena un valor en una determinada variable, y otro procesopuede acceder a ese valor sin ms que consultar la variable. De esta formase consigue que los dos procesos puedan comunicarse entre ellos.

    TextoDatos

    Pila

    TextoDatos

    Pila

    Segmentode memoriacompartida

    Proceso 2

    var1var2

    * var1 = 2

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    66/180

    Ing. David Benavides L.

    Utilizando paso de mensajes como mecanismo de comunicacin entreprocesos no es necesario recurrir a variables compartidas, nicamente debeexistir un enlace de comunicacin entre ellos.Utilizan 2 operaciones: send y receive

    Mensaje

    Proceso de

    usuari

    o

    Procesode

    usuario

    send receive

    Cola de mensajes

    Mensaje

    Procesode

    usuario

    Procesode

    usuario

    puerto

    receive

    Comunicacin con puertos

    send

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    67/180

    Ing. David Benavides L.

    Seales.Tuberas.Semforos.M u t e x y v a r i a b l e scondicionales

    Paso de mensajesCon este mecanismo se consigue que unos procesosesperen a que se cumpla una determinada condicin yque otros los despierten cuando se cumple la condicinque les permite continuar su ejecucin.

    Las seales tienen un comportamiento asncrono y no seencolan

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    68/180

    Ing. David Benavides L.

    Un semforo es un objeto con un valor entero, al que se le puedeasignar un valor inicial no negativo y al que slo se puede accederutilizando dos operaciones atmicas:

    Waitsignal

    Son mecanismos especialmente concebidos para la sincronizacin deprocesos ligeros.Los mutex se emplean para obtener acceso exclusivo a recursos

    compartidos y para asegurar la exclusin mutua sobre seccionescrticas.Se utilizan dos operaciones atmicas bsicas:

    LockUnlock

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    69/180

    Ing. David Benavides L.

    Proceso que est pendiente de recibir rdenes de trabajo queprovienen de procesos denominados clientes

    Estructura:Lectura de ordenEjecucin de OrdenFinalizacin de ejecucin

    ProcesoServidor Recurso

    Procesos

    clientes

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    70/180

    Ing. David Benavides L.

    Proceso que se ejecuta en segundo plano (background) en vezde ser controlado directamente por el usuario

    Caractersticas:

    Se arranca al iniciar el sistemaNunca muereEst a la espera de un eventoRealiza labores peridicasLanza otros procesos para la realizacin de su trabajo

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    71/180

    Ing. David Benavides L.

    Un hilo de ejecucin o thread, es una caracterstica que permite auna aplicacin realizar varias tareas concurrentemente. Losdistintos hilos de ejecucin comparten una serie de recursos, losmismos que se consideran una abstraccin de un proceso.

    Diferencia entre hilo y proceso: Los procesos sonindependientes, los hilos comparten datos y espacios dedirecciones.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    72/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    73/180

    Ing. David Benavides L.

    Ofrecer a cada proceso un espacio lgicopropio

    Proporcionar proteccin entre losprocesos.

    Permitir que los procesos compartan memoria.

    No se puede conocer la posicin dememoria que ocupar un programacuando se cargue en memoria paraproceder a su ejecucin.

    Proteger al sistema operativo de losaccesos que realiza el programa enejecucin para evitar que, voluntaria oinvoluntariamente, pueda interferir en otros

    procesos.

    El sistema operativo debe crear espacioslgicos independientes y disjuntos para losprocesos

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    74/180

    Ing. David Benavides L.

    Maximizar el rendimiento del sistema.

    Dar soporte a las distintas regiones delproceso.

    Proporcionar a los procesos mapas de memoria muygrandes.

    El sistema operativo conoce que regiones incluye el mapa de memoria decada proceso, el gestor de memoria con el apoyo del hardware deberadar soporte a las caractersticas especificas de cada regin.

    Realizar un reparto de la memoria entre los procesos intentando quequepa el mayor numero de ellos en memoria y minimizando eldesperdicio inherente al reparto.

    Tcnicas de tcnica de overlays y paginacin

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    75/180

    Ing. David Benavides L.

    Es una estructura de datos (tablas) que indica cmo estdistribuida la memoria. Contiene informacin sobre el tamaototal de memoria y las relaciones que existen entre direccioneslgica y fsicas, adems de poder proveer otros detalles

    especficos sobre la arquitectura del computador.

    Esta formado por distintas regiones o segmentos. Cada regines una zona contigua que est caracterizada por la direccindentro del mapa de proceso donde comienza y por su tamao.

    Es utilizado por el procesador para ubicar a los procesos queestn a la espera de ser atendidos.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    76/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    77/180

    Ing. David Benavides L.

    Espacio donde son alojados los procesos previo y durante suejecucin.

    Espacio real que existe en memoria para que sean atendidos por elprocesador coordinado por el reloj.

    De mayor costo que la memoria secundariaAcceso a la informacin contenida es ms rpido.Solo la memoria cache es ms rpida que la principal, pero su costo esa su vez mayor.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    78/180

    Ing. David Benavides L.

    Parte del disco duro que actacomo memoria cuando la memoria

    principal llega al lmite de su

    capacidad.U s o d e a l m a c e n a m i e n t osecundario para ofrecer al conjunto

    de las aplicaciones la ilusin de

    tener mas memoria RAM.Permite proporcionar a unproceso, un mapa de memoria

    mayor que la memoria principal

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    79/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    80/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    81/180

    Ing. David Benavides L.

    Consiste en trasladar el cdigo y los datos de un proceso

    completo de memoria al sistema de almacenamiento secundario,

    para cargar otro previamente almacenado.

    No permite a un proceso utilizar ms memoria RAM de la que

    realmente existe en el sistema.

    Generalmente se da como consecuencia de ajuste de

    prioridades de ejecucin.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    82/180

    Ing. David Benavides L.

    Es generada cuando durante el reemplazo de procesos quedan

    huecos entre dos o ms procesos de manera no contigua y cada

    hueco no es capaz de soportar ningn proceso de la lista de espera.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    83/180

    Ing. David Benavides L.

    Es una tcnica de manejo de memoria, en la cual el espacio de memoria

    se divide en secciones fsicas de igual tamao, denominadas marcos depgina. Los programas se dividen en unidades lgicas, denominadaspginas, que tienen el mismo tamao que los marcos de pginas. De estaforma, se puede cargar una pgina de informacin en cualquier marco depgina.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    84/180

    Ing. David Benavides L.

    El espacio de direcciones lgico de un proceso puede ser no contiguo.Se divide la memoria fsica en bloques de tamao fijo llamados marcos(frames).

    Se divide la memoria de uso del proceso en bloques de tamao fijollamados paginas.

    Se mantiene informacin en los marcos libres.Para correr un programa de n paginas de tamao, se necesitanencontrar n marcos y cargar el programa previamente.

    Se establece una tabla de paginas para trasladar las direccioneslgicas a fsicas y poder identificar los diversos procesos paginados.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    85/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    86/180

    Ing. David Benavides L.

    Es posible comenzar a ejecutar un programa, cargando solouna parte del mismo en memoria, y el resto se cargar por

    demanda.

    No es necesario que las paginas estn contiguas en memoria.Es fcil controlar todas las pginas, ya que tienen el mismotamao.

    Se libera al programador de la restriccin de programar para untamao fsico de memoria, con lo que se aumenta su

    productividad.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    87/180

    Ing. David Benavides L.

    El costo de hardware y software se incrementa, por la nuevainformacin que debe manejarse y el mecanismo de traduccin de

    direcciones necesario.

    Aparece el problema de fragmentacin interna. As, si se requieren

    5K para un programa, pero las paginas son de 4K, debern

    asignrseles 2 paginas (8k), con lo que quedan 3K sin utilizar. La

    suma de los espacios libres dejados de esta forma puede ser mayor

    que el de varias paginas, pero no podr ser utilizados.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    88/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    89/180

    Ing. David Benavides L.

    Visin lgica:

    V i s i n

    fsica:

    ArchivosDirectoriosSistema de Archivos y particiones

    Bloques o bytes ubicados en dispositivos

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    90/180

    Ing. David Benavides L.

    Un archivo o fichero informtico es una entidadlgica compuesta por una secuencia finita debytes, almacenada en un sistema de archivosubicada en la memoria secundaria de unordenador. Los archivos son agrupados en

    directorios dentro del sistema de archivos yson identificados por un nombre de archivo.

    Es una agrupacin de archivos de datos, atendiendoa su contenido, a su propsito o a cualquier criterioque decida el usuario. Tcnicamente el directorioalmacena informacin acerca de los archivos quecontiene: como los atributos o ubicacin fsica.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    91/180

    Ing. David Benavides L.

    El acceso a los dispositivos es:

    IncmodoNo seguro

    El sistema de archivos es la capa de software entre dispositivos y

    usuarios.

    Permite suministrar una visin lgica de los dispositivos.Mecanismos de proteccin

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    92/180

    Ing. David Benavides L.

    Secuencia o tira de bytes

    Registros (de tamao fijo o variable)

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    93/180

    Ing. David Benavides L.

    Datos

    Programa

    NumricosCarcterBinario

    Cdigo fuenteArchivos objetos

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    94/180

    Ing. David Benavides L.

    PRIORIDAD TIPO Area del Computador EJEMPLO

    0 .COM Sistema COMMAND.COM

    0 .SYS Sistema HIMEM.SYS

    1 .BIN Sistema DRVSPACE.BIN

    1 .DLL Sistema COMMDLG.DLL

    1 .DRV Sistema CANON330.DRV

    1 .DAT Sistema SUHDLOG.DAT

    1 .DOS Sistema CONFIG.DOS

    1 .BAT Sistema AUTOEXEC.BAT

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    95/180

    Ing. David Benavides L.

    PRIORIDAD TIPO Area del Computador EJEMPLO

    2 .EXE Aplicaciones WINWORD.EXE

    2 .EXE Aplicaciones EXCEL.EXE2 .EXE Herramientas CACL.EXE

    2 .EXE Herramientas EXPLORER.EXE

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    96/180

    Ing. David Benavides L.

    PRIORIDAD TIPO Area del Computador EJEMPLO

    3 DOC Documentos CURRICULUM.DOC

    3 .XLS Hojas Electrnicas CONTABILIDAD.XLS

    3 .PPT Presentaciones EMPRESA.PPT3 .DBF Bases de Datos PERSONAL.DBF

    3 .BMP Dibujos CUADRO.BMP

    3 .WAV Sonido SALUDO.WAV

    3 .MP3 Sonido CANCION.MP33 .TXT Texto puro LISTA.TXT

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    97/180

    Ing. David Benavides L.

    Ejecutables:

    * ELF: Formato binario estndar en GNU/Linux* PL: Script en lenguaje Perl.

    * PY: Script en lenguaje Python.

    * SH: Script de Shell, utilizado para crear pequeos programas.

    Cdigos fuentes y libreras:

    * A: Libreras estticas.

    * C: Cdigo del lenguaje C.

    * CPP: Cdigo del lenguaje C++.

    * DIFF: Conjunto de instrucciones que defines los cambios al aplicarse un parche.

    * H: Cabecera de archivos programados en C

    * LO: Archivo temporal creado en la compilacin de una librera.

    * O: Archivo temporal creado al compilar un programa.

    * SO: Libreras compartidas, equivalentes a DLL en Windows.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    98/180

    Ing. David Benavides L.

    Comprimidos y empaquetados:* ARJ: Formato de compresin muy habitual hace unos aos.

    * BZ2: Archivo comprimido con la herramienta BZIP2.

    * GZ: Fichero generado mediante la herramienta GZIP

    * RAR: Sustituto natural de ARJ.

    * TAR: Archivo empaquetado sin comprimir, habitualmente comprimido con GZIP o

    BZIP2, formando extensiones dobles. (ej. tar.gz)

    * TBZ2: Archivo resultante de comprimir en BZIP2 un archivo TAR.

    * TGZ:Resultado de comprimir en GZIP un archivo TAR.

    * Z: Fichero comprimido con la herramienta compress.* ZIP: Es el formato de compresin ms utilizado en internet, aunque en GNU/Linux

    no es muy comn usarlo.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    99/180

    Ing. David Benavides L.

    Archivos del Sistema:

    * CONF: Archivo de configuracin de un programa. Almacenados en su mayora en

    el directorio /etc/

    * KO: Mdulos del ncleo de l arama 2.6

    * LOCK: Indica el bloqueo de un servicio, proceso o programa. Se suelen guardar

    en /tmp borrndose con cada inicio.* LOG: Archivo de informacin, generados por el propio ncleo y los programas y

    servicios instalados.

    * PID: Ficheros identificadores de procesos, necesarios para el correcto

    funcionamiento de los servicios en ejecucin.

    * SOCKET: Medio de comunicacin entre dos programas situados habitualmente en

    equipos distintos.

    * TMP: Archivos temporales creado por un programa para almacenar informacin.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    100/180

    Ing. David Benavides L.

    Distribuciones de paquetes binarios:

    * DEB: Usado por Debian y distros derivadas, entre las que destaca Ubuntu o Linux

    Mint como ms conocidas.

    * DSC: Archivo de informacin del cdigo fuente de un paquete en Debian.

    * EBUILD: Script utilizado por Gentoo para compilar e instalar paquetes a partir de

    su cdigo fuente.

    * RPM: Usado por Red Hat, Fedora, CentOS, SUSE, Mandriva y derivados.

    * SLP: Distribucin Stampede.

    * TGZ: Archivos TAR.GZ ya compilados para Slackware.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    101/180

    Ing. David Benavides L.

    Nombre:Informacin en formato legible por una persona.

    Identificacin nica del archivo y del usuario:descriptor interno del archivo, dueo y grupo del archivo

    Tipo de archivo:necesario en sistemas que proporciona distintos formatos de archivos.Tamao del archivo:nmero de bytes en el archivo, mximo tamao posible, etc.

    Proteccin:control de accesos y de las operaciones sobre archivos

    Informacin temporal:de creacin, de acceso, de modificacin, etc.

    Informacin de control:archivo oculto, de sistema, normal o directorio, etc.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    102/180

    Ing. David Benavides L.

    Acceso

    secuencial(antiguo):

    lectura de los bytes del archivo en orden ascendente, empezando por elprincipio.

    read next, write next, reset, no read after last write, rewind: ir al principio para buscar hacia adelanteLectura -> posicin = posicin + datos ledosDispositivos de cintaISAM: mtodo de acceso secuencial indexado

    Acceso Directo:

    read n, write n, goto n, rewrite n, read next, write next.n = nmero de bloque relativo al origenDispositivos: discos magnticos

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    103/180

    Ing. David Benavides L.

    Objeto que relaciona de forma unvocaun nombre de usuario de archivo con sudescriptor interno

    Organizan y proporcionaninformacin sobre la estructuracin de

    los sistemas de archivos

    Una coleccin de nodos quecontienen informacin acerca de los

    archivos

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    104/180

    Ing. David Benavides L.

    Esquema jerrquico.

    Cuando se abre un archivo el SO busca el nombre en la estructura de

    directorios.

    Operaciones sobre un directorio:

    Crear (insertar) y borrar (eliminar) directorios.Abrir y cerrar directorios.Renombrar directorios.Leer entradas de un directorio.Montar (combinar)La organizacin jerrquica de un directorio

    Simplifica el nombrado de archivos (nombres nicos)Proporciona una gestin de la distribucin => agrupar archivos de formalgica (mismo usuario, misma aplicacin)

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    105/180

    Ing. David Benavides L.

    Tanto la estructura del directorio como los archivos residen en discosLos directorios se suelen implementar como archivosCopias de respaldo, por seguridadInformacin en un directorio: nombre, tipo, direccin, longitud mximay actual, tiempos de acceso y modificacin, dueo, etc.

    Hay estructuras de directorio muy distintas. La informacin dependede esa estructura.

    Dos alternativas principales:

    Almacenar atributos de archivo en entrada directorioAlmacenar , con datos archivo enuna estructura distinta.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    106/180

    Ing. David Benavides L.

    Directorio de 1 nivel.

    Un nico directorio para todos los usuarios. Problemas de nombrado y agrupacin.

    carta Mapa.gif Lista.txt directorio Program.o

    archivos

    Directorio de 2 niveles.

    Un directorio para cada usuario. El mismo nombre de archivos para varios usuarios.

    user1 user2 directorio maestro

    Mapa.gif Lista.txt

    directorio

    Program.o

    archivos

    hola.txt

    directorio

    Program.o

    archivos

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    107/180

    Ing. David Benavides L.

    Bsqueda eficiente y agrupacin. Nombres relativos y absolutos ->directorio de trabajo.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    108/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    109/180

    Ing. David Benavides L.

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    110/180

    Ing. David Benavides L.

    Proteccin:

    Mecanismos que articula el Sistema Operativo paraproteger la informacin, los usuarios, los procesos

    Seguridad:

    Concepto ms amplio que incluye seguridad fsica

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    111/180

    Ing. David Benavides L.

    Problemas deseguridad

    U s o i n d e b i d o o

    malicioso de programas

    Usuarios inexpertos odescuidados

    Usuarios no autorizados

    Virus

    Gusanos

    R o m p e d o r e s d eSistemas de proteccin

    Bombardeo (Spoofing)

    Caballo de Troya

    Puerta de atrs

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    112/180

    Ing. David Benavides L.

    Origen Destino

    Acceso solo a usuarios autorizadosConfidencialidad:

    Integridad: Modificacin solo por los usuarios autorizados

    Disponibilidad:Los recursos deben estar disponibles para los

    usuarios autorizados

    Sistemas Operativos

  • 8/4/2019 Sistemas Operativos 19

    113/180

    Ing. David Benavides L.

    Interrupcin (Afecta a la disponibilidad)

    Se corta el flujo desde el emisor al receptor. Se destruye el elemento del sistema

    o se hace inaccesible o intil.

    Origen Destino

    Intercepcin (Afecta a la confidencialidad)

    Una tercera entidad se entera de la comunicacin. Una parte no autorizada que

    puede ser una persona, programa o computador, consigue acceder a un elemento.