Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
Pide una cotización a nuestros correos. 
Maestros Online Sistemas Operativos Apoyo en ejercicios 
Servicio de asesorías y solución de ejercicios 
Ciencias_help@hotmail.com
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
Ejercicio 
Parte 1. 
1. 
Vas a investigar los siguientes temas o conceptos. Recuerda que en tu material tienes referencias bibliográficas que te ayudarán a encontrar la información. 
1.1. 
Sistema operativo. 
1.2. 
Sistemas de multiprogramación. 
1.3. 
Sistemas de tiempo compartido. 
1.4. 
Sistemas desktop. 
1.5. 
Sistemas multiprocesador. 
1.6. 
Sistemas de multiprocesamiento simétrico. 
1.7. 
Sistemas de multiprocesamiento asimétrico. 
1.8. 
Sistemas distribuidos. 
1.9. 
Sistemas cliente servidor. 
1.10. 
Clusters. 
2. 
Vas a investigar los componentes típicos de un sistema computacional: para cada uno investiga su función, cuales son las tecnologías más usadas en la actualidad para ese componente y para cada alternativa da sus especificaciones (capacidad, velocidad, ventajas, etc). 
2.1. 
CPU 
2.2. 
Memoria 
2.3. 
Bus interno 
2.4. 
Controladores (EIDE / SCSI / Ultra ATA) 
2.5. 
Discos magnéticos 
2.6. 
Discos ópticos 
2.7. 
Cintas magnéticas 
2.8. 
Buses de I/O (Serial, paralelo, USB, Firewire) 
2.9. 
SAN 
3. 
Investiga los siguientes conceptos: 
3.1. 
Interrupción y que proceso se sigue para atenderla. 
3.2. 
System call. 
3.3. 
Trap. 
3.4. 
Procesamiento de las interrupciones de I/O. 
3.5. 
I/O sincrónico. 
3.6. 
I/O asíncrono. 
3.7. 
DMA. 
3.8. 
Explica qué es un caché y cómo funciona. 
3.9. 
En qué consiste la coherencia de caché.
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
3.10. 
En qué consiste la protección por hardware. 
3.11. 
Explica los modos de operación de un sistema operativo. 
Parte2. 
1. 
Supongamos que necesitas una computadora para trabajar como desarrollador de un sistema de información para Web. Para la generación de este, se ha decidido que la plataforma de desarrollo que utilizarás es el siguiente software: 
 Microsoft Windows XP. 
 Microsoft SQL Server Personal Edition. 
 Microsoft Visual Estudio .Net 
 Macromedia Dreamweaver MX 
 Macromedia Fireworks MX 
 Macromedia Flash MX 
2. 
En base a este software y a la actividad que vas a desarrollar deberás decidir qué computadora vas a adquirir, para lo cual tienes que investigar para cada software: 
 Cuáles son las características de hardware recomendadas. 
 Cuáles son las características ideales que debería tener la computadora que vas a comprar. 
 Otras características que, a tu juicio, debería de tener, por ejemplo: la garantía, tipo de soporte que se ofrece, el tipo de teclado que quieres, algún tamaño de monitor que se haga más conveniente, etc. 
3. 
Tomando en cuenta esas características vas a buscar una computadora en Internet que cumpla aproximadamente con ellas. 
Redacta un reporte en el que incluyas los puntos más importantes de la parte I y lo que se te pide en la parte II. 
NOTA: Se puede encontrar material adicional sobre los componentes de un sistema computacional en el libro: 
 Parsons, j & Oja, D.; New Perspectives on Computer Concepts 5th Edition-Comprehensive . Thomson Learning. Course Technology. ISBN: 0-619-04419-5 2002 
Ejercicio 
1. 
Utilizando las fuentes bibliográficas dadas como referencia investiga los siguientes conceptos como parte de un sistema operativo: 
a. 
Administración de procesos. 
b. 
Administración de memoria. 
c. 
Administración de archivos. 
d. 
Administración del sistema de I/O.
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
e. 
Administración del almacenamiento secundario. 
f. 
Servicios de red. 
g. 
Sistema de protección. 
h. 
Servicios provistos por un sistema operativo. 
i. 
Llamadas al sistema. 
j. 
Programas del sistema. 
k. 
Estructura de un sistema. (Estructura en capas o layered approach). 
l. 
Microkernels. 
m. 
Máquinas virtuales. 
2. 
Como has visto hasta ahora, un sistema operativo por lo general tiene una estructura bastante bien definida y funciones organizadas en capas. Existe una corriente que dice que un sistema operativo monolítico (todo el sistema operativo hecho en una sola pieza) puede ser más eficiente que un sistema operativo formado de distintos componentes separados. 
Trata de reflexionar acerca de los siguientes puntos: 
a. 
Si un sistema operativo fuera monolítico en un 100% debería incluir también el código de los drivers de todos los dispositivos que pueda utilizar. ¿Cuántos dispositivos distintos crees que existan para una PC? ¿De que tamaño debería ser el código para todos los dispositivos? ¿Qué pasaría si un fabricante saca un nuevo tipo de impresora? ¿Hay que sacar una nueva versión del sistema operativo? 
b. 
Suponiendo que no hubiera una separación bien definida y una interfaz estándar entre los componentes del sistema operativo. ¿Qué va a pasar si quieres modificar un componente específico (por ejemplo el manejador de memoria)? En un sistema monolítico es probable que el cambio afectara a otros componentes y no sea fácil hacerlo sin modificar todos los componentes que hagan uso del manejador de memoria. ¿Crees que administrar el trabajo de un equipo modificando varios componentes del sistema operativo al mismo tiempo sea fácil? 
c. 
Como viste la interfaz entre los programas y el sistema operativo es en base a llamadas de sistema (system calls), pero tu sabes que por un lado cada sistema operativo tiene un conjuntos de llamadas de sistema distinto (no son iguales las de Windows y las de Linux, por ejemplo) y por otro lado hay distintos lenguajes de programación que ofrecen Interfaces de Programación de Aplicaciones (APIs) estándar, independientes del sistema operativo. De manera que el mismo programa debe de funcionar en la misma forma en distintos sistemas operativos. Si un programa es el mismo, pero los sistemas operativos tienen distintas llamadas de sistema ¿Como se logra que funcione esta combinación? 
3. 
Realiza un reporte con los resultados de tu búsqueda de información y con tus reflexiones sobre las situaciones revisadas. 
Ejercicio 
1. Investiga los siguientes temas. La información acerca de ellos la puedes encontrar en el libro de texto, o en alguna de las referencias bibliográficas proporcionadas. 
a) 
¿Qué es la planeación u organización de procesos (process scheduling)? 
b) 
¿Qué son los schedulers o planificadores? 
c) 
¿Qué es un context switch o conmutación de contexto? 
d) 
¿Qué operaciones se pueden efectuar sobre un proceso? 
e) 
¿En qué forma se puede dar la cooperación entre procesos? 
f) 
¿Cómo se pueden comunicar los procesos? 
g) 
¿Cómo se da la comunicación en los sistemas cliente-Servidor? 
h) 
Explique qué son los threads o hilos.
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
i) 
¿Qué modelos de multithreading existen? 
2. En tu libro de texto, al final del capitulo 4 encontrarás un ejemplo de dos programas en Java que se comunican entre sí en la misma computadora. Uno es un servidor que responde a las conexiones enviando la fecha actual, y el otro es un cliente que solicita la hora y la despliega. Vas a hacer lo siguiente: 
a) 
Vas a teclear ambos programas y vas a probar cómo funcionan. 
b) 
Vas a incluir en forma de comentarios en el código de cada programa qué es lo que ocurre en cada parte del mismo, para hacer esto, primeramente debes de investigar y comprender cada una de las funciones usadas. 
c) 
Vas a crear un nuevo sistema cliente servidor basándote en los ejemplos, pero con las siguientes modificaciones: 
 Vas a modificar el cliente para que le pida al usuario la dirección de IP del servidor (así tu programa permitirá comunicaciones entre máquinas distintas). 
 El cliente va a leer del teclado dos números, y se los va a enviar al servidor. 
 Ahora tu servidor va a recibir del cliente los dos números y va a regresar la suma de los mismos. 
 El cliente termina después de esto, el servidor se queda esperando por la siguiente petición. 
