
jueves, 30 de septiembre de 2010
martes, 28 de septiembre de 2010

Se acaba de descubrir una nueva vulnerabilidad de seguridad en Windows Vista que afecta a la capa de red. Este problema de seguridad en Vista puede corromper la memoria mediante un buffer overflow provocando sendos pantallazos azules.
Además de lo comentado anteriormente, esta vulnerabilidad podría ser usada para ejecutar código (aunque parece improbable ya que se necesitarían permisos de administrador) y lo que puede ser más peligroso aún, activar este bug de forma remota.
De momento Microsoft no tiene previsto lanzar un parche para solucionar esta vulnerabilidad, ya que ha comentado que implementará la solución a este problema de seguridad de Vista en su próximo Service Pack (Vista SP 2).
La razón de esta despreocupación es que no hay un exploit público que permita explotar esta vulnerabilidad.
En muchos sistemas operativos actuales se hace la distinción entre procesos y threads. Un thread es una especie de rama o camino en la ejecución de un programa que puede ser procesado en paralelo con otros threads.Linux no hace esa distinción. En el kernel, únicamente existe el concepto de un proceso, el cual puede compartir recursos con otros procesos. Por eso, una tarea es una generalización del concepto de un thread.
NOMENCLATURA DE KERNEL EN LINUX
Los kernels de Windows NT o Minix son de tipo micro-kernel, caracterizado porque proveen al sistema de un estado mínimo necesario de funcionalidad, cargando el resto de funciones necesarias en procesos autónomos e independientes unos de otros, comunicándose con este micro-kernel a través de una interfaz bien definida.
Este tipo de estructura es más fácil de mantener y el desarrollo de nuevos componentes es mucho más simple, dando a su vez una mayor estabilidad al sistema. Por otro lado, debido a la estructura rígida del interfaz, estos tipos de kernel son mucho más complicados de reestructurar, y además, debido a las arquitecturas del hardware actual, el proceso de intercomunicación dentro del micro-kernel es mucho más que una simple llamada, por lo que hace que esta estructura sea más lenta que los kernels de tipo monolíticos o macro-kernels.
No hay que olvidar que Linux ha sido desarrollado como un simple placer por desarrollar un sistema, el cual ha evolucionado gracias a diferentes programadores de todo el mundo. Debido a esto, una estructura de micro-kernel es prácticamente inconcebible, aunque esto no quiere decir que el kernel de linux sea una simple lista de instrucciones sin estructura alguna. A pesar de la estructura de macro-kernel, se ha intentado equiparar su velocidad utilizando código optimizado en velocidad (aunque complicado de entender), y se ha recuperado algunas de las mejores características de la estructura de micro-kernel, como puede ser la carga de los diferentes drivers necesarios como módulos independientes, siempre sin olvidar la estructura monolítica original.
En el caso de Linux, la gran parte del kernel está escrito en C, existiendo también instrucciones en ensamblador, aunque estas ultimas se usan mayoritariamente en los procesos de arranque y en el control de co-procesador. A continuación se muestra una tabla con la cantidad de lineas en C y ensamblador que se usan aproximadamente en la versión 2.0 del kernel de Linux, el cual consta de unas 470.000 lineas de código (la versión 1.0 constaba "únicamente" de 165.000 lineas):
Procesos y Tareas
Desde el punto de vista de un proceso ejecutándose en Linux, el kernel es un proveedor de servicios. Cada proceso existe por separado y el espacio de memoria reservado a cada uno de ellos está protegido para que no pueda ser modificado. Desde este punto de vista, se está llevando a cabo un sistema multiproceso real

