75566 20201 PEC1 SOL - PEC1 Sistemas operativos. Solucion PDF

Title 75566 20201 PEC1 SOL - PEC1 Sistemas operativos. Solucion
Course Sistemas Operativos
Institution Universitat Oberta de Catalunya
Pages 9
File Size 533.4 KB
File Type PDF
Total Downloads 189
Total Views 555

Summary

Multimedia yTelecomunicaci ́onPresentaci ́onEsta PEC plantea una serie de actividades con el objetivo que el estudiante se familiarice con la tem ́atica de los primeros m ́odulos de la asignatura.Cada pregunta indica una posible temporizaci ́on para poder acabar la PEC antes de la fecha l ́ımite as ...


Description

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

Presentaci´ on Esta PEC plantea una serie de actividades con el objetivo que el estudiante se familiarice con la tem´atica de los primeros m´odulos de la asignatura. Cada pregunta indica una posible temporizaci´on para poder acabar la PEC antes de la fecha l´ımite as´ı como el peso de la pregunta en la evaluaci´on final.

Competencias Transversales: Capacidad para la comunicaci´ on escrita en el a´mbito acad´emico y profesional Espec´ıficas: Capacidad de analizar un problema en el nivel de abstracci´ on adecuado a cada situaci´ on y aplicar las habilidades y conocimientos adquiridos para abordarlo y resolverlo

Enunciado 1. M´ odulo 2 [ Del 30 de octubre al 31 de octubre ] (Peso 30 % = 5 % + 5 % + 5 % + 5 % + 10 %) Responded justificadamente a las siguientes preguntas relacionadas con el m´ odulo 2 de la asignatura: 1.1 Indicad qu´ e mecanismo de entrada al SO ( o ) provocan los siguientes eventos:

,

Un proceso invoca la rutina printf. Provocar´ıa una llamada al sistema, invocada indirectamente por la rutina printf de la biblioteca libc. Un proceso de usuario intenta ejecutar una instrucci´on privilegiada de lenguaje m´ aquina. Provocar´ıa una excepci´on, por intentar ejecutar una instrucci´on privilegiada desde modo usuario. Un proceso invoca la llamada al sistema open (la que permite abrir un fichero) para solicitar la apertura de un fichero al que tiene acceso. Provocar´ıa una llamada al sistema para solicitar al SO la apertura de un fichero que, al ser accesible por el proceso, ser´ a abierto.

1

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

