En mi último artículo "" hablé sobre las capacidades del Monitor. Recursos de Windows 7 (Resource Monitor), explicó cómo usarlo para monitorear la distribución de los recursos del sistema entre procesos y servicios, y también mencionó que puede usarse para resolver problemas específicos, por ejemplo, para analizar el consumo de memoria. Esto es exactamente lo que discutirá este artículo.

Un poco de memoria

Antes de comenzar el análisis, hablaré brevemente de cómo se controla la memoria. Esto le facilitará comprender qué información se presenta en el Monitor de recursos de Windows 7.

El Administrador de memoria de Windows 7 crea sistema virtual memoria, que consta de la RAM física disponible y el archivo de paginación en el disco duro. Esto permite que el sistema operativo asigne bloques de memoria (páginas) de longitud fija con direcciones secuenciales en la memoria física y virtual.

Inicio del Monitor de recursos de Windows 7

Para iniciar el Monitor de recursos de Windows 7, abra el menú Inicio, escriba "Resmon.exe" en la barra de búsqueda y haga clic en . En la ventana que se abre, seleccione la pestaña "Memoria" (Fig. A).

Figura A: La pestaña Memoria en el Monitor de recursos de Windows 7 proporciona información detallada sobre la asignación de memoria.

tabla de procesos

La pestaña Memoria contiene una tabla de Procesos (Figura B) que enumera todos los procesos en ejecución y divide el uso de la memoria en varias categorías.


Figura B: La información de uso de memoria para cada proceso se divide en varias categorías.

Columna "Imagen"

En la columna “Imagen” se indica el nombre archivo ejecutable proceso. procesos, lanzado por aplicaciones, es muy fácil de descubrir; por ejemplo, el proceso "notepad.exe" pertenece claramente al Bloc de notas. Los procesos denominados "svchost.exe" representan varios servicios del sistema operativo. El nombre del servicio aparece entre paréntesis junto al nombre del proceso.

Columna de ID de proceso

La columna ID de proceso (PID) indica el número de proceso: una combinación única de números que le permite identificar el proceso en ejecución.

Columna "Completada"

La columna Confirmar indica la cantidad de memoria virtual, en kilobytes, que el sistema ha reservado para este proceso. Esto incluye tanto la memoria física utilizada como las páginas almacenadas en el archivo de paginación.

Columna "Conjunto de trabajo"

La columna "Conjunto de trabajo" indica el volumen memoria fisica en kilobytes utilizados por el proceso en en este momento tiempo. El conjunto de trabajo consta de memoria pública y privada.

Columna "General"

La columna Compartible indica la cantidad de memoria física en kilobytes que este proceso comparte con otros. Compartir un único segmento de memoria o una página de intercambio para procesos relacionados puede ahorrar espacio en la memoria. Esto almacena físicamente solo una copia de la página, que luego se asigna al espacio de direcciones virtuales de otros procesos que acceden a ella. Por ejemplo, todos los procesos iniciados por el sistema. DLL- Ntdll, Kernel32, Gdi32 y User32: utilizan memoria compartida.

Columna "Privada"

La columna Privada indica la cantidad de memoria física, en kilobytes, utilizada exclusivamente por este proceso. Es este valor el que le permite determinar cuánta memoria necesita una aplicación en particular para funcionar.

Columna "Errores de página que falta en la memoria/segundo".

En la columna “Errores de página sin memoria/seg.” (Errores graves/seg) muestra el número promedio de errores de página sin memoria por segundo durante el último minuto. Si un proceso intenta utilizar más memoria física de la que está disponible actualmente, el sistema escribe algunos de los datos de la memoria en el disco, en el archivo de página. El acceso posterior a los datos guardados en el disco se denomina error de página sin memoria.

¿Qué significan los errores de página sin memoria?

Ahora que tiene una idea de qué información se recopila en la tabla Procesos, veamos cómo puede usarla para monitorear la asignación de memoria. Al ejecutar aplicaciones y trabajar con archivos, el administrador de memoria monitorea el tamaño del conjunto de trabajo de cada proceso y registra las solicitudes de recursos de memoria adicionales. A medida que aumenta el conjunto de trabajo de un proceso, el despachador hace coincidir estas solicitudes con las necesidades del núcleo y otros procesos. Si el espacio de direcciones disponible es insuficiente, el despachador reduce el tamaño del conjunto de trabajo almacenando datos de la memoria en el disco.

Más tarde, al leer estos datos del disco, se produce un error de página sin memoria. Esto es bastante normal, pero si se producen errores simultáneamente en diferentes procesos, el sistema necesitará tiempo adicional para leer los datos del disco. Demasiado errores comunes En consecuencia, la ausencia de páginas en la memoria reduce el rendimiento del sistema. Probablemente haya experimentado ralentizaciones inesperadas en todas las aplicaciones, que luego también se detuvieron repentinamente. Es casi seguro que esta desaceleración se debió a la redistribución activa de datos entre la memoria física y el intercambio.

