GPOs en Windows Vista I : Múltiples políticas locales

En esta nueva serie de POST iremos tratando las mejoras en Windows Vista relacionadas con las políticas de grupo. En el presente post trataremos sobre el soporte de Windows Vista de  varias políticas de grupo locales (LGPO).

 

Un repaso general:

Las políticas de grupo o GPO son una de las características más interesantes del directorio activo y de personalización del comportamiento de nuestro equipo o de los equipos de una red. Gracias a las GPO podemos controlar desde qué herramientas están disponibles para los usuarios hasta que permisos NTFS deseamos establecer en nuestras unidades, es decir podemos modificar aspectos como el comportamiento de protocolos, auditorias del sistema, difusión de certificados, restricciones de contraseñas, restricciones de usuario, comportamiento de componentes del sistema y un largo etc. tanto a nivel local como a nivel de dominio, siguiendo la regla de prioridad LSDOU (del ingles Local, Site, Domain, Organizational Unit). En el fondo la mayoría de las configuraciones de una GPO son cambios en el registro de Windows del equipo final, el cual, según sea el caso, va a permitir o restringir ciertas acciones. Todo esto es configurable, con las explicaciones oportunas, a través del MMC (Microsoft Management Console) de edición de políticas de grupo (gpedit.msc).

 

LGPO en Windows Vista:

Windows Vista trae consigo una serie de mejoras relativas al funcionamiento y uso de las políticas de grupo que iremos desgranando en sucesivos post, hoy partiremos de la posibilidad de usar varias políticas locales permitiendo así una personalización de estas por usuario o según se pertenezca o no al grupo administradores.

En Windows XP cuando creábamos alguna LGPO esta se aplicaba al equipo y a todos los usuarios, algo que no siempre es lo más optimo según las configuraciones que deseemos realizar, es por ello que por Internet podemos encontrar formas de hacer que las políticas configuradas no afecten a los administradores como se puede comprobar en el siguiente artículo de Microsoft.

http://support.microsoft.com/kb/q293655/

En Windows Vista ya tenemos implementada la posibilidad de realizar una gestión de políticas diferenciada, para ello debemos seguir el siguiente proceso:

Ejecutar MMC > Archivo > Agregar o quitar complementos > Editor de objetos de directiva de grupo

Nota: No confundir «editor de objetos de directiva de grupo» con el complemento de «administración de directivas de grupo» también conocido como GPMC y que ya viene integrado como parte de Windows Vista para la administración de GPOs en un dominio.

Al pulsar sobre el botón «agregar» para agregar el complemento y antes de seleccionar cualquier otra opción debemos hacer clic sobre el botón «Examinar» donde además de la posibilidad de aplicar la LGPO a otro equipo distinto desde la pestaña «equipos» nos aparecerá una nueva pestaña llamada «usuarios» donde podremos seleccionar entre las cuentas de usuario existentes o entre los grupos «administradores» para aplicar políticas propias a usuario con privilegios administrativos y «no administradores» para la creación de políticas que afecten al resto de los usuarios; finalmente solo tenemos que pulsar en aceptar para empezar a editar las políticas de usuario correspondientes (obviamente esto no afecta a las políticas de equipo que se aplican a todos por igual).

Alguno ya habrá caído en la cuenta de que mediante este método existe la posibilidad de existencia de conflictos entre políticas, por ejemplo tendríamos un conflicto al aplicar una política concreta sobre un usuario corriente llamado Pablo y esa misma política pero con una configuración diferente aplicada a todos los usuarios no administradores. Para resolver este tipo de situaciones y partiendo de que quien edita las políticas locales en conflicto es normalmente la misma persona, podemos concluir que normalmente la configuración deseada es la ultima modificación realizada; partiendo de esto, Windows Vista aplica aquella configuración que haya sido editada la última.

¿A quien le apetece restringir las funciones del Panel de Control de sus usuarios o modificar el comportamiento de Internet Explorer sin afectar a algún usuario específico? Con Windows Vista ya podeis hacerlo.

 

En el próximo POST trataremos sobre el cambio en el formato de las plantillas administrativas y su independencia del idioma.

SuperFetch (IV de IV): ReadyBoost y ReadyDrive

