viernes, 13 de julio de 2007

Laboratorio #2 Entorno grafico

Entorno Grafico

Objetivos

Interactuar con el entorno gráfico que presenta el sistema operativo LinuxUbuntu, incluyendo la barra de tareas, el escritorio y los íconos principales.

  • El número de espacios de trabajo activos por defecto es _4_ y el máximo permitido es __36__.

  • Liste y describa los íconos del escritorio.

Estos iconos son del Sistema operativo Ubuntu 7.04

Icono de harddisk: icono que nos da acceso al sistema de archivos de nuestro ordenador.

Icono CD: nos da acceso al cd que tengamos montado.

Icono Carpeta Examples: contiene los archivos de ejemplo.

  • Comando Ls lista los directorios

En Ubuntu el entorno grafico es muy sencillo y fácil de usar consta de una barra de menús que se encuentra en la parte superior de la pantalla la cual contiene los menús de aplicaciones lugares y sistema de donde se puede configurar nuestro sistema de modo muy fácil, parte superior derecha la fecha y hora del sistema y un botón muy llamativo de apagado, en la parte inferior derecha la papelera de reciclaje y los espacios de trabajo que tengamos.

El Terminal en ubuntu es igual de parecido al de las demás distros Linux con el cual tenemos la posibilidad de tener varias solapas en una misma ventana.




Laboratorio #1 Maquina Virtual


Instalación de Maquina virtual:

Nosotros no utilizamos virtual Pc, sino que utilizamos VmWare que es otra aplicación para crear maquinas virtuales, su instalación es muy sencilla, se elige el tipo de sistema operativo, se escoge el tamaño o espacio en disco de nuestro sistema, la ubicación donde a de guardarse, configuraciones de idioma acceso a Internet.

Ejecutando la Maquina Virtual:

Después de haberle colocado un nombre a nuestra maquina virtual, procedemos a la instalación del sistema operativo que hemos de utilizar, nosotros utilizamos ubuntu 7.04

Ya que no contábamos con fedora a disposición, en el proceso de instalación se nos presento un problema de panic kernel, el profesor nos explico que esto ocurre en las versiones viejas de VmWare ya que la maquina que estábamos utilizando consta de un procesador con dos núcleos, solucionamos el problema instalando una versión mas actual de VmWare.

La instalación de Ubuntu 7.04 es muy sencilla ya que consta con un asesor de instalación que nos guía en la instalación, nos da opción de idioma distribución del teclado, y permite instalar el sistema ya sea modificando la tabla de particiones o borrando por completo el disco maestro, se elige la primera opción para crear el sistema de archivos raíz y la swap que por lo menos debe de ser de unos 256MB en adelante no exagerando en su tamaño porque solo es espacio de intercambio para el arranque y otras funciones del sistema operativo.

viernes, 6 de julio de 2007

Tarea #5

Tarea # 5

Archivos

Ricardo Pérez Aguirre

4-739-1352

12.1 Cuál es la diferencia entre un campo y un registro

Campo son los datos básicos contiene un valor único, registro conjunto de campos.

12.2 Cuál es la diferencia entre un archivo y una base de datos

Archivo conjunto de datos similares.

Las bases de datos son muchos datos unidos y relacionados y pueden ser de distintos tipos y contener varios archivos.

12.3 Qué es un sistema de gestión de archivos

Es aquel encargado de de ofrecer los servicios de de gestión de los archivos brinda a los usuarios la forma de modificar los distintos tipos de archivos por medio de el se accede a dichos los archivos.

12.4 Qué criterios son importantes en la elección de una organización de archivos

Ø Acceso Rápido

Ø Facilidad de actualización

Ø Economía de almacenamiento

Ø Mantenimiento sencillo

12.5 Enumere y defina brevemente cinco organizaciones de archivos.

1. Pilas

2. Archivos secuenciales

3. Archivos secuenciales indexados

4. Archivos indexados

5. Archivos directos o de dispersión

12.6 Por qué es el tiempo medio de búsqueda de un registro menor en un archivo secuencial indexado que en un archivo secuencial