La conclusión es la siguiente: si los errores de página sin memoria para un proceso en particular ocurren con demasiada frecuencia y regularidad, la computadora no tiene suficiente memoria física.

Para que sea más conveniente monitorear los procesos que causan errores frecuentes de falta de memoria, puede marcarlos con banderas. En este caso, los procesos seleccionados se moverán a la parte superior de la lista, y en el gráfico de errores de páginas faltantes estarán representados por una curva naranja.

Vale la pena tener en cuenta que la asignación de memoria depende de una serie de otros factores, y monitorear los errores de página sin memoria no es la mejor ni la única forma de identificar problemas. Sin embargo, puede servir como un buen punto de partida para la observación.

Tabla "Memoria física"

La tabla Procesos proporciona información detallada sobre la asignación de memoria entre procesos individuales y la tabla Memoria física brinda una imagen general del uso de RAM. Su componente clave es el histograma único que se muestra en la Fig. DO.


Figura C: El histograma de la tabla Memoria física proporciona una descripción general de la distribución de la memoria en Windows 7.

Cada sección del histograma está indicada por su propio color y representa un grupo específico de páginas de memoria. A medida que se utiliza el sistema, el administrador de memoria mueve datos entre estos grupos en segundo plano, manteniendo un delicado equilibrio entre la memoria física y virtual para garantizar que todas las aplicaciones se ejecuten de manera eficiente. Echemos un vistazo más de cerca al histograma.

Sección “Equipo reservado”

A la izquierda está la sección “Hardware reservado”, indicada en gris: esta es la memoria asignada para las necesidades del hardware conectado, que utiliza para interactuar con el sistema operativo. La memoria reservada para el hardware está bloqueada y el administrador de memoria no puede acceder a ella.

Normalmente, la cantidad de memoria asignada al equipo oscila entre 10 y 70 MB, pero esta cifra depende de la configuración específica del sistema y en algunos casos puede alcanzar varios cientos de megabytes. Los componentes que afectan la cantidad de memoria reservada incluyen:

;
componentes placa madre- por ejemplo, controlador de interrupción de entrada/salida programable avanzado (APIC);
tarjetas de sonido y otros dispositivos que realizan entradas/salidas asignadas en memoria;
neumático PCI Express(PCIe);
tarjetas de video;
varios conjuntos de chips;
unidades flash.

Algunos usuarios se quejan de que sus sistemas reservan una cantidad anormal de memoria para su hardware. Nunca me he encontrado con una situación así y, por lo tanto, no puedo garantizar la efectividad de la solución propuesta, pero muchos notan que la actualización Versión de BIOS le permite resolver el problema.

Sección “En uso”

La sección En uso, que se muestra en verde, representa la cantidad de memoria utilizada por el sistema, los controladores y los procesos en ejecución. La cantidad de memoria utilizada se calcula como el valor "Total" menos la suma de los indicadores "Modificado", "En espera" y "Libre". A su vez, el valor "Total" es el indicador de "RAM instalada" menos el indicador de "Equipo reservado".

Sección "Cambiada"

La sección "Modificado" está resaltada en naranja, lo que representa la memoria que ha sido modificada pero no utilizada. De hecho, no se utiliza, pero se puede volver a utilizar en cualquier momento si es necesario. Si la memoria no se ha utilizado durante mucho tiempo, los datos se transfieren al archivo de página y la memoria pasa a la categoría "En espera".

Sección "Esperando"

La sección Pendiente, que se muestra en azul, representa páginas de memoria que se han eliminado de los conjuntos de trabajo pero que aún están asociadas con ellos. En otras palabras, la categoría "En espera" es en realidad un caché. A las páginas de memoria de esta categoría se les asigna una prioridad de 0 a 7 (máximo). Las páginas asociadas con procesos de alta prioridad reciben la máxima prioridad. Por ejemplo, los procesos compartidos tienen alta prioridad, por lo que las páginas asociadas a ellos reciben la máxima prioridad en la categoría Pendiente.

Si un proceso requiere datos de una página en espera, el administrador de memoria devuelve inmediatamente esa página al conjunto de trabajo. Sin embargo, todas las páginas de la categoría Pendiente están disponibles para registrar datos de otros procesos. Cuando un proceso requiere memoria adicional y no hay suficiente memoria libre, el administrador de memoria selecciona la página en espera con la prioridad más baja, la inicializa y la asigna al proceso solicitante.

Sección "Gratis"

