Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[SO] Ejercicio 3 Entrada Salida
Autor Mensaje
Fly Sin conexión
Secretario de la SAE
estado sólido
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 558
Agradecimientos dados: 119
Agradecimientos: 185 en 61 posts
Registro en: May 2011
Mensaje: #1
[SO] Ejercicio 3 Entrada Salida Ejercicios Sistemas Operativos
Hola como andan,

Estuve intentando resolver el ejercicio 3b) de la guìa de ejercicios oficial de Masoero:

3) Un disco rígido tiene 100 cilindros, 10 sectores por pista y 2 platos. El tiempo entre pistas es de 1ms y tarda 20ms en dar una vuelta. El brazo acaba de leer el MBR. En un instante dado llegan los pedidos: 400, 500, 1803, 411.
Se pide:
b) Utilizando el algorimo N-Step SCAN (con colas de 2 pedidos) ordene la cola y determine el tiempo necesario para atender todos los pedidos

De lo que entendí de N-Step SCAN, en este caso tengo N = 2, entonces tengo dos colas..... En la primera cola tengo 400, 500
Haciendo un análisis de lo que ya resolví en el 3a) me da que:
- Estoy parado en (0,0,1) moviéndose hacia arriba (donde (Cilindro, Cabezal, Sector))
- 400 equivale a (10, 0 ,0)
- 500 equivale a (12, 2, 0)

Entonces la cola la dejo así ordenada.... Primero leo 400 y después 500.
Después proceso la segunda cola... Para eso primero analizo que:
- 1803 es (45, 0 , 3)
- 411 es (10, 1, 1)

Entonces lo que tengo que hacer es seguir subiendo el brazo hasta la última pista del disco (la 99) para después bajar y atender 1803 y 411 en ese orden.
Lo que no entiendo es... ¿Cómo calculo el recorrido hasta la pista 99? Quiero decir... en 99 no tengo absolutamente nada que leer, entonces me supongo lo siguiente:
Si ya terminé de leer 500, debería quedar posicionado en (12,2,1)... después saco las cuentas de cuanto cuesta viajar de 12 a 99.. Esto me da 87 cilindros.
Después tengo que bajar al cilindro 45, por lo cual hago 99-45 = 54ms.... y después sumo ambos viajes me da 87 + 54 = 141 ms de seek.
Ahora para el search.... si estaba en el sector 1 y recorrer un sector tarda 2ms, calculo 141ms/2ms = 70,5 sectores que recorrí , o sea que termino cayendo en el sector 1,5. Como me pide alocarme al sector 3, recorro 1,5 sectores más y esto me da 3ms de search. Leo el sector y son 2ms más.


¿Está bien este análisis?
07-02-2014 21:48
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Agus2205 Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 22
Agradecimientos dados: 14
Agradecimientos: 6 en 4 posts
Registro en: Nov 2008
Mensaje: #2
RE: [SO] Ejercicio 3 Entrada Salida
Si. Creo que esta todo perfecto. Eso es lo que hace el algoritmo por lo menos, colas de tamaño fijo y va de una punta a la otra del disco mas allá de los pedidos a atender. Cuando llega a una de las puntas (por ende termina de atender todos los pedidos de esa cola) elije la siguiente cola a atender y comienza el barrido en el sentido contrario.
El mayor cuidado que hay que tener con este algoritmo es con los tiempos de llegada. En este caso llegan los 4 sectores supuestamente al mismo tiempo y la primer cola se llega a llenar antes de que comience el barrido. Pero en el caso de que llegue el 400 en un t0 y los otros 3 sectores lleguen en un t1, ya te cambia todo porque el algoritmo no espera a que la cola se llene para atenderla. Si finalizo con la cola anterior, toma la siguiente (en este caso la primera de todas) asi como esta. Es decir que haría un barrido entero del disco para leer únicamente el sector 400 que era el único de la cola en ese momento en que comenzó el barrido. Luego un segundo barrido con el 1803 y el 500, y un 3er barrido con el 411.
09-02-2014 00:38
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] Agus2205 recibio 1 Gracias por este post
Fly (09-02-2014)
diegoff_1991 Sin conexión
Empleado de Fotocopiadora
Ultimo año de facultad :D
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 31
Agradecimientos dados: 6
Agradecimientos: 16 en 3 posts
Registro en: Sep 2011
Mensaje: #3
RE: [SO] Ejercicio 3 Entrada Salida
hola te hago una pregunta como hiciste la parte a) para llegar a calcular el tiempo?? o sea llegue a lo mismo que vs de los (cilindro, cabezal, sector)

ahora:en a) te pide scan ,entonces 400,411,500,1803
- 400 equivale a (10, 0 ,0)
- 500 equivale a (12, 2, 0)
- 1803 es (45, 0 , 3)
- 411 es (10, 1, 1)

