Sistemas Operativos

Sunday, August 06, 2006

Preguntas proporcionadas en clase

¿Qué es un DeadLock?

R// Un interbloqueo (DeadLock) es el bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por recursos del sistema o bien se comunican entre ellos. A diferencia de otros problemas de concurrencia de procesos, no existe una solución general para los interbloqueos.

Para ejemplificar un DeadLock supongamos que dos procesos compiten por dos recursos que necesitan para funcionar, que sólo pueden ser utilizados por un proceso a la vez. El primer proceso obtiene el permiso de utilizar uno de los recursos (adquiere el lock sobre ese recurso). El segundo proceso toma el lock del otro recurso, y luego intenta utilizar el recurso ya utilizado por el primer proceso, por lo tanto queda en espera. Cuando el primer proceso a su vez intenta utilizar el otro recurso, se produce un interbloqueo, donde los dos procesos esperan la liberación del recurso que utiliza el otro proceso.

Existen 4 condiciones (también conocidas como condiciones de Coffman) que tienen que estar presentes para que se produzca el deadlock, la cuales deben cumplirse simultáneamente y no son totalmente independientes una de otra:

1) Mutua exclusión: Se refiere a procesos que reclaman control exclusivo de los recursos que solicitan. Al menos un recurso esta asignado, si otro proceso requiere este recurso deberá esperar hasta que sea liberado.

2) Retención y espera: Existe un proceso que tiene asignado recursos y que esta esperando por otros recursos adicionales que están siendo usados por otros procesos.

3) No remoción: Recursos que no pueden ser removidos de los procesos que los pose en hasta que sean usados completamente, es decir un recurso puede ser solamente liberado voluntariamente por el proceso que lo tiene asignado, y no existe opción de quitárselo al sistema mientras este siendo usado.

4) Espera circular: Se refiere a que existe un conjunto de procesos (PO, P1, P2, ... PN) tal que PO está esperando por un recurso asignado a P1, ..., PN-1 está esperando por un recurso asignado a PN y PN esta esperando por un recurso asignado a PO. Tiene asignado un recurso y esta esperando por un recurso.

Los bloqueos mutuos pueden prevenirse asegurando que no suceda alguna de las condiciones vistas anteriormente, de las siguientes formas:

- Eliminando la exclusión mutua: ningún proceso puede tener acceso exclusivo a un recurso. Esto es imposible para procesos que no pueden ser encolados (puestos en un spool), e incluso con colas también pueden ocurrir interbloqueos.

- La condición de retención y espera puede ser eliminada haciendo que los procesos pidan todos los recursos que van a necesitar antes de empezar. Este conocimiento por adelantado muchas veces es imposible nuevamente. Otra forma es requerir a los procesos liberar todos sus recursos antes de pedir todos los recursos que necesitan. Esto también es impráctico en general.

- La condición de no expropiación puede ser también imposible de eliminar dado que un proceso debe poder tener un recurso por un cierto tiempo o el procesamiento puede quedar inconsistente.

- La condición de espera circular es la más fácil de atacar. Se le permite a un proceso poseer sólo un recurso en un determinado momento, o una jerarquía puede ser impuesta de modo tal que los ciclos de espera no sean posibles.

¿Qué es Encriptar?

R// Es la manera de codificar la información de forma que no pueda ser leída en caso de ser interceptada por una tercera persona mientras viaja por la red, por razones de seguridad. Sólo la persona o personas que tienen el tipo de de software de descodificación adecuado pueden descifrar el mensaje. Los sitios comerciales en la red previenen que las personas no autorizadas vean información confidencial como los números de tarjeta de crédito, que se envían desde y hacia sus sitios. La codificación se hace mediante un proceso que se conoce como encripción, que manejan algoritmos sofisticados que solo pueden ser interpretados por servidores Web y visores de Internet que soporten el mismo protocolo de encrpición.

La encripción requiere que el mismo protocolo se utilice en ambos lados para poder codificar en el lado emisor y decodificar en el lado receptor. La decodificación no significa que pueda ser entendida por un humano. Por ejemplo, en una transacción electrónica de pago con tarjeta de crédito, el número de la tarjeta solo lo ve la persona que lo digita. El resto de la información viaja encriptada desde el portal de compra, al banco, y de vuelta al portal de compra con un mensaje de Aprobación o negación.