La categoría Libre, indicada en azul, representa páginas de memoria que aún no se han asignado a ningún proceso o se han liberado cuando finaliza un proceso. Esta sección muestra tanto la memoria no utilizada como la liberada, pero de hecho, la memoria aún no utilizada pertenece a otra categoría: "Páginas cero", que se llama así porque estas páginas se inicializan a cero y están listas para usar.

Sobre el problema de la memoria libre.

Ahora que tiene un conocimiento básico de cómo funciona el administrador de memoria, tomemos un momento para abordar un concepto erróneo común sobre el sistema de administración de memoria en Windows 7. Como puede ver en la Figura 1. C, La sección de memoria libre es una de las más pequeñas del histograma. Sin embargo, es un error suponer sobre esta base que Windows 7 consume demasiada memoria y que el sistema no puede funcionar correctamente si hay tan poca memoria libre.

De hecho, es todo lo contrario. En el contexto del enfoque de Windows 7 para la gestión de la memoria, la memoria libre es inútil. Cuanta más memoria se utilice, mejor. Al maximizar la memoria y mover constantemente páginas de una categoría a otra mediante un sistema de prioridad, Windows 7 mejora la eficiencia y evita que los datos terminen en el archivo de la página, evitando que los errores fuera de página reduzcan el rendimiento.

Monitoreo de memoria

¿Quieres ver el sistema de administración de memoria de Windows 7 en acción? Reinicie su computadora e inmediatamente después del inicio, abra el Monitor de recursos de Windows 7. Vaya a la pestaña Memoria y preste atención a la proporción de secciones en el histograma de memoria física.

Luego comience a iniciar aplicaciones. Mientras corres, observa cómo cambia el histograma. Una vez que haya iniciado tantas aplicaciones como sea posible, comience a cerrarlas una a la vez y observe cómo cambia la proporción de secciones en el histograma de la memoria física.

Al realizar este experimento extremo, comprenderá cómo Windows 7 administra la memoria en su computadora en particular y podrá usar el Monitor de recursos de Windows 7 para monitorear la asignación de memoria en condiciones operativas normales del día a día.

¿Qué opinas?

¿Le gusta la idea de utilizar el Monitor de recursos de Windows 7 para monitorear la asignación de memoria? ¡Comparte tu opinión en los comentarios!

Algoritmos preventivos/no preventivos.

En el caso de un algoritmo preventivo Sistema operativo en cualquier momento puede interrumpir la ejecución del hilo actual y cambiar el procesador a otro hilo. En los algoritmos no preventivos, el hilo que se le asigna al procesador solo decide cuándo transferir el control al sistema operativo.

Algoritmos con cuantificación.

A cada subproceso se le asigna un intervalo de tiempo durante el cual el subproceso puede ejecutarse en el procesador. Cuando el cuanto expira, el sistema operativo cambia el procesador al siguiente hilo de la cola. Quantum suele ser igual a un número entero de intervalos del temporizador del sistema 1.

Algoritmos con prioridades.

A cada hilo se le asigna una prioridad: un número entero que indica el grado de privilegio del hilo. El sistema operativo, si hay varios subprocesos listos para ejecutarse, selecciona el subproceso con mayor prioridad.

Windows implementa un algoritmo de programación mixto: preventivo, basado en cuantificación y prioridades.

  1. Tipo multitarea para aplicación DOS
  2. Garantías de servicio
  3. Programación de procesos en primer plano
  4. Propósito del archivo de paginación
  5. Los procesos P1, P2, P3 asignan 100, 20, 80 MB de memoria. El sistema tiene 128 MB de RAM. ¿Cuál es el tamaño de la memoria ocupada en el archivo de página? ¿Cuál es el tamaño del archivo de intercambio?
  1. ¿Qué es un "fallo de página"?

