miércoles, 24 de noviembre de 2010

Glosario Unidad 4

Estructura física de un disco duro




Ya hemos visto que cada una de las dos superficies magnéticas de cada plato se denomina cara. El número total de caras de un disco duro coincide con su número de cabezas. Cada una de estas caras se divide en anillos concéntricos llamados pistas. En los discos duros se suele utilizar el término cilindro para referirse a la misma pista de todos los discos de la pila. Finalmente, cada pista se divide en sectores.
Los sectores son las unidades mínimas de información que puede leer o escribir un disco duro. Generalmente, cada sector almacena 512 bytes de información.
El número total de sectores de un disco duro se puede calcular: nº sectores = nº caras * nº pistas/cara * nº sectores/pista. Por tanto, cada sector queda unívocamente determinado si conocemos los siguientes valores: cabeza, cilindro y sector. Por ejemplo, el disco duro ST33221A de Seagate tiene las siguientes especificaciones: cilindros = 6.253, cabezas = 16 y sectores = 63. El número total de sectores direccionables es, por tanto, 6.253*16*63 = 6.303.024 sectores. Si cada sector almacena 512 bytes de información, la capacidad máxima de este disco duro será de 6.303.024 sectores * 512 bytes/sector = 3.227.148.228 bytes ~ 3 GB.
Las cabezas y cilindros comienzan a numerarse desde el cero y los sectores desde el uno. En consecuencia, el primer sector de un disco duro será el correspondiente a la cabeza 0, cilindro 0 y sector 1.





Estructura lógica de un disco duro

Sector de arranque

Un bloque de arranque (a veces llamado sector de arranque o MBR) es un sector en un disco duro, disquete, o cualquier otro dispositivo de almacenamiento de datos que contiene código de arranque, por lo general (pero no necesariamente), de un sistema operativo almacenado en otros sectores del disco.
El término sector de arranque es usado para los Compatible IBM PC, mientras que bloque de arranque es usado cuando se refiere a otros tipos de computadoras, como los sistemas de Sun Microsystems.
La BIOS seleciona un dispositivo de arranque, entonces copia al primer sector de disco desde el dispositivo (el cual puede ser un MBR, VBR o un código ejecutable), a la ubicación de dirección de disco 0x7C00.

FAT

Tabla de Asignación de Archivos, en inglés, File Allocation Table (FAT) es un sistema de archivos desarrollado para MS-DOS, así como el sistema de archivos principal de las ediciones no empresariales de Microsoft Windows hasta Windows Me.
FAT es relativamente sencillo. A causa de ello, es un formato popular para disquetesadmitido prácticamente por todos los sistemas operativos existentes para el ordenador personal. Se utiliza como mecanismo de intercambio de datos entre sistemas operativos distintos que coexisten en el mismo computador, lo que se conoce como entorno multiarranque. También se utiliza en tarjetas de memoria y dispositivos similares.
Las implementaciones más extendidas de FAT tienen algunas desventajas. Cuando se borran y se escriben nuevos archivos tiende a dejar fragmentos dispersos de éstos por todo el soporte. Con el tiempo, esto hace que el proceso de lectura o escritura sea cada vez más lento. La denominada desfragmentación es la solución a esto, pero es un proceso largo que debe repetirse regularmente para mantener el sistema de archivos en perfectas condiciones. FAT tampoco fue diseñado para ser redundante ante fallos. Inicialmente solamente soportaba nombres cortos de archivo: ocho caracteres para el nombre más tres para la extensión. También carece de permisos de seguridad: cualquier usuario puede acceder a cualquier archivo.