¿Qué algoritmos se usan para encriptar redes Wireless?

R// Los Algoritmos de Encriptación son Codificadores de bloques de bits sobre los que iteran determinadas operaciones tales como sustitución, transposición, suma/producto modular y transformaciones lineales. Cada algoritmo utiliza bloques de distintos tamaños.

Existen dos tipos de encriptado o cifrado el cifrado continuo y el cifrado por bloques. Se entiende que por bloques los datos se encriptan de a un bloque a la vez; cada bloque necesita tener un tamaño determinado. En el cifrado continuo, en cambio, se pueden ir entregando bit por bit y los datos serán encriptados de esa manera. Es por esto que cuando los datos a ser encriptados están estáticos y no cambian muy seguido es mejor usar un cifrado por bloques.

El cifrado continuo es mejor para datos que están siendo actualizados constantemente. Ya que estos necesitan más procesamiento, son muy útiles para aplicaciones que requieren funcionar con poco ancho de banda.

Cifrados por Bloques

- AES (Rijndael) o “Advanced Encryption Standard” es probablemente el algoritmo más usado. Algunas de las aplicaciones más conocidas que lo utilizan son PGP y SSH. AES es un esquema de cifrado por bloque adoptado como un estándar de encriptación por el gobierno de los Estados Unidos, cuyo predecesor fue el Estándar de Encriptación de Datos (DES). Fue adoptado por el Instituto Nacional de Estandares y Tecnología (NIST) como un FIPS (PUB 197) en noviembre del 2001 después de 5 años del proceso de estandarización, y hasta ahora no se ha encontrado ningún ataque exitoso contra el AES.

AES se deriba de Rijndael que fue un refinamiento de un diseño anterior de Daemen y Rijmen, Square; Square fue a su vez un desarrollo de Shark.

Aunque en la práctica se los llama de manera indistinta, AES no es precisamente Rijndael, ya que Rijndael permite un mayor rango de tamaño de bloque y clave; AES tiene un tamaño de bloque fijo de 128 bits y tamaños de llave de 128, 192 ó 256 bits, mientras que Rijndael puede ser especificado por una clave que sea múltiplo de 32 bits, con un mínimo de 128 bits y un máximo de 256 bits.

- DES o Data Encryption Standard - conocido como el padre de los cifrados. Se considera uno de los más antiguos y más usados en la historia de la computación. Es un método para cifrar información, escogido como FIPS en los Estados Unidos en 1976, y cuyo uso se ha propagado ampliamente por todo el mundo. El algoritmo fue controvertido al principio, con algunos elementos de diseño clasificados, una longitud de clave relativamente corta, y las continuas sospechas sobre la existencia de alguna puerta trasera para la National Security Agency (NSA). Posteriormente DES fue sometido a un intenso análisis académico y motivó el concepto moderno del cifrado por bloques y su criptoanálisis.

Hoy en día, DES se considera inseguro para muchas aplicaciones. Ésto se debe principalmente a que el tamaño de clave de 56 bits es corto; las claves de DES se han roto en menos de 24 horas. Existen también resultados analíticos que demuestran debilidades teóricas en su cifrado, aunque son inviables en la práctica. Se cree que el algoritmo es seguro en la práctica en su variante de Triple DES, aunque existan ataques teóricos. A razón de esto, actualmente el algoritmo ha sido sustituido por el algoritmo AES (Advanced Encryption Standard).

- Blowfish es rápido y cuenta con llaves de 128, 256 y de 448 bits. Blowfish es un codificador de bloques simétricos, diseñado por Bruce Schneier en 1993 e incluido en un gran número de conjuntos de codificadores y productos de cifrado. Mientras que ningún analizador de cifrados de Blowfish efectivo ha sido encontrado hoy en día, se ha dado más atención de la decodificación de bloques con bloques más grandes, como AES y Twofish.

Schneier diseñó Blowfish como un algoritmo de uso general, intentando reemplazar al antiguo DES y libre de problemas asociados con otros algoritmos. Al mismo tiempo, muchos otros diseños eran propietarios, patentados o los guardaba el gobierno. Schneier declaro “Blowfish no tiene patente, y así se quedará en los demás continentes. El algoritmo está a disposición de dominio público, y puede ser usado libremente por cualquiera”.