Interrupción 14 -Fallo de página (#PF): Intel386…

Se genera si se activa el motor de páginas (CR0.PG = 1) y se produce una de las siguientes situaciones al traducir una dirección lineal a física:

  • elemento de la tabla de páginas o directorio de páginas utilizado en la traducción de direcciones, tiene bit de presencia cero, es decir. la tabla de páginas o página requerida no está presente en la memoria física;
  • el procedimiento no tiene nivel de privilegio, suficiente para acceder a la página seleccionada, o intenta escribir en una página que está protegida contra escritura para el nivel de privilegio actual.

El controlador de fallas de página obtiene información sobre su causa de dos fuentes: el código de error, que se inserta en la pila, y el contenido del registro CR2, que contiene la dirección lineal que causó el error. El código de error de la página tiene formato especial(Figura 3.7.).

Un programa interrumpido, después de eliminar las razones que causaron el error de la página (por ejemplo, cargar una página en la memoria física), puede continuar sin ningún ajuste adicional.

Si un error de página se debió a una violación de los privilegios de seguridad de la página, se establece el bit de acceso (A) en la entrada del directorio de la página correspondiente. El comportamiento del bit de acceso en el elemento correspondiente de las tablas de páginas para este caso no está regulado en Procesadores Intel y puede ser diferente en diferentes modelos.

  1. Una tasa alta de error de página indica:

Inseguridades del programa

Falta de confiabilidad de la RAM

Otro: explicar

Columna "Errores de página que falta en la memoria/segundo".

En la columna “Errores de página sin memoria/seg.” (Errores graves/seg) muestra el número promedio de errores de página sin memoria por segundo durante el último minuto. Si un proceso intenta utilizar más memoria física de la que está disponible actualmente, el sistema escribe algunos de los datos de la memoria en el disco, en el archivo de página. El acceso posterior a los datos guardados en el disco se denomina error de página sin memoria.

¿Qué significan los errores de página sin memoria?

Ahora que tiene una idea de qué información se recopila en la tabla Procesos, veamos cómo puede usarla para monitorear la asignación de memoria. Al ejecutar aplicaciones y trabajar con archivos, el administrador de memoria monitorea el tamaño del conjunto de trabajo de cada proceso y registra las solicitudes de recursos de memoria adicionales. A medida que aumenta el conjunto de trabajo de un proceso, el despachador hace coincidir estas solicitudes con las necesidades del núcleo y otros procesos. Si el espacio de direcciones disponible es insuficiente, el despachador reduce el tamaño del conjunto de trabajo almacenando datos de la memoria en el disco.

Más tarde, al leer estos datos del disco, se produce un error de página sin memoria. Esto es bastante normal, pero si se producen errores simultáneamente en diferentes procesos, el sistema necesitará tiempo adicional para leer los datos del disco. Los errores de página sin memoria demasiado frecuentes, respectivamente, reducen el rendimiento del sistema. Probablemente haya experimentado ralentizaciones inesperadas en todas las aplicaciones, que luego también se detuvieron repentinamente. Es casi seguro que esta desaceleración se debió a la redistribución activa de datos entre la memoria física y el intercambio.

La conclusión es la siguiente: si los errores de página sin memoria para un proceso en particular ocurren con demasiada frecuencia y regularidad, La computadora no tiene suficiente memoria física.

Para que sea más conveniente monitorear los procesos que causan errores frecuentes de falta de memoria, puede marcarlos con banderas. En este caso, los procesos seleccionados se moverán a la parte superior de la lista, y en el gráfico de errores de páginas faltantes estarán representados por una curva naranja.

Vale la pena tener en cuenta que la asignación de memoria depende de una serie de otros factores, y monitorear los errores de página sin memoria no es la mejor ni la única forma de identificar problemas. Sin embargo, puede servir como un buen punto de partida para la observación.

  1. ¿Cómo se determina la prioridad de los subprocesos en Windows?

Prioridades

El sistema operativo Windows implementa una programación de prioridad preventiva, cuando a cada subproceso se le asigna un determinado valor numérico, una prioridad, según la cual se le asigna el procesador. Los subprocesos con las mismas prioridades se programan según el algoritmo Round Robin. Una ventaja importante del sistema es la capacidad de adelantarse a los subprocesos que se ejecutan en modo kernel: código sistema ejecutivo completamente reentrante. Sólo los subprocesos que tienen un bloqueo de giro no tienen preferencia (consulte "Sincronización de subprocesos"). Por lo tanto, los spinlocks se utilizan con mucho cuidado y se fijan durante un tiempo mínimo.

El sistema proporciona 32 niveles de prioridad. Dieciséis valores de prioridad (16-31) corresponden al grupo de prioridad en tiempo real, quince valores (1-15) son para subprocesos normales y un valor de 0 está reservado para el subproceso de puesta a cero de la página del sistema (consulte la Figura 6.2). ).

Arroz. 6.2. Prioridades del hilo

Para aliviar al usuario de la necesidad de recordar los valores numéricos de las prioridades y poder modificar el planificador, los desarrolladores introdujeron en el sistema capa de abstracción prioritaria. Por ejemplo, la clase de prioridad para todos los subprocesos de un proceso en particular se puede establecer utilizando un conjunto de parámetros constantes de la función SetPriorityClass, que pueden tener los siguientes valores:

  • tiempo real (REALTIME_PRIORITY_CLASS) - 24
  • alto (HIGH_PRIORITY_CLASS) - 13
  • por encima de lo normal (ABOVE_NORMAL_PRIORITY_CLASS) 10
  • normal (NORMAL_PRIORITY_CLASS) - 8
  • por debajo de lo normal (BELOW_NORMAL_PRIORITY_CLASS) - 6
  • e inactivo (IDLE_PRIORITY_CLASS) 4