Como todos sabemos, la desventaja de usar el disco duro como memoria virtual es la significativa reducción en las tasa de transferencia con respecto a la memoria RAM, sobretodo si estamos hablando de acceso aleatorio a la información como suele ser el caso cuando hablamos de información de memoria, de esta manera en disco duros modernos tenemos tasas de trasferencia E/S de 80MB/s. en acceso secuencial al disco duro y 1MB/s en el caso de acceso aleatorio (por el movimiento de los cabezales en búsqueda de información), existe no obstante una solución intermedia entre el disco duro y la memoria RAM que nos ofrece una tasa de trasferencia de unos 10MB/s en acceso aleatorio a información.: La memoria Flash.

 

ReadyBoost es un nuevo sistema incluido en Windows Vista que consigue mejorar el rendimiento del equipo haciendo uso de la mayor tasa de transferencia en búsquedas aleatorias y menor latencia de la memoria flash con respecto al disco duro, de este modo podemos usar dispositivos como llaves USB, memorias SD o Compact Flash para guardar información de caché del disco duro.

 

 Popup emergente al conectar la memoria FLASH al equipo

 

Para poder hacer uso de ReadyBoost nuestra memoria flash debe disponer de al menos 235 MB de espacio libre y ser de rápido acceso (es decir, con una tasa de transferencia adecuada como para ser útil como caché). Como podréis ver en las imágenes añadidas, activar ReadyBoost en una memoria USB es tan sencillo como entrar en sus propiedades e indicar que cantidad de memoria deseamos utilizar para esta funcionalidad, esto quiere decir que no tenemos por qué usar todo el espacio de la memoria flash para almacenar información de caché sino que podemos indicar una cantidad determinada de memoria y continuar usando el resto del espacio para nuestros ficheros, aun que no obstante Microsoft recomienda usar una cantidad de memoria 3 veces superior a la RAM para disfrutar de todas las ventajas de esta tecnología. Otra característica de ReadyBoost es el uso de un algoritmo de escritura optimizado para mantener el tiempo de vida de las celdas de la memoria flash, de hecho, gracias a este algoritmo, si usáramos una memoria flash actual exclusivamente para el uso de ReadyBoost su tiempo de vida oscilaría entre 19,4  y 1823 años. Pero ¿y como se protege esta caché de disco de intentos de lectura no autorizados? pues usando el algoritmo de encriptación AES de 128 bits de tal manera que nos aseguramos que el archivo de caché de ReadyBoost (llamado ReadyBoost.sfcache) solo puede ser leído en el equipo que lo generó inicialmente, y todo esto además con un factor de compresión de 1.8X a 2.3X que garantiza un almacenamiento eficiente al poder guardar más información en menos espacio. Por último quedaría añadir que retirar la memoria flash cuando se esta haciendo uso de ReadyBoost no causa ningún tipo de problema en el equipo ya que es una caché de solo lectura que hace uso del sistema «Write-trought» que garantiza que toda la información de la caché del dispositivo flash se encuentra presente en el disco duro, no siendo por tanto necesaria para que el equipo siga funcionando correctamente.

 
Pestaña de configuración de ReadyBoost

Carpeta de memoria Flash 

 

Sobre estos sistemas de administración de caché de disco duro que realiza SuperFetch hay que hacer mención especial a ReadyDrive que aplica un concepto semejante al de ReadyBoost pero a los discos duros híbridos (discos duros provistos de una caché flash).

 

Los discos duros híbridos continúan la línea de evolución actual de los discos duros de mejorar el rendimiento y el consumo de energía (hasta el 90% menos de consumo que los discos duros actuales en portatiles) al añadir una caché flash no volátil o NVRAM adicional, que no se pierde la información al apagar el ordenador, a la caché DRAM ya existente. Esto permite, a parte de una mejora en el acceso aleatorio a información como ya se explico anteriormente, realizar lecturas y escrituras en disco mientras este se encuentra acelerando, con la consecuente mejora en rendimiento, especialmente tras la hibernación del equipo.

 

 Sistema ReadyDrive

 

Superfetch se suma a este tipo de dispositivos híbridos gestionando su memoria flash y aplicando los patrones de uso de aplicaciones para aumentar aun más el rendimiento, así como para mejorar los tiempos de arranque del sistema operativo y de recuperación tras hibernación, todo esto gracias a que al realizar alguno de estos procesos la información necesaria para el arranque o la recuperación es volcada en la NVRAM. ReadyDrive requiere de un mínimo de 50MB de NVRAM, siendo recomendable más de 120MB.

 

Conclusión:

Como habéis podido comprobar a lo largo de estos post SuperFetch es sin duda una de las grandes novedades incluidas en Windows Vista y un referente en cuanto a tecnologías de rendimiento, de hecho al usar Windows Vista por primera vez a menudo sorprende que, al contrario de lo que esperamos, lleguemos a apreciar una mejoría en el rendimiento de nuestro equipo con respecto a sistemas operativos anteriores.

 

