Preguntas Sistemas Operativos

9
1 Identifique algunas situaciones, las cuales por lo general harían que el algoritmo planificador de procesos bloquee a un proceso P1 que está en ejecución. Indique si hay situaciones en las cuales el planificador no necesariamente bloquea a P1. Si se produce una interrupción, el sistema operativo toma el control del procesador mediante la rutina de tratamiento de interrupciones. Un proceso puede invocar especialmente algún servicio del sistema operativo, como un manejador de dispositivos de E/S, por medio de peticiones de servicio. En este caso, el manejador de peticiones de servicio es el punto de entrada al sistema operativo. En cualquier caso, una vez que la interrupción o la petición de servicio es atendida, se invoca al planificador a corto plazo para que seleccione un proceso para su ejecución. Esta descripción es solamente funcional; los detalles y el diseño modular de esta parte del sistema operativo difieren en los diversos sistemas. En cualquier caso, deben llevarse a cabo estas funciones generales. Gran parte del esfuerzo de investigación y desarrollo en sistemas operativos se ha dedicado a los algoritmos de selección y a las estructuras de datos para que estas funciones brinden equidad, sensibilidades diferenciales y eficiencia. 2 Si se desea minimizar el tiempo promedio para completar los procesos de un sistema, explique cuáles serían los mecanismos para la planificación de procesos. Justificar 3 La década de los sesenta es considerada como la segunda generación de computadoras. Describa las características principales de las computadoras en esa época y porque se caracterizaban. Las computadoras de la segunda generación ya no son de válvulas de vacío, sino con transistores son más pequeñas y consumen menos electricidad que las anteriores, la forma de comunicación con estas nuevas computadoras es mediante lenguajes más avanzados que el lenguaje de máquina, y que reciben el nombre de "lenguajes de alto nivel" o lenguajes de programación. 4 Explicar similitudes y diferencias, entre la planificación a corto, mediano y largo plazo. Planificación a largo plazo La planificación a largo plazo determina cuáles son los programas admitidos en el sistema. De este modo, se controla el grado de multiprogramación. Una vez admitido, un trabajo o un programa de usuario se convierte en un proceso y es añadido a la cola del planificador a corto plazo. En algunos sistemas, un proceso recién creado comienza en situación de descargado de la memoria principal, en cuyo caso se añade a la cola del planificador a medio plazo. En un sistema de proceso por lotes o bien en la parte de proceso por lotes de un sistema operativo de propósito general, los procesos recién incorporados se encaminan hacia el disco y permanecen detenidos en una cola de procesamiento por lotes. El planificador a largo plazo creará procesos a partir de la cola cuando sea posible. Dos decisiones entran en juego en este sistema. Primero, el planificador debe decidir si el sistema operativo puede acoger algún proceso más. Segundo, el planificador debe decidir qué trabajos son aceptados y se convierten en procesos. Considérense un momento estas dos decisiones. La decisión de cuándo crear un nuevo proceso viene dada, en general, por el grado de multiprogramación. Cuantos más procesos se crean, menor es el porcentaje de tiempo en el que cada proceso puede ejecutar. Planificación a medio plazo La planificación a medio plazo forma parte de la función de intercambio. Los temas relacionados se tratan en los capítulos 3 y 6. Generalmente, la decisión de cargar un proceso en memoria prin-cipal se basa en la necesidad de controlar el grado de multiprogramación. En un sistema que no emplee memoria virtual, la gestión de memoria también es un punto a tratar. Así pues, la decisión de carga en memoria tendrá en cuenta las necesidades de memoria del proceso descargado. El planificador a largo plazo se ejecuta con relativa poca frecuencia, tomando una primera deci-sión sobre si tomar o no un nuevo proceso y cuál tomar. El planificador a medio plazo se ejecuta con algo más de frecuencia, para tomar la decisión del intercambio. El planificador a corto plazo, también conocido como distribuidor (dispatcher), es el de ejecución más frecuente y toma decisiones con un mayor detalle sobre el proceso que se ejecutará a continuación. 1

Transcript of Preguntas Sistemas Operativos

Page 1: Preguntas Sistemas Operativos

1 Identifique algunas situaciones, las cuales por lo general harían que el algoritmo planificador de procesos bloquee a un proceso P1 que está en ejecución. Indique si hay situaciones en las cuales el planificador no necesariamente bloquea a P1.