La prioridad relativa de un hilo se establece mediante parámetros similares de la función SetThreadPriority:

Un conjunto de seis clases de prioridad de proceso y siete clases de prioridad de subproceso forma 42 combinaciones posibles y nos permite formar la llamada prioridad de subproceso básica.

La prioridad base predeterminada de un proceso y un subproceso primario es el valor en el medio de los rangos de prioridad del proceso ( 24, 13, 10, 8, 6 o 4). Cambiar la prioridad de un proceso implica cambiar las prioridades de todos sus hilos, mientras que sus prioridades relativas permanecen sin cambios.

Las prioridades 16 a 31 no son realmente prioridades en tiempo real porque el soporte suave en tiempo real de Windows no ofrece garantías sobre la sincronización de los subprocesos. Estas son simplemente prioridades más altas que están reservadas para los subprocesos del sistema y aquellos subprocesos a los que un usuario con derechos administrativos les da dicha prioridad. Sin embargo, la presencia de prioridades en tiempo real, así como la prioridad del código del núcleo, la localización de páginas de memoria (ver "Funcionamiento del administrador de memoria") y una serie de características adicionales- todo esto le permite realizarlo en el entorno del sistema operativo aplicaciones de windows suave en tiempo real, por ejemplo, multimedia. El subproceso del sistema con prioridad cero está ocupado borrando páginas de memoria. Los hilos de usuarios habituales pueden tener prioridades del 1 al 15.


Información relacionada.


Muchos sistemas informáticos incluyen una u otra versión de un administrador de memoria (otro nombre es unidad de administración de memoria, MMU), con la ayuda del cual un sistema operativo multitarea asigna memoria a cada tarea y brinda protección contra los programas del usuario. Por ejemplo, un problema típico ocurre cuando el programa de aplicación comete un error al calcular una dirección, quizás usando un valor de índice demasiado grande o demasiado pequeño. Si el sistema no está protegido, este tipo de error puede provocar cambios en los códigos incluidos en los programas del sistema operativo o modificación de las tablas del dispositivo e incluso provocar un arranque no planificado del dispositivo con consecuencias fatales, como escrituras no autorizadas en el archivo de datos. .

Además de proteger el sistema operativo contra una destrucción involuntaria, el administrador de memoria proporciona la reubicación automática de programas. Con la ayuda de un administrador de memoria, las direcciones lógicas o de software de los programas de usuario se convierten en direcciones físicas o de hardware. Estas direcciones pueden estar ubicadas en una memoria completamente diferente a donde apuntan las direcciones lógicas. La traducción de direcciones hace que el sistema operativo y los dispositivos de E/S protegidos se eliminen por completo del espacio de direcciones del usuario. Cualquier intento de leer o escribir en la memoria fuera del espacio de direcciones asignado al usuario provoca que el procesador bloquee el programa del usuario.

La información suele transmitirse en fragmentos que constan de un número fijo de bits; El 80386 MP utiliza fragmentos de 32 bits a menos que se le indique que reduzca el tamaño del fragmento a 16 bits. Estas porciones llevan el nombre de palabras. El proceso de escribir una palabra en un sistema de memoria se llama grabando en la memoria el proceso de recuperar una palabra de la memoria - lectura de memoria.

Hay dos métodos para acceder a la memoria: aleatorio y secuencial. El acceso secuencial se utiliza en aquellos sistemas de almacenamiento en los que se accede a las palabras en un orden predeterminado. El acceso aleatorio, por otro lado, implica la capacidad de acceder a las palabras de un sistema de almacenamiento en cualquier orden y aproximadamente al mismo tiempo.

Por muy perfecta que sea la memoria, cuando una señal pasa entre dispositivos se producen retrasos en su propagación. El retardo de propagación se define como el tiempo necesario para que una señal lógica viaje a través de un dispositivo o secuencia de dispositivos que forman una cadena lógica. Este retraso también tiene en cuenta el paso de la señal a lo largo de todas las líneas de conexión entre los chips.

Acceso directo a memoria (DAM)

El acceso directo a la memoria permite que los dispositivos externos y la memoria intercambien datos directamente sin intervención del programa. DDP proporciona máxima velocidad de E/S y máximo paralelismo de procesos. Mientras que las E/S controladas por interrupciones y las E/S controladas por software transfieren datos a través del procesador, DMA transfiere datos directamente entre el dispositivo de E/S y la memoria.

Para minimizar el número de buses de datos, se toman medidas especiales para permitir el uso de una red troncal convencional para el DMA. Estas medidas consisten en que el procesador libera la autopista y el dispositivo externo la captura y la utiliza para transmitir datos.

