1. TAREA_3
UNIDAD_2
NELIS MARGOTH RIVERO HERNÁNDEZ _ 1.118.858.974
NOMBRE Y CODIGO
GRUPO_ 25
SISTEMAS OPERATIVOS_301402
CURSO
JAIME VALDES
TUTOR
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ABRIL – 06 – 2020
2. 1. Definir los siguientes ítems.
Que son procesos.
Un proceso es un programa en ejecución.
Un programa ejecutable es un conjunto de instrucciones y datos
almacenados en un fichero. Cuando lo que tiene ese programa se carga
en la memoria y se pone en ejecución, se convierte en un proceso.
Formalmente un proceso es Una unidad de actividad que se caracteriza
por la ejecución de una secuencia de instrucciones, un estado actual, y
un conjunto de recursos del sistema asociados.
Definir los 4 eventos que provocan la creación de procesos.
Existen sólo 4 formas de crear un proceso:
1. Arranque del sistema: cuando se arranca un sistema operativo se
crean varios procesos. Algunos de ellos son procesos en primer
plano; es decir, procesos que interactúan con los usuarios
(humanos) y realizan trabajo para ellos. Otros son procesos en
segundo plano, que no están asociados con usuarios específicos
sino con una función específica.
2. En la ejecución, desde un proceso, de una llamada al sistema para
la creación del proceso: un proceso en ejecución emitirá llamadas
al sistema para crear uno o más procesos nuevos, para que le
ayuden a realizar su trabajo. En especial, es útil crear procesos
cuando el trabajo a realizar se puede formular fácilmente en
términos de varios procesos interactivos relacionados entre sí, pero
independientes en los demás aspectos.
3. Una petición deliberada del usuario para crear un proceso: los
usuarios pueden iniciar un programa escribiendo un comando o
haciendo (doble) clic en un icono. Cualquiera de las dos acciones
inicia un proceso y ejecuta el programa seleccionado. En los
sistemas UNIX basados en comandos que ejecutan X, el nuevo
proceso se hace cargo de la ventana en la que se inició. En Microsoft
Windows, cuando se inicia un proceso no tiene una ventana, pero
puede crear una (o más) y la mayoría lo hace
3. 4. El inicio de un trabajo por lotes: La última situación en la que se
crean los procesos se aplica sólo a los sistemas de procesamiento
por lotes que se encuentran en las mainframes grandes. Aquí los
usuarios pueden enviar trabajos de procesamiento por lotes al
sistema. Cuando el sistema operativo decide que tiene los recursos
para ejecutar otro trabajo, crea un proceso y ejecuta el siguiente
trabajo de la cola de entrada.
Por cuantos estados está conformado un proceso.
Un proceso pasa por varios estados durante su ejecución.
Nuevo: El proceso se acaba de crear, pero aún no ha sido admitido
en el grupo de procesos ejecutables por el sistema operativo.
Listo:El proceso está esperando ser asignado al procesador para su
ejecución.
En ejecución: El proceso tiene la CPU y ésta ejecuta sus
instrucciones.
En espera: El proceso está esperando a que ocurra algún suceso,
como por ejemplo la terminación de una operación de E/S.
Terminado: El proceso ha sido sacado del grupo de procesos
ejecutables por el sistema operativo. Después de que un proceso es
marcado como terminado se liberarán los recursos utilizados por
ese proceso, por ejemplo, la memoria.
Definir las 4 condiciones para la terminación de un proceso.
El ciclo de vida de un proceso es fácil, depende de la creación, la ejecución
de instrucciones y la terminación. Cabe señalar que un proceso en el
transcurso de su ciclo puede estar en diferentes estados.
1. Salida normal: Cuando un compilador ha compilado el programa
que recibe, ejecuta una llamada al sistema para indicar al sistema
operativo que ha terminado. Esta llamada es exit en UNIX y
ExitProcess en Windows.
2. Salida por error: El proceso descubre un error. Por ejemplo, si un
usuario escribe el comando cc foo.c para compilar el programa foo.c
y no existe dicho archivo, el compilador simplemente termina.
3. Error fatal: La tercera razón de terminación es un error fatal
producido por el proceso, a menudo debido a un error en el
4. programa. Algunos ejemplos incluyen el ejecutar una instrucción
ilegal, hacer referencia a una parte de memoria no existente o la
división entre cero. En algunos sistemas (como UNIX), un proceso
puede indicar al sistema operativo que desea manejar ciertos
errores por sí mismo, en cuyo caso el proceso recibe una señal (se
interrumpe) en vez de terminar.
4. Eliminado por otro proceso: La cuarta razón por la que un proceso
podría terminar es que ejecute una llamada al sistema que indique
al sistema operativo que elimine otros procesos. En UNIX esta
llamada es kill. La función correspondiente en Win32 es
TerminateProcess. En ambos casos, el proceso eliminador debe
tener la autorización necesaria para realizar la eliminación.
5. Realizar un cuadro comparativo entre los sistemas operativos
Unix, Linux y Windows donde la finalidad sea definir las jerarquías
de procesos.
SISTEMAS OPERATIVOS JERAQUIA DE PROCESOS
El Kernel consta de dos artes principales:
la sección de control de procesos y la de
control de dispositivos. La primera asigna
recursos, programas, procesos y atiende
sus requerimientos de servicio; la
segunda, supervisa la transferencia de
datos entre la memoria principal y los
dispositivos periféricos.
Cuando se inicia la operación de la
computadora, debe cargarse en la
memoria una copia del núcleo, que reside
en el disco magnético (operación
denominada bootstrap).
El Kernel también prepara algunas
estructuras de datos que abarcan una
sección de almacenamiento temporal para
transferencia de información entre
terminales y procesos, una sección para
almacenamiento de descriptores de
archivos y una variable que indica la
cantidad de memoria principal.
el Kernel inicializa un proceso especial,
llamado proceso 0. En general, los
procesos se crean mediante una llamada
a una rutina del sistema (fork), que
funciona por un mecanismo de duplicación
de procesos.
Después de haber creado el proceso 0, se
hace una copia del mismo, con lo que se
crea el proceso 1; éste muy pronto se
encargará de "dar vida" al sistema
completo, mediante la activación de otros
procesos que también forman parte del
núcleo. A partir de ese momento se
conoce el número 1 como proceso de
inicialización del sistema, init.
Init crea otro proceso, que espera
pacientemente a que alguien entre en
sesión en alguna línea de comunicación.
Cuando esto sucede, realiza ajustes en el
protocolo de la línea y ejecuta el programa
login, que se encarga de atender
inicialmente a los nuevos usuarios. Si la
clave del usuario, y la contraseña
proporcionadas son las correctas,
entonces entra en operación el programa
Shell.
6. Cuando se desea terminar la sesión hay
que desconectarse de Shell (y, por lo
tanto, de Unix), mediante una secuencia
especial de teclas (usualmente. < CTL > -
D). A partir de ese momento la terminal
queda disponible para atender a un nuevo
usuario.
Cada programa que se ejecuta es un
proceso con recursos asignados y
gestionado por el kernel. Generalmente
los procesos son gestionados
automáticamente por el kernel del S.O.
PROCESS ID (PID): Cada proceso tiene un
número asociado que se le asigna cuando
es creado.
Los PIDs son números enteros únicos para
todos los procesos sistema.
USER ID & GROUP ID: Cada proceso tiene
que tener asociado unos privilegios que
limiten el acceso al sistema de ficheros.
PARENT PROCESS: Todo proceso es
creado por otro proceso, el proceso padre
(parent process). El primer proceso
iniciado por el kernel cuando el sistema
arranca es el programa init. Este proceso
tiene el PID 1 y es el padre de todos los
procesos del sistema.
PARENT PROCESS ID: El PID del proceso
que inicio el proceso hijo.
ENVIROMENT: Cada proceso mantiene
una lista de variables y sus
correspondientes valores.
CURRENT WORKING DIRECTORY: Cada
proceso tiene asociado un directorio por
defecto, donde el proceso leerá/escribirá
archivos, a menos que se le especifique
explícitamente lo contrario.
NICE NUMBER: Permite al usuario
modificar la prioridad de ejecución de un
proceso.
Top:El comando top es un clásico para
mostrar los recursos usados por tu
sistema y así poder ver cuál de ellos
consume más.
Htop: Es más fácil de interpretar que su
hermano top y además puedes realizar
operaciones como parar un proceso
usando las teclas.
Ps: Muestra todos los procesos y además
puedes realizar operaciones con ellos.
Pstree: Este comando muestra la
jerarquía de los procesos mediante una
estructura de árbol.
7. Kill: Comando para matar o parar un
proceso, funciona dando su ID. permite
enviar un mensaje arbitrario a un proceso,
o varios, con un PID igual a pids.
Pgrep: Devuelve el ID del proceso que
coincide con la búsqueda.
pkill & killall: Estos comandos pueden
matar procesos dando el nombre del
mismo.
Renice: Este comando cambia el valor
“nice” de un proceso en ejecución. El valor
“nice” determina la prioridad del proceso.
Un valor de -19 es de muy alta prioridad,
mientras que un valor 19 es de baja
prioridad.
Xkill: Si ejecutas este comando desde un
terminal en modo gráfico, el cursor
cambiará a un símbolo “X” y con él podrás
matar cualquier programa gráfico abierto
que tengas en tus escritorios.
Atop: Monitor de procesos en ASCII en
tiempo real donde muestra CPU,
memoria, capas de red, usuario,
prioridad, etc para cada proceso activo.
Cada vez que nosotros abrimos un
programa para ser ejecutados, el Sistema
Operativo Windows de Microsoft crea uno
o más procesos, conocidos también como
aplicaciones, que podemos visualizar en el
administrador de tareas. Estos procesos
contienen información e instrucciones que
son ejecutadas por el procesador para que
funcione el programa que hemos abierto.
Rendimiento: se puede observar un
gráfico correspondiente al uso de la CPU.
Red: en la pestaña de funciones de red se
puede observar un gráfico que muestra el
uso de la red
Usuarios: se puede ver qué usuarios
tienen permisos en el sistema operativo
Historial de aplicaciones: guarda un
registro de las aplicaciones que has
abierto recientemente. Para eliminar todo
rastro, es decir, tu historial, sigue estos
pasos: Presiona las teclas Alt + CTRL +
DELETE para abrir el Administrador de
tareas, selecciona la pestaña Historial de
aplicaciones, haz clic en Borrar historial de
uso
Servicios: Se puede ver el nombre, el PID,
una descripción breve y el estado del
servicio. También contiene una
8. Funcionalidad bastante interesante, la de
agrupar. La columna Agrupar proporciona
información sobre restricciones o valores
de parámetros devueltos. Desde aquí se
podrá parar un servicio, ponerlo en
marcha o localizar el proceso que está
asociado.
9. 2. Realizar los siguientes ejemplos y evidenciar con imágenes el
paso a paso:
Ejecute 5 procesos en su computador, luego en una tabla describa
la siguiente información
Porcentaje en CPU
Porcentaje en Memoria
Porcentaje en Disco
Porcentaje en Red
Porcentaje en GPU (Procesamiento gráfico)
Proceso Porcenta
je en
CPU
Porcenta
je en
Memoria
Porcenta
je en
Disco
Porcenta
je en red
Porcenta
je en
GPU
Antimalware
service
Executable
0% 165,8
MB
0% 0% 0%
skype 0,1% 136,3
MB
0,1% 05 0%
Microsoft
Word
0% 72,2 MB 0% 0% 0%
Explorador de
Windows
0,15 30,7 MB 0,15 0% 0%
Host de
servicio.SysM
ain
0% 29,8 MB 0% 0% 0%
10. Realizar el siguiente ejemplo: Desactivar las animaciones que trae
por defecto Windows y que consume recurso del ordenador.
13. 3. Realizar un mapa conceptual donde se pueda evidenciar como se
realiza la comunicación y sincronización entre procesos en un sistema
operativo. El mapa conceptual debe contener (Condiciones de carrera,
regiones críticas, exclusión mutua con espera ocupada, dormir y
despertar, semáforo, monitores, transmisión de mensajes y barreras).
14. 4. Realice un mapa metal donde se defina claramente como se
realiza los procesos de planificación.
Planificación en sistemas de procesamiento por lotes
Planificación en sistemas interactivos
Planificación en sistema de tiempo real
Planificación de Hilos.
15.
16. BIBLIOGRAFIA.
Operativos. (2-2015).Administración de procesos. Recuperado de
https://lcsistemasoperativos.wordpress.com/tag/terminacion/
Algoritmos de planificación de procesos (14- sep).Recuperado de
https://nicerova.wordpress.com/2016/09/14/algoritmos-de-
planificacion-de-procesos/