Si se produce una interrupción, el sistema operativo toma el control del procesador mediante la rutina de tratamiento de interrupciones. Un proceso puede invocar especialmente algún servicio del sistema operativo, como un manejador de dispositivos de E/S, por medio de peticiones de servicio. En este caso, el manejador de peticiones de servicio es el punto de entrada al sistema operativo. En cualquier caso, una vez que la interrupción o la petición de servicio es atendida, se invoca al planificador a corto plazo para que seleccione un proceso para su ejecución.Esta descripción es solamente funcional; los detalles y el diseño modular de esta parte del sistema operativo difieren en los diversos sistemas. En cualquier caso, deben llevarse a cabo estas funciones generales. Gran parte del esfuerzo de investigación y desarrollo en sistemas operativos se ha dedicado a los algoritmos de selección y a las estructuras de datos para que estas funciones brinden equidad, sensibilidades diferenciales y eficiencia.

2 Si se desea minimizar el tiempo promedio para completar los procesos de un sistema, explique cuáles serían los mecanismos para la planificación de procesos.Justificar

3 La década de los sesenta es considerada como la segunda generación de computadoras. Describa las características principales de las computadoras en esa época y porque se caracterizaban.

Las computadoras de la segunda generación ya no son de válvulas de vacío, sino con transistores son más pequeñas y consumen menos electricidad que las anteriores, la forma de comunicación con estas nuevas computadoras es mediante lenguajes más avanzados que el lenguaje de máquina, y que reciben el nombre de "lenguajes de alto nivel" o lenguajes de programación.

4 Explicar similitudes y diferencias, entre la planificación a corto, mediano y largo plazo.

Planificación a largo plazoLa planificación a largo plazo determina cuáles son los programas admitidos en el sistema. De este modo, se controla el grado de multiprogramación. Una vez admitido, un trabajo o un programa de usuario se convierte en un proceso y es añadido a la cola del planificador a corto plazo. En algunos sistemas, un proceso recién creado comienza en situación de descargado de la memoria principal, en cuyo caso se añade a la cola del planificador a medio plazo.En un sistema de proceso por lotes o bien en la parte de proceso por lotes de un sistema operativo de propósito general, los procesos recién incorporados se encaminan hacia el disco y permanecen detenidos en una cola de procesamiento por lotes. El planificador a largo plazo creará procesos a partir de la cola cuando sea posible. Dos decisiones entran en juego en este sistema. Primero, el planificador debe decidir si el sistema operativo puede acoger algún proceso más. Segundo, el planificador debe decidir qué trabajos son aceptados y se convierten en procesos. Considérense un momento estas dos decisiones.La decisión de cuándo crear un nuevo proceso viene dada, en general, por el grado de multiprogramación. Cuantos más procesos se crean, menor es el porcentaje de tiempo en el que cada proceso puede ejecutar.Planificación a medio plazoLa planificación a medio plazo forma parte de la función de intercambio. Los temas relacionados se tratan en los capítulos 3 y 6. Generalmente, la decisión de cargar un proceso en memoria prin-cipal se basa en la necesidad de controlar el grado de multiprogramación. En un sistema que no emplee memoria virtual, la gestión de memoria también es un punto a tratar. Así pues, la decisión de carga en memoria tendrá en cuenta las necesidades de memoria del proceso descargado.El planificador a largo plazo se ejecuta con relativa poca frecuencia, tomando una primera deci-sión sobre si tomar o no un nuevo proceso y cuál tomar. El planificador a medio plazo se ejecuta con algo más de frecuencia, para tomar la decisión del intercambio. El planificador a corto plazo, también conocido como distribuidor (dispatcher), es el de ejecución más frecuente y toma decisiones con un mayor detalle sobre el proceso que se ejecutará a continuación.El planificador a corto plazo se ejecuta cuando ocurre un suceso que puede conducir a la interrupción del proceso actual o que ofrece la oportunidad de expulsar de la ejecución al proceso actual en favor de otro. Como ejemplos de estos sucesos se tienen:• Interrupciones del reloj• Interrupciones de E/S• Llamadas al sistema operativo• Señales