Durante el DAP, la ejecución del programa suele suspenderse. La troncal se libera tan pronto como se excita la línea de control de solicitud DMA. El procesador finaliza la operación actual, libera las líneas de dirección y datos y afirma una señal en una de las líneas de control para evitar la decodificación involuntaria de señales de control indefinidas.

La interfaz de E/S transfiere datos directamente a la memoria mediante un registro especial. Cuando es necesario transferir datos, la interfaz solicita un ciclo de memoria al procesador. Una vez reconocido, la interfaz transfiere los datos directamente a la memoria mientras el procesador hace una pausa durante un ciclo de memoria. La lógica que realiza esta transferencia se llama canal.

El canal contiene un registro para almacenar la dirección de la celda de memoria hacia o desde la cual se transfieren datos. En la mayoría de los casos, el canal también incluye un contador de palabras para contar el número de transferencias directas realizadas. Además, el canal debe contener circuitos que proporcionen intercambio de señales de control, sincronización y otras operaciones auxiliares. En la figura. La Figura 13.4 muestra las conexiones lógicas entre la CPU y el controlador DMA.

Componentes del PAR. Los componentes principales de un DMA son un activador de solicitud, un registro de dirección, un contador y un registro de datos, que utiliza el dispositivo periférico. El envío de datos a través de un canal DMA implica varias etapas: 1) inicializar la lógica DMA para realizar DMA durante ciclos repetidos de toma de bus; 2) activación del PDP asíncrono con respecto a las operaciones del programa; 3) notificación del final de las transferencias (mediante una señal del medidor o como resultado de un cambio en el estado del dispositivo); 4) llamar al programa de “limpieza” al final de los traslados; 5) finalización del DMA utilizando un programa de servicio de interrupción, que devuelve el control al programa principal.

Bloquear el reenvío de datos. El procedimiento DMA para dispositivos de alta velocidad utiliza la transferencia de datos en bloques. Mientras ejecuta el programa actual, el procesador inicia la transferencia de un bloque de datos y determina la cantidad de palabras que componen el bloque. Sin embargo, la transmisión real de palabras se realiza bajo el control de un dispositivo independiente: el controlador DMA. Velocidad máxima La transmisión de bloques a través del canal DMA está limitada únicamente por la duración del ciclo de memoria (lectura o escritura) y la velocidad de funcionamiento del controlador DMA.

DDP con ocupación del ciclo de memoria. El programa inicia la transferencia en bloque colocando la dirección de inicio en el contador de direcciones y el número de palabras en el contador de palabras. y emitiendo el comando de ejecución. Este tipo de DDP a menudo se denomina DDP con ocupando el ciclo de la memoria, porque detiene la ejecución del programa durante aproximadamente un ciclo de máquina cada vez.

Cuando se utiliza DMA con ciclo de memoria ocupado, la transferencia de datos se produce en paralelo con otros procesos que se ejecutan en la CPU. La secuencia de acciones aquí es la misma que para la transferencia en bloque, con la excepción de que el controlador DMA ocupa ciclos de memoria del procesador y, por lo tanto, ralentiza su funcionamiento (la transferencia de datos en bloque a través del canal DMA también acepta ciclos de memoria, a menos que se utilice DMA en un bus separado).

Ha conectado un dispositivo nuevo, pero funciona lentamente, o el dispositivo antiguo ha dejado de funcionar o no funciona correctamente. ¿Qué hacer en estos casos? ¿Reinstalar todo? Es problemático y no siempre es necesario. ¿Cómo saber cuál es el motivo y cómo eliminarlo? Muy sencillo. El hecho es que en la familia de sistemas operativos Windows, y no solo, hay un ciertoAdministrador de dispositivos, de hecho, un gerente muy necesario y útil, si se le puede llamar así. Aquí está, nos ayudará a descubrir cuál es la causa del problema y mi hoja de referencia nos ayudará a solucionar el problema. Entonces, en lo mencionado anteriormenteAdministrador de dispositivos Los rastros de errores en el funcionamiento de los dispositivos permanecen en forma de códigos. Conociendo el código de error, no es difícil determinar la causa del problema. Para los no iniciados, los códigos son simplemente números incomprensibles y sin sentido. Pero para un usuario experto, puede decir mucho. Intentaré, lo mejor que pueda, arrojar luz sobre este tema.