- RSA (Rivest Shamir Adelman) es el algoritmo asimétrico más usado hoy en día. Está licenciado por la empresa del mismo nombre. Al contrario que los algoritmos simétricos, los algoritmos asimétricos necesitan que la llave sea más larga para proveer la misma seguridad. El sistema criptográfico con clave pública RSA se basa en que todo usuario de dicho sistema hace pública una clave de cifrado y oculta una clave de descrifrado. Una llave es un número de gran tamaño, que una persona puede conceptualizar como un mensaje digital, como un archivo binario o como una cadena de bits o bytes. Cuando se envía un mensaje, el emisor busca la clave pública de cifrado del receptor y una vez que dicho mensaje llega al receptor, éste se ocupa de descifrarlo usando su clave oculta. Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento se basa en el producto de dos números primos grandes (mayores que 10100) elegidos al azar para conformar la clave de descifrado. La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de factorizar un número grande en sus factores primos utilizando computadoras tradicionales. La computación cuántica podría proveer una solución a este problema de factorización. Es importante remarcar que RSA tiene algunas vulnerabilidades conocidas.

- Twofish también diseñado por Schneier es usado por defecto en GPG. Es un método de criptografía simétrica con cifrado por bloques desarrollado por Counterpane Labs y presentado al concurso del NIST que buscaba un sustituto para DES (el concurso AES). Fue publicado en Junio de 1998, no tiene ninguna vulnerabilidad conocida. El tamaño de bloque en Twofish es de 128 bits y el tamaño de clave puede llegar hasta 256 bits. Twofish llegó a la ronda final del concurso del NIST, pero no fue elegido para la estandarización. TwoFish quedó tercero, tras Rijndael y Serpent.

Cifrados Continuos

- RC4 o ARC4 es el sistema de cifrado de flujo Stream cipher más utilizado y se usa en algunos de los protocolos más populares como Transport Layer Security (TLS/SSL) (para proteger el tráfico de Internet) y Wired Equivalent Privacy (WEP) (para añadir seguridad en las redes inalámbricas). Se podría decir que es un generador de números seudo aleatorios y el resultado se pasa junto con los datos a ser encriptados por XOR. RC4 fue excluido en seguida de los estándares de alta seguridad por los criptorafos y algunos modos de usar el algoritmo de criptografía RC4 lo han llevado a ser un sistema de criptografía muy inseguro, incluyendo su uso WEP. No está recomendado su uso en los nuevos sistemas, sin embargo, algunos sistemas basados en RC4 son lo suficientemente seguros para un uso común.

- OTP (One Time Pad) También conocido como el cifrado de Vernam, sería técnicamente hablando el algoritmo más seguro. El algoritmo funciona pasando los datos y la llave a través de XOR hasta que se acaba la llave. Luego ésta vuelve nuevamente al comienzo y continúa el proceso. Debido a esta razón la llave puede ser de cualquier tamaño y el algoritmo nunca estaría expuesto a tener vulnerabilidades debido a la simple razón de que la llave puede llegar a ser tan larga como los datos y que la llave debería ser usada sólo una vez.

¿Qué es el WEP?

R// WEP (Wired Equivalent Privacy) es el sistema de cifrado incluido en el estándar IEEE 802.11 como protocolo para redes Wireless que permite cifrar la información que se transmite. Proporciona cifrado a nivel 2. Está basado en el algoritmo de cifrado RC4, el algoritmo de chequeo de integridad CRC, y utiliza claves de 64 bits (40 bits más 24 bits del vector de inicialización IV), de 128 bits (104 bits más 24 bits del IV).

RC4 es un algoritmo de cifrado de flujo. Es decir, funciona expandiendo una semilla o "seed" para generar una secuencia de números pseudoaleatorios de mayor tamaño. Esta secuencia de números pseudoaleatorios se unifica con el mensaje mediante una operación XOR para obtener un mensaje cifrado. Uno de los problemas de este tipo de algoritmos de cifrado es que no se debe usar el mismo seed para cifrar dos mensajes diferentes, ya que obtener la clave sería trivial a partir de los dos textos cifrados resultantes. Para evitar esto, WEP especifica un vector de inicialización (IV) de 24 bits que se modifica regularmente y se concatena a la contraseña (a través de esta concatenación se genera el seed que sirve de entrada al algoritmo RC4) para evitar secuencias iguales; de esta manera se crean seeds nuevos cada vez que varía.

