Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 1 votos - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Sistemas Operativos] Final 19-02-2013
Autor Mensaje
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.356
Agradecimientos dados: 900
Agradecimientos: 887 en 356 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #16
RE: [Sistemas Operativos] Final 19-02-2013
Sobre la 5), se habla de que las interrupciones mejoran la E/S en el capitulo 13 de silberschatz, que habla de E/S, habla del Sondeo y la espera activa (Cuando la CPU espera la E/S sondeando la controladora continuamente) y luego mete la interrupcion como mejoría de eso. (pagina 453)

Asique si, la 5 es verdadera

la 4) tengo entendido que el proceso hijo es exactamente igual al padre, excepto el Id

aca dice

http://linux.die.net/man/2/fork

Cita:fork() creates a new process by duplicating the calling process. The new process, referred to as the child, is an exact duplicate of the calling process, referred to as the parent, except for the following points:
*
The child has its own unique process ID, and this PID does not match the ID of any existing process group (setpgid(2)).
*
The child's parent process ID is the same as the parent's process ID.
*
The child does not inherit its parent's memory locks (mlock(2), mlockall(2)).
*
Process resource utilizations (getrusage(2)) and CPU time counters (times(2)) are reset to zero in the child.
*
The child's set of pending signals is initially empty (sigpending(2)).
*
The child does not inherit semaphore adjustments from its parent (semop(2)).
*
The child does not inherit record locks from its parent (fcntl(2)).
*
The child does not inherit timers from its parent (setitimer(2), alarm(2), timer_create(2)).
*
The child does not inherit outstanding asynchronous I/O operations from its parent (aio_read(3), aio_write(3)), nor does it inherit any asynchronous I/O contexts from its parent (see io_setup(2)).

osea, es igual menos el id, el valor de los semaforos y lockeos, timers, etc.. y algunos valores que son de inicializacion van en 0.

Pero a lo que es la pregunta, va a que copia las variables globales. Mepa


edit: Buscando mas en internet dice lo mismo, que el fork crea 2 imagenes iguales (se refiere al PCB y a su image direction ??) Y que se diferencian por el id (al hijo va 0) Asique creeria mas aun que es verdadera

[Imagen: v34BEFt.gif]
(Este mensaje fue modificado por última vez en: 20-02-2013 22:29 por gonnza.)
20-02-2013 22:21
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Heidad Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 171
Agradecimientos dados: 5
Agradecimientos: 112 en 16 posts
Registro en: Feb 2009
Mensaje: #17
RE: [Sistemas Operativos] Final 19-02-2013
(20-02-2013 22:21)gonnza escribió:  Sobre la 5), se habla de que las interrupciones mejoran la E/S en el capitulo 13 de silberschatz, que habla de E/S, habla del Sondeo y la espera activa (Cuando la CPU espera la E/S sondeando la controladora continuamente) y luego mete la interrupcion como mejoría de eso. (pagina 453)

Asique si, la 5 es verdadera

la 4) tengo entendido que el proceso hijo es exactamente igual al padre, excepto el Id

aca dice

http://linux.die.net/man/2/fork

Cita:fork() creates a new process by duplicating the calling process. The new process, referred to as the child, is an exact duplicate of the calling process, referred to as the parent, except for the following points:
*
The child has its own unique process ID, and this PID does not match the ID of any existing process group (setpgid(2)).
*
The child's parent process ID is the same as the parent's process ID.
*
The child does not inherit its parent's memory locks (mlock(2), mlockall(2)).
*
Process resource utilizations (getrusage(2)) and CPU time counters (times(2)) are reset to zero in the child.
*
The child's set of pending signals is initially empty (sigpending(2)).
*
The child does not inherit semaphore adjustments from its parent (semop(2)).
*
The child does not inherit record locks from its parent (fcntl(2)).
*
The child does not inherit timers from its parent (setitimer(2), alarm(2), timer_create(2)).
*
The child does not inherit outstanding asynchronous I/O operations from its parent (aio_read(3), aio_write(3)), nor does it inherit any asynchronous I/O contexts from its parent (see io_setup(2)).

osea, es igual menos el id, el valor de los semaforos y lockeos, timers, etc.. y algunos valores que son de inicializacion van en 0.

Pero a lo que es la pregunta, va a que copia las variables globales. Mepa


