Está en la página 1de 20

Gestión de Procesos de

Sistemas operativos.

Unidad de Trabajo 1. Parte 2

David García Fernández


Contenidos
Gestión de los procesos del sistema.
Línea de orden. Entorno gráfico.
Servicios y Demonios.
Secuencia de arranque del sistema.
Niveles de ejecución del sistema.
Cambio.
Interrupciones. Excepciones.
Gestión de los procesos.
Línea de orden. Entorno
gráfico.
Los sistemas operativos actuales permiten la
gestión de procesos bien gráficamente o por
comandos.
Gráficamente:
 Windows a través del Administrador de tareas,
aplicaciones, procesos y servicios.
 GNU/Linux a través de herramientas
desarrolladas, como htop.
Por comandos:
 Windows a través de comandos de Powershell.
 GNU/Linux a través de comandos de procesos.
Gestión de los procesos.
Línea de orden. Entorno
gráfico.
Administrador de Tareas, Procesos y
Servicios.
Gestión de los procesos.
Línea de orden. Entorno
gráfico.
Información del Administrador Procesos:
 Nombre del proceso
 PID
 Uso de CPU
 Uso de Memoria
 Errores de página.
 Descripción
 Prioridad.
 Etc.
Gestión de los procesos.
Línea de orden. Entorno
gráfico.
Servicios y Demonios: Un Servicio es un tipo de aplicación que
se ejecuta en segundo plano sin interfaz de usuario. Es el
equivalente al demonio en GNU/Linux o Unix. Ejemplos:
Servicio http, ftp, cron, etc.
El administrador de servicios de Windows permite gestionar
estos procesos, permitiendo:
 Iniciar, detener, pausar, reanudar o deshabilitar el servicio.
 Visualizar el estado del servicio.
 Configurar opciones de inicio del servicio para un usuario o un
perfil de HW dado.
 Visualizar las dependencias de los servicios
 Exportar o guardar información del servicio a un fichero .txt o csv.
Gestión de los procesos.
Línea de orden. Entorno
gráfico.

Para acceder al Administrador de


servicios de Windows y realizar dichas
operaciones.
 Ejecutar: services.msc
 Herramientas Administrativas => Services.
Gestión de los procesos.
Línea de orden. Entorno
gráfico.
Ordenes para la gestión de procesos del
sistema en Windows (Powershell):
 Arrancar un proceso: Start-Process
 Visualizar proceso: Get-Process
 Parar procesos: Stop-Process.
 Powershell también admite comandos especificos
de Unix.

Ayuda Comandos PowerShell:


 http://technet.microsoft.com/es-
es/library/dd347701.aspx
Gestión de los procesos.
Línea de orden. Entorno
gráfico.
Ordenes para la gestión de procesos del sistema GNU/LINUX –
Unix:
 ps: Visualizar la información sobre los procesos.
 pstree: Muestra la estructura jerárquica entre procesos.
 kill: Envio de señales a un proceso. En general señal de FIN.
 jobs: Trabajos en ejecución.
 bg: Pasa a segundo plano un proceso.
 fg: Pasa a primer plano un proceso.
 top: Muestra información en tiempo real de los procesos.
 nice: Permite ejecutar un proceso con una prioridad definida por el
usuario.
 crontab: Programa temporalmente la ejecución de un proceso.
 at: Para ejecutar un proceso en una hora y fecha determinada.
Ejercicios.

1. Instalar el componente de Windows


de PowerShell. Y visualizar mediante
comando los procesos del sistema.
2. Descargar htop en Linux. Y visualizar
mediante comando los procesos del
sistema.
(Ejercicios Incluidos en Prácticas Unidad de Trabajo 1.doc)
Secuencia de Arranque
Windows XP. (Recordatorio)
Secuencia de Arranque
GNU/Linux - Unix.
En la secuencia de arranque se distinguen dos fases:
 BIOS : => MBR => programa cargador del núcleo unix (lilo o grub).
 Carga del kernel o nucleo del SO.
 Cuando el núcleo termina de cargarse:
 inicia los dispositivos mediante los drivers,
 inicia la zona de swap y de memoria.
 Monta el sistema de archivos.
 Crea el proceso init (PID=1) y este a su vez generará todos los
procesos que están en /etc/inittab. (Ubuntu utiliza otro upstart)
 El proceso init crea los procesos getty, que permiten a los usuarios
abrir los puertos tty activos en /dev. Y a partir de ese punto logarse.
 El proceso de login, obtendrá el usuario y contraseña y lo verificará
bajo /etc/passwd y /etc/shadow.
 Finalmente, para cada usuario se cargará bajo su $HOME su
