1-Definir qué entiende por proceso y por recursos. ¿Cómo se identifica a un
proceso en un sistema multiproceso? Proceso: Es la instancia de un programa en ejecución, representa la ejecución de un programa o una tarea especifica y conta de un conjunto de instrucciones, datos y un entorno de ejecución que incluye recursos asignados; Pueden ser independientes y aislados entre si. Recurso: Componentes físicos y lógicos que un sistema operativo administra y asigna a procesos en ejecución, estos pueden incluir CPU, Memoria RAM, dispositivos E/S, archivos, etc. La manera de identificar un proceso es a través de un identificador único conocido como PID (process ID) que son números enteros positivos y se asignan secuencialmente.
2-Describir los estados posibles de un proceso. Indicar en qué lugar físico se
encuentran los procesos en los distintos estados. Los estados posibles son: New (un nuevo proceso recién creado), se encuentra en memoria principal. Ready (proceso listo para ejecutarse, pero aun no se le asigno la CPU), se encuentra en memoria principal. Running (un proceso está siendo ejecutado por la CPU), se encuentra en la CPU principal o en el núcleo de procesamiento al cual fue asignado. Waiting (un proceso necesita esperar por un evento, como la finalización de una operación E/S), se encuentra en memoria, pero se considera “inactivo” hasta que le evento necesario se complete. Exit (un proceso que termino su ejecución), aun puede residir en memoria para permitir la recuperación de recursos y la recopilación de estadísticas pero se marca como “terminado” en la tabla de procesos.
3- ¿Qué tipo de recursos esperan los procesos que se encuentran en estado
de preparado (listos) y de qué forma se pueden administrar? Justifique su respuesta. Esperar la CPU, se puede administrar a través de planificadores, el planificador a largo plazo selecciona los procesos de que se cargaran a memoria para su ejecución y el planificador a corto plazo selecciona entre los procesos que ya están preparados para ser ejecutados y asigna la CPU a uno de ellos.
4- ¿Qué tipo de recursos esperan los procesos que se encuentran en estado
de espera y de qué forma se puede administrar su asignación al recurso? Justifique su respuesta. Están esperando la disponibilidad de recursos externos o la finalización de una operación específica antes de poder continuar su ejecución. Estos recursos externos puede ser E/S, recursos compartidos, recursos de sincronización o recursos de tiempo.
5- ¿Cuál es el contenido del bloque de control de procesos? Justifique ¿por
qué se emplea en un sistema multiproceso? ¿Dónde se encuentra físicamente, y quien maneja su actualización? Estado del proceso (nuevo, listo, en ejecución, en espera, detenido, etc.) Contador de programa: indica la dirección de la siguiente instrucción que va a ejecutar dicho proceso. Registro de la CPU: incluyen los acumuladores, registros de índice, punteros de pila y registros de propósito general, además de toda la información de los indicadores de estado. Información de planificación de la CPU: la prioridad del proceso, puntos a las colas de planificación y cualquier otro parámetro de planificación que se requiera. Información de gestión de memoria: información acerca del valor de los registros base y limite, las tablas de pagina o las tablas de segmento. Información contable: incluye la cantidad de CPU y de tiempo real empleados, limites de tiempo asignados, números de cuenta, numero de trabajo o proceso, etc. Información del estado de E/S: incluye la lista de los dispositivos E/S asignados al proceso, una lista de los archivos abiertos, etc. Se emplea porque si no se perdería toda la información del proceso que fue desalojado de la CPU al dársela a otro proceso, si el primer proceso no termino su ejecución al volver a tomar la CPU empezaría de nuevo porque no quedo guardado en ningún lado nada de lo que realizo cuando tomo la CPU. Se encuentra en la memoria principal y es mantenida por el kernel de SO. 6- ¿Qué ventaja introduce el uso de un administrador de corto plazo? Indicar ¿cómo está compuesto? Ventajas: Optimización de rendimiento, su objetivo es maximizar la utilización de la CPU. Tiempo de respuesta rápido, da rápidamente acceso de la CPU a los procesos. Equidad, asegura que ningún proceso monopolice la CPU. Cumplimiento de prioridad, Asigna prioridad a los procesos y por ende asegura que los que tienen alta prioridad reciban un tiempo de CPU adecuado Gestión de recursos, asigna la CPU a los procesos de manera dinámica evitando así la inactividad de la CPU y el desperdicio de recursos. Este compuesto por: Una cola de procesos listos, una política de planificación, temporizador, tabla de procesos y PCBs y registros del CPU.
7- ¿Qué es el proceso 0, y en qué se convierte una vez que el sistema
arranca? se refiere al primer proceso que se ejecuta durante el arranque de un sistema operativo, el proceso de inicio del sistema es esencial para la secuencia de arranque y a la estabilidad del SO. Una vez que ha realizado sus tareas iniciales, puede convertir en un proceso de gestión del SO, en algunos casos simplemente se desactiva o se fusiona con otros procesos que son responsables de tareas de bajo nival en el SO.
8- ¿Cómo se crean el proceso 1 y el proceso 2? ¿Qué funciones tienen cada
uno dentro del sistema operativo? Los crea el proceso 0, proceso 1 (init) es el encargado de montar el sistema de archivos, establecer niveles de ejecución y gestionar la terminación de procesos, también puede reiniciar el sistema en caso de fallos graves. proceso 2(pageout) es la encargada de la administración de la memoria y se utiliza para liberar paginas de memoria que ya no están en uso, a menudo como parte del proceso de intercambio de páginas o administración de memoria virtual.
9- ¿Qué ventaja introduce el uso de un administrador de largo plazo?
Ayuda a maximizar la eficiencia de los recursos, a equilibrar la carga y a
garantizar la ejecución oportuna de trabajos y tareas críticas, lo que es esencial para el rendimiento y la estabilidad del sistema. 10- Describir ¿cuál es la tarea del planificador de mediano plazo? Eliminar (en ocasiones) procesos de la memoria (con lo que dejan de contender por la CPU) y reducir así el grado de multiprogramación. Luego puedo volver a cargarse en memoria para que siga ejecutándose en el punto donde se lo interrumpió. El planificador de mediano plazo descarga y luego vuelve a cargar el proceso.
11- Definir tiempo de espera y tiempo de retorno de un proceso.
Tiempo de espera: Es el tiempo que un proceso queda esperando en la cola listo Tiempo de retorno: Es el tiempo que le tomo al proceso terminar su ejecución por completo.
12- ¿Qué se entiende por proceso demonio en un SO Unix, cuando son
ejecutados, dónde se los declara y cómo se los da de baja del sistema? ¿Cuál son los demonios más comunes dentro del Unix, y qué utilidad brindan? Es un proceso que se ejecuta en segundo plano y no puede ser eliminado, si se intenta este vuelve a ejecutarse, se utiliza para dar servicios al SO (cuando un servicio termina, este demonio debería darse de baja hasta que se requiera de vuelta). Generalmente estos se inician durante el arranque del sistema y pueden ejecutarse de manera continua o en respuesta a un evento específico. Estos se declaran en scripts al inicio del SO, para darlo de baja se utiliza el comando stop, systemctl stop o /etc/init.d/demonio stop. Los mas comunes son: Sshd: demonio del servidor SSH que permite conexiones seguras por SSH Httpd o nginx: demonios del servidor web como apache que sirven para páginas web Cron: demonio del programador de tareas, permite la ejecución programada de comandos Syslogd o rsyslogd: demonio de registro de eventos y mensajes del sistema Cpusd: demonio del sistema de impresión Common Unix Printing System Atd: demonio para ejecutar tareas en momentos específicos definidos con el comando at Acpid: gestiona eventos de energía y apagado del sistema Sendmail o postfix: demonio de envio y recepción de correo electrónico.