5 Listar 5 servicios que presta un sistema operativo. Explique si es posible y porqué, que esos servicios no podrían prestarse desde un programa de usuario.

Administra Recursos (de forma eficiente)Interfase entre Usuario/HardwareTransparencia u OcultamientoUtilidadesAccounting (Estadisticas, Monitoreo, Billing, Mejoreas)

1

Page 2: Preguntas Sistemas Operativos

• Creación de programas: El sistema operativo ofrece una variedad de características y servicios, tales como los editores y los depuradores (debuggers), para ayudar al programador en la creación de programas. Normalmente, estos servicios están en forma de programas de utilidad que no forman realmente parte del sistema operativo, pero que son accesibles a través del mismo.• Ejecución de programas: Para ejecutar un programa se necesita un cierto número de tareas. Las instrucciones y los datos se deben cargar en la memoria principal, los archivos y los dispositivos de E/S se deben inicializar y se deben preparar otros recursos. El sistema operativo administra todas estas tareas para el usuario.Acceso a los dispositivos de E/S: Cada dispositivo de E/S requiere un conjunto propio y peculiar de instrucciones o de señales de control para su funcionamiento. El sistema operativo tiene en cuenta estos detalles de modo que el programador pueda pensar en forma de lecturas y escrituras simples.• Acceso controlado a los archivos: En el caso de los archivos, el control debe incluir una comprensión, no sólo de la naturaleza del dispositivo de E/S (controlador de disco, controlador de cinta) sino del formato de los archivos y del medio de almacenamiento. Una vez más, es el sistema operativo el que se encarga de los detalles. Es más, en el caso de sistemas con varios usuarios trabajando simultáneamente, es el sistema operativo el que brinda los mecanismos de control para controlar el acceso a los archivos.• Acceso al sistema: En el caso de un sistema compartido o público, el sistema operativo controla el acceso al sistema como un todo y a los recursos específicos del sistema. Las funciones de acceso pueden brindar protección, a los recursos y a los datos, ante usuarios no autorizados y debe resolver los conflictos en la propiedad de los recursos.• Detección y respuesta a errores: Cuando un sistema informático está en funcionamiento pueden producirse varios errores. Entre estos se incluyen los errores internos y externos del hardware, tales como los errores de memoria, fallos o mal funcionamiento de dispositivos y distintos tipos de errores de software, como el desbordamiento aritmético, el intento de acceder a una posición prohibida de memoria y la incapacidad del sistema operativo para satisfacer la solicitud de una aplicación. En cada caso, el sistema operativo debe dar una respuesta que elimine la condición de error con el menor impacto posible sobre las aplicaciones que están en ejecución. La respuesta puede ser desde terminar el programa que produjo el error, hasta reintentar la operación o, simplemente, informar del error a la aplicación.• Contabilidad: Un buen sistema operativo debe recoger estadísticas de utilización de los diversos recursos y supervisar los parámetros de rendimiento tales como el tiempo de respuesta. Para cualquier sistema, esta información es útil para anticiparse a la necesidad de mejoras futuras y para ajustar el sistema y así mejorar su rendimiento. En un sistema multiusuario, la información puede ser utilizada con propósito de cargar en cuenta.

6 Un sistema operativo tipo POSIX, identifica a los procesos, principalmente con un identificador de proceso, parámetro que se denomina PID. Identifique al menos otros 6 parámetros que son parte de la identificación de un proceso.

Portable Operating System Interface; la X viene de UNIXgeneraliza las interfaces de los sistemas operativos para que una misma aplicación pueda ejecutarse en distintas plataformas.

PPID Proceso ID PadreST : estado del procesoTC : tiempo del contadorPRI : prioridad dada por el SONi : nice ? Prioridad dada por el usuarioTAP : tiempo activo del procesoT CPU tiempo de CPU acumulado.

7 Describa en detalle cuál es la función del despachador o “dispatcher”. Justifique.

La función del Dispatcher es la de decidir que proceso en estado “Listo” va a pasar a ejecutarse transformando su estado a “Activo”.

8 ¿En qué consiste el cambio de contexto?. Explique en detalle.

Un cambio de contexto consiste en la ejecución de una rutina perteneciente al núcleo del sistema operativo multitarea de una computadora, cuyo propósito es parar la ejecución de un hilo (o proceso) para dar paso a la ejecución de otro distinto.