El principal problema con la implementación del algoritmo anteriormente descrito es el tamaño de los vectores de inicialización. A pesar de que se pueden generar muchos vectores, la cantidad de tramas que pasan a través de un punto de acceso es muy grande, lo que hace que rápidamente se encuentren dos mensajes con el mismo vector de inicialización, y por lo tanto sea fácil hacerse con la clave. Por lo tanto es inseguro debido a su implementación. Aumentar los tamaños de las claves de cifrado sólo aumenta el tiempo necesario para romperlo. Como solución a este problema actualmente hay sistemas de cifrado mejores para redes WiFi, como el WPA o WPA2.

¿Qué es TKIP y AES?

R// - TKIP (Temporal Key Integrity Protocol) es un protocolo de la seguridad usado en el acceso protegido Wi-Fi o “Wi-Fi Protected Access” (WPA). WPA se utiliza en las redes WiFi para corregir deficiencias de su estándar equivalente WEP (Wired Equivalent Privacy). TKIP (pronunciado “tee-kip”) fue diseñado para sustituir al WEP sin sustituir el hardware previamente usado. Esto era necesario porque el rompimiento del WEP tenía fuera de su alcance la seguridad de acoplamiento-capa de redes WiFi, y la solución a este problema no podía esperar el reemplazo del hardware desplegado. Por esta razón, tanto TKIP como WEP, utilizan un esquema basado en RC4, pero a diferencia del WEP, TKIP proporciona una mezcla de llaves por paquete, un chequeo de la integridad del mensaje y un mecanismo de regeneración de llaves. TKIP se asegura de que cada paquete de los datos es enviado con su propia llave única de cifrado.

La mezcla de llaves aumenta la complejidad de descifrar las llaves dando al cracker menos datos que han cifrados usando una sola llave. El chequeo de la integridad de los mensajes evita que los paquetes falsos sean aceptados. Bajo el WEP era posible alterar un paquete cuyo contenido era conocido aun sin haber sido descifrado. También el repositorio del TKIP los valores del vector de inicialización (iv), que se envían como texto plano, con la llave del WPA para formar la llave del tráfico RC4, tratando una de las debilidades más grandes de la seguridad de WEP, pues anteriormente WEP concatenaba su llave con la llave iv para formar la llave del tráfico, permitiendo un posible ataque acertado.

- AES (Advanced Encryption Standard), también conocido como Rijndael, es un esquema de cifrado por bloque adoptado como un estándar de encriptación por el gobierno de los Estados Unidos, y se espera que sea usado en el mundo entero, como también analizado exhaustivamente, como fue el caso de su predecesor, el Estándar de Encriptación de Datos (DES). Fue adoptado por el Instituto Nacional de Estandares y Tecnología (NIST) como un FIPS (PUB 197) en noviembre del 2001 después de 5 años del proceso de estandarización. Fue desarrollado por dos criptologos Belgas, Joan Daemen y Vincent Rijmen, y enviado al proceso de selección AES bajo el nombre "Rijndael", basado de los nombres de los inventores.

Al contrario que su predecesor DES, Rijndael es una red de permutación-sustitución, no una red de Feistel. AES es rápido tanto en software como en hardware, es relativamente fácil de implementar, y requiere poca memoria. Como nuevo estándar de cifrado, esta siendo desplegado actualmente a gran escala.

¿Qué es el WPA y el WPA2?

R// - WPA (Wi-Fi Protected Access - Acceso Protegido Wi-Fi) es un sistema para proteger las redes inalámbricas (Wi-Fi); creado para corregir las deficiencias del sistema previo WEP (Wired Equivalent Privacy - Privacidad Equivalente a Cableado). Los investigadores han encontrado varias debilidades en el algoritmo WEP (tales como la reutilización del vector de inicialización (IV), del cual se derivan ataques estadísticos que permiten recuperar la clave WEP, entre otros). WPA implementa la mayoría del estándar IEEE 802.11i, y fue creado como una medida intermedia para ocupar el lugar de WEP mientras 802.11i era finalizado. WPA fue creado por "The Wi-Fi Alliance" (La Alianza Wi-Fi).