edit: Buscando mas en internet dice lo mismo, que el fork crea 2 imagenes iguales (se refiere al PCB y a su image direction ??) Y que se diferencian por el id (al hijo va 0) Asique creeria mas aun que es verdadera


Pag 453 silver:


Textual:

En muchas arquitecturas informaticas , para sondear un dispositivo basta con tres ciclos de instrucciones de CPU ... [bla bla bla] .. Pero si el sondeo pasa a ser ineficiente cuando se le ejecuta de manera repetida para encontrar que solo en raras ocasiones esta listo el dispositivo para ser servido , mientras otras tareas utiles de procesamiento que podria haber ejecutado la CPU permanecen sin hacer En tales casos puede ser mas eficiente que la controladora hardware notifique a la CPU cuando ha pasado el dipositivo a estar listo para el servicio , en lugar de forzar a la CPU a sondear repetitidamente el dispositivo para verr si se ha temrinado la operacion de E/S , este mecanismo de hardware se conoce como interrupcion.


Osea , por lo que yo entiendo , mejora el procesamiento de la CPU , ya que evita el sondeo de los procesos en la CPU , no nombra de mejorar el tema de la E/S . Igualmente depende como lo encares.
(Este mensaje fue modificado por última vez en: 20-02-2013 22:46 por Heidad.)
20-02-2013 22:45
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.356
Agradecimientos dados: 900
Agradecimientos: 887 en 356 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #18
RE: [Sistemas Operativos] Final 19-02-2013
Cita:Osea , por lo que yo entiendo , mejora el procesamiento de la CPU , ya que evita el sondeo de los procesos en la CPU , no nombra de mejorar el tema de la E/S . Igualmente depende como lo encares.

evita que la cpu sondee constantemente la controladora de E/S, no sondeo de procesos.

sobre la respuesta, si se refiere a "sistemas entrada salida" (como dice el enunciado) se puede referir a todo el sistema (cpu + bus + memoria + controladoras) y no especificamente al hardware que hace "leo/escribo sector del disco", independientemente del SO.
digamos que la E/S va desde el recorrido de que la CPU la pide, espera que se lea, y retoma la E/S dejando en memoria las cosas que leyo.

En ese sentido, la espera activa forma parte de la E/S, y por lo tanto, la interrupcion mejora esto, haciendola asincrona (permitiendo que el cpu procese otras cosas en vez de quedarse como una gila esperando)


creo

[Imagen: v34BEFt.gif]
(Este mensaje fue modificado por última vez en: 20-02-2013 23:04 por gonnza.)
20-02-2013 23:01
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
calui Sin conexión
Empleado del buffet
estado de sitio
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 11
Agradecimientos dados: 12
Agradecimientos: 3 en 2 posts
Registro en: Nov 2009
Mensaje: #19
RE: [Sistemas Operativos] Final 19-02-2013
La verdadero o falso del E/S que mejora la eficiencia con Interrupciones escuche en la corrección que era falsa. Yo metí falsa porque las interrupciones se utilizan para otras cosas además de para la E/S . Se usan para algorritmos de Planificación (RR, SRTF) y me pusieron bien el punto. Según lo que escuché también tiene que ver con que no mejora la eficiencia en muchos casos.

La pregunta de el archivo de memoria virtual me dijo Pepe que la justificación era: Falsa, porque los archivos de memoria virtual se graban en una partición o disco SWAP que, por ejemplo en Windows, no posee filesystem.
20-02-2013 23:23
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] calui recibio 2 Gracias por este post
gonnza (20-02-2013), CarooLina (21-05-2015)
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.356
Agradecimientos dados: 900
Agradecimientos: 887 en 356 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #20
RE: [Sistemas Operativos] Final 19-02-2013
puta madre entonces jajaja.

Gracias Calui!

[Imagen: v34BEFt.gif]
20-02-2013 23:49
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Alejandro Sin conexión
Militante
nada
***

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 85
Agradecimientos dados: 5
Agradecimientos: 269 en 22 posts
Registro en: Apr 2008
Mensaje: #21
RE: [Sistemas Operativos] Final 19-02-2013
(20-02-2013 22:15)Heidad escribió:  3) F !! El algoritmo del banquero te asegura pasar de un estado seguro a otro estado seguro , no te puede afirmar en ningún momento si hay deadlock!!

es que no te asegura que hay deadlock, se asegura que no haya deadlock

Si es estado seguro => no hay deadlock