Para hacer realidad la ejecución concurrente en primer lugar es necesario que el programa en ejecución se detenga voluntariamente. Puesto que esto no va a ocurrir nunca, es imprescindible la intervención del hardware. Gracias a las interrupciones generadas por el propio ordenador, es posible expulsar el programa en ejecución para dar paso al sistema operativo.

Cuando esto ocurre, el sistema operativo ejecuta inmediatamente la rutina de cambio de contexto. Esta rutina realiza las siguientes operaciones en el orden indicado:

1. Salvar el estado del programa que se estaba ejecutando. El estado, también denominado contexto, consiste en los valores de todos los registros del microprocesador. Se copian en la memoria principal.

2

Page 3: Preguntas Sistemas Operativos

2. Seleccionar otro programa para ejecutar. Entre todos los programas que estén preparados para ejecutarse, la rutina selecciona uno de ellos siguiendo algún algoritmo equitativo. 3. Restaurar el estado del programa seleccionado. Para ello, se toma el estado previamente copiado en la memoria principal y se vuelca en los registros del microprocesador. 4. Ejecutar el programa seleccionado. La rutina termina su ejecución saltando a la instrucción que estaba pendiente de ejecutar en el programa seleccionado.

Este ciclo se repite bien cada vez que ocurre un evento de entrada/salida, bien cuando vence un temporizador programado en el hardware. Dicho temporizador hace saltar una interrupción cada 150 milisegundos aproximadamente (según sistema operativo).

9 Describa las propiedades y características de la multitarea.

Definición de Multitarea.- Es la capacidad de un sistema operativo para ejecutar varios procesos al mismo tiempo corriendo sobre un procesador o sobre varios. Quienes hayan experimentado con sistemas MS-DOS durante la década del 80 recordarán su incapacidad para realizar este tipo de actividades, algo que fue superado con los primeros Windows de Microsoft, aunque la multitarea era común en otros sistemas operativos muchos años antes, tal es el caso de Unix y derivados. Las multitareas se dividen en nulas, cooperativas, preferentes y reales.

10 ¿Qué sucede con un proceso cuando no está en ejecución?

Cuando un proceso no esta en ejecucion puede estar- stand by / sleeping: Espera: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como la finalización de una operación de Entrada/Salida solicitada por una llamada al sistema operativo.- terminated: Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.- waiting: Espera: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como la finalización de una operación de Entrada/Salida solicitada por una llamada al sistema operativo.- new: Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.- Zombie: Colgado en Unix

11 ¿Cuál es el objetivo de la planificación, y de la planificación a largo plazo?Identifique al menos 5 características. Establezca una comparativa

Objetivo de la Planificación:* Organización* Maximizar producción* Maximizar tiempo de respuesta* Evitar el aplazamiento de ejecución* Predecible

Una tarea clave del sistema operativo es administrar los recursos que tiene disponibles (espacio de memoria, dispositivos de E/S, procesadores) y planificar su utilización por parte de los diferentes procesos en activo. Cualquier política de asignación de recursos y de planificación debe tener en cuenta los tres factores siguientes- Equidad- Sensibilidades diferenciales- EficienciaLa cola a corto plazo está formada por procesos que están en memoria principal y están listos para ejecutar. Alguno de estos procesos podría ser el siguiente en usar el procesador. Depende del planificador a corto plazo o distribuidor (dispatcher) el escoger a unoLa cola a largo plazo es una lista de nuevos trabajos que esperan para usar el sistema.

12 Defina los distintos estados de un proceso, desarrolle cuando y porqué se producen cada una de las transiciones posibles.

3

Page 4: Preguntas Sistemas Operativos

Nuevo: Proceso que se acaba de crear, pero que aún no ha sido admitido por el sistema operativo en el grupo de procesos ejecutables.

Listo: Proceso que está preparado para ejecutar, en cuanto se le dé la oportunidad.

Ejecución: El proceso que está actualmente en ejecución. En este capitulo se suponen computadores con un único procesador, de forma que solo un proceso, a lo sumo, puede estar en este estado en un instante dado.

Bloqueados: Proceso que no puede ejecutar hasta que se produzca cierto suceso, como la terminación de una operación de E/S.