.profile.
Niveles de Ejecución:
GNU/Linux - Unix.
Los niveles de ejecución, niveles de funcionamiento o runleves son:
una configuración de software del sistema que permite que solo
existan un grupo de procesos creados por init y definidos en
/etc/inittab.
De esta forma, se agrupan procesos que deben ejecutarse todos
juntos o en un orden determinado.
Los runlevels se numeran del 0 al 6. El 0 se ejecuta para parar el
sistema (halt), el 6 para reiniciar (reboot) y el 1 para arrancar en
modo single user, que viene a ser una configuración mínima para
realizar tareas de administración. El 2 ó 3 para arrancar en modo
multiusuario, etc.
(consultar: https://asir.milaulas.com/mod/page/view.php?id=228)
El proceso de arranque suele continuar ejecutando los scripts del
runlevel correspondiente situados en /etc/rcX.d, donde X es el
número del runlevel. La forma de ejecutar estos scripts es que ahora
se ejecutan primero los scripts que comiencen con ’K’ con
argumento “stop” y luego los que comienzan con ’S’ con argumento
“start”.
Niveles de Ejecución:
GNU/Linux - Unix.
La idea es que cada script gestione una tarea o servicio. Este
servicio se inicia cuando el script se ejecuta con el argumento
“start” y se detiene cuando se usa el argumento “stop”. De
esta forma en cada runlevel pueden detenerse los servicios
que no se necesiten y activarse aquellos que interese.
Este sistema también facilita el arranque y parada de
servicios, ejecutando estos scripts manualmente con el
argumento apropiado.
En cualquier momento, el administrador puede hacer que el
sistema cambie a otro runlevel ejecutando el comando telinit
con un argumento numérico indicando el nuevo runlevel. Por
ejemplo:
# telinit 3
Interrupciones.
Interrupción (también conocida como interrupción de
hardware o petición de interrupción) es una señal recibida por
el procesador de un ordenador, indicando que debe
"interrumpir" el curso de ejecución actual y pasar a ejecutar
código específico para tratar esta situación.
Una interrupción es una suspensión temporal de la ejecución
de un proceso, para pasar a ejecutar una subrutina de
servicio de interrupción, la cual, por lo general, no forma parte
del programa (generalmente perteneciente al sistema
operativo, o al BIOS). Al finalizar dicha subrutina, se reanuda
la ejecución del programa.
Las interrupciones surgen de las necesidades que tienen los
dispositivos periféricos de enviar información al procesador
Interrupciones.
Cada dispositivo que desea comunicarse con el procesador
por medio de interrupciones, debe tener asignada una línea
única capaz de avisar al CPU que le requiere para una
operación.
Esta línea es la llamada IRQ ("Interrupt ReQuest", petición de
interrupción).
Las IRQ son líneas que llegan al controlador de
interrupciones, un componente de hardware dedicado a la
gestión de las interrupciones, y que puede estar integrado en
el procesador principal o ser un circuito separado conectado
al procesador principal.
El controlador de interrupciones debe ser capaz de habilitar o
inhibir líneas de interrupción (operación llamada comúnmente
enmascarar por la utilización de una máscara), y establecer
prioridades entre las distintas interrupciones habilitadas.
Interrupciones.
¿Qué ocurre cuando 2 o más interrupciones llega a la vez? (No
tienen por qué ocurrir de manera simultánea sino que se refiere
a que en un momento dado pueden haber varias interrupciones
activas)
 Interrupciones anidadas. Mientras se está procesando una
determinada rutina de servicio de interrupción sucede otra
señal de interrupción.
 Inhibición de interrupciones. Se deshabilitan las demás
interrupciones mientras se está tratando una.
Interrupciones.

Pasos para el procesamiento de una IRQ:


 Terminar la ejecución de la instrucción de máquina en
curso.
 Salva el valor de contador de programa, en la pila, de
manera que al terminar el proceso, la CPU pueda seguir
ejecutando el programa a partir de la última instrucción.
 La CPU salta a la dirección donde está almacenada la
rutina de servicio de interrupción (Interrupt Service
Routine (ISR)) y ejecuta esa rutina que tiene como
objetivo atender al dispositivo que generó la interrupción.
 Una vez que la rutina de la interrupción termina, el
procesador restaura el estado que había guardado en la
pila en el paso 2 y retorna al programa que se estaba
usando anteriormente.
Excepciones
Una excepción en términos de lenguaje de programación es
la indicación de un problema o error, que ocurre durante la
ejecución de un programa.
El manejo de excepciones, permite al usuario crear
aplicaciones tolerantes a fallos y robustas, para controlar
estas excepciones y que pueda seguir ejecutando el
programa, sin verse afectado por el problema.
Este manejo está diseñado para procesar errores que
ocurren cuando se ejecuta una instrucción, algunos ejemplos
son:
 desbordamiento aritmético,
 división entre cero,
 parámetros inválidos de método y asignación fallida en la memoria.
Sin embargo no está diseñado para procesar problemas con
eventos independientes al programa como son pulsar una
tecla o clic al mouse (Interrumpción HW).
Enlaces. Bibliografías.

http://www.taringa.net/posts/linux/7210
296/Administracion-de-procesos-en-
GNU_Linux-facil_.html
http://iie.fing.edu.uy/ense/asign/admun
ix/procesos.htm
http://technet.microsoft.com/es-
es/library/dd347673.aspx

También podría gustarte