d) 
Como ayuda adicional, existen muchos sitios en Internet con ejemplos de programas de este tipo. Puedes buscar por información o tutoriales sobre sockets. 
e) 
Vas a entregar los programas originales con tus comentarios en forma de reporte explicando que hace cada función, y tus programas nuevos. 
3. Hasta el momento hemos visto una serie de conceptos que nos ayudan a entender cómo funciona una computadora, sin embargo, en ocasiones no es tan sencillo visualizar cómo se utilizan algunas de estas ideas. Analiza los siguientes aspectos: 
 Poniendo todo en el contexto de una computadora con Windows 2000 o XP ¿Cuál sería un ejemplo de un proceso? 
 ¿Puedes dar ejemplos de cuando un programa está en los estados: nuevo, corriendo, en espera, listo y terminado? Trata de relacionarlo con situaciones que hayas observado. 
 Cuando tienes dos computadoras idénticas y en una instalas Windows 2000 Profesional y en la otra Windows 2000 Server, por lo general uno nota si se sienta a trabajar en ambas computadoras que el Windows 2000 Server se siente notablemente más lento al correr programas como el Word o el Excel, sin embargo si en ambas maquinas pones a funcionar un servidor de Web, o compartes archivos a través de la red el Windows 2000 Server es el que da el mejor rendimiento. Ambas versiones de Windows son esencialmente iguales, pero tienen diferencias significativas en cuanto a lo que es el “scheduling”. ¿Puedes razonar cuáles podrían ser esas diferencias? 
 ¿Puedes dar un ejemplo de cómo le das instrucciones a la computadora para que cree un proceso? 
 ¿Puedes dar un ejemplo de cómo decirle a la computadora que termine un proceso? 
 Probablemente has observado que cuando tienes una ventana abierta y reduces la resolución de tu pantalla, tu ventana automáticamente se ajusta al nuevo tamaña de pantalla. En base a lo que viste en esta actividad ¿Tienes alguna idea de cómo se entera tu programa de que hubo un cambio? 
 ¿Te ha ocurrido que cuando tienes varias ventanas de Internet Explorer abiertas y por alguna razón una ventana se queda bloqueada? ¿Qué ocurre si tratas de matar esa ventana? ¿Qué les pasa a las demás ventanas de Explorer? ¿Tendrá algo que ver con el uso de Threads?
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
Ejercicio 
1. Investiga los siguientes temas en las fuentes bibliográficas proporcionadas: 
a) 
CPU Scheduling. 
b) 
CPU-I/O Burst cycle. 
c) 
Preemptive scheduling. 
d) 
First-come, first-served scheduling. 
e) 
Shortest-job-first scheduling. 
f) 
Priority scheduling. 
g) 
Round-robin scheduling. 
h) 
Multilevel queue scheduling. 
i) 
Multilevel feedback queue scheduling. 
j) 
Multiple-processor scheduling. 
2. Contesta las siguientes preguntas: 
 Menciona algunos los criterios de planeación. 
 Menciona algunos los criterios de optimización. 
 ¿Qué entiendes por una planeación con prioridad? 
 ¿Qué entiendes por planeación Multi-procesador? 
 ¿Qué entiendes por planeación de tiempo-real? 
3. Resuelve los siguientes ejercicios 6.2, 6.3 y 6.4 del libro de texto y contesta lo siguiente: 
a) 
Define la diferencia entre la planificación apropiativa y la no apropiativa. Explica por qué la planificación no apropiativa no es usada normalmente en un centro de computo. 
b) 
Considera el conjunto de procesos mostrado a continuación: Proceso Duración Prioridad P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 
Los procesos arriban en el orden P1, P2, P3, P4, P5, todos en el tiempo 0. 
 Dibuja cuatro graficas de Gantt ilustrando la ejecución de los procesos utilizando FCFS, SJF, nonpreemptive priority (el número de prioridad menor implica una prioridad más alta), y RR con quantum = 1. 
 ¿Cuál es el tiempo de retorno de cada proceso para cada uno de los algoritmos en la parte “i”? 
 ¿Cuál es el tiempo de espera de cada proceso para cada uno de los algoritmos en la parte “i”? 
 ¿Cuál de los algoritmos en la parte “i” produjo el mínimo tiempo de espera en promedio? 