WPA fue diseñado para utilizar un servidor de autenticación (normalmente un servidor RADIUS), que distribuye claves diferentes a cada usuario (a través del protocolo 802.1x); sin embargo, también se puede utilizar en un modo menos seguro de clave pre-compartida ([PSK] - Pre-Shared Key) para usuarios de casa o pequeña oficina. La información es cifrada utilizando el algoritmo RC4 (debido a que WPA no elimina el proceso de cifrado WEP, sólo lo fortalece), con una clave de 128 bits y un vector de inicialización de 48 bits.

WPA incrementa el tamaño de las claves, el número de llaves en uso, y al agrega un sistema de verificación de la integridad de los mensajes (MIC - Message Integrity Code, también conocido como "Michael"), haciendo que la entrada no autorizada a redes inalámbricas sea mucho más difícil. El algoritmo Michael fue el más fuerte que los diseñadores de WPA pudieron crear, bajo la premisa de que debía funcionar en las tarjetas de red inalámbricas más viejas; sin embargo es susceptible a ataques. Para limitar este riesgo, las redes WPA se desconectan durante 60 segundos al detectar dos intentos de ataque durante 1 minuto.

- WPA2 está basada en el nuevo estándar 802.11i (ratificado en Junio de 2004). WPA, por ser una versión previa, que se podría considerar de "migración", no incluye todas las características del IEEE 802.11i, mientras que WPA2 se puede inferir que es la versión certificada del estándar 802.11i.

WPA2 incluye el nuevo algoritmo de cifrado AES (Advanced Encryption Standard), desarrollado por el NIST (National Institute of Standards and Technology). Se trata de un algoritmo de cifrado de bloque (RC4 es de flujo) con claves de 128 bits. Además requiere de un hardware potente para realizar sus algoritmos, lo que significa que dispositivos antiguos sin suficientes capacidades de proceso no podrán incorporar WPA2.

Para el aseguramiento de la integridad y autenticidad de los mensajes, WPA2 utiliza CCMP (Counter-Mode / Cipher Block Chaining / Message Authentication Code Protocol) en lugar de los códigos MIC. Ademas otra mejora respecto a WPA es que WPA2 incluye soporte no sólo para el modo BSS sino también para el modo IBSS (redes ad-hoc).

La alianza Wi-Fi llama a la versión de clave pre-compartida WPA-Personal y WPA2-Personal y a la versión con autenticación 802.1x/EAP como WPA-Enterprise y WPA2-Enterprise.

¿Qué es el WAP y el WAP2?

R// WAP es un protocolo basado en los estándares de Internet que ha sido desarrollado para permitir a teléfonos celulares navegar a través de Internet. Con la tecnología WAP se pretende que desde cualquier teléfono celular WAP se pueda acceder a la información que hay en Internet así como realizar operaciones de comercio electrónico.

WAP es una serie de tecnologías que consisten en: WML, que es el lenguaje de etiquetas, WMLScript es un lenguaje de script, lo que vendría a ser JavaScript y el Wireless Telephony Application Interface (WTAI)

WML es un lenguaje de marcas similar al HTML y además es compatible con XML 1.0. Las páginas WML son llamadas barajas ya que están compuestas por cartas, las que solo pueden mostrarse una a la vez en un navegador WAP.

El organismo que se encarga de desarrollar el estándar WAP fue originalmente el WAP Forum, fundado por cuatro empresas del sector de las comunicaciones móviles, Sony-Ericsson, Nokia, Motorola y Openwave (originalmente Unwired Planet). Desde 2002 el WAP Forum es parte de la Open Mobile Alliance (OMA), consorcio que se ocupa de la definición de diversas normas relacionadas con las comunicaciones móviles, entre ellas las normas WAP.