12.7 Cuáles son las operaciones típicas que se pueden realizar sobre un directorio

1. Buscar

2. Crear archivo

3. Borrar archivo

4. Enumerar directorio

5. Actualizar directorio

12.8 Cuál es la relación entre un nombre de ruta y un directorio de trabajo

Nombre de ruta es una serie de directorios que podríamos ver como un árbol y un directorio de trabajo es una de las ramas de nuestro árbol, es decir donde el usuario se encuentra en determinado momento.

12.9 Cuáles son los derechos de acceso típicos que se pueden conceder o denegar a un usuario sobre un archivo

1. Ejecución

2. Lectura

3. Adición

4. Actualización

5. Cambio de protección

6. Borrado

12.10 Enumere y defina brevemente tres métodos de agrupamiento.

12.11 Enumere y defina brevemente tres métodos de asignación de archivos.

1. Asignación Contigua

2. Asignación Indexada

3. Asignación Encadenada

Tarea #4

Tarea # 4

Memoria

Ricardo Pérez Aguirre

4-739-1352

7.2 Por qué es deseable la capacidad de reubicación

Al reubicar el proceso en otra área se puede utilizar el espacio que quedo libre.

7.3 Por qué no es posible implantar la protección de memoria en tiempo de compilación

Porque lo realiza el procesador y debido a eso no se puede realizar.

7.4 Cuáles son algunas de las razones para permitir a dos o más procesos tener acceso a una región de memoria en particular

Para compartir datos.

7.5 En un esquema de partición estática, Cuáles son las ventajas de usar particiones de distinto tamaño

Ø Sencilla de implementar

Ø No sobrecarga el SO

7.6 Cuál es la diferencia entre la fragmentación interna y la externa

Ø Fragmentación interna cuando la memoria se divide en particiones de tamaño fijo.

Ø Fragmentación externa se divide en particiones de tamaño variable.

7.7 Cuáles son las diferencias entre direcciones lógicas, relativas y físicas

Ø Direcciones lógicas son las direcciones que utilizan los programas.

Ø Direcciones relativas son direcciones calculadas.

Ø Direcciones físicas es la dirección final de un dato.

7.8 Cuál es la diferencia entre una página y un marco de página

Ø Pagina es la forma de guardar información de manera virtual.

Ø Marco de página Contiene una página y es un bloque de memoria.

7.9 Cuál es la diferencia entre página y segmento

Ø Pagina es la forma de guardar información de manera virtual.

Ø Segmento en la memoria virtual, un bloque que tiene una dirección virtual.


8.1 Cuál es la diferencia entre paginación simple y paginación con memoria virtual

8.2 Explique la hiperpaginación

Se denomina hiperpaginación a la situación en la que una creciente cantidad de recursos son utilizados para hacer una cantidad de trabajo cada vez menor. Usualmente se refiere a cuando se cargan y descargan sucesiva y constantemente partes de la imagen de un proceso desde y hacia la memoria principal y la memoria virtual o espacio de intercambio. En un estado normal, esto permite que un proceso bloqueado y no listo para correr deje lugar en memoria principal a otro proceso listo. Cuando se produce hiperpaginación, los ciclos del procesador se utilizan en llevar y traer páginas (o segmentos, según sea el caso) y el rendimiento general del sistema se degrada notablemente.

8.3 Por qué es el principio de cercanía crucial para el uso de la memoria virtual?

8.4 Qué elementos se encuentran, normalmente, en una entrada de tabla de páginas Defina brevemente cada uno de ellos

Ø Numero de página de la dirección virtual que se emplea como índice.

Ø Desplazamiento se combina con el número de página para generar la dirección real deseada.

8.5 Cuál es el propósito del buffer de traducción adelantada

8.6 Defina brevemente las alternativas en políticas de lectura de páginas

Ø Paginación por demanda

Ø Paginación previa

8.7 Cuál es la diferencia entre gestión del conjunto residente y política de reemplazo de pagina