Continuaré desglosando los aspectos de rendimiento de Windows Vista en próximos artículos, hasta entonces espero haber conseguido despertar vuestra curiosidad sobre esta tecnología y otras muchas que se irán mencionando en este blog.

 

SuperFetch (III de IV)

Para finalizar el tema de
SuperFetch en estos dos últimos post vamos a comprobar dos de sus
funcionalidades más interesantes: la gestión de los procesos en segundo plano, y
la gestión de caché de disco desde un punto de vista innovador con READYBOOST y READYDRIVE.

 

Es algo común que dejemos
aplicaciones en segundo plano cuando por ejemplo abrimos el explorador o el
Messenger mientras estamos editando un documento de Office o abrimos un juego
mientras se esta ejecutando cualquier otro programa, y es también común que notemos
una reducción en el rendimiento del sistema al intentar retomar dichas
aplicaciones y pasarlas a primer plano; esto se debe a que los programas en
segundo plano son preferentes para pasar al archivo de paginación del disco
duro, lo cual, en caso de falta de memoria, supone que cada vez que deseemos volver
a traer dicha aplicación a primer plano obtengamos una considerable reducción
en el rendimiento del sistema. La situación anterior también es aplicable cuando hacemos
uso de la característica «cambio rápido de usuario» y deseamos volver a la
sesión que dejamos iniciada anteriormente ya que la información de la sesión inactiva
es paulatinamente trasladada a la memoria virtual según se va necesitando más
memoria. Superfetch gestiona los procesos en segundo y primer plano para
reducir en todo lo posible esta pérdida de rendimiento, la manera en que logra
esto es bastante intuitiva: vuelve a cargar la información del proceso en
memoria cuando volvemos a tener disponibilidad de esta (normalmente al cerrar
un programa) lo cual supone que por ejemplo en un entorno de escasa memoria,
volver de Internet Explorer a Microsoft Word tras haber cerrado Windows Mail (el
programa que viene a sustituir a Outlook Express en Windows Vista) sería mucho
más rápido que con sistemas operativos anteriores, y de nuevo esto también sería
aplicable al sistema de cambio rápido de usuario siendo ideal por ejemplo para volver
a la sesión en la que se está ejecutando la mula para aquellos amigos del P2P
que tienen que compartir su equipo; pero quizás la aplicación práctica más
evidente de todo esto es no ver reducido el rendimiento tras largos momentos de
inactividad, como por ejemplo al ir comer en el trabajo o cuando nos llaman por
teléfono. Hasta ahora tras habernos ausentado un tiempo notábamos una
ralentización de nuestras aplicaciones debido a que la actividad de los
servicios y procesos en segundo plano tomaban el control de la memoria RAM
relegando a la aplicación inactiva de primer plano al archivo de paginación;
aun que esto es el comportamiento ideal (mantiene al microprocesador ocupado al
servicio de procesos en segundo plano como la ejecución de un antivirus) tras
la finalización de estos procesos la aplicación principal continuaba en el
archivo de paginación hasta que sus funciones eran requeridas por el usuario al
volver, con la consabida reducción de rendimiento, Windows Vista corrige esta
situación gracias a que Superfetch va colocando denuevo en memoria la
información del programa en primer plano cuando se libera suficiente memoria
RAM por ejemplo al finalizar una aplicación en segundo plano, de esta manera la
aplicación queda completamente disponible para el usuario a su regreso.

 

Bueno, a parte de lo comentado en
este post también existe otra manera de aumentar el rendimiento del equipo a la
hora de tener que acceder al disco, esta manera es mediante los sistemas
ReadyBoost y ReadyDrive, que veremos en mi próximo post.

 

Por cierto, se están publicando
en TechNet Magazine una serie de artículos sobre las mejoras en el Kernel de
Windows Vista, yo estoy a la espera de que publiquen la sección de
administración de memoria por si pudiera ofreceros aun más información de lo
visto hasta ahora. Os dejo el enlace:

 http://www.microsoft.com/technet/technetmag/issues/2007/02/VistaKernel/default.aspx?loc=es/

SuperFetch (II de IV)

SuperFetch no es una tecnología que parta de cero, sino que complementa a otra ya existente en Windows XP llamada Prefetch y que en español vendría a significar «precarga».

 