NUEVA VERSION DE WINDOWS 7
la nueva arquitectura MUI de Windows Vista/7, así como los beneficios que conlleva el separar físicamente los recursos dependientes del idioma del resto de binarios del sistema. En esta parte vamos a ver que la configuración de idioma va más alla de la interfaz que se le muestra al usuario.
Es importante que resalte un punto que comenté en mi anterior artículo: Cuando se separan los archivos binarios (independientes del idioma) de los archivos de recursos, se corre el riesgo de juntarse con miles de ficheros si la aplicación tiene el calibre de un sistema operativo. Y lo que es más importante, se trata en su mayoría de ficheros muy pequeños (menos de 4 KB), lo que tiene un importante impacto negativo en el sistema pues las reservas de memoria física se hacen con una granularidad de 4 KB (64 KB en el caso de memoria virtual). Por este motivo, Microsoft decidió que un mismo fichero alojara recursos de múltiples idiomas.
el sistema va a requerirlos en algún momento y el tenerlos simultáneamente en memoria ahorra operaciones de E/S, que como son difícilmente optimizables hay que intentar reducirlas a toda costa.
En Windows Vista/7 existen varios ámbitos para un idioma o conjunto de idiomas instalados. En este epígrafe se explicarán cuáles son estos ámbitos, cuándo y dónde se configuran y qué implicaciones prácticas tienen.
Es importante que resalte un punto que comenté en mi anterior artículo: Cuando se separan los archivos binarios (independientes del idioma) de los archivos de recursos, se corre el riesgo de juntarse con miles de ficheros si la aplicación tiene el calibre de un sistema operativo. Y lo que es más importante, se trata en su mayoría de ficheros muy pequeños (menos de 4 KB), lo que tiene un importante impacto negativo en el sistema pues las reservas de memoria física se hacen con una granularidad de 4 KB (64 KB en el caso de memoria virtual). Por este motivo, Microsoft decidió que un mismo fichero alojara recursos de múltiples idiomas.
el sistema va a requerirlos en algún momento y el tenerlos simultáneamente en memoria ahorra operaciones de E/S, que como son difícilmente optimizables hay que intentar reducirlas a toda costa.
En Windows Vista/7 existen varios ámbitos para un idioma o conjunto de idiomas instalados. En este epígrafe se explicarán cuáles son estos ámbitos, cuándo y dónde se configuran y qué implicaciones prácticas tienen.
" Procesos gráficos y arquitectura cliente / servidor en una red."Una de las partes más importantes de la arquitectura cliente servidor es la conexión física entre el cliente y el servidor. De ello dependerá en gran medida el rendimiento del sistema. Una conexion de red rápida entre cliente y servidor o que el servidor este en la misma computadora que el cliente hará que el entorno funcione de una manera rápida.
ARQUITECTURA DE WINDOWS Y DE LINUX
En linux el proceso gráfico no es más que otro proceso que ejecuta el sistema operativo. Esto evita muchos problemas de estabilidad al kernel. Otra ventaja que tiene es la absoluta independencia del sistema operativo y el entorno gráfico. En contrapartida a todas estas ventajas, existe el inconveniente que el entorno gráfico reduce su velocidad en comparación a otros sistemas gráficos. Estos últimos incluyen los procesos referentes al subapartado gráfico en el propio núcleo.
Aunque esta práctica tiene la ventaja de que el sistema gráfico es más veloz. Se hace un gasto innecesario de recursos, aun sin usar ninguna aplicación, y estar más propensos a fallos del sistema debidos a errores en el apartado gráfico.Toda la filosofía de X Window se basa en la arquitectura cliente/servidor. Esta arquitectura es el modelo de sistema X mediante la cual los clientes, programas de aplicaciones, se comunican con los servidores que controlan parte del hardware.
El programa que habilita un entorno gráfico X-window en un ordenador es el servidor X (X server). Se le llama servidor ya que este programa sólo se dedica a escribir en pantalla lineas, cuadros y funciones gráficas básica.
El servidor X ofrece funciones gráficas primarias a las aplicaciones (clientes) que las soliciten y este las muestra en pantalla. El servidor es el programa encargado de gestionar un display.
Un display se debe entender como la unidad formada por la o las pantallas y por los dispositivos de entrada, bien sea un ratón, un teclado, un trackball etc. todo este conjunto es un display. Un servidor puede servir a varios clientes a la vez. La otra parte de la arquitectura cliente / servidor es el cliente, básicamente es una aplicación que se esta ejecutando en modo gráfico.
El servidor es la unidad de visualización, que puede a su vez estar formada por varios monitores o pantallas físicas. El servidor se encarga de captar las entradas del usuario y se las pasa a las aplicaciones o clientes X, dicha información proviene de los dispositivos de entrada del display, para que los clientes actúen en consecuencia. Los clientes tienen que captar esta información y operar. La respuesta del cliente es mandada al servidor ordenándole que dibuje dicha respuesta en la pantalla o las pantallas del display. Descodifican los mensajes de los clientes, como las peticiones de información o el movimiento de una ventana. Toda la comunicación entre el cliente y el servidor se realiza en lenguaje formal X window.

"Procesos gráficos en linux y arquitectura cliente sevidor en una máquina."
Aunque esta práctica tiene la ventaja de que el sistema gráfico es más veloz. Se hace un gasto innecesario de recursos, aun sin usar ninguna aplicación, y estar más propensos a fallos del sistema debidos a errores en el apartado gráfico.Toda la filosofía de X Window se basa en la arquitectura cliente/servidor. Esta arquitectura es el modelo de sistema X mediante la cual los clientes, programas de aplicaciones, se comunican con los servidores que controlan parte del hardware.
El programa que habilita un entorno gráfico X-window en un ordenador es el servidor X (X server). Se le llama servidor ya que este programa sólo se dedica a escribir en pantalla lineas, cuadros y funciones gráficas básica.
El servidor X ofrece funciones gráficas primarias a las aplicaciones (clientes) que las soliciten y este las muestra en pantalla. El servidor es el programa encargado de gestionar un display.
Un display se debe entender como la unidad formada por la o las pantallas y por los dispositivos de entrada, bien sea un ratón, un teclado, un trackball etc. todo este conjunto es un display. Un servidor puede servir a varios clientes a la vez. La otra parte de la arquitectura cliente / servidor es el cliente, básicamente es una aplicación que se esta ejecutando en modo gráfico.
El servidor es la unidad de visualización, que puede a su vez estar formada por varios monitores o pantallas físicas. El servidor se encarga de captar las entradas del usuario y se las pasa a las aplicaciones o clientes X, dicha información proviene de los dispositivos de entrada del display, para que los clientes actúen en consecuencia. Los clientes tienen que captar esta información y operar. La respuesta del cliente es mandada al servidor ordenándole que dibuje dicha respuesta en la pantalla o las pantallas del display. Descodifican los mensajes de los clientes, como las peticiones de información o el movimiento de una ventana. Toda la comunicación entre el cliente y el servidor se realiza en lenguaje formal X window.

"Procesos gráficos en linux y arquitectura cliente sevidor en una máquina."
Todo esta arquitectura se debe a que el sistema X windows tiene una gran flexibilidad de uso en redes. La conexión del Servidor X a los clientes no esta limitada a la misma máquina. Sino que cualquier aplicación o cliente que se este ejecutando en una red se puede conectar a cualquier servidor.
Suscribirse a:
Comentarios (Atom)