viernes, 24 de mayo de 2013


Tarea 2
Unidad 4 
Problemas del 1 al 19 


1.- Un sistema de computadora tiene suficiente espacio para contener cuatro programas en su memoria principal. La mitad del tiempo todos estos programas están ociosos están esperando E/S ¿Qué fracción del tiempo de CPU desperdicia?
R:cada segmento es un espacio de memoria virtual ordinario y se pagina del mismo modo que la memoria
2.- considere un sistema de intercambio en el que la memoria tiene agujeros con los siguientes tamaños en orden según su posición en la memoria 10k, 4k, 20k, 18k, 7k, 9k, 12k y 15k. ¿Cuál agujero  se toma cuando hay solicitudes de segmentos direcciones virtuales?
(a) 12k
(b) 10k
(c) 9k
3.-¿Qué diferencia hay entre una dirección física  y una dirección virtual?
R: una dirección de MULTCS  consta de partes del segmento y la dirección dentro del segmento se subdivide en el numero de paginas y una palabra dentro de la pagina
4.- empleando la tabla de la figura 4.8  de la dirección física que corresponde a cada una de las siguientes virtuales
(a) 20
(b) 4100
(c) 8300
5.- el procesador Intel 8086  no apoya a la memoria virtual no obstante algunas compañías vendieron previamente sistema que contiene la cpu 8086 no modificaban y realizaban paginación utilize lo que sabe para seguir como lo hicieron
R: se ejecuta con todas las maquinas compatibles con IBM
6.- si una instrucción tarda un microsegundo y una pagina tarda N microsegundos adicionales deduzca una formula para el tiempo de instrucción efectivo si ocurren fallos de paginas cada K instrucciones
R:


7.- una maquina tiene un espacio de direcciones de 32 bits y paginas de 8k. la tabla de paginas esta totalmente en el hardware, con una palabra de 32 bits de cada entrada. Cuando un proceso inicia la tabla de pagina se copia en el hardware desde la memoria a razón de una palabra cada 100ns. Si cada proceso se ejecuta durante 100ms. ¿Qué fracción del tiempo de cpu se dedica a cargar las tablas de páginas?
R: la memoria total requerida para el crecimiento combinado de lo segmentos de datos y de pila de máximo 10K

8.- una computadora con direcciones de 32 bits usa una tabla de páginas de do niveles. Las direcciones virtuales  se dividen en un campo de tablas de paginas de nivel superior. ¿Qué tamaños tienen las paginas y cuanta de ellas hay en el espacio de direcciones?
R: la tabla de procesos del administrador se llama MPROC

9.- A  continuación se lista un programa corto el lenguaje ensamblador para una computadora con paginas con 512 byts
R:
10.- supongo una dirección virtual de 32 byts se divide en cuatro campos a,b,c y d. los primeros tres se utilizan para un sistema de tablas de paginas de tres niveles. ¿el numero de paginas depende de los tamaños de los cuatro campos? ¿Cuáles es importante y cuales no?
R: la tabla importante del administradores es la de agujeros es llamado c

11.- una computadora cuyos procesos tiene 1024 paginas en sus espacios de direcciones mantiene sus tablas de paginas en la memoria. ¿Qué tasas de asiento se necesita para deducir el gasto medio de 200ns?



12.- el TLB y el VAX no contiene un bit R ¿por que?
R: el implementador de sistemas operativos debe incluir código para tener señal

13.- una maquina tiene direcciones virtuales de 48 byts y direcciones físicas de 32 byts. Las paginas son de 8K. ¿Cuántas entradas debe tener la tabla de paginas?
R:


14.- una computadora tiene cuatro marcos de pagina A. acontinuacion se muestra el tiempo de carga el tiempo de ultimo acceso y los byts R y M para cada pagina
pagina
entrada
Ultima referencia
R
M
0
126
279
0
0
1
230
260
1
0
2
120
272
1
1
3
160
280
1
1
A ¿Cuál pagina se reemplazara si se usa NRU?
1
B ¿Cuál pagina se reemplazara si se usa FIFO?
3
C ¿Cuál pagina se reemplazara si se usa LRU?
0
D ¿Cuál pagina se reemplazara si se usa segunda oportunidad?
2
15.- si se emplea reemplazo de pagina FIFO  con cuatro marcos paginas y ocho pagina. ¿Cuántas fallas de paginas ocurrirán con la cadena de referencia 0172327103 si los cuatro marcos inicialmente están vacios?