para mi es falsa tambien pero la justificacion es que no evita las 4 condiciones juntas, evita 1 sola condicion (retencion y espera)
(Este mensaje fue modificado por última vez en: 21-02-2013 15:43 por Alejandro.)
21-02-2013 15:41
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Nimix Sin conexión
Secretario de la SAE
Trust me, I'm Engineer
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 423
Agradecimientos dados: 36
Agradecimientos: 272 en 62 posts
Registro en: Apr 2011
Mensaje: #22
RE: [Sistemas Operativos] Final 19-02-2013
Yo lo rendí ese final y me saqué un 7, no se si estará bien pero los VoF los respondí así:

1- Falso. Los ULTs se planifican según la implementación de la biblioteca, con lo que pueden planificarse según cualquier algoritmo (incluyendo RR)

2- Falso. Suele utilizarse una partición de swapping en varios casos, la cual puede estar en cualquier otro File System (de esta no estoy 100% seguro, pero que es falsa y el tema viene por el swappeo si)

3- Falso. El algoritmo de banquero sólo detecta si el sistema está o no en estado seguro. En base a eso el SO decide qué hacer (si no asignar los pedidos de un proceso, etc.)

4- En esta tampoco estoy seguro. Yo puse Falso, el stack no se comparte. Me parece lógico, el stack es la pila de llamadas, si el padre está en la mitad de su ejecución y el hijo (que es prácticamente igual al padre) recién está creado, no tiene ningún sentido que tengan el mismo stack

5- Verdadero. La E/S por interrupciones mejora el aprovechamiento de uso de la CPU evitando la espera circular, al compararlo con la E/S programada. (yo no interpreté el enunciado como que las interrupciones se usan solamente para E/S, así que para mi es verdadera).

Saludos y éxitos!
21-02-2013 15:54
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Sr. Pampín Sin conexión
Empleado del buffet
Sin estado (:
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 19
Agradecimientos dados: 2
Agradecimientos: 3 en 3 posts
Registro en: Feb 2013
Mensaje: #23
RE: [Sistemas Operativos] Final 19-02-2013
Yo las conteste asi:
1) Falso porque los ult pueden usar RR si esta implementado en la libreria de hilos.
2) Falso porque la memoria virtual no tiene archivos ni filesystem, sino que se maneja por paginas.
3) Falso porque el algoritmo del banquero se usa para saber si el sistema esta en estado seguro o no, mas alla de que haya o no un interbloqueo.
4) Falso porque las variables globales van a tener los mismos valores, ya que se copian junto con los datos.

Cita: Yo puse Falso, el stack no se comparte. Me parece lógico, el stack es la pila de llamadas, si el padre está en la mitad de su ejecución y el hijo (que es prácticamente igual al padre) recién está creado, no tiene ningún sentido que tengan el mismo stack
No dice que lo compartan, dice que lo copia en el nuevo proceso (otra posicion de memoria), y por lo que tengo entendido el fork te inicia un nuevo proceso que copia el original y que ejecuta desde el mismo punto que hiciste el fork, por lo tanto tienen que tener el mismo stack.

5) Verdadera, ya que evita la espera activa, pudiendo ejecutar otros procesos mientras uno es mandado a I/O.
23-02-2013 16:24
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
vkarpyuk Sin conexión
Empleado del buffet
feliz
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8
Agradecimientos dados: 3
Agradecimientos: 0 en 0 posts
Registro en: Feb 2011
Mensaje: #24
RE: [Sistemas Operativos] Final 19-02-2013
(20-02-2013 17:58)Adriano escribió:  Direcciones lógicas de 32 bits
Tamaño de página de 1 Kbyte = 2^10 bytes → se necesitan 10 bits para el desplazamiento
El número máximo de páginas será de 2 (32 -10)= 2^22 páginas
La tabla de páginas ocupa 2^22 .4 bytes = 16Mbytes
En total haría falta 16Mbytes/1Kbyte=16.2^10 páginas o marcos

Una pregunta? No entendi muy bien la pregunta del enunciado, ya que se pide el numero maximo de marcos para ALMACENAR por completo la tabla de paginas. Lo interpreto como: cuantos marcos se necesita para almacenar la tabla de paginas como la estructura administrativa, osea (tamaño que ocupa en memoria) / (tamaño de pagina) = cantidad de frames necesarios para conterla. En este caso son 16 frames.
27-02-2013 21:11
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
vkarpyuk Sin conexión
Empleado del buffet
feliz
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8
Agradecimientos dados: 3
Agradecimientos: 0 en 0 posts
Registro en: Feb 2011
Mensaje: #25
RE: [Sistemas Operativos] Final 19-02-2013
Alguien hizo el ejercicio 2?
28-02-2013 22:14
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
gonnza Sin conexión
User Verde