Un proceso invoca la llamada al sistema open (la que permite abrir un fichero) para solicitar la apertura de un fichero al que no tiene acceso. Provocar´ıa una llamada al sistema que, cuando el c´odigo de atenci´ on a la llamada al sistema detecte que corresponde a una petici´ on no realizable, devolver´a error pero no generar`a una excepci´ on. El proceso continuar´ a con su ejecuci´on sin que el SO haga nada para intentar solucionarlo. El controlador de disco notifica que la u ´ ltima petici´on de escritura ya se ha completado. Provocar´ıa una interrupci´on hardware para notificarlo al SO. Como las escrituras suelen ser as´ıncronas, no provocar´ıa ning´ un cambio en el estado del proceso que la solicit´ o. Un proceso intenta acceder a una posici´on de memoria que no pertenece a su espacio l´ogico. Provocar´ıa una excepci´on de tipo direcci´ on incorrecta para que el c´ odigo de atenci´on tome la medida adecuada (finalizar el proceso, aumentar el espacio l´ogico,...). 1.2 ¿Qu´e cambio(s) de estado (Run, Ready, Blocked ) provocar´ıan los siguientes eventos sobre los procesos del sistema: Un proceso invoca la llamada al sistema que lo destruye. El proceso deja de utilizar la CPU y se inicia su destrucci´on. El planificador de la CPU escoger´a uno de los procesos a Ready y lo pasar´ a a Run. Un nuevo proceso aparece en el sistema. Una vez creado el proceso, t´ıpicamente ´este tendr´a como estado inicial el estado Ready. A partir de aqu´ı, comenzar´a a competir por utilizar el procesador. Un proceso invoca la llamada al sistema que permite leer del disco pero en estos momentos el disco est´ a ocupado atendiendo otra petici´on. El proceso pasa al estado Block hasta que finalice la entrada/salida. Un proceso que haya sido seleccionado por el planificador pasar´ a de Ready a Run. Expira el quantum de tiempo asignado a un proceso.

2

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

El proceso en ejecuci´on pasa de Run a Ready. Un proceso que haya sido seleccionado por el planificador pasar´ a de Ready a Run. El controlador de disco notifica que la u ´ ltima petici´on de lectura ya est´a disponible. El proceso que esperaba esta operaci´on pasar´a de Block a Ready. 1.3 ¿Cu´ al es la utilidad de que los procesadores dispongan de del lenguage m´aquina y de diversos modos de ejecuci´ on? ¿Qui´en puede utilizar las instrucciones privilegiadas? La utilidad es evitar que los programas de usuario puedan utilizar las instrucciones privilegiadas directamente porque ´eso podr´ıa provocar problemas de estabilidad y de integridad en la m´ aquina. Estas instrucciones s´olo se pueden las bajo el control del SO. Estas instruccions s´olo son utilizables desde el n´ ucleo del SO. 2. M´ odulo 3: [ Del 1 al 8 de noviembre ] (Peso 60 % = 5 % + 5 % + 10 % + 5 % + 35 %) Responded justificadamente a las siguientes preguntas relacionadas con el m´ odulo 3 de la asignatura: 2.1 Un usuario ejecuta la orden ps -u en un sistema Linux y obtiene el siguiente resultado: prompt$ ps -u USER PID %CPU %MEM VSZ RSS TTY enricm 22425 0.0 0.1 25856 5476 pts/20 enricm 22604 0.1 0.2 58908 8972 pts/9 enricm 23325 0.2 2.1 1375448 82500 pts/20 prompt$

STAT Ss S+ Sl+

START 13:43 13:53 14:28

Consultado el manual del sistema, contestad con vuestras propias palabras: ¿Qu´e informaci´ on aportan las columnas %MEM, VSZ, RSS? %MEM indica el porcentaje de memoria f´ısica ocupada por el proceso. VSZ indica el tama˜ no del espacio l´ ogico del proceso (en Kilobytes). RSS indica la cantidad de memoria f´ısica ocupada por el proceso (en Kilobytes). Aproximadamente, ¿cu´ anta memoria f´ısica tiene la m´aquina? 3

TIME 0:00 0:05 0:02

COMMAND bash vim file.tex evince a.pdf

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

Mediante una regla de tres, podemos concluir que corresponde a 100 × 82500Kilobytes/2, 1 ≈ 3, 75Gigabytes La informaci´ on m´as precisa es la correspondiente al proceso evince porque los otros procesos ocupan poca memoria con lo que los redondeos al calcular los porcentajes son muy significativos. Como constataci´ on, la memoria f´ısica total disponible por Linux es de 3908072 Kilobytes que corresponde a 3,727 Gigabytes. prompt$ more /proc/meminfo MemTotal: 3908072 kB MemFree: 450840 kB ... 2.2 ¿Hay alg´ un l´ımite para el proceso?

de un

S´ı, est´ a limitado por del procesador. En procesadores con el espacio l´ogico m´aximo es de es decir, 4 Gigabytes, y en procesadores con buses de 64 bits el espacio l´ogico m´ aximo ser´ıa de 264 bytes, es decir, 16 Exabytes. 2.3 ¿En qu´e parte del espacio l´ogico (c´ odigo, pila, zona de datos est´ aticos, zona de datos din´ amicos-heap) de un proceso se almacenan los siguientes objetos? 2.3.1 Una variable local Las variables locales se almacenan en la pila del proceso. 2.3.2 Una variable global Las variables globales se almacenan en al zona de datos. 2.3.3 Un par´ ametro pasado a una rutina Los par´ ametros de las rutinas acostumbran a almacenarse en la pila (aunque en algunos casos se almacenan en registros). 2.3.4 El c´ odigo m´aquina de una rutina El c´ odigo de las rutinas del programa se almacena en la zona de c´ odigo. 2.3.5 El resultado de solicitar memoria din´amica con malloc

4

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

La memoria asignada din´amicamente con malloc se almacena en la zona de datos (m´as concretamente en el heap). 2.4 Sea un sistema de gesti´on de memoria basado en paginaci´on bajo demanda en el que las tienen un tama˜ no de , las y el Sobre este sistema se crean dos procesos. Proceso 1: su fichero ejecutable determina que cada a´rea (c´odigo, datos inicializados, datos no inicializados y la pila) ocupan dos p´ aginas cada una. Proceso 2: su fichero ejecutable determina que el c´ odigo y los datos inicializados ocupar´an dos p´ aginas cada una, que no existen datos no inicializados y que la pila ocupar´a dos p´aginas. Se pide: 2.4.1 Estimad el tama˜ no del fichero ejecutable correspondiente al proceso 1. En el fichero ejecutable es necesario guardar el contenido de la zona de c´ odigo y de los datos inicializadas. Como son necesarias dos p´ aginas para cada una de estas zonas, esto implica un m´ aximo de 16 Kbytes (la fragmentaci´ on interna en estas p´aginas puede causar que el tama˜ no real sea inferior a 16 Kbytes). Adem´ as, hay que sumar el tama˜ no de las cabeceras del fichero ejecutable. 2.4.2 Suponiendo que las p´aginas se cargan en memoria f´ısica tal y como indica el diagrama de la p´agina 9 de este enunciado, indicad cu´ al ser´a el contenido de las tablas de p´ aginas de ambos procesos. Indicad por qu´e motivo ambas tablas de p´aginas tienen 16 entradas. El contenido de las tablas de p´ aginas es el que se muestra en la figura (el contenido de las posiciones en blanco es irrelevante al tratarse de p´ aginas inv´ alidas o de p´aginas no presentes en memoria f´ısica).

5

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

Las tablas de p´ aginas son de 16 entradas porque es el resultado de dividir el tama˜ no del (2 bytes) entre el tama˜ no de la p´ agina (4 Kbytes, es decir, 212 bytes). El resultado es 24 , es decir, 16 p´aginas. 2.4.3 Suponiendo que el proceso en ejecuci´on es el proceso 1, indicad cu´ ales ser´an las direcciones f´ısicas correspondientes a las siguientes direcciones l´ogicas: 0x0123 y 0x2342. ¿Variar´ıa la respuesta si el proceso en ejecuci´on fuera el proceso 2? En caso afirmativo, indicad el motivo y c´ omo cambiar´ıa. La respuesta depende del proceso en ejecuci´on porque cada proceso utiliza una tabla de p´aginas diferente. Como las p´ aginas son de 212 bytes, los 12 bits de menos peso (3 d´ıgitos hexadecimales)

6

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

constituyen el desplazamiento dentro de la p´agina. El resultado de las traducciones ser´ıa el siguiente: Direcci´ on l´ogica

Direcci´on f´ısica Proceso 1

0x2324

0x2324

Direcci´ on f´ısica Proceso 2 0x5123

Se recuerda que realizar divisiones donde el denominador es una potencia de 2 es trivial si trabajamos en base 2 (o en base 16). Dividir entre 2n no es m´as que descartar los n bits de menos peso del numerador (expresado en base 2); el residuo de la divisi´on entre 2n son los n bits bajos del numerador. 3. M´ odulo 4 [ Del 9 al 11 de noviembre ] (Peso 10 % = 5 % + 5 %) Responded justificadamente a las siguientes preguntas relacionadas con el m´ odulo 4 de la asignatura: 3.1 Indicad si los siguientes dispositivos son f´ısicos, l´ogicos o virtuales: 3.1.1 El canal de salida est´andard El canal de salida est´andar es un dispositivo virtual. Es la abstracci´ on que nos ofrece el SO para que un proceso pueda acceder a un dispositivo de entrada/salida. 3.1.2 El teclado El teclado es un dispositivo f´ısico. 3.1.3 Una pipe La pipe es una dispositivo l´ ogico. Es una abstracci´on ofrecida por SO para poder comunicar dos procesos. 3.1.4 El fichero /bin/ls Los ficheros son dispositivos l´ ogicos. Es una abstracci´ on ofrecida por SO para trabajar m´ as c´ omodamente sobre el dispositivo f´ısico disco duro. 3.1.5 El fichero /dev/tty /dev/tty es un dispositivo l´ ogico porque es un fichero ofrecido por el SO. 3.2 ¿En qu´e consiste la independencia de dispositivos? Poned un ejemplo de su utilidad.

7

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

Consiste en que, desde el punto de vista del usuario, todos los dispositivos se acceden de la misma forma. Los procesos trabajan sobre dispositivos virtuales y es el SO quien se encarga de hacer el acceso sobre el dispositivo f´ısico. Desde el punto de vista del proceso, es lo mismo escribir sobre una pantalla que sobre un archivo. ´Esto simplifica la programaci´ on de las aplicaciones y facilita la reutilizaci´on del c´ odigo.

Recursos M´ odulos 1, 2, 3 y 4 de la asignatura. El aula ”Laboratorio de Sistemas Operativos” (pod´eis plantear vuestras dudas relativas al entorno UNIX, programaci´ on,...).

Criterios de evaluaci´ on Se valorar´a la justificaci´on de las respuestas presentadas. El peso de cada pregunta est´ a indicado en el enunciado.

Formato y fecha de entrega Se entregar´a un fichero zip que contendr´ a un fichero pdf con la respuesta a las preguntas y, si es preciso, los ficheros adicionales que quer´ ais entregar. Fecha l´ımite de entrega: 24:00 del 11 de noviembre de 2020.

8

75.566 · Sistemas Operativos · PEC1 · 20201 · Ingenier´ıa inform´ a tica · Estudios de Inform´ a tica, Multimedia y Telecomunicaci´ on

9...


Similar Free PDFs