El mayor problema de esta tecnología reside en la incompatibilidad de la pila de protocolos WAP 1 con la de Internet, por lo que se exige la presencia de un nodo pasarela para hacer de intermediario en la comunicación entre un terminal WAP y un servidor de contenidos WAP residente en Internet. WAP 1 ha sido objeto de fuertes críticas por diversos motivos, que incluyen la pobreza del soporte gráfico (gráficos monocromos WBMP Wireless Bitmap), las diferencias en las implantaciones de WAP en los terminales de distintos fabricantes, y un potencial problema de seguridad debido a que WTLS no es muy robusto y además, por no ser compatible con las capas de seguridad usadas en Internet, en la pasarela WAP los contenidos deben estar en claro.

- La nueva versión de WAP, WAP 2.0, está presente en los teléfonos móviles de nueva generación (a partir de 2004). Esta versión es una reingeniería de WAP que utiliza XHTML-MP (Mobile Profile) como lenguaje de presentación de contenidos, y mejora el soporte de los gráficos (incluye color). En cuanto al los protocolos usados, en la capa de transporte se usa TCP y en la de aplicación, HTTP. Así pues, WAP 2.0 ha adoptado los protocolos de Internet. WAP 2.0 además especifica opciones tanto en TCP como en HTTP para mejorar las prestaciones de dichos protocolos sobre redes de comunicaciones móviles. Los mecanismos de seguridad usados ya son compatibles con los de Internet por lo que los problemas de seguridad de WAP 1 se resuelven. La pasarela WAP no es estrictamente necesaria en WAP 2.0, pero su presencia puede tener funciones útiles, como caché web y para dar soporte a las opciones de TCP y HTTP antes mencionadas.

¿Qué es un protocolo?

R// Se les llama protocolo de red o protocolo de comunicación al conjunto de reglas que controlan la secuencia de mensajes que ocurren durante una comunicación entre entidades que forman una red. En este contexto, las entidades de las cuales se habla son programas de computadora o automatismos de otro tipo, tales como dispositivos electrónicos capaces de interactuar en una red.

Los protocolos de red establecen aspectos tales como:

- Las secuencias posibles de mensaje que pueden llegar durante el proceso de la comunicación.

- La sintaxis de los mensajes intercambiados.

- Estrategias para corregir los casos de error.

- Estrategias para asegurar la seguridad (autenticación, encriptación).

Los protocolos que son implementados en sistemas de comunicación que tienen un amplio impacto, suelen convertirse en estándares, debido a que la comunicación e intercambio de información (datos) es un factor fundamental en numerosos sistemas, y para asegurar tal comunicación se vuelve necesario copiar el diseño y funcionamiento a partir del ejemplo pre-existente. Esto ocurre tanto de manera informal como deliberada.

En el campo de las redes informáticas, los protocolos se pueden dividir en varias categorías, una de las clasificaciones más estudiadas es la OSI, segun la cual, se puede estudiar dividiéndolos en 7 niveles, que son expuestos desde su nivel más alto hasta el más bajo:

Capa 7: Nivel de aplicación

Ejemplos: SNMP, SMTP, NNTP, FTP, SSH, HTTP, SMB/CIFS, NFS, Telnet, IRC, ICQ, POP3, IMAP.

Capa 6: Nivel de presentación

Ejemplo: ASN.1.

Capa 5: Nivel de sesión

Ejemplos: NetBIOS, RPC, SSL.

Capa 4: Nivel de transporte

Ejemplos: TCP, UDP, SPX.

Capa 3: Nivel de red

Ejemplos: ARP, RARP, IP (IPv4, IPv6), X.25, ICMP, IGMP, NetBEUI, IPX, Appletalk.

Capa 2: Nivel de enlace de datos

Ejemplos: Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM, HDLC.

Capa 1: Nivel físico

Ejemplos: Cable coaxial, Cable de fibra óptica, Cable de par trenzado, Microondas, Radio, Palomas mensajeras, RS-232.

¿Qué es Buffer?

R// Es un espacio de memoria, en el que se almacenan datos para evitar que el recurso que los requiere, ya sea hardware o software, se quede en algún momento sin datos. Por ejemplo, un analizador TRF (un aparato que usa el algoritmo TRF para calcular un espectro de una señal en el dominio del tiempo) tendrá uno o varios buffers de entrada, donde se guardan las palabras digitales que representan las muestras de la señal de entrada.

Algunos ejemplos de aplicaciones de buffers son:

- En Audio o video en streaming por internet. Se tiene un buffer para que haya menos posibilidades de que se corte la reproducción cuando se reduzca o corte el ancho de banda.