Prefetch es un término usado en diferentes ámbitos de la informática, por ejemplo se habla de prefetch refiriéndose a las capacidades de los microprocesadores de cargar anticipadamente datos en la cache L1 durante la ejecución de una instrucción con el fin de acelerar al ejecución de aplicaciones, en el ámbito de los navegadores WEB se conoce como Prefetch (concretamente como Link Prefetching) a la capacidad de estos de cargar en caché información de las páginas WEB enlazadas cuando el navegador esta inactivo con el fin de acelerar la navegación (pudiendo realizar esto de manera agresiva o solo cuando le es indicado en el código html de link), en programación se hace referencia a este termino apuntando a la precarga de información en memoria antes de que sea necesaria con el fin de ganar tiempo de ejecución y por último en sistemas hablamos de Prefetch como un sistema de gestión de memoria usado en varios sistemas operativos (también esta disponible en Linux) que permite optimizar notablemente la carga de aplicaciones y servicios especialmente al arranque del equipo precargando la información de estos en memoria y reduciendo por tanto el tiempo de inicio.

 

Windows XP y Vista guardan la información de traza de Prefetch en la carpeta %Windir%prefetch en unos archivos con extensión .pf cuyo nombre esta compuesto por el nombre de la aplicación, un guión y un hash en hexadecimal de la ubicación de dicho archivo, como por ejemplo «NOTEPAD.EXE-2F2D61E1.pf» («NTOSBOOT-B00DFAAD.pf» en el caso del archivo de arranque) y cuyo contenido no es más que una serie de referencias a los ficheros y directorios que leen las aplicaciones al iniciar, así como sus metadatos. Para crear estos archivos de traza el sistema de gestión memoria comprueba las consultas a las entradas de la MFT (Master File Table) del sistema de archivos NTFS sabiendo de este modo qué archivos son los que se intentan cargar y de esta manera poder precargarlos previamente a la próxima apertura de la aplicación. Así mismo Prefetch se combina con el programador de tareas para realizar una defragmentación y colocación de manera contigua y según el orden de uso de aquellos archivos que vayan a ser utilizados al iniciar las aplicaciones o durante el arranque del equipo; estos ficheros a colocar de manera contigua vienen señalados en el archivo layout.ini de la propia carpeta Prefetch realizándose la labor de defragmentación con una periodicidad de 3 días en momentos de baja actividad del equipo.

 

Carpeta Prefetch (parece que alguien ha estado jugando al Age of Empires 2 :P)

 

Sobre la carpeta Prefetch y sus propiedades existen diferentes leyendas urbanas en forma de trucos para mejorar el rendimiento de Windows, podéis echar un vistazo a algunas de ellas en el siguiente enlace:

http://mywebpages.comcast.net/SupportCD/XPMyths.html#Optimization

 

Este sistema de Prefeth de XP combinado con SuperFetch es el usado por Windows Vista si disponemos de menos de 700MB de memoria RAM, si disponemos de una mayor cantidad de memoria se continua usando el sistema Prefetch y SuperFetch pero añadiendo a le ecuación el sistema ReadyBoot (no confundir con ReadyBoost).

 

ReadyBoot es otro añadido al rendimiento de Windows vista y es el sistema utilizado para reducir el tiempo de arranque en caso de disponer de más de 700MB de RAM. ReadyBoot guarda su información en una carpeta con ese mismo nombre dentro del directorio Prefetch de Windows Vista y realiza un seguimiento de los 5 últimos arranques cuyos archivos de traza (de extensión .fx) guarda en el directorio anteriormente citado con el objetivo de usarlos posteriormente para generar un plan de arranque optimizado. Los parámetros de configuración de ReadyBoot los podemos encontrar en la siguiente clave de registro:

HKLMSystemCurrentControlSetServicesEcacheParameters

  
Bueno, a toda esta ecuación sobre precargas en memoria habría que añadir la inclusión en la carpeta prefetch de archivos de traza de aplicaciones enteras en función del comportamiento del usuario, es decir: SuperFetch.