c) 
Supón que los siguientes procesos arriban para ejecución en los tiempos indicados. Cada proceso va a correr el tiempo dado. Contesta las siguientes preguntas utilizando no preemptive scheduling y basa todas las decisiones en la información disponible al momento de tener que tomar la decisión.
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
Proceso Llegada Duración P1 0.0 8 P2 0.4 4 P3 1.0 1 
 ¿Cuál es el tiempo de retorno promedio para estos procesos usando el algoritmo FCFS? 
 ¿Cuál es el tiempo de retorno promedio para estos procesos con el algoritmo de SJF? 
 El algoritmo de SJF se supone que mejora el rendimiento, pero observa que escogimos correr el proceso P1 en tiempo 0 porque no sabíamos que dos procesos más cortos estaban por arribar. Calcula cual sería el tiempo de retorno promedio si dejáramos el CPU desocupado por la primera unidad de tiempo y después usáramos el algoritmo SJF. Recuerda que los procesos P1 y P2 están esperando durante este periodo de espera, así que su tiempo de espera se puede incrementar. 
Ejercicio 
1. Analiza los siguientes problemas y explica su solución: 
a. 
Bounded-buffer problem. 
b. 
Readers-writers problem. 
c. 
Dining-philosopher problem. 
2. Explica qué son los monitores y cómo se aplican al problema de las regiones críticas. 
3. Investiga los siguientes temas relacionados con deadlocks: 
a. 
Definición de deadlock. 
b. 
¿Cuáles son sus condiciones necesarias? 
c. 
Explica los siguientes métodos para la prevención de deadlocks: 
i. 
Mutual exclusion. 
ii. 
Hold and wait. 
iii. 
No preemption. 
iv. 
Circular wait. 
d. 
Explica qué es deadlock avoidance y explica un método para lograrla. 
e. 
Aclara el significado de deadlock detection y menciona que métodos se pueden usar para llevarlo a cabo. 
f. 
¿Cómo nos podemos recuperar de un deadlock? 
4. Piensa en que casos (ejemplos específicos) puede ser necesario contar con mecanismos de sincronización. 
5. Contesta las siguientes preguntas: 
 ¿Crees que al programar una aplicación común debes de tener en cuenta la posibilidad de deadlocks? 
 En relación a la pregunta anterior, ¿Que ocurre si tu aplicación es de tipo cliente servidor, o una aplicación en Web? ¿Aumentan o disminuyen las posibilidades de enfrentar problemas
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
de este tipo? 
 ¿Sabes cómo solucionan los sistemas manejadores de bases de datos los problemas de este tipo? 
6. Encuentra un algoritmo para resolver los siguientes problemas: 
a. 
El problema del barbero dormido. Una barbería consiste de una sala de espera con n sillas y el cuarto del barbero conteniendo la silla del barbero. Si no hay clientes, el barbero se duerme. Si un cliente entra y todas las sillas están ocupadas, entonces el cliente se va. Si el barbero esta ocupado pero hay sillas disponibles, entonces el cliente ocupa una de las sillas vacías. Si el barbero esta dormido, entonces el cliente lo despierta. Desarrolla un algoritmo para coordinar al barbero y los clientes. 
b. 
El problema de los fumadores de cigarros. Considera un sistema con 3 procesos fumadores y un proceso agente. Cada fumador continuamente se hace un cigarro y en seguida lo fuma. Para hacerse un cigarro el fumador necesita los 3 ingredientes: tabaco, papel y cerillos. Un fumador tiene papel, otro tabaco y el tercero los cerillos. El agente tiene una cantidad ilimitada de los 3 elementos. El agente pone dos de los ingredientes en la mesa. El fumador que tiene el tercer elemento entonces se hace un cigarro y se lo fuma, y le avisa al agente al terminar. El agente en seguida pone otros 2 de los ingredientes y el ciclo se repite. Escribe un algoritmo para sincronizar al agente y a los fumadores. 
Ejercicio 
1. 
Vas a investigar los siguientes conceptos para comprender cómo se administra la memoria: 
a. 
Address binding. 
b. 
Espacio de direcciones físicas y espacio de direcciones lógicas. 
c. 
Dynamic loading. 
d. 
Dynamic Linking and shared libraries. 
e. 
Overlays. 
f. 
Swapping. 
g. 
Contiguous memory allocation. 
h. 
Fragmentation. 
i. 
Paging. 
j. 
Segmentation. 
2. 
Contesta las siguientes preguntas: 
 ¿Qué entiendes por administración de memoria? 
 ¿En cuántas etapas puede ocurrir la vinculación? 
 ¿Cuáles son las etapas de vinculación? 
 ¿Qué es una unidad de administración de memoria (MMU)? 
 ¿Qué es la fragmentación? 
 ¿Cuáles son las características de los siguientes métodos de asignación de memoria? 
a) First fit. 
b) Best fit.
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
c) Worst fit. 
3. 
Resuelve los siguientes problemas: 
 Dadas particiones de memoria de 100 KB, 500 KB, 200 KB, 300 KB y 600 KB (en orden), ¿Como asignarían los algoritmos de first fit, best fit y worst fit a procesos de 212 KB, 417 KB, 112 KB y 426 KB (en orden)? ¿Qué algoritmo hace el uso de memoria más eficiente? 
 Considera la siguiente tabla de segmentos: Segmento Base Longitud 0 219 600 1 2300 14 2 90 100 3 1327 580 4 1952 96 
o ¿Cuáles son las direcciones físicas de las siguientes direcciones lógicas? 
 0430 
 110 
 2500 
 3400 
 4112 
Ejercicio 
1. 
Investiga cómo funciona la memoria virtual basándote en las siguientes preguntas: 
a. 
¿Qué significa memoria virtual? 
b. 
¿Qué es la memoria física? 
c. 
¿Qué es la memoria lógica? 
d. 
¿Qué ocurre cuando un proceso va a ser “swapped in”? 
e. 
¿Cómo se indica si una página está en memoria o en disco? Explica el concepto de “page table”. 
f. 
¿Qué ocurre cuando se requiere acceder a una página que no está en memoria? ¿Qué nombre recibe esta situación? 
g. 
¿Por qué se dice que para soportar memoria virtual se requiere soporte de hardware? 
h. 
¿Qué significa “page replacement”? Explica en forma básica cómo ocurre. 
i. 
¿Cómo funcionan los siguientes esquemas de reemplazo de páginas: 
 FIFO. 
 Reemplazo de página óptimo. 
 Reemplazo de página LRU. 
 Reemplazo de páginas basado en conteo. 
