Está en la página 1de 65

Introducción a los procesos

Magister Víctor Andrade Soto


Introducción

El sistema operativo ha de gestionar y controlar los procesos.


Definiciones.
Programa en ejecución.
Instancia de un programa funcionando en el ordenador.
Entidad que puede ser asignada a un procesador y ejecutada por él.
Es el conjunto formado por el programa ejecutable, pila, datos,
punteros y todo lo necesario para hacer correr un programa.
Unidad de actividad. Ejecución secuencial, estado actual y recursos
asignados.
• Se busca:
• Mejor aprovechamiento de los recursos físicos.
• Mejor compartición de recursos lógicos.
• Creación de un proceso se realiza por (por la emisión de un trabajo).
• Login del user.
• Lanzado por lotes.
• Creado por el SO. Para un servicio.
• Generado por un proceso.
Partes del proceso.
Programa ejecutable.
Datos. Variables, buffer, etc.
Contexto.
Información para la administración del proceso por parte del SO.
Registro de contador y datos en la CPU.
PCB o Control de Bloque de Proceso
Ubicación.
Imagen.
Constituida por el programa y los datos.
Formada según el esquema de gestión de la MEM del sistema.
Para un bloque contiguo:
Datos de usuario (modificable).
Programa a ejecutar (programa de usuario).
Pila del sistema (LIFO). Para el retorno de las llamadas al sistema
y a procedimientos.
Bloque de control del proceso (PCB).
Conceptos asociados a proceso.
Multiprogramación: Varios procesos simultáneos
(pseudoparalelismo) para compartir recursos y CPU buscando
eficiencia.
Tiempo compartido. Sistema sensible a las necesidades del
usuario. Varios usuarios.
Planificación: Proceso Planificador y Scheduler
Distribución adecuada del uso del tiempo de la CPU, equitativa para
todo proceso.
Eficiencia: Mantener ocupada la CPU al 100%.
Tiempo de respuesta mínimo para las peticiones que los usuarios
realizan (tiempo real).
Mínimo tiempo de respuesta para la realización de trabajos.
Número máximo de trabajos por unidad de tiempo.
Planificación de procesos

FirstCome-FirstServerd
Round Robin.
Shortest Job First
Prioridades.
Prioridades múltiples colas.
Pasos en la creación de un proceso
Asigna un identificador único (id).
Asigna espacio. Imagen del proceso (proceso+datos).
Inicia el PCB. El estado es de listo, el resto de los valores es dado por
defecto o nulo.
Enlaces. Se generan e insertan en las colas de planificación.
Crean o amplían las estructuras de datos.
Inf. control de proceso.
Planificación: Estado, prioridad, suceso en espera, alg. de
planificación.
Estructuración (enlaces a otros procesos, similares o padre-hijo).
Comunicación. Almacenamiento de Señales, mensajes enviados.
Privilegios. MEM, instrucciones, recursos.
Punteros a MEM, tablas de páginas, segmentos, etc.
Recursos asignados, historial.
Área de salvaguarda de registros (c. de contexto).
Estados de un proceso
1. El proceso no puede continuar la
ejecución. Realiza una llamada al
sistema y este lo descarga.
2. y 3. El planificador decide descargar o
cargar el proceso. La elección del
proceso a entrar en la CPU se realiza
solo de entre los procesos que están
listos para ejecución.
4. El proceso sale de su bloqueo/espera,
se lo notifica al sistema operativo y pasa
a formar parte de la cola de procesos
listos para ejecución.
Estados de un proceso
• Observaciones:
• Los procesos pasan la mayor parte de su vida esperando por una
I/O.
• Los procesos en ejecución ocupan memoria.
• El grado de multiprogramación en relación con la capacidad de la
CPU es bajo.
• Solución: Intercambio (swap).
• Def. Intercambio (swapping) es el desplazamiento de un
proceso de memoria principal al disco duro.
• Es necesario un planificador de la carga y descarga de
procesos de memoria a disco.
Proceso Suspendido:
No estará disponible de inmediato para su ejecución.
Proceso situado en Suspendido por el SO o por él mismo para evitar
su ejecución.
Un proceso que no puede liberarse del estado hasta que se le
ordene.
Para un proceso Suspendido el cambio de bloqueado a listo no
implica que deje de estar Suspendido.
Actuaciones del Sistema sobre los procesos
Crear (carga de programa e inicio de ejecución)
Destruir (fin de la ejecución)
Suspender
Reanudar
Cambiar prioridad
Bloquear (pasaje de ACT a BLOQ)
Despertar (pasaje de BLOQ a LISTO)
Despachar (pasaje de LISTO a ACT)
Estados de un proceso
Cambio de proceso.
• Interrupción.
• Interrupción de reloj: Finalización del tiempo concedido por el
sistema.
• Interrupcuón de I/O: Modificación del estado de procesos en
ejecución a bloqueado o liberación de los procesos en espera.
• Fallo de memoria.
• Traps.
• Error o condición excepcional.
• Provocadas por el proceso en curso.
• Fatal  terminación de proceso.
• Llamada del supervisor / llamada al sistema.
Pasos en un cambio de proceso:
1.Salvar el contexto del procesador (contador y registros).
2.Actualizar el Bloque de C. del proceso en ejecución (estado de
ejecución a listo o bloqueado, etc.) junto con info. de la razón del
cambio.
3.Mover el BCP a la cola apropiada a su estado.
4.Seleccionar otro proceso para ejecución.
5.Actualizar el BCP del proceso seleccionado (modo ejecución).
6.Actualizar la información de la gestión de la memoria.
7.Restaurar el estado del procesador para el nuevo proceso.
Hilos o threads
Los procesos comunes son independientes, con espacios de
memoria separados. En determinadas ocasiones se necesita que los
procesos colaboren.