- Un buffer adecuado permite que en el salto entre dos canciones no haya una pausa molesta.

- Las grabadoras de CD o DVD, tienen un buffer para que no se pare la grabación. Hoy en dia hay sistemas para retomar la grabación pero antes suponia que el CD no quedaba bien grabado y muchas veces era inservible.

El concepto del Buffer es similar al de caché. Pero en el caso del buffer, los datos que se introducen siempre van a ser utilizados. En la caché sin embargo, no hay seguridad, sino una mayor probabilidad de utilización.

¿Qué es Caché?

R// Es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales son costosos de acceder, normalmente en tiempo, respecto a la copia en el caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso aparente al dato sea menor.

Por otro lado el término caché puede utilizarse también para una zona de memoria de disco denominado caché de disco (Disk cache o Cache buffer en inglés).

Con el aumento de la rapidez de los microprocesadores, las computadoras comenzaron a construirse con una memoria caché interna situada entre el microprocesador y la memoria principal. Debido ha este hecho actualmente existen tres tipos de memoria caché cuyo funcionamiento es análogo:

- L1 o interna (situada dentro del propio procesador y por tanto de acceso aún más rápido y aún más cara). La caché de primer nivel contiene muy pocos kilobytes (unos 32 ó 64 Kb).

- L2 o externa (situada entre el procesador y la RAM). Los tamaños típicos de la memoria caché L2 oscilan en la actualidad entre 256 kb y 4 Mb: la memoria caché es unfrecuentemente. Permite agilizar la transmisión de datos entre el microprocesador y la memoria principal. Es de acceso aleatorio (también conocida como acceso directo) y funciona de una manera similar a como lo hace la memoria principal (RAM), aunque es mucho más rápida.

- L3 esta memoria se encuentra en algunas placas base.

Las memorias caché están compuestas por dos elementos distintos: un directorio que almacena etiquetas que identifican la dirección de memoria almacenada y bloques de información, todos de igual tamaño, que guardan la información propiamente dicha.

¿Qué es Spool?

R// Un spool es un buffer que contiene la salida para un dispositivo, como una impresora, que no puede aceptar flujos de datos intercalados. Aun cuando la impresora solo puede atender un trabajo a la vez, varias aplicaciones pueden solicitar imprimir sus salidas de manera concurrente, sin que se mezclen. El sistema operativo resuelve este problema interceptando toda salida que va a la impresora. La salida de cada aplicación se coloca en spool en un archivo en disco distinto. Cuando una aplicación termina de imprimir, el sistema de spool coloca en una cola el archivo de spool correspondiente para su salida a la impresora. El sistema de spool copia los archivos que están en la cola de la impresora uno a la vez. En algunos sistemas operativos el spooling es manejado por un proceso demonio (daemon) del sistema o por un hilo en el kernel. En cualquier caso, el sistema operativo proporciona una interfaz de control que permite a los usuarios y a los administradores del sistema desplegar los archivos en cola, remover trabajos no deseados antes de que se impriman, suspender la impresión mientras la impresora este recibiendo servicio, etcétera.

Monotarea vs. Multitasking vs. Multiprogramación.

- Monotareas: Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Por ejemplo cuando la computadora esta imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresión. Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

- Multitareas (Multitasking): Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.

- Multiprogramación: Es la técnica que permite que dos o más programas ocupen la misma unidad de memoria principal y que sean ejecutados al mismo tiempo. Así por ejemplo mientras se ejecutan operaciones de entrada y salida de un programa, la unidad central de proceso puede ocuparse en realizar operaciones distintas de las de E/S pertenecientes a otros programas. La multiprogramación se refiere a dos o mas programas corriendo o procesándose al mismo tiempo; La multiprogramación se controla a través del sistema operativo, el cual observa los programas y los vigila hasta que estén concluidos. El número de programas que pueden multiprogramarse en forma efectiva, depende de una combinación de la cantidad de memoria, de la velocidad de la CPU y del número y velocidad de los recursos periféricos que tenga conectados, así como de la eficiencia del sistema operativo.

¿Cuántos procesadores y memoria se pueden usar en Windows XP en arquitectyras de 32 y 64 bist?

R// Pendiente…

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home