j. 
¿En que consiste el problema de “allocation of frames”?
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
k. 
¿Es necesario que todo el programa esté en memoria principal para correrlo? 
l. 
¿Qué es “demand paging”? 
2. 
Resuelve los siguientes ejercicios: 
a. 
Considere la siguiente cadena de referencias a páginas: 
1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6. 
 ¿Cuántos fallos de páginas ocurrirán en el en el caso de los siguientes algoritmos de reemplazo, suponiendo uno, dos, tres, cuatro, cinco, seis o siete marcos? Recuerda que todos los marcos inicialmente están vacíos, por lo que sus primeras páginas únicas costarán un fallo cada una. 
o Reemplazo LRU. 
o Reemplazo FIFO. 
o Reemplazo óptimo. 
b) 
Considere el arreglo bidimensional A: 
int A[][] = new int [100][100]; 
En donde A[0][0] está en la localidad 200, en un sistema de paginación con páginas de un tamaño de 200. Un pequeño proceso se encuentra en la página 0 (localidades 0 a 199) para manipular la matriz; por lo tanto toda obtención de instrucciones será desde la página 0. 
En el caso de tres marcos de páginas, cuantos fallos de página generan los siguientes ciclos de inicialización del arreglo, empleando el reemplazo LRU, y suponiendo que el marco de página 1 tiene al proceso y los otros dos están inicialmente vacíos: 
I. 
for (int j = 0; j < 100; j++) 
for (int i = 0; i < 100; i++) 
A[i][j] = 0; 
II. 
for (int i = 0; i < 100; i++) 
for (int j = 0; j < 100; j++) 
A[i][j] = 0; 
Ejercicio 
1. 
Hay una serie de conceptos que no hemos desarrollado, pertenecientes al tema de sistema de archivos, es necesario que hagas una revisión a tu material de apoyo para que puedas encontrar la definición de los conceptos o la respuesta a las preguntas, según sea el caso, que se te plantean a continuación: 
a) 
Estructura de directorios. 
b) 
Manejo de sistemas de archivos (montando y desmontando). 
c) 
Protección.
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
i. 
Tipos de acceso. 
ii. 
Control de acceso. 
d) 
Implementación de los directorios. 
e) 
Allocation methods. 
f) 
Administración del espacio libre. 
2. 
Investiga qué es un sistema de archivos distribuido. En adición a las características generales investiga las características específicas del “Andrew File System” o AFS y del “Distributed File System” o DFS incorporado en Microsoft Windows 2000. 
3. 
Investiga acerca de los sistemas de archivos en Windows 2000/XP (NTFS) y Linux. Trata de investigar por separado las características de ambos sistemas (ventajas y desventajas). 
Ejercicio 
1. 
Investiga los siguientes temas o conceptos. Recuerda que en tu material tienes referencias bibliográficas que te ayudarán a encontrar la información. 
a) 
Hardware de E/S. 
i. 
Escrutinio. 
ii. 
Interrupciones. 
iii. 
Acceso directo a memoria. 
b) 
Interfaz de E/S de las aplicaciones. 
i. 
Dispositivos de bloque y caracter. 
ii. 
Dispositivos de red. 
iii. 
Redes y temporizadores. 
iv. 
E/S con bloqueo y sin bloqueo. 
c) 
Subsistemas de E/S del kernel. 
i. 
Planificación de E/S. 
ii. 
Empleo de buffers. 
iii. 
Empleo de caches. 
iv. 
Spooling y reservación de dispositivos. 
v. 
Manejo de errores. 
2. 
Considera los siguientes escenarios de E/S en una PC de un solo usuario. 
 Un ratón utilizado con una interfaz gráfica de usuario. 
 Una unidad de cinta en un sistema operativo multitarea (suponga que no se cuenta con la asignación previa de dispositivos). 
 Una unidad de disco con archivos de usuario. 
 Una tarjeta de graficación con conexión directa al bus, accesible mediante E/S con mapeo de memoria. 
Para cada uno de los escenarios de E/S, ¿Diseñarías el sistema operativo para que empleara buffers , spool, caches o una combinación de ellos? ¿Emplearías E/S con escrutinio o E/S
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com 
activada por interrupciones? Menciona las razones para tomar tus decisiones. 
3. 
Describe tres circunstancias en las cuales debería emplearse E/S con bloqueo. Describa tres circunstancias en las cuales debería de usarse E/S sin bloqueo. ¿Por qué no implementar simplemente E/S sin bloqueo y hacer que los procesos realicen una espera ocupada hasta que su dispositivo este listo? 
 ¿Por qué podría un sistema emplear E/S activada por interrupciones para administrar un puerto serial único, pero E/S con escrutinio para administrar un procesador de primer plano (front-end), tal como un concentrador de terminales. 
4. 
Analiza las siguientes situaciones: 
 El escrutinio para determinar si se completó una E/S puede desperdiciar un gran número de ciclos de la CPU si el procesador realiza iteraciones en un ciclo de espera ocupada durante muchas veces antes de que se complete la E/S. Pero si el dispositivo de E/S está listo para servicio, el escrutinio puede ser mucho más eficiente que atrapar y despachar una interrupción. Describe una estrategia híbrida que combine escrutinio, dormir e interrupciones para servicio de dispositivos de E/S. Para cada una de estas tres estrategias (escrutinio puro, interrupciones puras, híbrida), describe un ambiente de cómputo en el que la estrategia sea más eficiente que cualquiera de las otras. Busca una solución a esta pregunta. 