Def. Entidad básica de ejecución que únicamente posee como


propio el contador de programa, los registros del procesador y la
pila.
Los hilos pertenecen a una unidad de mayor nivel, la tarea.
La tarea carece de capacidad de ejecución, pero dispone de
recursos. La tarea en ejecución ha de poseer al menos un hilo.

Proceso = tarea con único hilo


Ventajas:
• Menor coste de creación: Menores estructuras de información.
Recursos de la tarea.
• Cambio de contexto dentro de la tarea es poco costoso.
• Comunicación ágil (MEM). No interviene el núcleo.

Estructura.
• Área de programa (RO) de instrucciones.
• Área de datos o variables (RW).
• Heap para asignación dinámica de MEM. Compartida.
• Pila para cada hilo
Proceso Hilo
Práctica
Definir con claridad los siguientes tipos de planificación de procesos
• FirstCome-FirstServerd.
• Round Robin.
• Shortest Job First
• Prioridades.
• Prioridades múltiples colas.
Envía las definiciones al canvas en un documento en Word.
Administrador de tareas
Administrador de Tareas
Nuestro sistema operativo Windows mantiene siempre en
ejecución distintos programas procesos y servicios. Para poder
ver qué aplicaciones están actualmente ejecutándose,
necesitamos abrir el administrador de tareas. Hoy vamos a
explicarqué es el administrador de tareas de Windows y
cómo funciona.
También podemos ver desde el administrador de tareas
distinta información referente al estado de la red y si hay
varios ordenadores conectados al equipo, podríamos ver
quiénes son y en qué están trabajando, además de poder
enviar mensajes.
¿Qué es exactamente el administrador de
tareas?
El administrador de tareas es una aplicación integrada en los sistemas
operativos de Windows, gracias a la cual podremos obtener
información de los programas y procesos que se ejecutan en el equipo,
además de proporcionar los indicadores de rendimientos más
utilizados en el equipo.
Podemos utilizarlo para comprobar el rendimiento de nuestro equipo,
obteniendo información del estado de los programas que se
encuentran en ejecución, además de poder realizar acciones sobre
ellos como forzar su finalización si fuera necesario en algún momento.
Además, el administrador de tareas nos ofrece gráficos y
datos sobre la CPU además del uso de la memoria. Este
porcentaje nos indicaría cuál es la capacidad total que posee
nuestro procesador y qué porcentaje estamos utilizando. A
mayor sea el porcentaje de utilización, mayor será el consumo
de energía de nuestro ordenador.
¿Cómo se utiliza el administrador de tareas?
A continuación vamos a ver las acciones que podemos realizar con el
administrador de tareas y qué pasos debemos seguir para controlar al
100% esta gran funcionalidad que nos ofrecen los sistemas Windows
de Microsoft.
Para empezar, podemos abrir el administrador de tareas pulsando con
el botón derecho del ratón sobre la barra de tareas de windows y
haciendo click con el botón izquierdo sobre Administrador de tareas o
bien pulsando el atajo de teclado Ctrol + Alt + Supr
Podemos observar que el administrador de tareas tiene
diferentes pestañas que nos proporcionan distinta
información. La primera de todas es la de Procesos. En ella
podemos observar distintos datos de las aplicaciones o
programas que se encuentran en ejecución, como por ejemplo
su nombre, estado, porcentaje de utilización de la CPU,
porcentaje de uso de memoria, porcentaje de uso de disco y
porcentaje de uso de red.
Si hacemos click con el botón derecho del ratón sobre
cualquiera de los procesos, podremos realizar seis acciones
distintas: expandir, la cual nos permitirá ver todos los
procesos que implican dicha aplicación (una aplicación puede
gestionar más de un proceso), finalizar tarea, mediante la cual
cerraremos la aplicación seleccionada, valores del
recurso, mediante la cual podremos seleccionar en qué
formato queremos ver los distintos valores de uso de dicha
aplicación,
ir a detalle, nos llevaría directamente a los detalles de dicha
aplicación en el administrador de tareas, abrir ubicación del
archivo, nos abrirá un explorador situándonos en el directorio
donde se encuentre dicho fichero en ejecución, buscar en
línea, que realizará una búsqueda de dicho proceso en
Internet y por último propiedades, que nos permitirá ver las
distintas propiedades de dicho fichero.
Desde la pestaña Rendimiento podemos observar distintos
datos interesantes sobre el estado de nuestro ordenador,
tales como el uso de CPU, Memoria, Discos, Bluetooth, y Red.
Además de poder ver la velocidad a la que funciona nuestro
procesador, el número total de procesos y otra información
importante.
En la tercera pestaña, Historial de aplicaciones, podemos ver
la información referente a las aplicaciones de nuestro
Windows 8 bajo la interfaz Metro.
La cuarta pestaña, Inicio, nos proporciona la información
sobre los procesos o aplicaciones que se ejecutan cuando
iniciamos nuestro sistema de forma automática. Pudiendo
ver si están habilitados, deshabilitados y qué impacto tienen
sobre el rendimiento de nuestro equipo. Podemos además
modificar la configuración de estos mediante el botón derecho
del ratón.
En la pestaña Usuarios, si estamos conectados a nuestro
equipo con distintas sesiones de usuario, podemos ver las
aplicaciones ejecutadas por cada uno de ellos.
La penúltima pestaña, Detalle, nos aporta algo más de
información sobre los distintos procesos que tenemos en
ejecución, como por ejemplo el nombre de usuario que los
ejecuta, o el número de proceso PID de cada uno de ellos.
Por último, la pestaña Servicios, muestra el estado de los distintos
servicios que tenemos instalados en nuestro ordenador, así como si
están actualmente ejecutándose o detenidos, pudiendo cambiar el
estado mediante el botón derecho del ratón.
Tarea
Haga 1 informe de 2 páginas como máximo estableciendo las
diferencias entre proceso y servicios Windows.
PowerShell
Magister Víctor Andrade Soto
Que es PowerShell
Es una aplicación de línea de comandos, pero no es el cmd original de
Windows. Tiene un entorno de script que es ausente en el cmd, por
ejemplo. Su misión es desplazar al cmd. En ejecutar escribir poweShell.
Una primera prueba: get -host
Get-host
Este comando muestra información sobre la consola de
Windows PowerShell, que es el programa host actual para
Windows PowerShell en este ejemplo. Incluye el nombre del
host, la versión de Windows PowerShell que se ejecuta en el
host y la cultura actual y la cultura de la interfaz de usuario.
Las propiedades Versión, UI, CurrentCulture,
CurrentUICulture, PrivateData y Runspace contienen un
objeto con propiedades muy útiles. Ejemplos posteriores
examinan estas propiedades.
Cambiar el tamaño de la ventana de
PowerShell
PS C:\> $H = Get-Host PS
PS C:\> $Win = $H.UI.RawUI.WindowSize
PS C:\> $Win.Height = 10
PS C:\> $Win.Width = 10
PS C:\> $H.UI.RawUI.Set_WindowSize($Win)
Obtener la versión de PowerShell para el
host
PS C:\> (Get-Host).Version | Format-List -Property *
Este comando obtiene información detallada sobre la versión de
Windows PowerShell que se ejecuta en el host. Puede ver, pero no
cambiar, estos valores.