16.- una computadora pequeña tiene cuatro marcos  de páginas. En el primer tic de reloj, los bits son 111. Si se emplea el algoritmo de madura con un contador de ocho bits indique los valores de los cuatro contadores después del ultimo tic.

17.- que tiempo toma cargar un programa de 64k de un disco cuyo tiempo de búsqueda medio de 30ms cuyo tiempo de rotación es de 20ms y cuyas pistas contienen 32K
A si se usan paginas de 2k
B si se usan paginas de 4k

18.- una de las primeras maquinas de tiempo compartido  tiene una memoria de 4K palabras de 18 bits ¿Por qué se supone usted que escogió este tambor?



19.- una computadora proporciona cada proceso 65 536 bits de espacio de direcciones dividido en paginas 4026 bits



Tarea 1
Mapa mental de los temas 4.1 y 4.2 
Angel Soto
Sistemas Operativos



lunes, 13 de mayo de 2013


 UNIDAD II

 ACTIVIDAD 2


1.      Suponga que va a diseñar una arquitectura de computadora avanzada que realizará la conmutación de procesos por hardware, en lugar d>e-tenerinterrupciones. ¿Qué información necesitaría la CPU? Describa cómo podría funcionar la conmutación de procesos por hardware.
La CPU está ejecutando sólo un programa, en el curso de un segundo puede trabajar con varios programas, dando a los usuarios la ilusión de paralelismo. A veces se usa el término seudoparalelismo para referirse a esta rápida conmutación de la CPU entre programas, para distinguirla del verdadero paralelismo de hardware de los sistemas multiprocesador.

2.      En todas las computadoras actuales, al menos una parte de los manejadores de interrupciones se escribe en lenguaje ensamblador. ¿Por qué?

Se incurren en menos errores y los que se cometen son  más fáciles de localizar además, los programas en lenguaje ensamblador son más fáciles de modificar que los programas de lenguaje máquina, Pero existen limitaciones.


4. En un sistema con hilos, ¿hay una pila por hilo o una pila por proceso? Explique.

Por cada hilo hay una pila diferente, pues cada hilo puede ejecutarse en su propio ritmo. Permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc.

5. ¿Qué es una condición de competencia?
Es un fenómeno que se produce cuando uno o varios procesos compiten por uno o varios recursos produciendo el bloqueo en la ejecución de esos procesos, lo que a la postre termina con el cuelgue del sistema.

9. Considere una computadora que no cuenta con la instrucción TEST AND SET LOCK pero sí tiene una instrucción que intercambia el contenido de un registro y una palabra de memoria en una sola acción indivisible. ¿Se puede usar esta instrucción para escribir una rutina enter_region como la de la Fig. 2-10?

Al igual que todas las soluciones basadas en regiones críticas, el proceso debe invocar  enter_region y leave_region en los momentos correctos para que el método funcione.

10. Bosqueje la forma en que un sistema operativo que puede inhabilitar interrupciones podría implementar semáforos.  Implementar semáforos.

Se proponen dos operaciones DOWN (aplicada a un semáforo verifica si el valor es mayor que 0) y UP (incrementa el valor del semáforo seleccionado) si uno o más procesos están durmiendo en espera, imposibilitados de completar una operación DOWN previa, el sistema escoge uno de ellos.


12. En la sección 2.2.4 se describió una situación con un proceso de alta prioridad, H, y uno de baja prioridad, L, que condujo a la repetición infinita de H. ¿Ocurre el mismo problema si se usa planificación round robin en vez de planificación por prioridad? Explique.

La solución está en la introducción de variables de condición, junto con dos operaciones que se  realizan con ellas, WA y SIGNAL. Cuando un procedimiento de monitor descubre que no puede continuar. Esta acción hace que el proceso invocador se bloquee, y también permite la entrada de otro  proceso al que antes se le había impedido entrar en el monitor.

15. Suponga que tenemos un sistema de transferencia de mensajes que usa buzones. Al enviar mensajes a un buzón lleno o tratar de recibirlos de un buzón vacío, un proceso no se bloquea, sino que recibe de vuelta un código de error. El proceso responde al código de error intentándolo de nuevo, una y otra vez, hasta que tiene éxito. ¿Da este esquema lugar a condiciones de competencia?

Por qué el sistema recibe un mensaje de error y trata de ejecutar el mensaje por defecto.