5. 
Elabora un reporte en el que incluyas los resultados de los cuatro puntos. 
Ejercicio 
1. 
En esta actividad vas a hacer una investigación utilizando las diferentes fuentes de información a tu alcance acerca de los siguientes tipos de sistemas operativos: 
a) 
Embedded systems. 
b) 
Object Oriented OS. 
c) 
HHPC y Palm Based OS (Pocket OS, Palm OS, Java OS, Windows CE). 
d) 
Microkernel. 
e) 
Real Time Operating Systems. 
2. 
Supongamos que te han propuesto el desarrollar una aplicación para ayudar a los ajustadores de seguros a hacer su trabajo en el lugar de un accidente. Para hacer esto se busca desarrollar una aplicación residente en un PDA que le permita a un ajustador realizar su trabajo de manera más eficiente. Vas a investigar como alternativas los PDA basados en la tecnología de la Palm Pilot, y los PDA basados en la tecnología de Windows CE. Justifica Con base en la información que investigaste cuál es la mejor opción (no hay respuesta incorrecta, a menos que no la justifiques adecuadamente). 
3. 
Contesta las siguientes preguntas: 
 ¿Qué entiendes por sistemas operativos de propósito específico? 
 Menciona algunos sistemas operativos de propósito específico 
 ¿Qué es un sistema operativo orientado a objetos? 
 ¿Qué entiendes por sistema operativo de tiempo real? 
 ¿Qué ofrece el sistema Windows CE?
Servicio de asesoría y resolución de ejercicios ciencias_help@hotmail.com 
www.maestronline.com

Sistemas operativos

  • 1.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com Pide una cotización a nuestros correos. Maestros Online Sistemas Operativos Apoyo en ejercicios Servicio de asesorías y solución de ejercicios Ciencias_help@hotmail.com
  • 2.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com Ejercicio Parte 1. 1. Vas a investigar los siguientes temas o conceptos. Recuerda que en tu material tienes referencias bibliográficas que te ayudarán a encontrar la información. 1.1. Sistema operativo. 1.2. Sistemas de multiprogramación. 1.3. Sistemas de tiempo compartido. 1.4. Sistemas desktop. 1.5. Sistemas multiprocesador. 1.6. Sistemas de multiprocesamiento simétrico. 1.7. Sistemas de multiprocesamiento asimétrico. 1.8. Sistemas distribuidos. 1.9. Sistemas cliente servidor. 1.10. Clusters. 2. Vas a investigar los componentes típicos de un sistema computacional: para cada uno investiga su función, cuales son las tecnologías más usadas en la actualidad para ese componente y para cada alternativa da sus especificaciones (capacidad, velocidad, ventajas, etc). 2.1. CPU 2.2. Memoria 2.3. Bus interno 2.4. Controladores (EIDE / SCSI / Ultra ATA) 2.5. Discos magnéticos 2.6. Discos ópticos 2.7. Cintas magnéticas 2.8. Buses de I/O (Serial, paralelo, USB, Firewire) 2.9. SAN 3. Investiga los siguientes conceptos: 3.1. Interrupción y que proceso se sigue para atenderla. 3.2. System call. 3.3. Trap. 3.4. Procesamiento de las interrupciones de I/O. 3.5. I/O sincrónico. 3.6. I/O asíncrono. 3.7. DMA. 3.8. Explica qué es un caché y cómo funciona. 3.9. En qué consiste la coherencia de caché.
  • 3.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com 3.10. En qué consiste la protección por hardware. 3.11. Explica los modos de operación de un sistema operativo. Parte2. 1. Supongamos que necesitas una computadora para trabajar como desarrollador de un sistema de información para Web. Para la generación de este, se ha decidido que la plataforma de desarrollo que utilizarás es el siguiente software:  Microsoft Windows XP.  Microsoft SQL Server Personal Edition.  Microsoft Visual Estudio .Net  Macromedia Dreamweaver MX  Macromedia Fireworks MX  Macromedia Flash MX 2. En base a este software y a la actividad que vas a desarrollar deberás decidir qué computadora vas a adquirir, para lo cual tienes que investigar para cada software:  Cuáles son las características de hardware recomendadas.  Cuáles son las características ideales que debería tener la computadora que vas a comprar.  Otras características que, a tu juicio, debería de tener, por ejemplo: la garantía, tipo de soporte que se ofrece, el tipo de teclado que quieres, algún tamaño de monitor que se haga más conveniente, etc. 3. Tomando en cuenta esas características vas a buscar una computadora en Internet que cumpla aproximadamente con ellas. Redacta un reporte en el que incluyas los puntos más importantes de la parte I y lo que se te pide en la parte II. NOTA: Se puede encontrar material adicional sobre los componentes de un sistema computacional en el libro:  Parsons, j & Oja, D.; New Perspectives on Computer Concepts 5th Edition-Comprehensive . Thomson Learning. Course Technology. ISBN: 0-619-04419-5 2002 Ejercicio 1. Utilizando las fuentes bibliográficas dadas como referencia investiga los siguientes conceptos como parte de un sistema operativo: a. Administración de procesos. b. Administración de memoria. c. Administración de archivos. d. Administración del sistema de I/O.
  • 4.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com e. Administración del almacenamiento secundario. f. Servicios de red. g. Sistema de protección. h. Servicios provistos por un sistema operativo. i. Llamadas al sistema. j. Programas del sistema. k. Estructura de un sistema. (Estructura en capas o layered approach). l. Microkernels. m. Máquinas virtuales. 2. Como has visto hasta ahora, un sistema operativo por lo general tiene una estructura bastante bien definida y funciones organizadas en capas. Existe una corriente que dice que un sistema operativo monolítico (todo el sistema operativo hecho en una sola pieza) puede ser más eficiente que un sistema operativo formado de distintos componentes separados. Trata de reflexionar acerca de los siguientes puntos: a. Si un sistema operativo fuera monolítico en un 100% debería incluir también el código de los drivers de todos los dispositivos que pueda utilizar. ¿Cuántos dispositivos distintos crees que existan para una PC? ¿De que tamaño debería ser el código para todos los dispositivos? ¿Qué pasaría si un fabricante saca un nuevo tipo de impresora? ¿Hay que sacar una nueva versión del sistema operativo? b. Suponiendo que no hubiera una separación bien definida y una interfaz estándar entre los componentes del sistema operativo. ¿Qué va a pasar si quieres modificar un componente específico (por ejemplo el manejador de memoria)? En un sistema monolítico es probable que el cambio afectara a otros componentes y no sea fácil hacerlo sin modificar todos los componentes que hagan uso del manejador de memoria. ¿Crees que administrar el trabajo de un equipo modificando varios componentes del sistema operativo al mismo tiempo sea fácil? c. Como viste la interfaz entre los programas y el sistema operativo es en base a llamadas de sistema (system calls), pero tu sabes que por un lado cada sistema operativo tiene un conjuntos de llamadas de sistema distinto (no son iguales las de Windows y las de Linux, por ejemplo) y por otro lado hay distintos lenguajes de programación que ofrecen Interfaces de Programación de Aplicaciones (APIs) estándar, independientes del sistema operativo. De manera que el mismo programa debe de funcionar en la misma forma en distintos sistemas operativos. Si un programa es el mismo, pero los sistemas operativos tienen distintas llamadas de sistema ¿Como se logra que funcione esta combinación? 3. Realiza un reporte con los resultados de tu búsqueda de información y con tus reflexiones sobre las situaciones revisadas. Ejercicio 1. Investiga los siguientes temas. La información acerca de ellos la puedes encontrar en el libro de texto, o en alguna de las referencias bibliográficas proporcionadas. a) ¿Qué es la planeación u organización de procesos (process scheduling)? b) ¿Qué son los schedulers o planificadores? c) ¿Qué es un context switch o conmutación de contexto? d) ¿Qué operaciones se pueden efectuar sobre un proceso? e) ¿En qué forma se puede dar la cooperación entre procesos? f) ¿Cómo se pueden comunicar los procesos? g) ¿Cómo se da la comunicación en los sistemas cliente-Servidor? h) Explique qué son los threads o hilos.
  • 5.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com i) ¿Qué modelos de multithreading existen? 2. En tu libro de texto, al final del capitulo 4 encontrarás un ejemplo de dos programas en Java que se comunican entre sí en la misma computadora. Uno es un servidor que responde a las conexiones enviando la fecha actual, y el otro es un cliente que solicita la hora y la despliega. Vas a hacer lo siguiente: a) Vas a teclear ambos programas y vas a probar cómo funcionan. b) Vas a incluir en forma de comentarios en el código de cada programa qué es lo que ocurre en cada parte del mismo, para hacer esto, primeramente debes de investigar y comprender cada una de las funciones usadas. c) Vas a crear un nuevo sistema cliente servidor basándote en los ejemplos, pero con las siguientes modificaciones:  Vas a modificar el cliente para que le pida al usuario la dirección de IP del servidor (así tu programa permitirá comunicaciones entre máquinas distintas).  El cliente va a leer del teclado dos números, y se los va a enviar al servidor.  Ahora tu servidor va a recibir del cliente los dos números y va a regresar la suma de los mismos.  El cliente termina después de esto, el servidor se queda esperando por la siguiente petición. d) Como ayuda adicional, existen muchos sitios en Internet con ejemplos de programas de este tipo. Puedes buscar por información o tutoriales sobre sockets. e) Vas a entregar los programas originales con tus comentarios en forma de reporte explicando que hace cada función, y tus programas nuevos. 3. Hasta el momento hemos visto una serie de conceptos que nos ayudan a entender cómo funciona una computadora, sin embargo, en ocasiones no es tan sencillo visualizar cómo se utilizan algunas de estas ideas. Analiza los siguientes aspectos:  Poniendo todo en el contexto de una computadora con Windows 2000 o XP ¿Cuál sería un ejemplo de un proceso?  ¿Puedes dar ejemplos de cuando un programa está en los estados: nuevo, corriendo, en espera, listo y terminado? Trata de relacionarlo con situaciones que hayas observado.  Cuando tienes dos computadoras idénticas y en una instalas Windows 2000 Profesional y en la otra Windows 2000 Server, por lo general uno nota si se sienta a trabajar en ambas computadoras que el Windows 2000 Server se siente notablemente más lento al correr programas como el Word o el Excel, sin embargo si en ambas maquinas pones a funcionar un servidor de Web, o compartes archivos a través de la red el Windows 2000 Server es el que da el mejor rendimiento. Ambas versiones de Windows son esencialmente iguales, pero tienen diferencias significativas en cuanto a lo que es el “scheduling”. ¿Puedes razonar cuáles podrían ser esas diferencias?  ¿Puedes dar un ejemplo de cómo le das instrucciones a la computadora para que cree un proceso?  ¿Puedes dar un ejemplo de cómo decirle a la computadora que termine un proceso?  Probablemente has observado que cuando tienes una ventana abierta y reduces la resolución de tu pantalla, tu ventana automáticamente se ajusta al nuevo tamaña de pantalla. En base a lo que viste en esta actividad ¿Tienes alguna idea de cómo se entera tu programa de que hubo un cambio?  ¿Te ha ocurrido que cuando tienes varias ventanas de Internet Explorer abiertas y por alguna razón una ventana se queda bloqueada? ¿Qué ocurre si tratas de matar esa ventana? ¿Qué les pasa a las demás ventanas de Explorer? ¿Tendrá algo que ver con el uso de Threads?
  • 6.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com Ejercicio 1. Investiga los siguientes temas en las fuentes bibliográficas proporcionadas: a) CPU Scheduling. b) CPU-I/O Burst cycle. c) Preemptive scheduling. d) First-come, first-served scheduling. e) Shortest-job-first scheduling. f) Priority scheduling. g) Round-robin scheduling. h) Multilevel queue scheduling. i) Multilevel feedback queue scheduling. j) Multiple-processor scheduling. 2. Contesta las siguientes preguntas:  Menciona algunos los criterios de planeación.  Menciona algunos los criterios de optimización.  ¿Qué entiendes por una planeación con prioridad?  ¿Qué entiendes por planeación Multi-procesador?  ¿Qué entiendes por planeación de tiempo-real? 3. Resuelve los siguientes ejercicios 6.2, 6.3 y 6.4 del libro de texto y contesta lo siguiente: a) Define la diferencia entre la planificación apropiativa y la no apropiativa. Explica por qué la planificación no apropiativa no es usada normalmente en un centro de computo. b) Considera el conjunto de procesos mostrado a continuación: Proceso Duración Prioridad P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2 Los procesos arriban en el orden P1, P2, P3, P4, P5, todos en el tiempo 0.  Dibuja cuatro graficas de Gantt ilustrando la ejecución de los procesos utilizando FCFS, SJF, nonpreemptive priority (el número de prioridad menor implica una prioridad más alta), y RR con quantum = 1.  ¿Cuál es el tiempo de retorno de cada proceso para cada uno de los algoritmos en la parte “i”?  ¿Cuál es el tiempo de espera de cada proceso para cada uno de los algoritmos en la parte “i”?  ¿Cuál de los algoritmos en la parte “i” produjo el mínimo tiempo de espera en promedio? c) Supón que los siguientes procesos arriban para ejecución en los tiempos indicados. Cada proceso va a correr el tiempo dado. Contesta las siguientes preguntas utilizando no preemptive scheduling y basa todas las decisiones en la información disponible al momento de tener que tomar la decisión.
  • 7.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com Proceso Llegada Duración P1 0.0 8 P2 0.4 4 P3 1.0 1  ¿Cuál es el tiempo de retorno promedio para estos procesos usando el algoritmo FCFS?  ¿Cuál es el tiempo de retorno promedio para estos procesos con el algoritmo de SJF?  El algoritmo de SJF se supone que mejora el rendimiento, pero observa que escogimos correr el proceso P1 en tiempo 0 porque no sabíamos que dos procesos más cortos estaban por arribar. Calcula cual sería el tiempo de retorno promedio si dejáramos el CPU desocupado por la primera unidad de tiempo y después usáramos el algoritmo SJF. Recuerda que los procesos P1 y P2 están esperando durante este periodo de espera, así que su tiempo de espera se puede incrementar. Ejercicio 1. Analiza los siguientes problemas y explica su solución: a. Bounded-buffer problem. b. Readers-writers problem. c. Dining-philosopher problem. 2. Explica qué son los monitores y cómo se aplican al problema de las regiones críticas. 3. Investiga los siguientes temas relacionados con deadlocks: a. Definición de deadlock. b. ¿Cuáles son sus condiciones necesarias? c. Explica los siguientes métodos para la prevención de deadlocks: i. Mutual exclusion. ii. Hold and wait. iii. No preemption. iv. Circular wait. d. Explica qué es deadlock avoidance y explica un método para lograrla. e. Aclara el significado de deadlock detection y menciona que métodos se pueden usar para llevarlo a cabo. f. ¿Cómo nos podemos recuperar de un deadlock? 4. Piensa en que casos (ejemplos específicos) puede ser necesario contar con mecanismos de sincronización. 5. Contesta las siguientes preguntas:  ¿Crees que al programar una aplicación común debes de tener en cuenta la posibilidad de deadlocks?  En relación a la pregunta anterior, ¿Que ocurre si tu aplicación es de tipo cliente servidor, o una aplicación en Web? ¿Aumentan o disminuyen las posibilidades de enfrentar problemas
  • 8.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com de este tipo?  ¿Sabes cómo solucionan los sistemas manejadores de bases de datos los problemas de este tipo? 6. Encuentra un algoritmo para resolver los siguientes problemas: a. El problema del barbero dormido. Una barbería consiste de una sala de espera con n sillas y el cuarto del barbero conteniendo la silla del barbero. Si no hay clientes, el barbero se duerme. Si un cliente entra y todas las sillas están ocupadas, entonces el cliente se va. Si el barbero esta ocupado pero hay sillas disponibles, entonces el cliente ocupa una de las sillas vacías. Si el barbero esta dormido, entonces el cliente lo despierta. Desarrolla un algoritmo para coordinar al barbero y los clientes. b. El problema de los fumadores de cigarros. Considera un sistema con 3 procesos fumadores y un proceso agente. Cada fumador continuamente se hace un cigarro y en seguida lo fuma. Para hacerse un cigarro el fumador necesita los 3 ingredientes: tabaco, papel y cerillos. Un fumador tiene papel, otro tabaco y el tercero los cerillos. El agente tiene una cantidad ilimitada de los 3 elementos. El agente pone dos de los ingredientes en la mesa. El fumador que tiene el tercer elemento entonces se hace un cigarro y se lo fuma, y le avisa al agente al terminar. El agente en seguida pone otros 2 de los ingredientes y el ciclo se repite. Escribe un algoritmo para sincronizar al agente y a los fumadores. Ejercicio 1. Vas a investigar los siguientes conceptos para comprender cómo se administra la memoria: a. Address binding. b. Espacio de direcciones físicas y espacio de direcciones lógicas. c. Dynamic loading. d. Dynamic Linking and shared libraries. e. Overlays. f. Swapping. g. Contiguous memory allocation. h. Fragmentation. i. Paging. j. Segmentation. 2. Contesta las siguientes preguntas:  ¿Qué entiendes por administración de memoria?  ¿En cuántas etapas puede ocurrir la vinculación?  ¿Cuáles son las etapas de vinculación?  ¿Qué es una unidad de administración de memoria (MMU)?  ¿Qué es la fragmentación?  ¿Cuáles son las características de los siguientes métodos de asignación de memoria? a) First fit. b) Best fit.
  • 9.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com c) Worst fit. 3. Resuelve los siguientes problemas:  Dadas particiones de memoria de 100 KB, 500 KB, 200 KB, 300 KB y 600 KB (en orden), ¿Como asignarían los algoritmos de first fit, best fit y worst fit a procesos de 212 KB, 417 KB, 112 KB y 426 KB (en orden)? ¿Qué algoritmo hace el uso de memoria más eficiente?  Considera la siguiente tabla de segmentos: Segmento Base Longitud 0 219 600 1 2300 14 2 90 100 3 1327 580 4 1952 96 o ¿Cuáles son las direcciones físicas de las siguientes direcciones lógicas?  0430  110  2500  3400  4112 Ejercicio 1. Investiga cómo funciona la memoria virtual basándote en las siguientes preguntas: a. ¿Qué significa memoria virtual? b. ¿Qué es la memoria física? c. ¿Qué es la memoria lógica? d. ¿Qué ocurre cuando un proceso va a ser “swapped in”? e. ¿Cómo se indica si una página está en memoria o en disco? Explica el concepto de “page table”. f. ¿Qué ocurre cuando se requiere acceder a una página que no está en memoria? ¿Qué nombre recibe esta situación? g. ¿Por qué se dice que para soportar memoria virtual se requiere soporte de hardware? h. ¿Qué significa “page replacement”? Explica en forma básica cómo ocurre. i. ¿Cómo funcionan los siguientes esquemas de reemplazo de páginas:  FIFO.  Reemplazo de página óptimo.  Reemplazo de página LRU.  Reemplazo de páginas basado en conteo. j. ¿En que consiste el problema de “allocation of frames”?
  • 10.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com k. ¿Es necesario que todo el programa esté en memoria principal para correrlo? l. ¿Qué es “demand paging”? 2. Resuelve los siguientes ejercicios: a. Considere la siguiente cadena de referencias a páginas: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6.  ¿Cuántos fallos de páginas ocurrirán en el en el caso de los siguientes algoritmos de reemplazo, suponiendo uno, dos, tres, cuatro, cinco, seis o siete marcos? Recuerda que todos los marcos inicialmente están vacíos, por lo que sus primeras páginas únicas costarán un fallo cada una. o Reemplazo LRU. o Reemplazo FIFO. o Reemplazo óptimo. b) Considere el arreglo bidimensional A: int A[][] = new int [100][100]; En donde A[0][0] está en la localidad 200, en un sistema de paginación con páginas de un tamaño de 200. Un pequeño proceso se encuentra en la página 0 (localidades 0 a 199) para manipular la matriz; por lo tanto toda obtención de instrucciones será desde la página 0. En el caso de tres marcos de páginas, cuantos fallos de página generan los siguientes ciclos de inicialización del arreglo, empleando el reemplazo LRU, y suponiendo que el marco de página 1 tiene al proceso y los otros dos están inicialmente vacíos: I. for (int j = 0; j < 100; j++) for (int i = 0; i < 100; i++) A[i][j] = 0; II. for (int i = 0; i < 100; i++) for (int j = 0; j < 100; j++) A[i][j] = 0; Ejercicio 1. Hay una serie de conceptos que no hemos desarrollado, pertenecientes al tema de sistema de archivos, es necesario que hagas una revisión a tu material de apoyo para que puedas encontrar la definición de los conceptos o la respuesta a las preguntas, según sea el caso, que se te plantean a continuación: a) Estructura de directorios. b) Manejo de sistemas de archivos (montando y desmontando). c) Protección.
  • 11.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com i. Tipos de acceso. ii. Control de acceso. d) Implementación de los directorios. e) Allocation methods. f) Administración del espacio libre. 2. Investiga qué es un sistema de archivos distribuido. En adición a las características generales investiga las características específicas del “Andrew File System” o AFS y del “Distributed File System” o DFS incorporado en Microsoft Windows 2000. 3. Investiga acerca de los sistemas de archivos en Windows 2000/XP (NTFS) y Linux. Trata de investigar por separado las características de ambos sistemas (ventajas y desventajas). Ejercicio 1. Investiga los siguientes temas o conceptos. Recuerda que en tu material tienes referencias bibliográficas que te ayudarán a encontrar la información. a) Hardware de E/S. i. Escrutinio. ii. Interrupciones. iii. Acceso directo a memoria. b) Interfaz de E/S de las aplicaciones. i. Dispositivos de bloque y caracter. ii. Dispositivos de red. iii. Redes y temporizadores. iv. E/S con bloqueo y sin bloqueo. c) Subsistemas de E/S del kernel. i. Planificación de E/S. ii. Empleo de buffers. iii. Empleo de caches. iv. Spooling y reservación de dispositivos. v. Manejo de errores. 2. Considera los siguientes escenarios de E/S en una PC de un solo usuario.  Un ratón utilizado con una interfaz gráfica de usuario.  Una unidad de cinta en un sistema operativo multitarea (suponga que no se cuenta con la asignación previa de dispositivos).  Una unidad de disco con archivos de usuario.  Una tarjeta de graficación con conexión directa al bus, accesible mediante E/S con mapeo de memoria. Para cada uno de los escenarios de E/S, ¿Diseñarías el sistema operativo para que empleara buffers , spool, caches o una combinación de ellos? ¿Emplearías E/S con escrutinio o E/S
  • 12.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com activada por interrupciones? Menciona las razones para tomar tus decisiones. 3. Describe tres circunstancias en las cuales debería emplearse E/S con bloqueo. Describa tres circunstancias en las cuales debería de usarse E/S sin bloqueo. ¿Por qué no implementar simplemente E/S sin bloqueo y hacer que los procesos realicen una espera ocupada hasta que su dispositivo este listo?  ¿Por qué podría un sistema emplear E/S activada por interrupciones para administrar un puerto serial único, pero E/S con escrutinio para administrar un procesador de primer plano (front-end), tal como un concentrador de terminales. 4. Analiza las siguientes situaciones:  El escrutinio para determinar si se completó una E/S puede desperdiciar un gran número de ciclos de la CPU si el procesador realiza iteraciones en un ciclo de espera ocupada durante muchas veces antes de que se complete la E/S. Pero si el dispositivo de E/S está listo para servicio, el escrutinio puede ser mucho más eficiente que atrapar y despachar una interrupción. Describe una estrategia híbrida que combine escrutinio, dormir e interrupciones para servicio de dispositivos de E/S. Para cada una de estas tres estrategias (escrutinio puro, interrupciones puras, híbrida), describe un ambiente de cómputo en el que la estrategia sea más eficiente que cualquiera de las otras. Busca una solución a esta pregunta. 5. Elabora un reporte en el que incluyas los resultados de los cuatro puntos. Ejercicio 1. En esta actividad vas a hacer una investigación utilizando las diferentes fuentes de información a tu alcance acerca de los siguientes tipos de sistemas operativos: a) Embedded systems. b) Object Oriented OS. c) HHPC y Palm Based OS (Pocket OS, Palm OS, Java OS, Windows CE). d) Microkernel. e) Real Time Operating Systems. 2. Supongamos que te han propuesto el desarrollar una aplicación para ayudar a los ajustadores de seguros a hacer su trabajo en el lugar de un accidente. Para hacer esto se busca desarrollar una aplicación residente en un PDA que le permita a un ajustador realizar su trabajo de manera más eficiente. Vas a investigar como alternativas los PDA basados en la tecnología de la Palm Pilot, y los PDA basados en la tecnología de Windows CE. Justifica Con base en la información que investigaste cuál es la mejor opción (no hay respuesta incorrecta, a menos que no la justifiques adecuadamente). 3. Contesta las siguientes preguntas:  ¿Qué entiendes por sistemas operativos de propósito específico?  Menciona algunos sistemas operativos de propósito específico  ¿Qué es un sistema operativo orientado a objetos?  ¿Qué entiendes por sistema operativo de tiempo real?  ¿Qué ofrece el sistema Windows CE?
  • 13.
    Servicio de asesoríay resolución de ejercicios ciencias_help@hotmail.com www.maestronline.com