estoy en(0,0,1) voy a (10,0,0) son 10 ms para llegar a eso, luego sigue girando entonces ahora estoy en el sector 6, tengo que volver al 0, entonces son 10 ms mas...O sea que me costo 20 ms llegar de (0,0,1) a (10,0,0)...
Ahora quiero lo mismo con 411 pero... hago 10-10= 0, lo mismo para el sector 1-0= 1, *2ms tarda 2*ms...pero ahora la parte de la cabeza, esta en la cabeza 0 y tiene que pasar a la 1...Ese tiempo que tarda de una cabeza a otra, cuanto es? es 0?? Nose como seguir ahi...Saludos
10-02-2014 00:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Agus2205 Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 22
Agradecimientos dados: 14
Agradecimientos: 6 en 4 posts
Registro en: Nov 2008
Mensaje: #4
RE: [SO] Ejercicio 3 Entrada Salida
Hola diego, acordate que este algoritmo es el N-Scan. El N-Scan basicamente tiene colas de tamaño FIJO (tamaño = n, en este caso dicen que es 2) entonces lo que hace el planificador es tomar una de las colas y comienza el scan de punta a punta. Mientras tanto todos los pedidos que vayan llegando se van encolando en otras colas, si alguna se llena, entonces se crea una nueva cola tambien de tamaño n y se continuan encolando ahi los pedidos. Lo mas importante es que el planificador atiende de a 1 sola cola por barrido y no le da bola al resto de los pedidos que vayan llegando.
Entonces, llegan primero el 400 y el 500. Se lleno la primer cola y el disco comienza el barrido buscando esos sectores.
Los sectores 1803 y 411 se encolan en una segunda cola y esperan.
Entonces el orden que sigue el disco es el siguiente:
(0,0,1)->400->500->(99,x,x) *aca termino de leer todos los pedidos de esa cola y como es SCAN tiene que irse hasta el final del disco (cilindro 99), luego agarra la siguiente cola y comienzo el barrido en sentido contrario*
(99,x,x)->1803->411 ... Ahi termina de leer todos los pedidos y hasta ahi calculamos nuestro seek time total. Si hubiera mas pedidos hubieran quedado en una 3ra cola y el disco tendria que bajar hasta el (0,x,x), tomar la nueva cola y comenzar a subir para atender los pedidos.

Otro concepto que tenes que tener en claro es que el brazo del disco posee un cabezal por cada pista (lado del plato), es decir, si el disco tiene 2 platos (= 4 lados = 4 "pistas") entonces va a tener 4 cabezales y el disco utiliza automaticamente el cabezal correspondiente para leer el sector correcto, con lo cual no hay tiempo por cambio de cabezal (porque no hay cambio de cabezal).
Es mas, una vez que pasas las direcciones de logicas a fisicas (400 = (10,0,0)) si queres podes obviar el cabezal para marearte menos. Es perfectamente valido hacer los ejercicios con los sectores de esta forma (10,x,0),(12,x,0),(45,x,3),(10,x,1). O incluso (CILINDRO, SECTOR)

Saludos =)
10-02-2014 11:08
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
diegoff_1991 Sin conexión
Empleado de Fotocopiadora
Ultimo año de facultad :D
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 31
Agradecimientos dados: 6
Agradecimientos: 16 en 3 posts
Registro en: Sep 2011
Mensaje: #5
RE: [SO] Ejercicio 3 Entrada Salida
Buenisimo entendi perfecto, muchas gracias, y te hago una consulta mas, de paso aprovecho si tenes los resultados de este ejercicio, tanto la parte a), como la b)...

Mi duda es esta: supone que estas en (0,0,5) por asi decirte, y tengo que moverme a (2,x,3) ...hagamos de cuenta que es SCAN también... suponemos que tiempo entre pista es 2ms y entre sectores es 1ms, ah tambien 10 sectores por pista (datos inventados)... tengo 2*2ms en desplazarme hasta esa pista, pasaron 4 ms pero como el plato gira en eso 4ms me cambio el sector...Como estaba en el sector 5 y se mueve de 1 sector cada ms...Caigo en el sector 9, ahora tengo que ir al sector 3...Pero que pasa aca, estoy en el sector n°9 y quiero ir al 3, que hace aca va hasta el 10 y vuelve a empezar por el primero...o de 9 va hacia 3...La pregunta va, cuando me muevo por los sectores, tiene que si o si ir siempre en una direccion o puede cambiar ( estoy en el 9 y quiero ir al 3, que hago?,da una vuelta completa y vuelve al primero( o sea que serian 1(para volver al principio)+3(desde el principio hasta el 3), o direntamente desde 9 a 3 (recorriendo los sectores 8,7,6,5,4,3) ...Nose si me explico!! Saludos y gracias =D
10-02-2014 19:46
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Agus2205 Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 22
Agradecimientos dados: 14
Agradecimientos: 6 en 4 posts
Registro en: Nov 2008
Mensaje: #6
RE: [SO] Ejercicio 3 Entrada Salida
Exactamente, pensa que es un disco que gira SIEMPRE en el mismo sentido. Cuando se movio a la pista 2, cayo en el sector 9 y sigue girando, pasa por el 9, 0, 1, 2 y llega al 3.
Imaginate el laburazo que tendria que hacer el disco reales si fuese de la otra forma. Discos que giranentre las 5400 y las 7200 rpm tener que frenar y arrancar en el otro sentido porque se paso 6 sectores. Tremendo. jajaja
La verdad que el ejercicio entero no lo hice así que las respuestas no las tengo.
11-02-2014 15:46
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
leandrong Sin conexión
Secretario de la SAE
...
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 517
Agradecimientos dados: 135
Agradecimientos: 284 en 42 posts
Registro en: Sep 2008
Mensaje: #7
RE: [SO] Ejercicio 3 Entrada Salida
Los sectores comienzan en 1 según tengo entendido:
- 400 equivale a (10, 0 ,1)
- 500 equivale a (12, 2, 1)
- 1803 es (45, 0 , 4)
- 411 es (10, 1, 2)
(Este mensaje fue modificado por última vez en: 12-02-2016 01:15 por leandrong.)
12-02-2016 01:07
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] leandrong recibio 1 Gracias por este post
Diesel (24-07-2016)
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.