(Ejemplo de la estructura  fat 12 de un disquete 1,44MB)
512 BytePrimer sector físico del disco flexible (Pista Cero)
3 ByteCódigo máquina de salto ( jmp short 0x3E; nop )0EBh 03Ch 090h
8 ByteCadena que identifica el fabricante del disco'mkdosfs',0
2 ByteBytes por sector512
1 ByteSectores por cluster1
2 ByteSectores reservados1
1 ByteNúmero de FAT's2
2 ByteEntradas máximas en directorio raíz244
2 ByteSectores totales2880
1 ByteDescriptor de medio (0F0h para discos de 1'44M)240
2 ByteSectores por fat9
2 ByteSectores por pista12
2 ByteNúmero de caras2
4 ByteSectores ocultos0
4 ByteLongitud total de sectores0
1 ByteNúmero de unidad0
1 ByteBanderas0
1 ByteFirma (029h)41
4 ByteNúmero de serie4294967295
12 ByteEtiqueta de volumen'DISCO EJPLO '
8 ByteIdentificador de formato'FAT12 '
446 ByteCódigo máquina del cargador de arranque[...]
2 ByteFirma de unidad arrancable055AAh



Directorio Raíz



En informática, el directorio raíz es el primer directorio o carpeta en una jerarquía. Contiene todos los subdirectorios de la jerarquía.


En sistemas tipo Unix, es notado con el carácter /. Todos los accesos al sistema de archivos, incluyendo los discos extraíbles, hacen parte de toda la jerarquía y son subordenadas en el directorio raíz. Por otra parte, en los sistemas operativos DOS y Windows cada partición posee un directorio raíz individual (nombrado C:\ para una partición particular C) y no existe un directorio raíz común que los contenga a todos ellos como en los sistemas Unix.
Un solo directorio raíz generalmente representa la totalidad de un solo disco. No obstante, un directorio raíz puede representar sencillamente un sistema de archivos en particular; de varios que pueden haber en un mismo dispositivo de almacenamiento.



Datos

El dato es una representación simbólica (numérica, alfabética, algorítmica etc.), un atributo o una característica de una entidad. El dato no tiene valor semántico (sentido) en sí mismo, pero si recibe un tratamiento (procesamiento) apropiado, se puede utilizar en la realización de cálculos o toma de decisiones. Es de empleo muy común en el ámbito informático y, en general, prácticamente en cualquier disciplina científica.
En programación, un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.
En Estructura de datos, es la parte mínima de la información.
Archivo:ProcesamientoDatos.png
Un dato por sí mismo no constituye información, es el procesamiento de los datos lo que nos proporciona información.


Cluster

El término cluster se aplica a los conjuntos o conglomerados de computadoras construidos mediante la utilización de componentes de hardware comunes y que se comportan como si fuesen una única computadora.
Hoy en día desempeñan un papel importante en la solución de problemas de las ciencias, las ingenierías y del comercio moderno.
La tecnología de clusters ha evolucionado en apoyo de actividades que van desde aplicaciones de supercómputo y software de misiones críticas, servidores web y comercio electrónico, hasta bases de datos de alto rendimiento, entre otros usos.
Archivo:Us-nasa-columbia.jpgEl cómputo con clusters surge como resultado de la convergencia de varias tendencias actuales que incluyen la disponibilidad de microprocesadores económicos de alto rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para cómputo distribuido de alto rendimiento, así como la creciente necesidad de potencia computacional para aplicaciones que la requieran.
Simplemente, un cluster es un grupo de múltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un único ordenador, más potente que los comunes de escritorio.
Los clusters son usualmente empleados para mejorar el rendimiento y/o la disponibilidad por encima de la que es provista por un solo computador típicamente siendo más económico que computadores individuales de rapidez y disponibilidad comparables.
De un cluster se espera que presente combinaciones de los siguientes servicios:
  1. Alto rendimiento
  2. Alta disponibilidad
  3. Balanceo de carga
  4. Escalabilidad
La construcción de los ordenadores del cluster es más fácil y económica debido a su flexibilidad: pueden tener todos la misma configuración de hardware y sistema operativo (cluster homogéneo), diferente rendimiento pero con arquitecturas y sistemas operativos similares (cluster semi-homogéneo), o tener diferente hardware y sistema operativo (cluster heterogéneo), lo que hace más fácil y económica su construcción.
Para que un cluster funcione como tal, no basta solo con conectar entre sí los ordenadores, sino que es necesario proveer un sistema de manejo del cluster, el cual se encargue de interactuar con el usuario y los procesos que corren en él para optimizar el funcionamiento.

Partición primaria

En los equipos PC, originales de IBM, estas particiones tradicionalmente usan una estructura llamada Tabla de particiones, ubicada al final del registro de arranque maestro (MBR,Master Boot Record). Esta tabla, que no puede contener más de 4 registros de particiones (también llamados partition descriptors), especifica para cada una su principio, final y tamaño en los diferentes modos de direccionamiento, así también como un solo número, llamado partition type, y un marcador que indica si la partición está activa o no (sólo puede haber una partición activa a la vez). El marcador se usa durante el arranque; después de que el BIOS cargue el registro de arranque maestro en la memoria y lo ejecute, el MBR de DOS comprueba la tabla de partición a su final y localiza la partición activa. Entonces carga el sector de arranque de esta partición en memoria y la ejecuta. A diferencia del registro de arranque maestro, generalmente independiente del sistema operativo, el sector de arranque está instalado junto con el sistema operativo y sabe cómo cargar el sistema ubicado en ese disco en particular.
Notar que mientras la presencia de un marcador activo se estandariza, no se utiliza en todos los gestores de arranque. Por ejemplo, los gestores LILO, GRUB (muy comunes en el sistema Linux) y XOSL no buscan en la tabla de particiónes del MBR la partición activa; simplemente cargan una segunda etapa (que puede ser contenida en el resto del cilindro 0 ó en el sistema de archivos). Después de cargar la segunda etapa se puede cargar el sector de arranque de cualquiera de las particiones del disco (permitiendo al usuario seleccionar la partición), o si el gestor conoce cómo localizar el kernel (núcleo) del sistema operativo en una de las particiones (puede permitir al usuario especificar opciones de kernel adicionales para propósitos de recuperación).


Partición extendida

Cualquier versión del DOS puede leer sólo una partición FAT primaria en el disco duro. Esto unido al deterioro de la FAT con el uso y al aumento de tamaño de los discos movió a Microsoft a crear un esquema mejorado relativamente simple: una de las entradas de la tabla de partición principal pasó a llamarse partición extendida y recibió un número de tipo de partición especial (0x05). El campo inicio de partición tiene la ubicación del primer descriptor de la partición extendida, que a su vez tiene un campo similar con la ubicación de la siguiente; así se crea una lista enlazada de descriptores de partición. Los demás campos de una partición extendida son indefinidos, no tienen espacio asignado y no pueden usarse para almacenar datos. Las particiones iniciales de los elementos de la lista enlazada son las llamadas unidades lógicas; son espacios asignados y pueden almacenar datos. Los sistemas operativos antiguos ignoraban las particiones extendidas con número de tipo 0x05, y la compatibilidad se mantenía. Este esquema reemplaza al antiguo ya que todas las particiones de un disco duro se pueden poner dentro de una sola partición extendida. Por alguna razón, Microsoft no actualizó su sistema operativo DOS para arrancar desde una partición extendida, debido a que la necesidad para particiones primarias se preservaron. Por encima de éstas todavía se habría permitido una partición FAT primaria por unidad, significando todas las otras particiones FAT primarias deben tener sus números de tipo de partición prior cambiando al arranque DOS, para que ésta sea capaz de proceder. Esta técnica, usada por varios administradores de arranque populares, se llama ocultación de la partición. Sin embargo hay que tener en cuenta una quinta partición que se puede comprimir pero no es muy recomendable.






Gestor de Arranque

Sistemas de computación impulsados por un procesador central o un conjunto de procesadores sólo pueden ejecutar código en la memoria de funcionamiento, también conocido como sistemas de memoria, que pueden ser implementados en varias tecnologías cubiertas en tipos generales de: memoria de sólo lectura o ROM, y memoria de acceso aleatorio o RAM. Modernos sistemas operativos y aplicaciones de programación de código y datos están almacenados en dispositivos no volátiles de memoria periférica o dispositivos de almacenamiento masivo. Ejemplos típicos de tales dispositivos de almacenamiento no volátiles son: Disco duro, CD-ROM, DVD, Dispositivos de memoria USB y unidades de disquete.




Gestor de arranque de segunda etapa






Archivo:Lilo.pngEste programa contiene funcionalidades rudimentarias para buscar unidades que se puedan seleccionar para participar en el arranque, y cargar un pequeño programa desde una sección especial de la unidad más prometedora. El pequeño programa no es, en sí mismo, un sistema operativo sino, simplemente, un cargador de arranque de segundo nivel, como Lilo o Grub, que es capaz de cargar el sistema operativo propiamente dicho y, finalmente, transferirle el control. El sistema se auto-iniciará y puede cargar los controladores de dispositivos y otros programas que son necesarios para el normal funcionamiento del sistema operativo.
El proceso de arranque se considera completo cuando el ordenador está preparado para contestar a los requerimientos del exterior. El típico ordenador moderno arranca en, aproximadamente, un minuto (del cual, 15 segundos son empleados por los cargadores de arranque preliminares y, el resto, por el cargador del sistema operativo), mientras que los grandes servidores pueden necesitar varios minutos para arrancar y comenzar todos los servicios; para asegurar una alta disponibilidad, ofrecen unos servicios antes que otros.
La mayoría de los sistemas empotrados deben arrancar casi instantáneamente, por ejemplo, esperar un minuto para poder ver la televisión se considera inaceptable. Por ello, tienen el sistema operativo en la ROM o memoria flash, gracias a lo cual pueden ser ejecutados de forma casi instantánea.

Boot.ini

NTLDR (abreviatura de NT Loader) es el archivo encargado del arranque del sistema operativo en todas las versiones de Microsoft Windows NT, incluyendo Windows XP y Windows Server 2003. El NTLDR se encuentra usualmente en el disco duro principal, pero también puede encontrarse en dispositivos portátiles como CD-ROM, memorias USB, o disquetes.
NTLDR requiere, como mínimo, que dos archivos adicionales se encuentren en la partición principal:
  • NTLDR, que se encarga de cargar el sistema operativo.
  • boot.ini, que contiene un menú de opciones de inicio.
Si el archivo NTLDR no se encuentra en el disco, la computadora enviará un mensaje de error informándolo.
En Windows Vista y Windows Server 2008, el NTLDR fue reemplazado por dos componentes llamados winload.exe y Windows Boot Manager.

Grub
En computación es un administrador o gestor de arranque múltiple, desarrollado por el proyecto GNU, derivado del GRand Unified Bootloader (GRUB; en español: Gran Gestor de Arranque Unificado), que se usa comúnmente para iniciar uno de dos o más sistemas operativos instalados en un mismo equipo.
Archivo:GRUB screenshot.png
Se usa principalmente en sistemas operativos GNU/Linux. El Sistema Operativo Solaris ha usado GRUB como gestor de arranque en sistemas x86 desde la revisión 10 1/06.






jueves, 18 de noviembre de 2010

Glosario Unidad 3

Tarea

Tarea también llamadas proceso son un programa en ejecución, los procesos son gestionados por el sistema operativo y están formados por:
Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.
Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.
Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
Otra información que permite al sistema operativo su planificación.

Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución.

Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria.

En los sistemas operativos multihilo es posible crear tanto hilos como procesos. La diferencia estriba en que un proceso solamente puede crear hilos para sí mismo y en que dichos hilos comparten toda la memoria reservada para el proceso.
 
Threads

En sistemas operativos, un hilo de ejecución o subproceso es una característica que permite a una aplicación realizar varias tareas a la vez(concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.
Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea.

Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar éstos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente.
Lo que es propio de cada hilo es el contador de programa, la pila de ejecución y el estado de la CPU (incluyendo el valor de los registros).
 

El proceso sigue en ejecución mientras al menos uno de sus hilos de ejecución siga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados. 
Algunos lenguajes de programación tienen características de diseño expresamente creadas para permitir a los programadores lidiar con hilos de ejecución (como Java o Delphi). Otros (la mayoría) desconocen la existencia de hilos de ejecución y éstos deben ser creados mediante llamadas de biblioteca especiales que dependen del sistema operativo en el que estos lenguajes están siendo utilizados (como es el caso del C y del C++).
 
Un ejemplo de la utilización de hilos es tener un hilo atento a la interfaz gráfica (iconos, botones, ventanas), mientras otro hilo hace una larga operación internamente. De esta manera el programa responde de manera más ágil a la interacción con el usuario. También pueden ser utilizados por una aplicación servidora para dar servicio a múltiples clientes.

Hilos
 
Al igual que los procesos, los hilos poseen un estado de ejecución y pueden sincronizarse entre ellos para evitar problemas de compartimiento de recursos. Generalmente, cada hilo tiene una tarea especifica y determinada, como forma de aumentar la eficiencia del uso del procesador.
Estados de un hilo


Los principales estados de los hilos son: Ejecución, Listo y Bloqueado. No tiene sentido asociar estados de suspensión de hilos ya que es un concepto de proceso. En todo caso, si un proceso está expulsado de la memoria principal (ram), todos sus hilos deberán estarlo ya que todos comparten el espacio de direcciones del proceso.
Cambio de estados
Creación: Cuando se crea un proceso se crea un hilo para ese proceso. Luego, este hilo puede crear otros hilos dentro del mismo proceso, proporcionando un puntero de instrucción y los argumentos del nuevo hilo. El hilo tendrá su propio contexto y su propio espacio de la columna, y pasara a la final de los listos.
Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea (salvando sus registros de usuario, contador de programa y punteros de pila). Ahora el procesador podrá pasar a ejecutar otro hilo que esté en la final de los Listos mientras el anterior permanece bloqueado.
Desbloqueo: Cuando el suceso por el que el hilo se bloqueó se produce, el mismo pasa a la final de los Listos.
Terminación: Cuando un hilo finaliza se liberan tanto su contexto como sus columnas.

Bloque de control del proceso

El Bloque de control del proceso o BCP o en inglés PCB (Process Control Block) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso.
Cuando el proceso termina, su BCP es borrado y el registro puede ser utilizado para otros procesos. Un proceso resulta conocido para el sistema operativo y por tanto elegible para competir por los recursos del sistema sólo cuando existe un BCP activo asociado a él. El bloque de control de proceso es una estructura de datos con campos para registrar los diferentes aspectos de la ejecución del proceso y de la utilización de recursos. La información almacenada en un BCP incluye típicamente algunos o todos los campos siguientes:


  • Identificador del proceso (Process Identificator -PID-, de sus siglas en Inglés).
  • Estado del proceso. Por ej. listo, en espera, bloqueado.
  • Contador de Programa: Dirección de la próxima instrucción a ejecutar.
  • Valores de registro de CPU. Se utilizan también en el cambio de contexto.
  • Espacio de direcciones de memoria.
  • Prioridad en caso de utilizarse dicho algoritmo para planificación de CPU.
  • Lista de recursos asignados (incluyendo descriptores de archivos y sockets abiertos).
  • Estadísticas del proceso.
  • Datos del propietario (owner).
  • Permisos asignados.
  • Signals pendientes de ser servidos. (Almacenados en un mapa de bits)

Ubuntu

Ubuntu es una distribución Linux basada en Debian GNU/Linux que proporciona un sistema operativo actualizado y estable para el usuario medio, con un fuerte enfoque en la facilidad de uso e instalación del sistema. Al igual que otras distribuciones se compone de múltiples paquetes de software normalmente distribuidos bajo una licencia libre o de código abierto. Estadísticas web sugieren que el porcentaje de mercado de Ubuntu dentro de las distribuciones Linux es de aproximadamente 50%, y con una tendencia a subir como servidor web.
Está patrocinado por Canonical Ltd., una compañía británica propiedad del empresario sudafricano Mark Shuttleworth que en vez de vender la distribución con fines lucrativos, se financia por medio de servicios vinculados al sistema operativo y vendiendo soporte técnico. Además, al mantenerlo libre y gratuito, la empresa es capaz de aprovechar los desarrolladores de la comunidad en mejorar los componentes de su sistema operativo. Canonical también apoya y proporciona soporte para cuatro derivaciones de Ubuntu: KubuntuXubuntuEdubuntu y la versión de Ubuntu orientada a servidores (Ubuntu Server Edition).
Su eslogan es Linux for Human Beings (Linux para seres humanos) y su nombre proviene de la ideología sudafricana Ubuntu («humanidad hacia otros»).
Cada seis meses se publica una nueva versión de Ubuntu la cual recibe soporte por parte de Canonical, durante dieciocho meses, por medio de actualizaciones de seguridad, parches para bugs críticos y actualizaciones menores de programas. Las versiones LTS (Long Term Support), que se liberan cada dos años, reciben soporte durante tres años en los sistemas de escritorio y cinco para la edición orientada a servidores.

Gnome Display Manager

Archivo:Ubuntu 8.04 login screen.png


GDM (GNOME Display Manager) es un gestor de acceso para el X Window System. Es el reemplazo, elaborado por el proyecto GNOME, al XDM básico. GDM permite a los usuarios personalizar o solucionar problemas de su configuración sin tener que recurrir a la línea de comandos. GDM también permite una fácil personalización con temas gráficos.



Estados de los procesos  
 
Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:
  • En ejecución: El proceso ocupa la CPU actualmente, es decir, se está ejecutando.
  • Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo le falta la CPU.
  • Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.
Hay otros estados de los procesos, pero en la presente exposición se tratarán estos tres. Por sencillez, se considera un sistema con una sola CPU, aunque no es difícil la extensión a múltiples procesadores. Solamente puede haber un proceso en ejecución a la vez, pero pueden existir varios listos y varios pueden estar bloqueados. Así pues, se forman una lista de procesos listos y otra de procesos bloqueados. La lista de procesos listos se ordena por prioridad, de manera que el siguiente proceso que reciba la CPU será el primero de la lista. La lista de procesos bloqueados normalmente no está ordenada; los procesos no se desbloquean (es decir, no pasan a ser procesos listos) en orden de prioridad, sino que lo hacen en el orden de ocurrencia de los eventos que están esperando. Como se verá más adelante, hay situaciones en las cuales varios procesos pueden bloquearse esperando la ocurrencia del mismo evento; en tales casos es común asignar prioridades a los procesos que esperan.
Comando ps

Archivo:Ps.JPG
ps ("process status", estado de procesos en idioma inglés) es un comando asociado en el sistema operativo UNIX (estandarizado en POSIX y otros) que permite visualizar el estado de un Proceso (informática).




Process Explorer de Sysinternals 


 Process Explorer es un programa informático gratuito para Microsoft Windows creado por Sysinternals, que fue adquirida por Microsoft Corporation.
Process Explorer es un sistema de vigilancia y la utilidad del examen. Ofrece la funcionalidad de Windows Administrador de tareas, junto con un rico conjunto de características para recolectar información sobre los procesos que se ejecutan en el sistema del usuario. Puede ser utilizado como el primer paso en la depuración de problemas de software o sistema.
Process Explorer puede ser utilizado para localizar problemas. Por ejemplo, proporciona un medio de lista o búsqueda de recursos con nombre que se llevan a cabo por un proceso o los procesos de todos. Esto puede ser usado para rastrear lo que es la celebración de un archivo abierto y la prevención de su uso por otro programa. O, como otro ejemplo, puede mostrar las líneas de comandos para iniciar un programa, permitiendo que los procesos de otro modo idéntico al ser distinguido. O como el Administrador de tareas, puede mostrar el resultado de un proceso que es el gasto excesivo con la CPU, pero a diferencia de el Administrador de tareas puede mostrar el hilo que (con la pila de llamadas) es el uso de la CPU - información que ni siquiera está disponible bajo un depurador.
Process Explorer es una de un conjunto de utilidades de administración y vigilancia disponible en el sitio web de Microsoft Sysinternals.
Hasta 2008 trabajó Process Explorer en Windows 9x/Me, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, incluyendo versiones de 64 bits. La actual (agosto 2008) Process Explorer Página estados que funciona en Windows 2000 con Service Pack 4 o superior.