Monografias.com > Computación > Sistemas Operativos
Descargar Imprimir Comentar Ver trabajos relacionados

Estructura de los sistemas operativos




Enviado por Jessica suarez



    Estructura
    Monolítica

    Es la estructura de los primeros sistemas operativos
    constituidos fundamentalmente por un solo programa compuesto de
    un conjunto de rutinas entrelazadas de tal forma que cada una
    puede llamar a cualquier otra. Las
    características:

    • Construcción del programa final a base de
      módulos compilados separadamente que se unen a
      través del ligador.

    • Buena definición de parámetros de enlace
      entre las distintas rutinas existentes, que puede provocar
      mucho acoplamiento.

    • Carecen de protecciones y privilegios al entrar a
      rutinas que manejan diferentes aspectos de los recursos de la
      computadora, como memoria, disco, etc.

    Es decir, ese sistema nos permite entender cualquier
    concepto adicional referente a las normas y modificaciones de la
    misma.

    Estructura
    Jerárquica

    A medida que fueron creciendo las
    necesidades de los usuarios y se perfeccionaron los sistemas. Se
    hizo necesaria una mayor organización del software, del
    sistema operativo, donde una parte del sistema contenía
    subpartes y esto organizado en forma de niveles. Ejemplos:
    Multics y Unix.

    Cliente-servidor (Microkernel)

    El tipo más reciente de sistemas operativos es el
    denominado Cliente-servidor, que puede ser ejecutado en la
    mayoría de las computadoras, ya sean grandes o
    pequeñas.

    Este sistema sirve para toda clase de aplicaciones por
    tanto, es de propósito general y cumple con las mismas
    actividades que los sistemas operativos
    convencionales.

    El núcleo tiene como misión establecer la
    comunicación entre los clientes y los servidores. Los
    procesos pueden ser tanto servidores como clientes. Por ejemplo,
    un programa de aplicación normal es un cliente que llama al
    servidor correspondiente para acceder a un archivo o realizar una
    operación de entrada/salida sobre un dispositivo concreto. A
    su vez, un proceso cliente puede actuar como servidor para otro."
    [Alcal92]. Este paradigma ofrece gran flexibilidad en cuanto a
    los servicios posibles en el sistema final, ya que el núcleo
    provee solamente funciones muy básicas de memoria,
    entrada/salida, archivos y procesos, dejando a los servidores
    proveer la mayoría que el usuario final o programador puede
    usar. Estos servidores deben tener mecanismos de seguridad y
    protección que, a su vez, serán filtrados por el
    núcleo que controla el hardware. Actualmente se está
    trabajando en una versión de UNIX que contempla en su
    diseño este paradigma.

    Procesos y administrador del
    procesador

    Concepto de proceso.

    Programas.- Colección de instrucciones que
    el procesador interpreta y ejecuta, se almacenan en sistemas no
    volátiles necesitando ser cargados en memoria principal para
    poder ser ejecutados, se considera un ente
    estático.

    Procesos.-Programa en ejecución, el sistema
    operativo les asigna recursos, Se consideran un ente
    dinámico.

    El proceso es una abstracción creada por el SO, que
    se compone de:

    • Código de Programa: sección
      texto

    • Contexto de Ejecución: PC, registros del
      procesador y una pila para invocación de
      procedimientos

    • Sección de Datos, que contiene variables
      globales

    • Recursos del sistema.

    Estados y transiciones de los procesos

    Los PCB"s se almacenan en listas, una para cada posible
    estado:

    Monografias.com

    Los estados se pueden dividir en: Activos e
    inactivos

    Activos los que compiten por el procesador.

    Tipos:

    • Ejecución.- Cuando el proceso tiene el control
      del cpu

    • Preparado (Listo).- Tienen las condiciones para ser
      ejecutados pero no están en ejecución por alguna
      causa.

    • Bloqueado.- No pueden ejecutarse porque necesitan
      algún recurso no disponible

    • Inactivos.- No pueden competir por el CPU

    Monografias.com

    Operaciones sobre procesos

    1.- Creación.- Se produce con la orden de
    ejecución del programa, usa argumentos (nombre, prioridad).
    En este momento aparece el PCB y es insertado en la lista de
    listos.

    Monografias.com

    Pasos que sigue el S.O.

    1. Asignarle un PCB

    2. Establecer espacio de direcciones de
    memoria

    3. Cargar imagen (ejecutable) en
    memoria

    4. Marcar la tarea como
    ejecutable

    Tipos de creación:

    Jerárquica.- cada proceso que
    se crea es hijo del proceso creador y hereda el entorno de
    ejecución del padre.

    El primer proceso que ejecuta un usuario
    será hijo del intérprete de comandos. Un proceso
    durante su ejecución puede crear varios procesos hijos a
    través de llamadas al sistema para creación de
    procesos. Al restringirse un proceso hijo a un subconjunto de
    recursos del padre, se evita que éste sature al sistema
    creando demasiados procesos hijos. Al crear procesos hijos, el
    padre continúa ejecutando concurrentemente con sus hijos o
    espera a que todos sus hijos hayan terminado y luego
    continúa él.

    No jerárquica.- Cada proceso
    creado por otro se ejecuta independiente de su creador con un
    entorno independiente.

    2.- Destrucción.- Orden de
    eliminación del proceso, el sistema operativo destruye el
    PCB y libera los recursos empleados

    – Normalmente lo hace un antepasado
    directo (p.e. el proceso padre)

    – Significa la terminación de
    toda su "descendencia" (terminación en cascada)

    – Pasos que sigue el S.O.

    1. Envío de datos del proceso
    finalizado al creador. (p.e. Código de
    finalización)

    2. El SO desasigna los recursos que
    tiene

    3.- Suspensión.-
    Paralización de un proceso que puede ser reanudado
    posteriormente, se aplica en ocasiones de mal funcionamiento o
    sobrecarga de trabajo (Guarda su PCB en disco)

    4.- Reanudación.-
    Activación de un proceso suspendido (Reinserta el PCB en
    memoria)

    5.- Cambio de prioridad.-
    Reasignación de un nuevo rango de prioridad

    6.- Temporizar la ejecución.- Un
    proceso se ejecuta cada cierto periodo de tiempo, por etapas o de
    una vez

    7.- Despertar un proceso.-
    Desbloqueo de un proceso

    8.- Bloqueo.- puesta en espera de un
    proceso.

    Planificación de
    procesos

    Planificación de procesos en Sistemas Operativos.
    Conjunto de políticas y mecanismos incorporados al sistema
    operativo, a través de un módulo denominado
    planificador, que debe decidir cuál de los procesos en
    condiciones de ser ejecutado conviene ser despachado primero y
    qué orden de ejecución debe seguirse. Esto debe
    realizarse sin perder de vista su principal objetivo que consiste
    en el máximo aprovechamiento del sistema, lo que implica
    proveer un buen servicio a los procesos existentes en un momento
    dado.

    Objetivos de la Planificación de
    procesos

    La Planificación de procesos tiene como principales
    objetivos la equidad, la eficacia, el tiempo de respuesta, el
    tiempo de regreso y el rendimiento.

    • Equidad: Todos los procesos deben ser
      atendidos.

    • Eficacia: El procesador debe estar ocupado el 100%
      del tiempo.

    • Tiempo de respuesta: El tiempo empleado en dar
      respuesta a las solicitudes del usuario debe ser el menor
      posible.

    • Tiempo de regreso: Reducir al mínimo el tiempo
      de espera de los resultados esperados por los usuarios por
      lotes.

    • Rendimiento: Maximizar el número de tareas que
      se procesan por cada hora.

    El Bloque De Control Del Proceso O Bcp o en
    inglés PCB (Process Control Block) es un registro especial
    donde el sistema operativo agrupa toda la información que
    necesita conocer respecto a un proceso particular. Cada vez que
    se crea un proceso el sistema operativo crea el BCP
    correspondiente para que sirva como descripción en tiempo de
    ejecución durante toda la vida del proceso.

    Cuando el proceso termina, su BCP es borrado y el
    registro puede ser utilizado para otros procesos. Un proceso
    resulta conocido para el sistema operativo y por tanto elegible
    para competir por los recursos del sistema sólo cuando
    existe un BCP activo asociado a él. El bloque de control de
    proceso es una estructura de datos con campos para registrar los
    diferentes aspectos de la ejecución del proceso y de la
    utilización de recursos. La información almacenada en
    un BCP incluye típicamente algunos o todos los campos
    siguientes:

    • Identificador del proceso (Process Identificator
      PID-, de sus siglas en Inglés).

    • Estado del proceso. Por ej. listo, en espera,
      bloqueado.

    • Contador de Programa: Dirección de la
      próxima instrucción a ejecutar.

    • Valores de registro de CPU. Se utilizan también
      en el cambio de contexto.

    • Espacio de direcciones de memoria.

    • Prioridad en caso de utilizarse dicho algoritmo para
      planificación de CPU.

    • Lista de recursos asignados (incluyendo descriptores
      de archivos y sockets abiertos).

    • Estadísticas del proceso.

    • Datos del propietario (owner).

    • Permisos asignados.

    • Signals pendientes de ser servidos. (Almacenados en
      un mapa de bits)

    Esta lista es simplemente indicativa, cada sistema
    operativo tiene su propio diseño de BCP, con el conjunto de
    metadatos necesarios para la administración. Puede medir
    desde 32 bits a 1024. Su denominación cambia según el
    sistema operativo, por ej. en IBM se designa PSW por palabra de
    estado de proceso. Difiere significativamente entre los sistemas
    de procesamiento por lotes (BATCH) y los sistemas
    interactivos.

    Algunos sistemas de multiprogramación incluyen
    información de mantenimiento con el propósito de
    facturar a los usuarios individuales el tiempo de procesador, el
    almacenamiento, las operaciones de E/S y otras utilizaciones de
    recursos.

    Una vez creado, el BCP se rellena con los atributos
    definidos como parámetros que se hallan en la plantilla del
    proceso o que son especificados como parámetros de la
    llamada al sistema operativo crear_proceso. En ese momento el
    sistema operativo suele asignar valores a otros campos. Por
    ejemplo, cuando se crea un proceso, los registros e indicadores
    hardware se fijan a los valores proporcionados por el
    cargador/enlazador. Cada vez que un proceso queda suspendido, el
    contenido de los registros del procesador es generalmente
    guardado en la pila, y el puntero al marco de la pila en
    cuestión se almacena en el BCP. De este modo los valores de
    los registros son restaurados cuando el proceso es seleccionado
    para ejecutarse nuevamente.

    Diagramas de bloques en sistemas
    de control de procesos

    Un sistema de control puede tener varios componentes.
    Para mostrar las funciones que lleva a cabo cada componente en la
    ingeniería de control, por lo general se usa una
    representación denominada diagrama de bloques. Estos
    diagramas de bloques también representan el flujo de
    señales entre los bloques, de manera que indican el camino
    de la información, sea del tipo que sea. A diferencia de una
    representación matemática puramente abstracta, un
    diagrama de bloques tiene la ventaja de indicar en forma más
    realista el flujo de las señales del sistema real. En un
    diagrama de bloques se enlazan una con otras todas las variables
    del sistema, mediante bloques funcionales. El bloque funcional o
    simplemente bloquees un símbolo para representar la
    operación matemática que sobre la señal de entrada
    hace el bloque para producir la salida. Las funciones de
    transferencia de los componentes por lo general se introducen en
    los bloques correspondientes, que se conectan mediante flechas
    para indicar la dirección de flujo de las señales. En
    la figura observe que la señal sólo puede pasar en
    dirección de las flechas. Por lo tanto, un diagrama de
    bloques de un sistema de control muestra explícitamente una
    propiedad unilateral.

    Monografias.com

    La función de transferencia, que es el contenido de
    un bloque funcional, es una representación de la
    descripción o modelo matemático acerca del
    comportamiento físico del elemento en forma de un cociente
    entre la transformada de La place de la salida y la transformada
    de La place de la entrada.

    La flecha que apunta indica la entrada y la que se aleja
    indica la salida, y las dimensiones de la señal de salida
    son las dimensiones de la señal de entrada multiplicadas por
    las dimensiones de la función de transferencia en el
    bloque.

    Las ventajas de la representación mediante
    diagramas de bloques de un sistema estriban en que es fácil
    formar el diagrama de bloques general de todo el sistema con
    sólo conectar los bloques de los componentes de acuerdo con
    el flujo de señales y en que es posible evaluar la
    contribución de cada componente al desempeño general
    del sistema. En general, la operación funcional del sistema
    se aprecia con más facilidad si se examina el diagrama de
    bloques que si se revisa el sistema físico mismo. Un
    diagrama de bloques contiene información relacionada con el
    comportamiento dinámico, pero no incluye información de
    la construcción física del sistema.

    Punto suma

    Un círculo con una cruz es el símbolo que
    indica una operación de suma. El signo de más o menos
    en cada punta de flecha indica si la señal debe sumarse o
    restarse. Es importante que las cantidades que se sumen o resten
    tengan las mismas dimensiones y las mismas unidades.

    Monografias.com

    Punto de ramificación

    Un punto de ramificación es aquel a partir del cual
    la señal de un bloque va de modo concurrente a otros bloques
    o puntos suma.

    Diagrama de bloques de un sistema de lazo
    cerrado.

    Los sistemas de control realimentados se denominan
    también sistemas de control en lazo cerrado. En la
    práctica, los términos control realimentado y control
    en lazo cerrado se usan indistintamente. En un sistema de control
    en lazo cerrado, se alimenta al controlador la señal de
    error de actuación, que es la diferencia entre la señal
    de entrada y la señal de realimentación, a fin de
    reducir el error y llevar la salida del sistema a un valor
    conveniente. El esquema de bloques que define esto, es el
    siguiente:

    Monografias.com

    La salida C(s) se realimenta al punto suma, en donde se
    compara con la entrada de referencia R(s). La naturaleza en lazo
    cerrado del sistema se indica con claridad por ello. La salida
    C(s) en este caso, se obtiene multiplicando la función de
    transferencia G(s) por la entrada al bloque E(s). Cualquier
    sistema de control lineal puede representarse mediante un
    diagrama de bloques formado por puntos suma, bloques y puntos de
    ramificación. Cuando la salida se realimenta al punto de
    suma para compararse con la entrada. Por ejemplo, en un sistema
    de control de temperatura, por lo general la señal de salida
    es la temperatura controlada. La señal de salida, que tiene
    la dimensión de la temperatura, debe convertirse a una
    fuerza, posición o voltaje antes de que pueda compararse son
    la señal de entrada. Esta conversión se consigue
    mediante el elemento de realimentación, cuya función de
    transferencia es H(s), como se ve en:

    Monografias.com

    La función del elemento de realimentación es
    modificar la salida antes de compararla con la entrada. En la
    mayor parte de los casos, el elemento de realimentación es
    un sensor que mide la salida de la planta. Observado todo esto
    desde una perspectiva práctica, el sistema de control va a
    actuar independiente del operario y va a determinar por sí
    mismo los mejores valores para las señales de control. Para
    ello se contará con una referencia R(s), que es un valor
    dado por el operario, este valor es fijo y depende del tipo de
    proceso y de las exigencias que este amerite; es conocido como
    set-point, este valor es el que se desea alcanzar y mantener.
    G(s) normalmente involucra la función de transferencia de la
    planta junto con el actuador ó la válvula para caso
    donde la variable manipulada es el paso de un fluido. En el caso
    más estricto el diagrama de bloques en general sería
    así:

    Monografias.com

    Donde para el caso específico el bloque llevan el
    nombre ó función de transferencia del componente
    correspondiente.

    Planificacion del
    procesador

    Planificación: Gestión del procesador
    realizada por los sistemas operativos a través de distintas
    políticas y mecanismos. Su objetivo principal es el de dar
    un buen servicio a todos los procesos que existan en un momento
    dado en el sistema [Lancharro, 1992].

    La planificación del procesador es la base de los
    sistemas operativos multiprogramados. Al conmutar el procesador
    entre los procesos, el sistema operativo puede hacer más
    productiva la computadora [Silberschatz, 1999].

    Niveles de planificación

    • Planificación a largo plazo (planificador de
      trabajos).
      Decide cuál será el próximo
      trabajo que se va a ejecutar. Sólo existe en los
      sistemas de proceso por lotes, donde la decisión se basa
      en las necesidades de recursos y su disponibilidad. En los
      sistemas de tiempo compartido tiene como única
      misión cargar los programas que se desean ejecutar en
      memoria. Es el encargado de crear procesos.

    • Planificación a mediano plazo (planificador
      de swapping).
      Decide si un proceso que está en
      ejecución en estado bloqueado o suspendido debe ser
      extraído de la memoria temporalmente. Posteriormente,
      cuando el sistema se encuentre más descargado,
      devolverá dicho proceso a la memoria y al estado de
      ejecución. Está técnica se conoce con el
      nombre de swapping. Sólo existe en sistemas de tiempo
      compartido y en aquellos que tienen gestión de memoria
      virtual. Gestiona los procesos suspendidos en espera de
      algún recurso no disponible en el momento de la
      suspensión.

    • Planificación a corto plazo (planificador de
      procesador).
      Es el encargado de decidir cómo y
      cuándo tendrá acceso al procesador a un proceso que
      está preparado para utilizarlo. Por ello, lleva a cabo
      las funciones de la multiprogramación, estando siempre
      residente en memoria y ejecutándose con mucha
      frecuencia; por ello, debe ser de ejecución muy
      rápida. En este nivel, es donde se debe dar buen
      servicio a los procesos interactivos para que el usuario no
      perciba, o lo haga en pequeño grado, que está
      compitiendo por el procesador junto con otros
      usuarios.

    Objetivos

    Las políticas de planificación intentan cubrir
    los siguientes objetivos:

    • 1. Justicia. La política debe ser lo
      más justa posible con todo tipo de procesos, sin
      favorecer a unos y perjudicar a otros.

    • 2. Máxima capacidad de ejecución.
      Debe dar un servicio aceptable para que todos los trabajos se
      realicen lo más rápidamente posible. Esto se logra
      disminuyendo el número de cambios de proceso.

    • 3. Máximo número de usuarios
      interactivos. En los sistemas de tiempo compartido se
      tratará de que puedan estar trabajando el mayor
      número de usuarios simultáneamente.

    • 4. Predictibilidad. La política de
      planificación debe concebirse de tal forma que en todo
      momento pueda saberse cómo será su
      ejecución.

    • 5. Minimización de la sobrecarga. La
      computadora debe tener poca sobrecarga ya que ésta
      incide directamente sobre el rendimiento final del sistema: a
      menor sobrecarga, mayor velocidad de proceso. Por ello, los
      cambios de contexto deben disminuirse.

    • 6. Equilibrio en el uso de recursos. Para
      obtener un buen rendimiento en el uso de los recursos y que
      éstos estén ocupados equitativamente el mayor
      tiempo posible.

    • 7. Seguridad de las prioridades. Si un proceso
      tiene mayor prioridad que otro, éste debe ejecutarse
      más rápidamente.

    Bibliografía

    • http://es.wikibooks.org/wiki/Sistemas_operativos/Por_su_estructura

    • http://ac.itdurango.mx/acreditacion/4Proceso_E_A/LI/Evidencias/4.5%20M%E9todos%20de%20Ense%F1anza/APUNTES%20DEL%20MAESTRO/Sistemas%20Operativos/ApuntesU2_SistemasOperativosISC.pdf

    • http://www.ecured.cu/index.php/Planificaci%C3%B3n_de_procesos_en_Sistemas_Operativos

    • http://es.wikipedia.org/wiki/Bloque_de_control_del_proceso

    • https://es.scribd.com/doc/18415479/Diagramas-de-Bloques-en-Sistemas-de-Control-de-Procesos

    • http://www.buenastareas.com/ensayos/Planificaci%C3%B3n-Del-Procesador/1747663.html

     

     

     

    Autor:

    Clavo Edgar

    CI: 18.895.166

    Morejón Diego

    CI: 20.073.678

    Navas Jennifer

    Suarez Jessica

    CI: 20.954854

    Valle De La Pascua, IUTLL; Octubre De
    2014

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter