Sistemas operativos

De Computacion

La gran mayoría de las actividades se desarrollan a través del uso de un sistema computacional; en el cual los Sistemas Operativos son su parte esencial. Por lo que conocer su estructura, funcionamiento y diseño es fundamental para un profesional de Informática. El estudio de ésta materia permite descubrir la relación que existe entre el Sistema Operativo y el Computador, con lo cual se puede conocer y dimensionar el papel que éste software desempeña en el adelanto tecnológico al que estamos sujetos. En el transcurso de la materia se irán revisando cada uno de los capítulos y relacionándolos con los Sistemas Operativos Windows y Linux que son los más utilizados en la actualidad. Además utilizaremos el lenguaje JAVA desarrollado por SUN Microsystems a fin de explicar de mejor manera conceptos sobre multitarea, planificación de procesos, sincronización, seguridad, etc. Por lo que le invito a aprovechar este curso que junto a la capacidad que usted tiene permitirá cumplir los objetivos planteados. Lo importante es que esté motivado para continuar con el estudio de la materia y así adquirir una visión crítica para evaluar el desempeño de un Sistema Operativo, ¿Quién sabe si usted construye un nuevo Sistema Operativo? ¿O si usted tiene que administrar un Sistema? ¿O sí tiene que recomendar el Sistema Operativo adecuado para brindar servicio de Internet? Así que vamos a ponerles ganas de aprender, de desarrollar, de investigar y sobretodo de generar algo nuevo y útil no solo para nosotros sino para la Universidad.

Tabla de contenidos


[editar] Objetivos Generales

  • Adquirir el criterio necesario para enfocar de manera adecuada el diseño de los Sistemas Operativos y evaluar el desempeño de los mismos en diferentes funciones o aplicaciones.

[editar] Objetivos Especificos

  • Introducir en el conocimiento de los Sistemas Operativos, su historia, usos y evolución.
  • Analizar y comprender cada uno de los componentes de un SO.
  • Analizar y comprender la función de los procesos dentro de Sistemas computacionales.
  • Analizar y aplicar los algoritmos de planificación de un SO.
  • Identificar el problema de sincronización de procesos y los métodos para realizarla.
  • Identificar las condiciones necesarias para que se produzcan bloqueos mutuos y analizar los métodos para menejar bloqueos mutos.
  • Identificar las principales funciones de la gestión de memoria de un SO; así como revisar tipos de asignación de memoria.
  • Analizar el esquema de manejo de memoria virtual.
  • Analizar el esquema de manejo del sistema de archivos.
  • Verificar como se realiza el manejo de solicitudes de E/S.
  • Identificar la funcionalidad de los Sistemas Distribuidos.
  • Entender la importancia y necesidad de incorporar protección y seguridad a todo proceso computacional.


[editar] Bibliografía

Texto Base

Silberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X


Bibliografía complementaria

Milenkovic Milan, Sistemas Operativos, Segunda Edición, McGraw-Hill Interamericana, ISBN 978-8448118716

Tanenbaum Andrew, Albert Woodhull, Sistemas Operativos Diseño e Implementación, Tercera Edición, Prentice-Hall, I SBN 9780131429383

Stallings Williams, Sistemas Operativos, Quinta Edición, Editorial Prentice Hall, ISBN 9780131479548


[editar] Desarrollo del Aprendizaje

[editar] Capitulo 1 Introducción a los Sistemas Operativos


[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo1. Introducción a los Sistemas Operativos
Páginas3 – 18
Horas de estudio empleadas para el desarrollo del contenido2 horas

[editar] Propositos


El propósito de este capítulo es introducir en el conocimiento de los Sistemas Operativos, su historia, usos y evolución.

[editar] Conceptos Clave


  • Sistema Operativo :Un programa que interactúa como intermediario entre el usuario y el hardware de una computadora.
  • Hardware :

    Una colección compartida de datos lógicamente relacionados, junto con una descripción de estos datos, que están diseñados para satisfacer las necesidades de información de una organización.

  • Software :Un sistema software que permita a los usuarios definir, crear, mantener y controlar el acceso a la base de datos.
  • Mainframe :

    Un programa informático que interactúa con la base de datos emitiendo las apropiadas solicitudes (normalmente una instrucción SQL) dirigidas al SGBD.

  • Sistema Operativo de Tiempo Real :Un sistema operativo que debe planificar y gestionar tareas de tiempo real.
  • Sistema Operativo Distribuido :

    Un sistema operativo común, compartido por una red de computadores. El sistema operativo distribuido ofrece soporte para la comunicación entre procesos, la migración de procesos, la exclusión mutua y la prevención o detección del interbloqueo.

  • Multiprogramación :

    Varios programas de usuarios se encuentran al mismo tiempo en el almacenamiento principal, cambiando el procesador rápidamente de un trabajo a otro.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
1.1 Sistema Operativo En este apartado se describe el concepto de un Sistema Operativo, los principales objetivos y la interacción con el sistema computacional. Basado en los principales objetivos de los Sistemas Operativos indique al menos dos usos de acuerdo a cada objetivo. . . .
1.2 Tipos de Sistema Operativo Se revisa la evolución de los Sistemas Operativos y las principales características de cada uno de ellos Analice y compare el desarrollo de tres sistemas operativos descritos. Diseño y evolución. . . .


[editar] Capitulo 2 Estructura del Sistema Operativo


[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo2. Estructura del Sistema Operativo
Páginas45 – 84
Horas de estudio empleadas para el desarrollo del contenido3 horas

[editar] Propositos


El propósito de este capítulo es analizar y comprender cada uno de los componentes de un Sistema Operativo


[editar] Conceptos Clave


  • Proceso: Se considera como un programa en ejecución. Además es considerado como la unidad del trabajo del sistema.
  • Memoria Principal:

    Memoria interna del sistema informático con direcciones accesibles por los programas y que puede cargarse en los registros para su posterior ejecución o procesamiento.

  • Archivo: Un conjunto de registros relacionados que se tratan como una unidad.
  • Memoria Secundaria: La memoria ubicada fuera del sistema informático, incluyendo discos y cintas.
  • Shell:

    La parte del sistema operativo que interpreta las órdenes interactivas del usuario y las órdenes del lenguaje de control de trabajos. Funciona como una interfaz entre el usuario y el sistema operativo.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
2.1 Componentes del Sistema Operativo En este apartado se revisa el conjunto de componentes que forman el sistema operativo y que le permiten cumplir con la función de asignar recursos necesarios para la ejecución de programas. Indique las principales funciones que realiza cada componente del SO. . . .
2.2 Servicios del Sistema Operativo Se revisa los servicios que prestan los Sistemas Operativos Indique ¿Cuáles son los Servicios que el Sistema Operativo ofrece basados en el Objetivo de Comodidad del Usuario? y ¿Cuáles son los Servicios del Sistema Operativo que ofrece basados en el uso eficiente de los recursos del computador? . . .
2.3 Llamadas al Sistema Las llamadas al Sistema permiten solicitar acciones directamente. Señale las principales categorías que existen de llamadas al sistema . . .
2.4 Programas el Sistema Se examina como los programas funcionan como interfaces entre el usuario y las llamadas al sistema. . . . .
2.5 Arquitectura de un Sistema Operativo Se revisa la organización interna que tienen los sistemas operativos De acuerdo a la arquitectura de los Sistemas operativos indique al menos dos SO por cada tipo de arquitectura. . . .
2.5.1 JAVA Se explica que JAVA no sólo es un lenguaje de programación sino una tecnología que permite ejecutar código independiente de la arquitectura que se utilice. Revise como funciona la máquina virtual de JAVA. . . .


[editar] Capitulo 3 Procesos


[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo4. Procesos, 5 Hilos
Páginas87 – 133
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos


El propósito de este capítulo es analizar y comprender la función de los procesos dentro de sistemas computacionales.


[editar] Conceptos Clave


  • Proceso:

    Se considera como un programa en ejecución. Además es considerado como la unidad del trabajo del sistema. Un proceso es controlado y planificado por el sistema operativo, es lo mismo que una tarea.

  • Bloque de Control de Proceso:

    La manifestación de un proceso en el sistema operativo. Es una estructura de datos que contiene información sobre las características y el estado del proceso.

  • Planificador:

    Seleccionar trabajos o tareas que se vayan a expedir. En algunos sistemas operativos también se pueden planificar otras unidades de trabajo, como las operaciones de entrada/salida.


[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
3.1 Conceptos Básicos En este apartado se revisan los temas de división implícita y explícita de tareas; las relaciones entre procesos, estados de un proceso y el bloque de control del proceso. Indique la razón por la que un proceso cambia de estado. . . .
3.2 Planificación de procesos Se analizará las colas de planificación, los tipos de planificadores que existen y las conmutaciones de contexto. Realice un cuadro sinóptico de los tipos de planificadores que existen y las principales características de ellos. . . .
3.3 Operaciones sobre procesos Se indican las operaciones que se realizan sobre los procesos Cite dos ejemplos en donde estén incluidas las operaciones de procesos. . . .
3.4 Comunicación entre procesos Se analiza los tipos de comunicación que existen entre los procesos De un ejemplo por cada tipo de comunicación de procesos. . . .
3.5 Threads Se revisa la función de los hilos y su influencia en el desempeño del sistema computacional. Señale las diferencias que existen entre un hilo y un proceso. . . .


[editar] Capitulo 4: Planificacion de Procesos


[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo6. Planificación de la CPU
Páginas135 – 171
Horas de estudio empleadas para el desarrollo del contenido8 horas

[editar] Propositos


El propósito de este capítulo analizar y aplicar los algoritmos de planificación de un SO.


[editar] Conceptos Clave


  • Planificador:

    Seleccionar trabajos o tareas que se vayan a expedir. En algunos sistemas operativos también se pueden planificar otras unidades de trabajo, como las operaciones de entrada/salida.

  • Planificación del Primero en llegar, primero en ser atendido (FIFO):

    Una técnica de colas en la que el elemento siguiente que se recupera es el elemento que ha permanecido en la cola durante más tiempo.

  • Planificación de Primero el trabajo más corto ( SJF):

    Asocia con cada proceso la longitud de su siguiente ráfaga de CPU. Cuando la CPU está disponible se le asigna al proceso que tiene la ráfaga más pequeña de CPU.

  • Planificación con prioridad:

    Se asocia una prioridad a cada proceso y la CPU se asigna al proceso con la prioridad más alta. Los procesos con igual prioridad se planifican en el orden FIFO.

  • Planificación Round Robin:

    La planificación Round Robin o por turnos está diseñado para sistemas de tiempo compartido. Es similar a FIFO pero se define una pequeña unidad de tiempo denominada quatum. Por lo cual el planificador de la CPU da vueltas sobre la cola de listos, asignando la CPU a cada proceso durante un intervalo de tiempo de hasta un quantum.

  • Planificación de colas de niveles múltiples:

    Divide la cola de listos en varias colas separadas, los procesos se asignan de forma permanente a una cola, por lo general con base en alguna propiedad del proceso. Cada cola tiene su propio algoritmo de planificación.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
4.1 Conceptos Básicos En este apartado se revisa como la planificación de procesos influye en la forma de aprovechamiento de la CPU. Así como también la clasificación general de algoritmos de planificación. . . . .
4.2 Criterios de Planificación Se revisa los criterios bajo los cuales se selecciona un algoritmo de planificación para la ejecución de tareas. En base a los criterios de planificación existentes realice un análisis comparativo de los diferentes algoritmos de planificación. Y clasifíquelos en Expropiativos o No expropiativos. . . .
4.3 Algoritmos de Planificación Se estudia y analiza algoritmos más comunes de planificación de procesos. . . . .
4.4 Planificación de Hilos En la planificación de procesos se considera a las hebras como procesos individuales a ser planificados. . . . .

[editar] Capitulo 5 Sincronizacion de Procesos


[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo7. Sincronización de Procesos
Páginas173 – 225
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos


El propósito de este capítulo identificar el problema de sincronización de procesos y los métodos para realizarla.


[editar] Conceptos Clave


  • Proceso Cooperativo:

    Es aquel que puede afectar o verse afectado por los demás procesos que están ejecutando en el sistema. Los procesos cooperativos pueden compartir directamente un espacio lógico de direcciones o sólo pueden compartir datos sólo a través de archivos.

  • Sincronización entre procesos:

    Un conjunto de protocolos y mecanismos utilizados para preservar la integridad y consistencia del sistema cuando varios procesos concurrentes comparten recursos que son reutilizables en serie.

  • Sección Crítica:

    En un procedimiento asíncrono de un programa de computador, es una parte que no puede ejecutarse simultáneamente con la sección crítica asociada a otro procedimiento asíncrono.

  • Semáforo:

    Un valor entero usado para la señalización entre procesos. Sólo se pueden realizar tres operaciones sobre un semáforo, las cuales son atómicas: inicializar, descrementar e incrementar. Dependiendo de la definición precisa del semáforo, la operación de decremento puede originar el desbloqueo de un proceso.

  • Monitor:

    Diseñados para controlar no sólo la concurrencia sino también la naturaleza de las operaciones relacionadas sobre los datos, es decir, control sobre lo que se hace sobre los datos compartidos, haciéndolos accesibles únicamente mediante un conjunto de procedimientos públicamente disponibles.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
5.1 Antecedentes Se revisa que la sincronización de procesos es esencial para evitar problemas de temporización relacionados con la concurrencia. Además analizamos las tres formas esenciales de interacción entre procesos. Realice un cuadro comparativo de los tipos de interacciones que puede haber entre procesos: Sincronización de Procesos, Señalización de Procesos y Comunicación de Procesos. Cite un ejemplo de cada uno. . . .
5.2 El problema de la Sección Crítica Analizamos la sección crítica y las condiciones necesarias para solucionar el problema de la sección crítica. Cite dos ejemplos en donde se cumplan las condiciones para resolver el problema de la sección crítica. . . .
5.3 Hardware de Sincronización Se presentan soluciones simples de hardware que muestran como solucionar el problema de la sección crítica. . . . .
5.4 Semáforos Los semáforos se utilizan como herramienta para asegurar la exclusión mutua, la sincronización de procesos y la señalización. En este apartado revisamos sus principales características. Realice un cuadro sinóptico con las principales características de los semáforos. . . .
5.5 Problemas Clásicos de Sincronización Se analiza diferentes problemas de sincronización que son importantes, los cuales servirán para probar el esquema de sincronización de procesos. Cite los principales problemas de sincronización de procesos e indique brevemente sus características. . . .
5.6 Monitores Se detalla una solución de sincronización de alto nivel: El monitor y sus principales características. Realice un cuadro comparativo entre semáforos y monitores. . . .
5.7 Sincronización en JAVA Se revisa como JAVA sincroniza la actividad de los hilos. Indique para que función utiliza JAVA las siguientes declaraciones:

Wait( ); notify( ), notifyall( )

. . .


[editar] Capitulo 6: Bloqueos Mutuos


[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo8. Bloqueos Mutuos
Páginas227 – 251
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos


El propósito de este capítulo es identificar las condiciones necesarias para que se produzcan bloqueos mutuos y analizar los métodos para manejar bloqueos mutuos.

[editar] Conceptos Clave


  • Bloqueo Mutuo:

    Un punto muerto que se produce cuando varios procesos están esperando a que esté libre un recurso que no llegará a estar disponible porque está retenido por otro proceso que está en un estado de espera análogo.

  • Exclusión Mutua:

    Al menos un recurso debe estar retenido en un modo no compartido; es decir, sólo un proceso a la vez puede usar el recurso. Si otro proceso solicita dicho recurso, el proceso solicitante debe esperar hasta que el recurso haya sido liberado.

  • Retención y Espera:

    Debe existir un proceso que esté retenido por lo menos un recurso y esté esperando adquirir recursos adicionales que en este momento estén siendo retenidos por otros procesos.

  • No apropiación:

    Los recursos no pueden ser apropiados; es decir, un recurso sólo puede ser liberado voluntariamente por el proceso que lo está reteniendo, una vez que dicho proceso ha completado su tarea.

  • Espera Circular:

    Debe existir un conjunto {P0, P1, . . . ,Pn} de procesos en espera, tal que P0, este esperando un recurso que está retenido por P1, P1 y estos esperen por un recurso retenido por P2, …, Pn-1, espere un recurso retenido por Pn, y Pn esté esperando un recurso retenido por P0.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
6.1 Modelo del Sistema En este apartado se revisa que el sistema trabaja con una cantidad limitada de recursos que deben ser distribuidos adecuadamente entre los procesos que los requieren. Indique ¿Cuáles son las principales diferencias entre bloqueo mutuo, inanición? . . .
6.2 Caracterización de de bloqueos mutuos Los bloqueos mutuos se dan como resultado de la concesión incontrolada de recursos del sistema a quienes lo solicitan. Estos recursos pueden ser de dos tipos: los recursos reutilizables que pueden ser utilizados solamente por un proceso cada vez, como por ejemplo la impresora y los recursos consumibles, como por ejemplo el envío de mensajes entre proceso que son producidos y a la vez consumidos por los procesos activos Indique ¿Cuáles son las condiciones necesarias para que se produzca un bloqueo mutuo? . . .
6.3 Métodos para manejar bloqueos mutuos Revisamos los tres métodos principales para manejar bloqueos mutuos son:

Utilizar un protocolo para asegurar que el sistema nunca ingrese al estado de bloqueo mutuo. Permitir que el sistema entre al estado de bloqueo mutuo y luego realizar recuperación. Ignorar el problema y pretender que los bloqueos mutuos nunca ocurren en el sistema

Cite al menos dos diferencias entre los métodos que permiten manejar el problema de bloqueos mutuos. . . .
6.4 Prevención de Bloqueos Mutuos Se revisa cada una de las condiciones que deben darse para que exista un bloqueo mutuo. La idea es asegurar que no se dé por lo menos una de estas condiciones. En la prevención de bloqueos mutuos indique ¿cuál de estas condiciones se las puede omitir? . . .
6.5 ¿Cómo evitar bloqueos mutuos? Se examina el estado de asignación de recursos para que se pueda asegurar que habrá espera circular. Indique con un ejemplo como se pueden evitar los bloqueos mutuos. . . .
6.7 Recuperación de un bloqueo mutuo Se muestra como el sistema se puede recuperar terminando los procesos bloqueados, expropiando los recursos de algunos procesos y dándoles a otros procesos para romper el grado cíclico dejando que se recuperen automáticamente del bloqueo. . . . .
6.8 Manejo de bloqueos mutuos. Se aplican métodos de evitación y prevención de recursos para evitar los bloqueos mutuos. . . . .


[editar] Capitulo 7 Gestion de Memoria


[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo9. Administración de memoria
Páginas255 – 296
Horas de estudio empleadas para el desarrollo del contenido10 horas

[editar] Propositos


El propósito de este capítulo es identificar las principales funciones de la gestión de memoria de un SO; así como revisar tipos de asignación de memoria.

[editar] Conceptos Clave


  • Memoria Principal:

    Memoria interna del sistema informático. con direcciones accesibles por los programas y que puede cargarse en los registros para su posterior ejecución o procesamiento.

  • Dirección Lógica:

    Una referencia a una posición de memoria independiente de la asignación actual de la memoria. Se debe hacer una traducción a una dirección física antes de realizar el acceso a memoria.

  • Dirección Física:

    La posición absoluta de una unidad de datos en la memoria (por ejemplo, una palabra o un byte en memoria principal o un bloque en memoria secundaria)

  • Traductor de Direcciones: Una unidad funcional que transforma las direcciones virtuales en direcciones reales.
  • Intercambio:

    Un proceso que intercambia el contenido de una zona del almacenamiento principal con el contenido de una zona del almacenamiento auxiliar.

  • Reubicación:

    Es el hecho de cargar y ejecutar un programa en una posición arbitraria de memoria. Existen dos tipos de reubicación: estática y dinámica.

  • Reubicación Estática:

    Cuando un proceso que ha sido bajado a memoria auxiliar al ser cargado nuevamente ocupará el mismo lugar en memoria principal donde se ubicaba al inicio; aún cuando el área esté ocupado deberá esperar para poderse colocar.

  • Reubicación Dinámica:

    Cuando el proceso se va ha subir en memoria principal puede ser colocado en cualquier partición libre. En este caso es necesario realizar un reasignación de direcciones cada vez que el programa se ejecute. Este esquema resulta costoso por el hardware que se utiliza, así como aumenta el tiempo de acceso a memoria.

  • Asignación de memoria contigua:

    Significa que cada objeto lógico es colocado en un conjunto de posiciones de memoria con direcciones estrictamente consecutivas

  • Asignación con una sola partición:

    En el espacio correspondiente a los procesos de usuario se carga un solo proceso a la vez; estos procesos se los conoce como procesos transitorios

  • Asignación con múltiples particiones:

    Surgió de la necesidad de que existan varios procesos en memoria; para lo cual se debe dividir la memoria en varias particiones de tamaño fijo, ubicando un proceso en cada partición. La división puede realizarse de manera estática y dinámica.

  • Fragmentación Externa:

    Se produce cuando la memoria se divide en particiones de tamaño variable correspondientes a los bloques de datos asignados de la memoria (por ejemplo, los segmentos de la memoria principal). A medida que se trasladan los segmentos dentro y especula de la memoria principal, se producirán huecos entre las partes ocupadas de la memoria.

  • Fragmentación Interna:

    Se produce cuando la memoria se divide en particiones de tamaño fijo (por ejemplo, marcos de página en la memoria principal o bloques físicos en el disco). Si un bloque de datos es asignado a una o más particiones, puede haber un espacio desaprovechado en la última partición. Esto se producirá si la última porción de los datos es más pequeña que la última partición.

  • Paginación: La transferencia de páginas entre el almacenamiento real y el secundario.
  • Segmentación: La división de un programa o aplicación en segmentos como parte del esquema de memoria.


[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
7.1 Antecedentes En este apartado se revisa las funciones del gestor de memoria. Citar las funciones del gestor de memoria. . . .
7.2 Espacio de direcciones lógico y físico Se analiza las diferencias entre los espacios de direcciones lógicas y físicas. Así como también el proceso de traducción de direcciones y la intervención de la MMU. Realice un gráfico del proceso de traducción de direcciones. . . .
7.3 Intercambio Se examina el proceso de intercambiar los procesos de memoria principal a secundaria y viceversa según las necesidades de ejecución de procesos y disponibilidad de memoria principal. ¿Indique las funciones del intercambiador de memoria? . . .
7.4 Reubicación Se refiere al hecho de cargar y ejecutar un programa en una posición arbitraria de memoria. La reubicación puede ser de dos tipos: dinámica y estática. Cite las diferencias que existen entre reubicación dinámica y estática. . . .
7.5 Asignación de memoria contigua Asignación Contigua significa que cada objeto lógico es colocado en un conjunto de posiciones de memoria con direcciones estrictamente consecutivas. Existen dos esquemas: Asignación con una sola partición y con múltiples particiones.

La división de la memoria se la puede realizar de manera estática y dinámica. Para asignar memoria podemos realizarla a través de los algoritmos de primer, mejor y peor ajuste.

Como resultado de la asignación de memoria se puede producir fragmentación interna o externa.

A partir del siguiente mapa de memoria, ubique el proceso Pn=70Kb utilizando los algoritmos de primer, mejor y peor ajuste.

Cite las diferencias entre: a) Asignación Estática y Dinámica. b) Fragmentación Interna y Externa.

. . .
7.6 Paginación La paginación es un método que permite solucionar el problema de la fragmentación externa y permite que el espacio de direcciones lógicos de un proceso sea no contiguo. Se revisa el esquema de traducciones, la tabla de páginas y los tipos de paginación. Señale las estructuras que utiliza el Sistema Operativo para la paginación y resuma para que sirven cada una de ellas.
Nombre de la estrutura Funcion
. .
. .
. .
. .
. . .
7.7 Segmentación La segmentación es un esquema de asignación de memoria que apoya esta visión que el usuario tiene de la memoria, considerándola como una colección de segmentos. Revisaremos el esquema de traducción, el soporte de hardware, protección y compartición, Fragmentación. Indique las ventajas que tiene el esquema de segmentación. . . .


[editar] Capitulo 8 Memoria Virtual

[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo10. Memoria Virtual
Páginas297 – 344
Horas de estudio empleadas para el desarrollo del contenido10 horas


[editar] Propositos



El propósito de este capítulo se analizará el esquema de manejo de memoria virtual.


[editar] Conceptos Clave



  • Memoria Virtual:

    Mediante el esquema de memoria virtual se busca eliminar la limitación del tamaño de los programas que se tiene respecto a las limitaciones de la memoria principal; es decir, permite que los procesos estén parcialmente cargados en memoria lo que permitirá trabajar con memoria de mayor capacidad que la que realmente se tiene.

  • Marco de Página: Una zona del almacenamiento principal empleada para guardar una página.
  • Paginación por demanda:

    Transferencia de una página del almacenamiento auxiliar hacia el almacenamiento real en el momento en que se necesite.

  • Fallo de Página:

    Se produce cuando la página que contiene una palabra referenciada no está en memoria principal. Esto provoca una interrupción y exige que se traiga a la memoria la página adecuada.

  • Sobrepaginación:

    Esto ocurre cuando un sistema pasa la mayor parte del tiempo paginando que ejecutando procesos, lo que ocasiona una considerable disminución del desempeño del sistema.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
8.1. Paginación por demanda Constituye una técnica que permite implementar el esquema de memoria virtual, utiliza un intercambiado el cual manipula páginas individuales de un proceso. ¿Cite como se identifica si una página está en memoria principal? . . .
8.2. Algoritmos de Reemplazo de Página Se analiza políticas de reemplazo de páginas y algoritmos de reemplazo. Indique ¿Cuál es el esquema básico del reemplazo de páginas?

Realice un cuadro comparativo entre los algoritmos de reemplazo.

. . .
8.3. Asignación de marcos La asignación de marcos permiten repartir el espacio de memoria entre distintos procesos. Indique las principales diferencias entre la asignación de marcos. . . .
8.4. Sobrepaginación En este apartado revisamos como la demasiada paginación influye en la disminución del desempeño del sistema. Indique ¿Cómo se puede resolver el problema de sobrepaginación? . . .

[editar] Capitulo 9 Interfaz con el Sistema de Archivos



[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo11. Sistema de Archivos
Páginas345 – 400
Horas de estudio empleadas para el desarrollo del contenido5 horas

[editar] Propositos



El propósito de este capítulo es analizar el esquema de manejo del sistema de archivos.


[editar] Conceptos Clave


  • Archivo: Un conjunto tiene registros relacionados que se tratan como una unidad.
  • Archivo de Texto: Secuencia de caracteres organizados en líneas y posiblemente en páginas.
  • Archivo Fuente:

    Es una secuencia de subrutinas y funciones, cada una de las cuales se organiza a su vez como declaraciones seguidas por enunciados ejecutables.

  • Archivo Objeto: Es un secuencia de bytes organizados en bloques que pueden ser entendidos por el enlazador del sistema.
  • Archivo Ejecutable: Es una serie de secciones de código que el cargador puede llevar a la memoria y ejecutar.
  • Estructura de Directorios:Organiza y proporciona información de todos los archivos en el sistema.
  • Acceso Secuencial:

    La posibilidad de introducir datos en un medio o dispositivo de almacenamiento en la misma secuencia en que están ordenados los datos, o bien la de obtener datos en el mismo orden en que se introdujeron.

  • Acceso Directo: Mediante este acceso se permite el acceso aleatorio, puesto que el archivo se presenta como una secuencia numerada de registros. Estos son muy utilizados para acceder rápidamente a grandes cantidades de información.

  • Protección: Mecanismo de resguardar información, se la puede trabajar a través del manejo de listas y grupos de acceso. Por lo cual el acceso a la información dependerá de la identidad del usuario así como de las operaciones que sobre el archivo se pueda realizar.

  • Semántica de consistencia: Es una caracterización del sistema que especifica la semántica de múltiples usuarios que acceden a un archivo compartido en forma simultánea. Especifica cuándo pueden ser observada por otros usuarios las modificaciones de datos hechas por un usuario.

  • Directorio de un solo nivel: Todos los archivos están contenidos en el mismo directorio, el cual es fácil de soportar y entender. Los archivos deben tener nombres únicos.

  • Directorio de dos niveles: Cada usuario tiene su propio directorio de archivos de usuario (UFD), el cual tiene una estructura similar, pero lista sólo los archivos de un usuario.

  • Asignación Continua: Requiere que cada archivo ocupe un conjunto de bloques contiguos en el disco, las direcciones del disco definen un ordenamiento lineal del mismo.

  • Asignación Enlazada: Cada archivo es una lista enlazada de bloques de disco; los bloques pueden estar dispersos en cualquier parte del disco. El directorio contiene un apuntador al primer y al último bloque de archivo.

  • Asignación Indizada: Tiene todos los apuntadores juntos a una ubicación: el bloque índice.


[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
9.1 Conceptos básicos En este apartado se revisa conceptos básicos correspondientes a archivos, gestor de archivos. Revise el apartado 11.1 del libro base. . . .
9.2 Métodos de acceso Existen algunos métodos que permiten acceder a la información; se revisarán los más utilizados: Secuencial y Directo. Realice un análisis comparativo entre el acceso secuencia y el directo. . . .
9.3 Protección Para lograr protección en los directorios se lo realiza a través del manejo de listas y grupos de acceso, por lo que el acceso depende de la identidad del usuario así como las operaciones que sobre el archivo se pueda realizar. Revise los atributos que tiene un archivo en los Sistemas Operativos Linux y Windows.

En el documento Comandos de Archivos colocado en el área de materiales, se indica como revisar atributos en el sistema operativo Linux.

. . .
9.4 Estructura del sistema de archivos En este apartado se revisa como logra el Sistema Operativo un acceso eficiente y cómodo al disco. Indique ¿Cómo establece una correspondencia entre el sistema de archivos lógico y los dispositivos de almacenamiento secundario físicos?¿Qué se debe hacer para que un sistema de archivos esté disponible para los procesos del sistema? . . .
9.5 Métodos de asignación Es muy importante lograr un aprovechamiento eficaz del espacio en disco, que permita un acceso rápido a los archivos. Los métodos de asignación de espacio que son ampliamente usados son: asignación contigua, enlazada e indizada. Complete el siguiente cuadro:
Metodo Caracteristica Ventaja Desventaja
Contigua . . .
Enlazada . . .
Indizada . . .
. . . .
. . .
9.6 Administración de espacio libre Para mantener la información sobre los bloques de discos que están libre para ser asignados, se utilizan métodos como:

√ Vector Lista

√ Lista Enlazada

√ Agrupamiento

√ Conteo

Realice un cuadro comparativo de los métodos de administración de espacio libre. . . .
9.7 Implementación de directorios Se revisa la influencia sobre el desempeño, eficiencia y confiabilidad del sistema de archivos. Los algoritmos de lista lineal y de tabla de dispersión permiten manejar este aspecto. Revise el funcionamiento de estos algoritmos y como estos trabajan; no necesita aprenderse cada uno. . . .


[editar] Capitulo 10 Sistema E/S



[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo12. Sistemas de E/S
Páginas401 – 433
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos



Verificar como se realiza el manejo de solicitudes de E/S


[editar] Conceptos Clave



  • Controlador: Es un conjunto de componentes electrónicos que pueden optar un puerto, un bus o un dispositivo.
  • Interrupción: Una suspensión de un proceso, tal como la ejecución de un programa de computador, originada por un suceso externo a dicho proceso y llevada a cabo de forma que el proceso pueda reanudarse.

  • Acceso Directo a Memoria: Una forma de E/S en la que un módulo especial, llamado módulo de DMA. Controla el intercambio de datos entre la memoria principal y un dispositivo de E/S. El procesador envía una solicitud de transferencia de un bloque de datos al módulo de DMA y se ve interrumpido sólo después de que se haya transferido el bloque entero.

  • Dispositivo de Flujo de Caracteres: Transfiere bytes uno por uno.
  • Dispositivo de bloque: Transfiere un bloque de bytes como una unidad.
  • Dispositivo Secuencial: Transfiere datos en un orden fijo determinado por el dispositivo.
  • Dispositivo de Acceso Aleatorio: Puede instruir al dispositivo para que busque en cualesquiera de las ubicaciones disponibles de almacenamiento de datos.

  • Dispositivo Síncrono: Realiza transferencia de datos con tiempos de respuestas predecibles.
  • Dispositivo Asíncrono: Exhibe tiempos de respuesta irregulares o impredecibles.
  • Dispositivo Compartido: Puede ser usado de manera concurrente por varios hilos o procesos.
  • Dispositivo Dedicado: Es solo usado por un solo proceso o hilo.
  • Dispositivo de Red: Utilizan una interfaz de socket de red.
  • E/S con bloqueo: Se suspende la ejecución de dicha aplicación.
  • E/S sin bloqueo: No detiene la ejecución de la aplicación durante mucho tiempo.
  • Spooling: El empleo de un almacenamiento auxiliar como buffer para reducir el retardo del procesamiento cuando se transfieren datos entre los equipos periféricos y los procesadores de un computador.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
10.1 Interfaz de E/S de las aplicaciones Los dispositivos varían en aspectos como: el modo de transferencia de datos, método de acceso, planificación de transferencia, velocidad del dispositivo, la dirección de E/S o el estado de compartimiento. Por lo que en este apartado revisaremos como funciona el subsistema de E/S independiente del hardware simplificando la tarea de los creadores del Sistema Operativo como de los fabricantes de hardware. Realice un cuadro de los principales aspectos que diferencian cada tipo de dispositivo.
10.2 Subsistema de E/S del kernel. El núcleo ofrece algunos servicios relacionados con la E/S con el fin de mejorar la eficiencia del computador. Estos servicios son:

√ Planificación de las operaciones de E/S.

√ Uso de buffers, cachés y spool con el fin, de entre otras cosas mejorar el acceso a la memoria principal.

Indique ¿Cuáles son las ventajas de utilizar buffer, cachés o spool?
10.3 Manejo de las solicitudes de E/S En este apartado se revisa como el sistema operativo conecta una solicitud de una aplicación con un conjunto de cables o con un sector del disco. ¿Cómo es que se realiza la conexión de una solicitud de hardware en una aplicación a un dispositivo específico?

[editar] Capitulo 11 Sistemas Distribuidos



[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo14. Estructura de Redes

15. Comunicación Distribuida

Páginas469 – 519
Horas de estudio empleadas para el desarrollo del contenido6 horas

[editar] Propositos


Identificar la funcionalidad de los Sistemas Distribuidos.


[editar] Conceptos Clave



  • Sistema Distribuido: Un conjunto de procesadores que no comparten memoria ni reloj.
  • Sistema Operativo de Red: Proporciona un ambiente en el que los usuarios, tienen presente la multiplicidad de máquinas, pueden acceder a recursos remotos ya sea conectándose a la máquina remota apropiada o transfiriendo datos a sus propios equipos desde esa máquina.

  • Servidor: En una red, una estación de datos que proporciona servicios a otras estaciones: por ejemplo, un servidor de archivos, un servidor de impresión o un servidor de correo.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
11.1 Generalidades En esta parte se revisa a nivel general las características de los Sistemas Distribuidos y las redes que los interconecta. Así como también las ventajas de tener un Sistema Distribuido. Responda a lo siguiente:

√ ¿Cuáles son las ventajas de construir un sistema distribuido?

√ ¿En qué consiste el trabajo en redes?

√ ¿Qué ventajas nos ofrece trabajar con redes de computadores?

. . .
11.2 Servicios remotos Una de las formas más conocidas de servicios es el RPC o Remote Procedure Call, este constituye una extensión del procedimiento de llamada local; utilizado en ambientes cliente/servidor. √ Revise el funcionamiento del esquema RPC.

√ Indique que servicios de conexión remota (telnet) y transferencias remotas (ftp) existen.

. . .
11.3 Aspectos de diseño En el apartado 14.6 del texto base se pueden revisar ¿Cuáles son los aspectos que se deben tomar en cuenta para diseñar un sistema distribuido? ¿Indique qué aspectos se deben tomar en cuenta para lograr diseñar un Sistema Operativo distribuido transparente al usuario? . . .
11.4 Desventajas Una vez estudiados las principales características del los Sistemas Distribuidos se presentan las desventajas que estos tienen? Cite las desventajas que Ud. considere que un sistema distribuido tiene. . . .


[editar] Capitulo 12 Introduccion a los Sistemas Operativos



[editar] Datos Generales:

Texto BaseSilberschatz, Galvin y Gagne, Sistemas Operativos, Sexta edición, Limusa Wiley, México. ISBN 968-18-6168-X
Capítulo18. Protección

19. Seguridad

Páginas567 – 617
Horas de estudio empleadas para el desarrollo del contenido6 horas

[editar] Propositos


Entender la importancia y necesidad de incorporar protección y seguridad a todo proceso computacional.


[editar] Conceptos Clave



  • Protección: Es un mecanismo que controla el acceso de programas, procesos o usuarios a los recursos definidos por un sistema de cómputo.

  • Seguridad: Permite la autenticación de los usuarios del sistema para proteger la integridad de la información almacenada en el mismo, así como los recursos físicos del sistema de cómputo.

  • Mecanismo: Determina cómo se hará algo.
  • Política: Decide qué se hará.
  • Caballo de Troya: Rutina secreta no documentada, empotrada en un programa útil, la ejecución del programa provoca la ejecución de la rutina secreta.

  • Gusano: Un programa que puede viajar de computador en computador a través de las conexiones de red.
  • Virus: Rutina secreta no documentada, empotrada en un programa útil. La ejecución del programa provoca la ejecución de la rutina secreta.

[editar] Esquema de Estudio


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
12.1 Protección La protección busca el cumplimiento de las políticas establecidas para la utilización de los recursos; estas pueden estar establecidas por el diseño del sistema o ser definidas por los administradores de los sistemas. Cabe indicar que estos recursos pueden ser hardware, software y datos. El recurso más crítico y difícil de proteger es precisamente la información en forma de datos. Revise las metas de protección y lo concerniente a dominio de protección (Apartados 18.1-18.4)
12.2 Seguridad Con la seguridad se resguarda también los recursos del entorno en que opera el sistema computacional. Conteste lo siguiente:

√ Las medidas de seguridad que se deben tomar ¿Cuáles son?

√ Las amenazas de seguridad pueden ser de dos tipos. ¿Cuáles son?

Herramientas personales