*********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 17.356
Agradecimientos dados: 900
Agradecimientos: 887 en 356 posts
Registro en: Mar 2010
BlogSpot Google+ YouTube
Mensaje: #26
RE: [Sistemas Operativos] Final 19-02-2013
el 2 me quedó asi:

sabiendo que un bloque tiene 512 bytes, y los punteros 32 bits = 4 bytes, cada bloque de indireccion puede tener \[\frac{512}{4}=128\] entradas.

maxima capacidad de archivo:

5 x 512 bytes + 2 x 128 x 512 bytes + 2 x \[128^{2}\] x 512 bytes + 1 x \[128^{3}\] x 512 bytes = 1090652672 bytess, que son aproximadamente 1 GB 16 MB 130 KB


sobre el b, si tnego qe acceder al byte 16911366, y cada bloque son 512 bytes, entonces, dividiendo puedo obtener el numero de bloques que ocupa \[\frac{16911366}{512} = 33030.011..\]
entonces leyendo el bloque numero 33031 obtengo, ademas de otros, el byte que quiero leer.

de los 33031 punteros que necesito:
Los directos son 5, entonces quedan 33031 - 5 = 33026 punteros

los indirectos, tengo 128 punteros por cada indirecto, son 2, asique 33026 - 2 x 128 = 32770

Los doblemente indirectos, son 2, y cada uno tiene \[128^{2}\] punteros

entonces 32770 - 2 x \[128^{2}\] = 2

quedan 2 bloques por leer, asique con 2 punteros a datos quedan.. claramente estaran en el primer indirecto triple, en el primer bloque de indireccion de cada nivel..

Como el inodo ya esta en memoria, solo tengo que leer:

- el unico puntero indirecto triple
- el primer nivel de indirección
- el segundo nivel de indirección
- el tercer nivel de indirección
- el dato


son entonces 5 lecturas



sobre el c, esta respondido en la pagina anterior, tiene que ver en que si no colocas los atributos de seguridad (permisos) en el inodo, la otra opcion es en la entrada de directorio. Supongamos que es asi, que las colocamos ahi, con un hard link tenes otra entrada (distinta, con distinto nombre) en el directorio que apunta al mismo inodo, entonces basicamente podes abrir el archivo sin leer dichos atributos.
Con un soft link, como es un archivo nuevo, totalmente distinto (con su propio inodo) cuyo contenido es la entrada de directorio original, ahi no hay problema, porque igual leerias la entrada ahi y tendrias los atributos


espero sirva, y que este bien jajaj

[Imagen: v34BEFt.gif]
(Este mensaje fue modificado por última vez en: 04-03-2013 00:23 por gonnza.)
04-03-2013 00:23
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
[-] gonnza recibio 2 Gracias por este post
eltipito (16-02-2014), Diesel (26-07-2016)
AGUSTIN27 Sin conexión
Secretario de la SAE
INGENIEROOO :)
******

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 642
Agradecimientos dados: 20
Agradecimientos: 114 en 25 posts
Registro en: Feb 2010
Mensaje: #27
RE: [Sistemas Operativos] Final 19-02-2013
En la 3 coincido con la respuesta de nnimis y Sr. Pampin. Saludos.
10-04-2013 10:24
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
fedetubi Sin conexión
Empleado del buffet
Parcial TyD
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 10
Agradecimientos dados: 12
Agradecimientos: 15 en 5 posts
Registro en: May 2012
Mensaje: #28
RE: [Sistemas Operativos] Final 19-02-2013
(20-02-2013 17:58)Adriano escribió:  Direcciones lógicas de 32 bits
Tamaño de página de 1 Kbyte = 2^10 bytes → se necesitan 10 bits para el desplazamiento
El número máximo de páginas será de 2 (32 -10)= 2^22 páginas
La tabla de páginas ocupa 2^22 .4 bytes = 16Mbytes
En total haría falta 16Mbytes/1Kbyte=16.2^10 páginas o marcos