SuperFetch es un servicio disponible en todas las versiones de Windows Vista y hace un uso intensivo de la memoria partiendo del concepto de que es muy común hoy en día trabajar con gran cantidad de memoria libre en los equipos modernos, para resolver este desaprovechamiento de memoria Windows Vista carga en esta toda aquella información que probablemente utilizará el usuario, para ello mantiene un historial de su comportamiento por días de la semana e incluso por horas de tal manera que cuando desee abrir alguna aplicación concreta esta se encuentre ya cargada en memoria y el proceso de apertura sea mucho más rápido, aun que como es obvio para uso efectivo de SuperFetch se requiere memoria libre suficiente (de ahí las recomendación de 1GB de RAM). Superfetch está completamente integrado con Prefetch y con el layout.ini, interviene en los procesos de suspensión e hibernación y es un proceso de baja prioridad y consumo que no repercute negativamente en el rendimiento del equipo sino que lo mejora gracias a la innovadora gestión de memoria que realiza. Los archivos de traza de Superfetch se guardan como Ag*.db en el directorio Prefetch.

Superfetch también esta relacionada con la gestión de la memoria virtual relacionándose y gestionando otras dos tecnologías referentes en Windows Vista: el READY BOOST y el READY DRIVE que describiré en mi próximo post.

SuperFetch (I de IV)

 

El motivo de este BLOG es desgranar Windows Vista, dar a conocer sus nuevas
características, funcionalidades y tecnologías de manera que como profesional
dedicado al tema no he podido evitar poner mi granito de arena y mis
conocimientos técnicos ante este proyecto al servicio de todos aquellos que
deseen leernos y aprender más acerca del nuevo sistema operativo de Microsoft.
Por todo ello quizás la mejor manera de empezar este POST es daros las gracias a
todos por dedicarnos algo de vuestro tiempo.

 

Cuando tuve que decidir el tema a tratar en este BLOG pensé en un principio
algún tema de seguridad, sin embargo teniendo en el equipo a dos expertos MVP
en seguridad hubiera sido un error privar a dichos expertos (Chema y Juan Luís)
de atender dichos temas con el valor añadido de toda su experiencia, amplios
conocimientos y por qué no, repertorio de anécdotas. Así que he decidido probar
suerte con otro de los pilares de Windows Vista junto con la seguridad: el
rendimiento. Concretamente en estos días hablaré sobre el nuevo gestor de
memoria de Windows Vista: SuperFetch.

 

Mucha gente le tiene miedo al uso o consumo de la memoria: es un recurso
caro, limitado y en ocasiones con una capacidad de expansión escasa, y además,
y quizás el elemento más importante de esta ecuación, se encuentra una de las
leyendas urbanas más difundidas en el mundo de la informática: “cuanto más
consumo de memoria, peor rendimiento”, algo que como veremos no siempre es
cierto, y menos aun si hablamos de Windows Vista. La polémica está servida por
tanto cuando Windows Vista recomienda como mínimo 1GB de RAM, nuestra mente nos
engaña surcada por la siguiente deducción: “Si Sistema Operativo recomienda 1GB
de RAM como mínimo significa que dispondremos de menos espacio en memoria para
nuestras aplicaciones con la consiguiente reducción del rendimiento, aumento
del uso de la memoria virtual, lectura del disco duro etc.”. Por supuesto mucho
técnico no informado y sin conocimiento de causa se echa las manos a la cabeza
y alardea de la poca memoria que consume su distribución de linux, un ejemplo
de este debate lo encontramos en el siguiente POST del Blog de elladodelmal:

http://elladodelmal.blogspot.com/2006/11/expertos-no-tecnico-less.html

 

Pero la respuesta es fácil: si la principal ventaja de la RAM es que su velocidad de
lectura/escritura es muy superior a la de un disco duro, ¿no es lógico pensar
que cuanta más información de los programas que vayamos a utilizar tengamos en
memoria mejor será el rendimiento? ¿Y si además de lo anterior añadimos que
algo fuera capaz de predecir qué vamos a ejecutar en cada momento y cargará
previamente la información de esos programas en memoria? Bien, pues ese algo es
SuperFetch, un proceso de bajo consumo que gracias a sus capacidades
predictivas mejora el rendimiento de nuestro sistema y el tiempo que tardan en
abrirse nuestras aplicaciones basándose en nuestras propias pautas de
comportamiento (a veces es de agradecer que el ser humano sea un animal de
costumbres).

 

En próximos POST iremos desgranando esta tecnología y otras relacionadas
con el fin de obtener una visión general de las mejoras de rendimiento de
Windows Vista y para desterrar para siempre aquellos falsos rumores que
pudieran circular sobre los requisitos y la optimización de este nuevo sistema
operativo, mientras tanto y si queréis ir alimentando vuestra curiosidad os
dejo el enlace oficial de Microsoft sobre las nuevas características de rendimiento
de Vista.

http://www.microsoft.com/windows/products/windowsvista/features/details/performance.mspx