Para ver los errores del dispositivo, primero debemos ingresar al Administrador de dispositivos. Se hace así. Iniciar sesiónPanel de control desde el menúComenzar ( Poder,Mi computadora , tecla derecha -Propiedades Administrador de dispositivos, o puedes hacerlo especificando un comando enejecutar , pero para qué complicarlo todo). Si entramos porPanel gestión , entonces el camino es:Sistema - Equipo - Administrador de dispositivos . Seleccione ingresando al menúAdministrador de dispositivos , el tipo de dispositivo que nos interesa (teclado, impresora, módem, etc.), hacemos doble clic sobre él, como resultado veremos los dispositivos incluidos en este tipo. Seleccionamos el dispositivo que necesitamos y hacemos doble clic sobre él. Mire la columna en la pestaña Acerca degeneral, Estado del dispositivo. Si hay un problema con el funcionamiento del dispositivo, se mostrará aquí como un código de error. Entonces vemos números y números. ¿Qué quieren decir? abajo te doy lista completa errores, con una breve descripción del error y formas posibles eliminación. El código de error está resaltado en rojo, su descripción en azul y la solución en negro.

Código 1Hay un problema al configurar el dispositivo, no configuración correcta o falta el conductor. Haga clic en el botón Actualizar controlador , para iniciar el asistenteActualización de hardware . Si no hay ningún controlador, instálelo.

Código 3El controlador del dispositivo está dañado o no hay suficiente RAM para que el dispositivo funcione correctamente.1. Eliminemos el controlador dañado e instalemos uno nuevo. Para hacer esto: Propiedades - Controlador - Eliminar, luego siga las instrucciones del asistente. Reiniciar. Abriendo de nuevoAdministrador de dispositivos Acción Actualizar la configuración del hardware y seguir las instrucciones del maestro. 2. Si el problema es la falta de memoria virtual, cierre las aplicaciones en ejecución para liberar memoria. Para comprobar el estado de la memoria debemos ir aAdministrador de tareas , para hacer esto, presione el atajo de tecladoCtrl+Mayús+Esc.Podemos ver la configuración de la memoria virtual haciendo clic derechomi computadora Propiedades - Avanzado - Rendimiento - Configuración (Opciones) . Puede intentar aumentar el archivo de intercambio (describí cómo se hace esto en uno de mis artículos anteriores del blog), pero esto está lejos de ser una medida radical. tendrás que aumentar RAM. Cómo se hace esto es un tema aparte más allá del alcance de esta publicación.

Código 10En la sección de registro hay un parámetro correspondiente al dispositivo.cadena de motivo de error,el valor de este parámetro se muestra en los datos de error, es decir, si no existe un parámetro como tal, entonces aparece un código de error, es decir, no se puede iniciar el dispositivo. Actualice el controlador como se indica arriba. O instalar uno más nuevo.

Código 12No se requiere suministro de recursos para este dispositivo. Deshabilite otros dispositivos que funcionen, al menos uno, para hacer esto, use el asistente de solución de problemas que, si sigue sus instrucciones, deshabilitará el dispositivo en conflicto. (Permítanme recordarles brevemente: Propiedades - General - Solución de problemas).

Código 14Requiere reiniciar la PC para que este dispositivo funcione.

Código 16Es imposible identificar los recursos necesarios para que el dispositivo funcione; el dispositivo no está completamente configurado. Debe asignar recursos adicionales al dispositivo. Pero esto se puede hacer sin problemas si el dispositivo pertenece aConectar y usar.

Propiedades - Recursos. Si hay un recurso con el signo ? en la lista de recursos, selecciónelo para asignarlo al dispositivo seleccionado. Si el recurso no se puede cambiar, haga clic enCambiar configuración , si esta función no está disponible, desmarqueConfiguración automática

Código 18Reinstale el controlador del dispositivo. Intentamos actualizar el controlador o eliminarlo y hacerlo como en el ejemplo concódigo 3.

Código 19No hay información suficiente en el registro sobre la configuración del dispositivo o la configuración está dañada. CorrerAsistente de solución de problemas y siga sus instrucciones; si no ayuda, reinstale el dispositivo como se mencionó anteriormente. (código 3). O, si eso no ayuda, descargaÚltima configuración buena conocida. Si esto no ayuda, necesita la ayuda de un especialista, al igual que necesita editar el registro del sistema. Sin conocimiento y experiencia, no hay nada que pueda hacer por su cuenta; cualquier administrador del sistema se lo confirmará. El que tiene conocimiento y capacidad, sabe hacerlo él mismo, sin mí. Y para una persona sin experiencia, es mejor no intentarlo. El registro es el corazón del sistema operativo y sólo un especialista experimentado, o bajo su supervisión, debe realizar operaciones en él. No quiero ofender a nadie de ninguna manera, pero si no has trabajado con el registro del sistema y valoras tu computadora, mi consejo es que olvides el camino. No escribo para profesionales, no lo necesitan, sino para el usuario medio. Por supuesto, puedo escribir allí cómo y qué hacer, pero esta será una explicación manual y si dañas tu computadora por el más mínimo error, yo seré el culpable. No necesito esto en absoluto, y tú tampoco.