16. En la solución al problema de la cena de filósofos (Fig. 2-20), ¿por qué se asigna HUNGRY  (Hambriento) a la variable de estado en el procedimiento take_forks (tomar tenedores)?

El filósofo tiene una condición a  modificar el programa de modo que, después de tomar el tenedor izquierdo, el programa  verifique si el tenedor derecho está disponible.


17. Considere el procedimiento put_forks (poner tenedores) de la Fig. 2-20. Suponga que se asigna el valor THINKING (pensando) a la variable de estado state después de las dos llamadas a test (probar), en lugar de antes. ¿Cómo afectaría este cambio la solución para el caso de tres filósofos? ¿Y para 100 filósofos?

Como acotación, vale la pena señalar que si bien los problemas de lectores y escritores y del  peluquero dormido no implican transferencia de datos, pertenecen al área de IPC porque implican  sincronización entre varios procesos.

18. El problema de lectores y escritores se puede formular de varias formas en lo tocante a cuál categoría de procesos puede iniciarse y cuándo. Describa minuciosamente tres variaciones diferentes del problema, cada una de las cuales favorece (o no favorece) alguna categoría de procesos. Para cada variación, explique qué sucede cuando un lector o un escritor quedan listo para acceder a la base de datos, y qué sucede cuando un proceso termina de usar la base de datos.

Los lectores subsecuentes se limitan a incrementar un contador; conforme los lectores salen, decrementan el contador, y el último en salir ejecuta.

20. Los planificadores round robin normalmente mantienen una lista de todos los procesos ejecutables, y cada proceso aparece una y sólo una vez en la lista. ¿Qué sucedería si un proceso ocurriera dos veces en la lista? ¿Puede usted pensar en alguna razón para permitir esto?

Hay que tratar de saber que quiere hacer el planificador porque puede que se ejecute un error y bloquear el sistema.

22. Cinco trabajos están esperando para ejecutarse. Sus tiempos de ejecución esperados son 9, 6, 3, 5 y X. ¿En qué orden deben ejecutarse si se desea minimizar el tiempo medio de respuesta? (Su respuesta dependerá de X.)


23. Cinco trabajos por lotes, A a E, llegan a un centro de cómputo casi al mismo tiempo, y tienen tiempos de ejecución estimados de 10, 6, 2, 4 y 8 minutos. Sus prioridades (determinadas externamente) son 3, 5, 2, 1 y 4, respectivamente, siendo 5 la prioridad más alta. Para cada uno de los siguientes algoritmos de planificación, determine el tiempo de retorno medio de los procesos. Ignore el gasto extra por conmutación de procesos.

(a) Round robin.

(b) Planificación por prioridad.

(c) Primero que llega, primero que se atiende (ejecutados en el orden 10, 6, 2, 4, 8).

(d) El primer trabajo más corto.


27. Explique por qué se usa comúnmente la planificación de dos niveles.
Es más eficiente el intercambio de los procesos con un planificador de dos niveles. Cada conmutación implicaba escribir el proceso actual en disco y leer uno nuevo del disco.



lunes, 4 de marzo de 2013

Evaluación de Sistemas Operativos

Nombre: Angel Ulises Soto Petriz



1.- Señale las dos funciones principales de un Sistema Operativo
-Controla todos los recursos de la computadora
-Establece la bases sobre la que pueden escribirse los programas de aplicación.
2.- ¿Qué es la multiprogramación?
-Ejecución de múltiples tareas compartiendo los recursos de una misma computada.

3. ¿Qué es el spooling ¿Cree usted que las computadoras personales avanzadas contarán con spooling
como capacidad estándar en el futuro?
-(Simultaneous Peripheral Operations On-Line) “operación simultánea de periféricos en línea” se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un área especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando esté listo.
-Si, ya que facilita el procesamiento de datos.

4. En las primeras computadoras, cada byte de datos leído o escrito era manejado directamente por la CPU (es decir, no había DMA: acceso directo a memoria). ¿Qué implicaciones tiene esta organización para la multiprogramación?
- Cuando se empezaba una tarea, esta tenia que terminar para pasar a la siguiente (se tenia que realizar y finalizar una tarea para pasar a la siguiente).

5. ¿Por qué no era muy común el tiempo compartido en las computadoras de la segunda generación?

-Porque las máquinas eran muy grandes y de un alto coste, aparte el tiempo compartido no se popularizó realmente hasta que se generalizó el uso del hardware de protección necesario durante la tercera generación.
6. ¿Cuáles de las siguientes instrucciones sólo deben permitirse en modo de kernel?