Terminado: Un proceso que ha sido excluido por el sistema operativo del grupo de procesos ejecutables, bien porque se detuvo o porque fue abandonado por alguna razón.

• Listo: El proceso está en memoria principal y listo para la ejecución. • Bloqueado: El proceso está en memoria principal esperando un suceso. • Bloqueado y suspendido: El proceso está en memoria secundaria esperando un suceso. • Listo y suspendido: El proceso está en memoria secundaria pero está disponible para su ejecución tan pronto como se cargue en la memoria principal.

13 Defina que se entiende por grado de multiprogramación en un sistema informático.

MULTIPROGRAMACION Es la técnica que permite que dos o mas programas ocupen la misma unidad de memoria principal y que sean ejecutados al mismo tiempo.El numero de programas que pueden multiprogramarse en forma efectiva, depende de una combinación de la cantidad de memoria, de la velocidad de la CPU y del numero y velocidad de los recursos periféricos que tenga conectados, así como de la eficiencia del SISTEMA OPERATIVO.

14 ¿Que debe hacer el sistema para aumentar el grado de multiprogramación efectivo?

El grado de multiprogramación está dado por el número de procesos que actualmente están cargados en memoria principal (en cualquier estado) y eventualmente pueden correr.El sistema de operación podría decidir bajar el grado de multiprogramación para mejorar el desempeño de ciertos procesos.

15 ¿Cuáles son los métodos que implementan los sistemas POSIX compatibles, en el planificador de procesos?

• SCHED_FIFO: prioridades estáticas. en la que los procesos con la misma prioridad se atienden en el orden de llegada (cola FIFO).• SCHED_RR: round-robin para planificar procesos de la misma prioridad.• SCHED_OTHER: métodos del ritmo monotónico

16 Explique la función de las tablas de sistema operativo, en particular del BCP,enumere al menos 9 parámetros que almacena. Describa brevemente cada parámetro.

4

Page 5: Preguntas Sistemas Operativos

Información necesaria para que el sistema operativo controle al procesoElementos Básicos de un Bloque de Control de ProcesoIdentificadoresLos identificadores numéricos que se pueden guardar en el bloque de control de proceso incluyen:• Identificador de este proceso• Identificador del proceso que creó a este proceso (el proceso padre)• Identificador del usuarioInformación de Estado del ProcesadorRegistros Visibles para el UsuarioUn registro visible para el usuario es aquél al que puede hacerse referencia por medio del lenguaje máquina que ejecuta el procesador. Normalmente, existen de 8 a 32 de estos registros, aunque algunas implementaciones RISC tienen más de 100.Registros de Control y de EstadoHay varios registros del procesador que se emplean para controlar su funcionamiento. Entre estos se incluyen:• Contador de programa: Contiene la dirección de la próxima instrucción a ser tratada.• Códigos de condición: Muestran el resultado de la operación aritmética o lógica más reciente (signo, cero, acarreo, igualdad, desbordamiento).• Información de estado: incluye los indicadores de habilitación o inhabilitación de interrupciones y el modo de ejecución.Punteros de pilaCada proceso tiene una o más pilas LIFO del sistema asociadas. Las pilas se utilizan para almacenar los parámetros y las direcciones de retorno de los procedimientos y de las llamadas al sistema. El puntero de pila siempre apunta a la cima de la pila.Información de Control del ProcesoInformación de Planificación y de EstadoEsta es la información que se necesita por el sistema operativo para llevar a cabo sus funciones de planificación. Los elementos típicos de esta información son los siguientes:• Estado del proceso: Define la disposición del proceso para ser planificado para ejecutar (en ejecución, listo, esperando, detenido).• Prioridad: Se puede usar uno o más campos para describir la prioridad de planificación de los procesos. En algunos sistemas se necesitan varios valores (por omisión, actual, la más alta permitida).• Información de planificación: Esta dependerá del algoritmo de planificación utilizado. Como ejemplos se tienen la cantidad de tiempo que el proceso ha estado esperando y la cantidad de tiempo que el proceso ejecutó la última vez.• Suceso: La identidad del suceso que el proceso está esperando antes de poder reanudarse.Estructuración de DatosUn proceso puede estar enlazado con otros procesos en una cola, un anillo o alguna otra estructura. Por ejemplo todos los procesos que están en estado de espera de un nivel determinado de prioridad pueden estar enlazados en una cola. Un proceso puede mostrar una relación padre-hijo (creador - creado) con otro proceso. El bloque de control de proceso puede contener punteros a otros procesos para dar soporte a estas estructuras.Comunicación entre ProcesosPuede haber varios indicadores, señales y mensajes asociados con la comunicación entre dos procesos independientes. Una parte de esta información o toda ella se puede guardar en el bloque de control de proceso.Privilegios de los procesosA los procesos se es otorgan privilegios en términos de la memoria a la que pueden acceder y el tipo de instrucciones que pueden ejecutar. Además, también se pueden aplicar privilegios al uso de los servicios y utilidades del sistema.Gestión de MemoriaEsta sección puede incluir punteros a las tablas de páginas y/o segmentos que describen la memoria virtual asignada al proceso.Propiedad de los Recursos y UtilizaciónSe pueden indicar los recursos controlados por el proceso, tales como los archivos abiertos. También se puede incluir un histórico de la utilización del procesador o de otros recursos; esta información puede ser necesaria para el planificador.