Código 21 El dispositivo se está eliminando del sistema, es decir, el sistema operativo está intentando eliminar el dispositivo, pero el proceso aún no se ha completado.


Haga una pausa de unos segundos y presione la tecla


Código 22 El dispositivo está deshabilitado. El dispositivo debe estar encendido.Acción - Habilitar y siga más instrucciones.


Código 24 Falta el dispositivo o está instalado incorrectamente, el controlador no funciona correctamente, es posible que el dispositivo haya sido preparado para su extracción. Retire el dispositivo e instálelo nuevamente.


Código 28 Sin conductor. Instale el controlador. Para hacer esto, necesita actualizar el controlador, siga los pasos que se indican en las instrucciones del Código 1.


Código 29Dispositivo deshabilitado . Debe permitir que el dispositivo funcione en ajustesBIOSLea las instrucciones de uso del dispositivo.


Código 31El sistema no pudo cargar los controladores para este dispositivo . Actualice los controladores como se describe arriba.


Código 32El controlador para este dispositivo está deshabilitado en registro del sistema . Desinstale y vuelva a instalar el controlador (descrito anteriormente)


Código 33El sistema operativo no puede determinar los recursos para esto. dispositivos . Configure el dispositivo o reemplácelo.


Código 34El sistema operativo no puede detectar la configuración. dispositivos . Revisar la documentación suministrada con el equipo y configurar la configuración manualmente en la pestaña Recursos.


Código 35El firmware del PC no tiene la información necesaria para una correcta operación del dispositivo . Necesito actualizarBIOS.Para obtener instrucciones sobre cómo hacer esto, comuníquese con su proveedor o, mejor aún, utilice los servicios de un técnico experimentado.


Código 36El dispositivo requiere una interrupción para funcionar.PCIy el dispositivo está configurado para interrumpirISA,o viceversa . Es necesario cambiar la configuraciónBIOSpóngase en contacto con un técnico experimentado.


Código 37El sistema operativo no reconoce el controlador de este dispositivo . Reinstale el controlador (descrito anteriormente).


Código 38El sistema operativo no puede cargar el controlador del dispositivo porque, la versión anterior del controlador permanece en la memoria . Necesitas reiniciar tu PC. Ejecute el Asistente de solución de problemas si no se inicia (Propiedades - General - Solución de problemas) y siga las instrucciones del asistente. Luego hay un reinicio obligatorio.


Código 39El sistema operativo no puede cargar el controlador del dispositivo. El conductor está dañado. o no existe en absoluto . Reinstale el controlador como se describe arriba.


Código 40No hay acceso al equipo porque no hay información en el registro del sistema o la información contiene un error . Reinstale el controlador.


Código 41Dispositivo no detectado . Ejecute el Asistente de solución de problemas (descrito anteriormente); si esto no ayuda, actualice la configuración del hardware (ver arriba) o actualice el controlador. Si no, instale más nueva versión conductores.


Código 42El sistema ya cuenta con dicho controlador. Es decir, hay dos diferentes dispositivos con el mismo nombre, posiblemente debido a un error . Reinicie su PC.


Código 43Detener el dispositivo por problemas con su funcionamiento . Ejecute el Asistente para solución de problemas y siga sus instrucciones.


Código 44Una aplicación o servicio ha detenido su dispositivo . Reinicie su PC.


Código 45Dispositivo no conectado . Conecte su dispositivo.


Código 46Este error aparece cuando el sistema operativo se apaga. No necesitas hacer nada, la próxima vez que inicies el sistema operativo todo funcionará.


Código 47 El dispositivo ha sido preparado para eliminación segura, pero aún no eliminado (por ejemplo, flash) . Retire el dispositivo, luego conéctelo nuevamente, reinicie su PC.


Código 48El dispositivo, o más bien su software, está bloqueado . Actualice el controlador o instale uno nuevo.


Código 49El dispositivo no se puede iniciar porque tiene un gran subárbol de registro del sistema que excede los parámetros de registro aceptables. . Elimine los dispositivos que no se utilizan del registro. Puedes hacer esto: Administrador de dispositivos - Ver - Mostrar dispositivos ocultos. Aquí verá dispositivos ocultos que no están conectados a su PC. Seleccione los dispositivos que desea eliminar, haga clic en Propiedades del dispositivo - Controlador - Quitar, luego siga las instrucciones del asistente y finalmente reinicie la PC.


Una guía para eliminar cualquier virus de una PC con sus propias manos. Todos los métodos de eliminación de virus realmente funcionan y se prueban en la práctica. instrucciones paso a paso con ilustraciones: sencillas y accesibles incluso para un escolar + tutoriales en vídeo + programa ultraiso para crear gestores de arranque+ enlaces útiles sobre herramientas en la lucha contra los virus. Descargar archivo