(a) Inhabilitar todas las interrupciones.

(b) Leer el reloj de hora del día.

(c) Establecer el reloj de hora del día.

(d) Cambiar el mapa de memoria.


7. Cite alguna diferencia entre los sistemas operativos de las computadoras personales y los de las macrocomputadoras.
-Los SO para macrocomputadoras era dedicados para varios usuarios, mientras que los de computadoras personales, solo para atender a uno.

8. Un archivo MINIX cuyo propietario tiene uid = 12 y gid = 1 tiene el modo rwxr-x---. Otro usuario con uid = 6, gid = 1 trata de ejecutar el archivo. ¿Qué sucede?
-Los usuarios ordinarios no pueden cambiar su uid, excepto ejecutando programas con el bit SETUID
activado, pero el superusuario tiene otra posibilidad: la llamada al sistema SETUID, que establece los uid
tanto efectivo como real. SETGID establece ambos gid. El superusuario también puede cambiar el
propietario de un archivo mediante la llamada al sistema CHOWN.

9. En vista del hecho de que la simple existencia de un superusuario puede dar pie a todo tipo de problemas
de seguridad, ¿por qué existe tal concepto?
-Porque tiene técnicas y habilidades que no cualquier usuario domina en un SO, como el cambio de propietario de un archivo.

10. El modelo cliente-servidor es popular en los sistemas distribuidos. ¿Puede usarse también en los sistemas de una sola computadora?
-Si es posible usarlo, se utiliza mucho cuando frecuentemente se usa el mismo servicio.

11. ¿Por qué se necesita la tabla de procesos en un sistema de tiempo compartido? ¿Se necesita también en
los sistemas de computadora personal, en los que sólo existe un proceso, el cual se apodera de toda la
máquina hasta terminar?
-Para tener el control de las tareas en ejecución, no por manejar solo un proceso hasta terminar.

12. Señale la diferencia esencial que hay entre un archivo especial por bloques y un archivo especial por
caracteres.
-Existen dos formas fundamentales de archivos especiales son los de caracter y los de bloques, ambos sirven para lo mismo, mas sin embargo son muy diferentes ya que los de caracter identifican o buscan archivos por un determinado caracter formado binaricamente, mientras que los archivos por bloques se identifican o se buscan mediante bloques que podían ser directorios no son ta específicos como los caracteres pero si sirven para abarcar más información que deseamos buscar u organizar.



domingo, 10 de febrero de 2013

Tarea 2 de la Unidad 1
Funciones y Caracteristicas de los Sistemas Operativos
https://www.xmind.net/m/2gFp/




Evolución Histórica de los Sistemas Operativos
http://www.xmind.net/m/uiXd/

sábado, 9 de febrero de 2013

Definición de Sistemas Operativos

DEFINICIÓN PROPIA DE SISTEMAS OPERATIVOS


Un Sistema Operativo es un programa, el cual, logra el funcionamiento en conjunto de todas las partes de un dispositivo (hardware) para el entendimiento o intercomunicación con el usuario, ya sea para realizar una tarea o utilizar un programa específico. El sistema operativo ayuda a que el usuario y el equipo puedan hablar el mismo lenguaje y realizar tareas con el entendimiento de las dos partes.

Entre las tareas principales de un Sistema Operativo se encuentran el reconocimiento de dispositivos de entrada y salida como teclado, mouse, impresora, pantalla, en la cual, se muestran las distintas aplicaciónes o datos solicitados, protección de datos importantes del sistema, etc.

DEFINICIONES CONSULTADAS
  • El sistema operativo es el programa (o software) más importante de un ordenador. Para que funcionen los otros programas, cada ordenador de uso general debe tener un sistema operativo. Los sistemas operativos realizan tareas básicas, tales como reconocimiento de la conexión del teclado, enviar la información a la pantalla, no perder de vista archivos y directorios en el disco, y controlar los dispositivos periféricos tales como impresoras, escáner, etc. 
  •  (FUENTE: http://www.masadelante.com/faqs/sistema-operativo)

  • Un sistema operativo (SO) es aquel programa o software encargado de administrar y gestionar los recursos disponibles de un ordenador a nivel de hardware y proporciona el correcto ambiente para que el usuario pueda ejecutar programas.
  • (FUENTE: http://www.wevxs.com/inegocios/faqs-2/sistema-operativo/)