17 ¿Hay necesidad de que exista un proceso nulo, por qué? Fundamente.

El proceso nulo existe para generar un nuevo proceso

Nulo → Nuevo: Se crea un nuevo proceso para ejecutar un programa. Este suceso se produce por algunas de las razones enumeradas

Nuevo trabajo por lotes El sistema operativo esta provisto de un flujo de control de trabajos por lotes, generalmente para cinta o disco.Cuando el sistema operativo se prepara para tomar unnuevo trabajo, leerá a próxima secuencia de

5

Page 6: Preguntas Sistemas Operativos

Ordenesde control de trabajos.

Conexión interactiva Un usuario entra en el sistema desde un terminal.

Creado por el SO para dar un servicio El sistema operativo puede crear un proceso para llevar a cabo una función de parte de un programa usuario, sin que el usuario tenga que esperar (por ejemplo, imprimir).

Generado por un proceso existente Con afán de modularidad o para aprovechar el paraleismo, un programa de usuario puede ordenar la creación de una serie de procesos.

18 Dónde reside el estado del procesador de un proceso?

Información de estado del procesador. Básicamente, está formada por el contenido de los registros del procesador. Por supuesto, mientras un proceso está ejecutándose, la información está en los registros. Cuando se interrumpe el proceso, toda la información de los registros debe salvarse de forma que pueda restaurarse cuando el proceso reanude su ejecución.

La parte del bloque de control del proceso que se denomina información de estado del procesador. Esto incluye el contador de programa, otros registros del procesador y la información de la pila.

19 Que sucede con los procesos de una misma categoría?

20 Explique qué es una tubería, y como la ve cada proceso.

UNIX ofrece diversos mecanismos para la comunicación entre procesos y la sincronización.. proporcionan un medio de comunicación de datos entre procesos, mientras que los semáforos y las señales se usan para provocar acciones en otros procesos.Una de las contribuciones más significativas del UNIX al desarrollo de los sistemas operati-vos son los tubos. Inspirados en el concepto de corutinas [RITC84], un tubo es un buffer circular que permite a dos procesos comunicarse según el modelo productor/consumidor. Así pues, consiste en una cola primero en llegar/primero en salir en la que un proceso escribe y el otro lee. Cuando se crea un tubo, se le da un tamaño fijo en bytes. Cuando un proceso intenta escribir en el tubo, la solicitud de escritura se ejecuta inmediatamente si hay suficiente espacio; de otro modo, el proceso se bloquea. De forma similar, un proceso lector se bloquea si intenta leer más bytes de los que tiene el tubo en ese momento. El sistema operativo se encarga de la exclusión mutua, esto es, al tubo sólo puede acceder un proceso cada vez. Hay dos tipos de tubos: con nombre y sin nombre. Sólo procesos afines pueden compartir tubos sin nombre, mientras que los procesos no afines sólo pueden compartir tubos con nombre.

21 ¿Cómo funciona la planificación de procesos de una misma prioridad?.

Los trabajos de la misma prioridad se ordenan según el orden de llegada.

22 ¿Qué sucede cuando un proceso recibe una señal? ¿Y una excepción? ¿Quién o quiénes pueden generar señales?