8.8 Cuál es la relación entre los algoritmos de reemplazo de paginas FIFO y del reloj

FIFO es simple de implementar pero de bajo rendimiento.


8.9 Cuál es la ventaja del almacenamiento intermedio de páginas

Ø mejora el rendimiento de la paginación.

Ø permite el uso de una política de reemplazo de paginas mas sencilla

8.10 Por qué no es posible combinar una política de reemplazo global y una política de asignación fija

Lo impide el cache.

8.11Cuál es la diferencia entre un conjunto residente y un conjunto de trabajo

Ø Conjunto residente es la que utiliza un proceso que esta en memoria principal.

Ø Conjunto de trabajo

8.12 Cuál es la diferencia entre vaciado por demanda y vaciado previo

Ø Vaciado por demanda una página se escribirá en la memoria secundaria solo cuando haya sido elegida para reemplazarse.

Ø Vaciado previo escribe las páginas modificadas antes de que se necesiten sus marcos, de forma que las páginas puedan escribirse por lotes.

Tarea #3

Tarea # 3

Hilos

Ricardo Pérez Aguirre

4-739-1352

4.1 La tabla 3.5 enumera los elementos más habituales de un bloque de control de proceso para un sistema operativo sin hilos. De ellos, cuáles deberían pertenecer a un bloque de control de hilo y cuáles a un bloque de control de proceso en un sistema multihilo

Bloque de control de hilo:

Ø Espacio de memoria

Ø Procesos hijos

Ø Temporizadores

Ø Señales y semáforos

Ø Contabilidad

Ø Variables globales

Ø Archivos abiertos

4.2 Indique razonadamente por qué un cambio de modo entre hilos puede ser menos costoso que un cambio de modo entre procesos.

4.3 Cuáles son las dos características diferentes y potencialmente independientes que expresa el concepto de proceso

Ø Unidad de propiedad de los recursos

Ø Unidad de expedición

4.4 Indique 4 ejemplos generales del uso de hilos en un sistema monousuario multiprogramado.

Ø Trabajo interactivo y en segundo plano.

Ø Procesamiento asíncrono.

Ø Aceleración de la ejecución

Ø Estructuración modular de los programas

4.5 Qué recursos comparten, normalmente, los hilos de un proceso

Comparten el mismo espacio de direcciones y recursos.

4.6 Enumere tres ventajas de los ULT frente a las KLT.


4.7 Enumere dos desventajas de los ULT frente a los KLT.

Ø La mayoría de las llamadas al sistema son bloqueadoras

Ø No se puede aprovechar las ventajas de los multiprocesadores

4.8 Defina Recubrimiento

4.9 Defina brevemente las distintas arquitecturas nombradas en la figura 4.8

Ø Flujo de instrucción simple/datos múltiples (SIMD)