La propiedad Version de Get-Host contiene un objeto System.Version.


Este comando usa un operador de canalización (|) para enviar el objeto
de versión al Format-Listcmdlet. El Format-List comando usa el
parámetro Property con un valor de all (*) para mostrar todas las
propiedades y valores de propiedad del objeto de versión.
Obtener la cultura actual del host
PS C:\> (Get-Host).CurrentCulture | Format-List -Property *
Este comando obtiene información detallada sobre el conjunto de
cultura actual para Windows PowerShell que se ejecuta en el host.
Esta es la misma información que devuelve el Get-Culturecmdlet.
Del mismo modo, la propiedad CurrentUICulture devuelve el
mismo objeto que Get-UICulture devuelve.
La propiedad CurrentCulture del objeto host contiene un objeto
System.Globalization.CultureInfo. Este comando usa un operador
de canalización (|) para enviar el objeto CultureInfo al Format-List
cmdlet. El Format-List comando usa el parámetro Property con un
valor de all (*) para mostrar todas las propiedades y valores de
propiedad del objeto CultureInfo. .
Obtener el DateTimeFormat para la cultura
actual
PS C:\> (Get-Host).CurrentCulture.DateTimeFormat | Format-List -
Property *
Este comando devuelve información detallada sobre
DateTimeFormat de la cultura actual que se usa para Windows
PowerShell.
La propiedad CurrentCulture del objeto host contiene un
objeto CultureInfo que, a su vez, tiene muchas propiedades
útiles. Entre ellos, la propiedad DateTimeFormat contiene un
objeto DateTimeFormatInfo con muchas propiedades útiles.
Para encontrar el tipo de un objeto que está almacenado en
una propiedad de objeto, use el Get-Membercmdlet. Para
mostrar los valores de propiedad del objeto, use el Format-List
cmdlet.
Obtener la propiedad RawUI para el host
PS C:\> (Get-Host).UI.RawUI | Format-List -Property *