Cuando un proceso recibe una señal, puede tratarla de tres formas diferentes:1.- Ignorar la señal, con lo cual no tiene efecto.2.- Invocar a la rutina de tratamiento correspondiente al número de señal. Esta rutina no la codifica el programador, sino que la aporta el kernel y normalmente tiene como fin el terminar el proceso que recibe la señal. En algunos casos, antes de eliminar al proceso, el kernel se encarga de generar en el directorio de trabajo actual del proceso un fichero llamado core que contiene un volcado de memoria del contexto del proceso. Analizando dicho fichero se podrá saber en qué punto terminó el proceso y por qué motivo se le envió la señal.3.- Invocar a una rutina que se encarga de tratar la señal y que ha sido creada por el programador. Esta rutina establecerá un mecanismo de comunicación entre procesos o modificará el curso normal del programa. En estos casos, el proceso no va a terminar a menos que la rutina de tratamiento indique lo contrario.

En una interrupción ordinaria, el control se transfiere primero a un gestor de interrupciones, quien lleva a cabo algunas tareas básicas y, después, se salta a una rutina del sistema operativo que se ocupa del tipo de interrupción que se ha producido.

6

Page 7: Preguntas Sistemas Operativos

En los cepos, el sistema operativo determina si el error es fatal. Si lo es, el proceso que se estaba ejecutando pasa al estado de Terminado y se produce un cambio de proceso. Si no es fatal, la acción del sistema operativo dependerá de La naturaleza del error y del diseño del sistema operativo. Se puede intentar algún procedimiento de recuperación o, simplemente, notificarlo al usuario. Se puede hacer un cambio de proceso o, simplemente, reanudar el mismo proceso que se estaba ejecutando.

23 Cuando un proceso ejecuta una llamada fork, ¿Qué ocurre? Describa en detalle.

Cuando un proceso emite una petición de fork, el sistema operativo realiza las siguientes operaciones ACH86J:1. Asigna una entrada en la tabla de procesos para el nuevo proceso.2. Asigna un ID único de proceso al proceso hijo.3. Hace una copia de La imagen del proceso padre, a excepción de la memoria compartida.4. Incrementa los contadores de los archivos que son propiedad del padre, para reflejar el hecho que hay un nuevo proceso ahora que también es propietario de esos archivos.5. Pone al proceso hijo en el estado Listo para Ejecutar.6. Devuelve al proceso padre el número de ID del hijo y devuelve un valor cero al proceso hijo

24 ¿Existen diferencias entre un servicio y un demonio? Explicar.

Un demonio es un tipo especial de proceso informático que se ejecuta en segundo plano en vez de ser controlado directamente por el usuario. Este tipo de programas se ejecutan de forma continua, vale decir, que aunque se intente cerrar o matar el proceso, este continuará en ejecución o se reiniciará automáticamente. Todo esto sin intervención de terceros y sin dependencia de consola alguna.Los programas demonios reciben este nombre en los sistemas UNIX. En otros sistemas existen procesos similares como los servicios de Windows.

25 Completar el Diagrama y describir.

Bueno con respecto al grafico yo lo puedo interpretar como un proceso que se va ejecutar en el procesador , dando como resultado un estado terminado.Esto lo digo referido a la pagina 111 y mezclado con la pagina 119 (ojo esto tambien puede referirse a cualquier cosa )

Para que el sistema operativo pueda administrar el proceso, al menos una pequeña parte de su imagen, que contiene la información a usar por el sistema operativo, debe mantenerse en memoria principal.

La mayoría de los sistemas operativos modernos utilizan algún tipo de esquema de gestión de memoria en el que la imagen de un proceso consiste en un conjunto de bloques que no tienen por qué estar almacenados consecutivamente.

En cualquier caso, tales esquemas permiten al sistema operativo tener que traer solo una parte de un proceso en particular. De este modo, en un momento dado, una parte de La imagen de un proceso puede estar en la memoria principal y el resto en la memoria secundaria.5 Por tanto, las tablas de procesos deben mostrar la ubicación de cada segmento y/o página de cada imagen de proceso.

Parte de la imagen de un procesoEn la memoria principal

Ejecucion del proceso de la imagen proceso terminadoParte de la imagen en la memoria 2°

7