Ø Flujo de instrucción múltiple/datos múltiples (MIMD

Ø Memoria compartida

Ø Agrupaciones

Ø Maestro/Esclavo

Ø Multiproceso Simétrico

4.1 Enumere los elementos clave de diseño para un sistema operativo SMP.

Ø Procesos o hilos concurrentes.

Ø Planificación.

Ø Sincronización.

Ø Gestión de memoria.

Ø Fiabilidad y tolerancia a los fallos

4.11 Indique ejemplos de funciones y servicios de un sistema operativo monolítico convencional que puedan ser subsistemas externos en un sistema operativo con micronúcleo.

Ø Cesión

Ø Asociación

Ø Rellenado

4.12 Enumere y explique brevemente siete ventajas potenciales de un diseño con micronúcleo frente a un diseño monolítico.

4.13 Explique la desventaja potencial del rendimiento de un sistema operativo con micronúcleo.


4.14 Enumere tres funciones que esperaría encontrar incluso en un sistema operativo con un micronúcleo mínimo.

Ø Comunicación entre procesos.

Ø Gestión de interrupciones y E/S

4.15 Cuál es la forma básica de comunicación entre procesos o hilos en un sistema operativo con micronúcleo

Su forma básica de comunicación son los mensajes.

Tarea #2

Tarea # 2

Descripción y control de procesos.

Ricardo Pérez Aguirre

4-739-1352

Responda las siguientes preguntas del libro de texto:

3.1 En qué consiste una traza de instrucciones

Una traza es un listado de instrucciones que se ejecutan para un proceso.

3.2 Cuáles son, normalmente, los sucesos que llevan a la creación de un proceso

- Nuevo trabajo por lotes

- Conexión interactiva

- Creado por el SO para dar servicio

- Generado por un proceso existente

3.3 Describa brevemente cada estado del modelo de procesos de la Figura 3-5

Los estados son:

- Ejecución: el proceso se esta ejecutando.

- Listo: proceso listo para ejecutarse.

- Bloqueado: no se puede ejecutar hasta que se le permita

- Nuevo: proceso recién creado que no es admitido en la lista de procesos por el SO

- Terminado: proceso excluido de la pila de proceso.

3.4 Qué significa expulsar a un proceso

Expulsar un proceso significa que otro proceso con mayor importancia se ha de tomar en cuenta y al primer proceso se lo expulsa.

3.5 Qué es el intercambio y cuál es su propósito

Intercambio se realiza para suspender procesos y con ello se libera memoria para cargar otro proceso que este listo.

3.6 Porqué la figura 3.8b tiene dos estados bloqueados

3.7 Enumere cuatro características de los procesos suspendidos

1. Proceso que no esta disponible en ese instante para su ejecución.

2. El proceso puede estar esperando o no un suceso.

3. El proceso fue situado en el estado suspendido por medio de un agente para impedir su ejecución.

4. El proceso no puede apartarse de este estado hasta que el agente de una orden.

3.8 Para que tipos de entidades mantiene el SO tablas de información destinadas a facilitar la administración

  1. Memoria
  2. Dispositivos de E/S
  3. Archivos
  4. Procesos

3.9 Enumere tres categorías de información generales en un bloque de control de proceso

  1. Identificación del proceso
  2. Información del estado del procesador.
  3. Información del control del proceso.

3.10 Por qué son necesarios dos modos (usuario y núcleo)

Son necesarios para proteger al sistema operativo de los usuarios y de sus programas en ejecución.

3.11 Cuáles son los pasos que lleva a cabo un SO para crear un nuevo proceso

  1. Asignar un único identificador al nuevo proceso
  2. Asignar espacio para el proceso
  3. Iniciar el bloque de control del proceso
  4. Establecer los enlaces apropiados
  5. Crear o ampliar otras estructuras de datos

3.12 Cuál es la diferencia entre una interrupción y un cepo

Las interrupciones son externas a la ejecución de la instrucción, y el cepo se asocia con la ejecución de la instrucción.


3.13 Enumere tres ejemplos de interrupción

  1. Interrupción de reloj.
  2. Interrupción de E/S.
  3. Fallo de memoria reinicio

3.14 Cuál es la diferencia entre cambio de modo y cambio de proceso

Cambio de modo ocurre cuando se cambia de un proceso a otro y se guardan su estado y se carga uno nuevo para el proceso.

Cambio de proceso ocurre cuando el sistema operativo toma el control.

Problemas:

3.1 Mencione los 5 principales actividades de un sistema operativo en relación con la gestión de procesos y describa brevemente por qué es necesaria cada una de ellas.

1. Creación de un proceso

2. Ejecución de un proceso

3. Suspensión de un proceso

4. Terminar la ejecución de un proceso.

5. Cambiar el programa de un proceso

3.3Dibujar un diagrama de colas similar al de la figura 3.7b para el modelo de procesos de siete estados de la figura 3.8b

Tarea #1

Tarea # 1

Introducción A Los Sistemas Operativos.

Ricardo Pérez Aguirre

4-739-1352

1. ¿Cuáles son las principales funciones de un sistema operativo?

El Sistema Operativo crea el entorno en el que se ejecutan los procesos y para ello ofrece tanto a los procesos como a los usuarios una serie de funciones que varían mucho de unos sistemas a otros.

Se pueden agrupar en tres grandes categoría:

*Gestión de los recursos de la computadora: asignación de recursos, protección y contabilidad.

*Ejecución de servicios para los programas

*Ejecución de los mandatos de los usuarios

2. ¿Qué diferencia existe entre un mandato y una llamada al sistema?

La diferencia radica en que los mandatos son ejecutados por los usuarios y las llamadas al sistema son realizadas por los procesos que se están ejecutando en el sistema operativo.

3. ¿Cómo se solicita una llamada al sistema operativo?

La "llamada al sistema" (System Call) es el mecanismo usado por un programa aplicativo para solicitar un servicio al Sistema Operativo.

Las llamadas al sistema comúnmente usan una instrucción especial de la CPU que causa que el procesador transfiera el control a un código privilegiado, previamente especificado por el mismo código. Esto permite al código privilegiado especificar donde el va a ser conectado así como el estado del procesador.

En los sistemas operativos bajo norma POSIX o similares, algunas llamadas al sistema muy usadas son open, read, write, close, wait, exec, fork, exit y kill. Los sistemas operativos actuales tienen cientos de llamadas, por ejemplo Linux 2.x y FreeBSD tienen mas de 300.

4. ¿Cómo indica POSIX en un programa C el tipo de error que se ha producido en una llamada al sistema? ¿Y Win32?

· POSIX: devuelve 0 en caso de éxito ó –1 en caso de error.

· Win32: devuelve en general true en caso de éxito y false en caso de error.


5. ¿Cuál de las siguientes técnicas hardware tiene mayor influencia en la construcción de un sistema operativo? Razone su respuesta

A continuación presento la definición de cada una de estas técnicas hardware:

· Microprogramación del procesador: es la realización de las instrucciones convencionales (aritméticas, booleanas, de comparación y de bucle) son realizadas paso a paso por un intérprete que se ejecuta en el nivel de microprogramación, consta de dos componentes la ruta de datos y la sección de control.

· Caché de memoria Principal: es invisible para el sistema operativo, interactúa con otras partes del hardware de gestión de memoria. Es más, muchos principios utilizados en la memoria virtual son también aplicable a esta.

· DMA (Direct Memory Access): Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna más rápida. Tal operación no ocupa el procesador y como resultado puede ser planificado para efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos.

· RISC (Computadora con reducido conjunto de Instrucciones): RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeños y simples que toman menor tiempo para ejecutarse.

6. ¿El intérprete de mandatos de UNIX es interno o externo? Razone su respuesta con un ejemplo

El intérprete de comandos es externo pongo como ejemplo si existe un usuario que desea ejecutar una orden o comando tendrá que escribirlo en un Terminal y luego el sistema lo ejecutara.

7. ¿Dónde es más compleja una llamada al sistema, en un sistema operativo monolítico o en uno por capas?

Una llamada al sistema es más compleja en un sistema monolítico.

8. ¿Qué tipo de sistema operativo es más fácil de modificar, uno monolítico o uno por capas? ¿Cuál es más eficiente?

Un sistema monolítico es más fácil de modificar pero al contrario el sistema por capas es mucho mas eficiente.


9. ¿Debe ser un sistema operativo multitarea de tiempo compartido? ¿Y viceversa? Razone su respuesta.

Si porque al ser un sistema de multitarea y tiempo compartido se pueden tener muchas tareas en ejecución y aprovechar al máximo los recursos de mi sistema.

10. ¿Qué ventajas considera que tiene escribir un sistema operativo utilizando un lenguaje de alto nivel?

Como en los lenguajes de alto nivel la escritura de las líneas de código se asemeja mas al lenguaje natural humano seria más fácil crear un sistema operativo a alto nivel, y no a un nivel inferior ya que seria mucho mas complicado.

11. Liste cinco servicios que un sistema operativo presta. Explique cómo cada uno ofrece comodidad a los usuarios, y también en que casos sería imposible que programas en el nivel de usuario proporcionen estos servicios.