Buenas.
Adro, la verdad no entiendo ,los ultimos 2 paso de esta resolucion. A saber:
La tabla de páginas ocupa 2^22 .4 bytes = 16Mbytes
En total haría falta 16Mbytes/1Kbyte=16.2^10 páginas o marcos

si yo tengo tantos frames como paginas tengo en la tabla, no me basta con decir que tengo 2^22 frames?
Para que quiero calcular el tamaño de la tabla, y mas aun.. dividirlo luego por le tamaño de pagina?
Sorry estoy un toque confundido con esta parte...
29-07-2013 16:45
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
annic Sin conexión
Empleado del buffet
:)
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 4
Agradecimientos dados: 4
Agradecimientos: 6 en 2 posts
Registro en: Nov 2012
Mensaje: #29
RE: [Sistemas Operativos] Final 19-02-2013
Hola Fede,
Lo que pide el enunciado es:

Cita: el número máximo de marcos de página (frames) que se necesitarán para almacenar por completo una tabla de páginas en memoria

Por eso es que se calcula primero el tamaño de la tabla y después se lo divide por el tamaño del frame (que es igual al de la página), porque no te pide el número de frames totales sino los necesarios para almacenar la tabla.
31-07-2013 00:24
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
eltipito Sin conexión
Profesor del Modulo A
^^
*****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 386
Agradecimientos dados: 73
Agradecimientos: 45 en 19 posts
Registro en: May 2008
Last.fm
Mensaje: #30
RE: [Sistemas Operativos] Final 19-02-2013
(04-03-2013 00:23)gonnza escribió:  el 2 me quedó asi:

sabiendo que un bloque tiene 512 bytes, y los punteros 32 bits = 4 bytes, cada bloque de indireccion puede tener \[\frac{512}{4}=128\] entradas.

maxima capacidad de archivo:

5 x 512 bytes + 2 x 128 x 512 bytes + 2 x \[128^{2}\] x 512 bytes + 1 x \[128^{3}\] x 512 bytes = 1090652672 bytess, que son aproximadamente 1 GB 16 MB 130 KB


sobre el b, si tnego qe acceder al byte 16911366, y cada bloque son 512 bytes, entonces, dividiendo puedo obtener el numero de bloques que ocupa \[\frac{16911366}{512} = 33030.011..\]
entonces leyendo el bloque numero 33031 obtengo, ademas de otros, el byte que quiero leer.

de los 33031 punteros que necesito:
Los directos son 5, entonces quedan 33031 - 5 = 33026 punteros

los indirectos, tengo 128 punteros por cada indirecto, son 2, asique 33026 - 2 x 128 = 32770

Los doblemente indirectos, son 2, y cada uno tiene \[128^{2}\] punteros

entonces 32770 - 2 x \[128^{2}\] = 2

quedan 2 bloques por leer, asique con 2 punteros a datos quedan.. claramente estaran en el primer indirecto triple, en el primer bloque de indireccion de cada nivel..

Como el inodo ya esta en memoria, solo tengo que leer:

- el unico puntero indirecto triple
- el primer nivel de indirección
- el segundo nivel de indirección
- el tercer nivel de indirección
- el dato


son entonces 5 lecturas



sobre el c, esta respondido en la pagina anterior, tiene que ver en que si no colocas los atributos de seguridad (permisos) en el inodo, la otra opcion es en la entrada de directorio. Supongamos que es asi, que las colocamos ahi, con un hard link tenes otra entrada (distinta, con distinto nombre) en el directorio que apunta al mismo inodo, entonces basicamente podes abrir el archivo sin leer dichos atributos.
Con un soft link, como es un archivo nuevo, totalmente distinto (con su propio inodo) cuyo contenido es la entrada de directorio original, ahi no hay problema, porque igual leerias la entrada ahi y tendrias los atributos


espero sirva, y que este bien jajaj

Cuando uno hace tiene que contar el acceso a disco de un determinado bloque
Cuenta el acceso al puntero Directo??

Yo lo había hecho igual, pero no sumo el acceso al ptr directo. (Me da 4 accesos)

Accesos: 0 acceso ptr directo + 1 acceso ptr indirecto + 1 acceso ptr doblemente indirecto + 1 acceso ptr triplem indirecto + 1(Acceso al dato) = 4

Se cuenta el acceso al puntero directo?
(Este mensaje fue modificado por última vez en: 16-02-2014 20:44 por eltipito.)
16-02-2014 20:39
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




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