Este comando muestra las propiedades de


la propiedad RawUI del objeto host. Al cambiar estos
valores, puede cambiar la apariencia del programa host.
Establecer el color de fondo para la consola
de PowerShell
PS C:\> (Get-Host).UI.RawUI.BackgroundColor = "Black“
PS C:\> cls
Estos comandos cambian el color de fondo de la consola de
Windows PowerShell a negro. El comando cls es un alias para la
Clear-Hostfunción, que borra la pantalla y cambia toda la
pantalla al nuevo color.
Este cambio es efectivo solo en la sesión actual. Para cambiar el
color de fondo de la consola para todas las sesiones, agregue el
comando a su perfil de Windows PowerShell.
Establecer el Título de la consola de
PowerShell
PS C:\> (Get-Host).UI.RawUI.WindowTitle= “PowerShell de Víctor“
Listar los servicios Windows y que PowerShell puede asumir así como
otras aplicaciones.
Para personalizar el prompt podemos hacerlo con:
function prompt {“UTP >”}
En powerShell ls es equivalente a DIR.
Pwd nos dirá en que directorio nos encontramos. Si
deseamos guardar esta ruta lo hacemos con pushd. Para
probarlo podemos retroceder hasta c: y luego pwd. Para
ver la ruta del path guardado popd. Ejecutar un proceso
es idéntico al cmd.
Tarea
Lea el artículo: CMD de Windows y haga un resumen de 20 líneas a lo
mucho y diga: Es similar o no al PowerShell, las diferencias, etc?

También podría gustarte