miércoles, 30 de mayo de 2012

Otros


FILESYSTEM
Los sistemas de archivos o ficheros, estructuran la información guardada en una unidad de almacenamiento, que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos manejan su propio sistema de archivos.
Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud (También denominados clústers). El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento).
 En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente.

QUEMAR UN CD
Quemar un CD es una expresión usada como sinónimo de grabar información dentro del mismo. Se dice que se “quema” un disco compacto porque el proceso de grabación utiliza un láser que calienta la superficie del disco en el proceso, “quemando” la información en este.

Grabado por acción de láser
Otro modo de grabación es por la acción de un haz láser (CD-R y CD-RW, también llamado CD-E).
Para esto la grabadora crea unos pits y unos lands cambiando la reflectividad de la superficie del CD. Los pits son zonas donde el láser quema la superficie con mayor potencia, creando ahí una zona de baja reflectividad. Los lands, son justamente lo contrario, son zonas que mantienen su alta reflectividad inicial, justamente porque la potencia del láser se reduce.
Según el lector detecte una secuencia de pits o lands, tendremos unos datos u otros. Para formar un pit es necesario quemar la superficie a unos 250º C. En ese momento, el policarbonato que tiene la superficie se expande hasta cubrir el espacio que quede libre, siendo suficientes entre 4 y 11 mW para quemar esta superficie, claro que el área quemada en cada pit es pequeñísima.


Grabado por acción de láser y un campo magnético
El último medio de grabación de un cd es por la acción de un haz láser en conjunción con un campo magnético (discos magneto-ópticos).
Los discos ópticos tienen las siguientes características, confrontadas con los discos magnéticos:
Los discos ópticos, además de ser medios removibles con capacidad para almacenar masivamente datos en pequeños espacios -por lo menos diez veces más que un disco rígido de igual tamaño- son portátiles y seguros en la conservación de los datos (que también permanecen si se corta la energía eléctrica). El hecho de ser portables deviene del hecho de que son removibles de la unidad.

MEMORIAS USB
Las memorias flash basadas en puertas lógicas NAND usan un túnel de inyección para la escritura y para el borrado un túnel de ‘soltado’. Las memorias basadas en NAND tienen, unas diez veces de más resistencia a las operaciones pero sólo permiten acceso secuencial (más orientado a dispositivos de almacenamiento masivo), frente a las memorias flash basadas en NOR que permiten lectura de acceso aleatorio. Sin embargo, han sido las NAND las que han permitido la expansión de este tipo de memoria, ya que el mecanismo de borrado es más sencillo (aunque también se borre por bloques) lo que ha proporcionado una base más rentable para la creación de dispositivos de tipo tarjeta de memoria. Las populares memorias USB o también llamadas Pendrives, utilizan memorias flash de tipo NAND.
La información en las memorias NAND Flash, se almacena en Celdas y cada una de estas celdas tienen un tiempo de vida determinado que se expresa en ciclos de escritura, si bien no son eternas estas celdas, los ciclos de escritura aseguran una vida útil, mas allá de lo que demoremos en actualizar el dispositivo. Es así que dependiendo del tipo de memoria NAND Flash (MLC o SLC) las celdas pueden tener 10.000 o 100.000 ciclos de escritura por sector físico, llegando a ser mas que suficientes 10.000 ciclos para borrar y escribir completamente el contenido de un array de celdas en un chip de memoria Nand Flash, una vez por día durante 27 años.


jueves, 3 de mayo de 2012

Linux vs Minix


LINUS VSTANENBAUM  (LINUX VS MINIX)

El debate Tanenbaum-Torvalds es un debate entre Andrew S. Tanenbaum y Linus Torvalds, con respecto a Linux y la arquitectura del núcleo en general. Tanenbaum comenzó el debate en 1992 argumentando que los micronúcleos son superiores a los núcleos monolíticos y por lo tanto, Linux era, obsoleto. 
Mientras el debate inicialmente empezó relativamente moderado, con las dos partes implicadas haciendo sólo declaraciones banales sobre el diseño del núcleo, se van haciendo progresivamente más detalladas y sofisticadas, con cada ronda de mensajes. Además del diseño del núcleo , el debate se ramificó en varios otros temas, tales como que la arquitectura del microprocesador .Además de Tanenbaum y Torvalds, varias personas se sumaron al debate, incluyendo a Peter MacDonald, uno de los primeros desarrolladores del kernel de Linux y creador de una de las primeras distribuciones, Softlanding Linux System, David S. Miller, uno de los principales desarrolladores del kernel de Linux, y Theodore Ts'o, la primera de América del Norte desarrollador del núcleo Linux.

miércoles, 2 de mayo de 2012

Tablas de memoria



TABLAS DE MEMORIA EN WINDOWS

La estructura de la memoria en Windows es en forma de árbol, en el cual se definen claramente 3 partes:
• Directorio de Páginas (Page Directory): Cada proceso en ejecución, dispone de un solo Directorio de Páginas. Se trata de una tabla con 1024 entradas que almacena los punteros a las Tablas de Página.
• Tabla de Páginas (Page Table): Cada Tabla de Página es a su vez otra tabla que contiene otras 1024 entradas que ya apuntan a las propias páginas.
• Página (Page Frame): Cada Página es un bloque de 4 KB donde se almacenan los datos de cada proceso.Para aumentar la velocidad, el cambio no se realiza byte a byte, sino página a página. cuyo tamaño en Windows es de4 KB. De ahí que toda la memoria virtual y física esté paginada. Memoria Virtual en forma de páginas, y memoria física enforma de marcos de página.
Las páginas pueden estar en uno de los siguientes estados:
Libre:Una página libre no puede ser accedida por ningúnproceso, pero sí puedeser reservada o encargada.
Reservada:Una página reservada es un bloque del espacio de dirección virtual que ha sido fijada para usos futuros. No sepuede acceder a una página reservada, ni tiene datos almacenados. Simplemente bloquea el rango y no permite que sea asignadoporotras funciones de asignación.
Encargada: Aquella que ya ha sido asignada a un espacio físico, ya sea n memoria física o en memoria virtual. No podemos saber donde está almacenada la página, pues de eso se encarga el sistema y puede que esté constantemente cambiándola de posición, pero lo que sí sabemos es que cuando la necesitemos, ahí lo tendremos


TABLA DE MEMORIA EN LINUX

Linux supone que hay tres niveles de tablas de páginas:
• El directorio de tablas de páginas (punteros a tablas intermedias).
• La tabla de páginas intermedia (punteros a tablas de páginas).
• Las tablas de páginas (punteros a páginas).
Cada nivel de tablas contiene el número de marco de página del siguiente nivel en la tabla de páginas. La figura muestra cómo una dirección virtual se divide en un número de campos, donde cada uno de ellos representa un desplazamiento dentro de una tabla de páginas. Para traducir una dirección virtual a una física, el procesador tiene que tomar el contenido de cada uno de estos campos, convertirlos en desplazamientos de la página física que contiene la tabla de páginas y leer el número de marco de página del siguiente nivel de la tabla de páginas. Esta operación se repite tres veces hasta que se encuentra el número de la página física que contiene la dirección virtual. Ahora el último campo de la dirección virtual se utiliza para encontrar el dato dentro de la página.




sábado, 28 de abril de 2012

Caché


Memoria Caché de 1er Nivel: L1

Esta caché está integrada en el núcleo del procesador y trabaja a la misma velocidad del microprocesador.
La cantidad de memoria caché L1 varía de un procesador a otro, estando normalmente entre los 64KB y los 256KB.
Esta memoria suele a su vez estar dividida en dos partes dedicadas, una específicamente para todas las instrucciones y la otra para los datos.



Memoria Caché de 2do Nivel: L2

La caché de nivel 2 permite a tu PowerPC operar más eficientemente cuando está realizando procesos.

La caché de nivel 2 primero verifica si el procesador está ocupado para enviarle instrucciones. Luego, si el microprocesador está ocupado, el ordenador verifica si la caché de nivel 2 tiene instrucciones. Finalmente busca directamente en la memoria por instrucciones. Como la memoria caché es más rápida que la memoria común, el PC puede procesar información a más velocidad.

Como la memoria caché es más rápida que la RAM, puede ser accedida más rápidamente. Además, una caché adicional ofrece mejor rendimiento cuando ejecutes código en tu PowerPC.
De hecho, si estás ejecutando software de 68 KB (no es nativo de PowerPC), encontrarás que la caché de nivel 2 tiene poco efecto en el rendimiento.

Si necesita comprar caché de nivel 2, decidir cuánta y qué tipo de memoria debes adquirir depende del tipo de PowerPC que estés planeando comprar. Algunas máquinas permiten expandir el caché de nivel 2 hasta 4MB. Sin Embargo, encontramos que el rendimiento general no aumenta mucho una vez que alcanzó los 512 KB.


Memoria Caché de 3er Nivel : L3

Nivel 3 o la memoria caché L3 es una memoria especializada que trabaja mano a mano con cache L1 y L2 para mejorar el rendimiento del equipo. L1, L2 y L3 son Unidad central de Procesamiento (CPU) cachés, los versos de otros tipos de cachés del sistema, tales como caché del disco duro. La caché de la CPU responde a las necesidades del microprocesador mediante la previsión de solicitudes de datos a fin de que las instrucciones de procesamiento se proporcionan sin demora. Caché de CPU es más rápida que la memoria RAM, y está diseñado para evitar los cuellos de botella en el rendimiento.

La Caché L3 puede ser mas amplia que L1 y L2, y aunque también puede ser más lenta, aún así es mucho más rápido que ir a buscar desde la RAM.
Suponiendo que las instrucciones necesarias se encuentran en la memoria caché L3, bits de datos podrían ser eliminados de la caché L1 para sostener las nuevas instrucciones en caso de que se vuelvan a necesitar. La caché L3 puede entonces eliminar esa línea de instrucciones, ya que ahora reside en otra caché, o podría aferrarse a una copia, dependiendo del diseño de la CPU.



Tamaño ideal para la cache
El tamaño fijo de cache, el ideal es un 50% de lo que tienes de memoria física




jueves, 22 de marzo de 2012

Daemon & Zombie


PROCESO DEAMON
Un demonio, daemon o daemon (Disk And Execution MONitor)
En un sentido técnico, un proceso de un sistema basado en Unix es un Daemon cuando su proceso padre es terminado y el proceso init es asignado como nuevo padre del proceso Daemon, además, el proceso daemon no posee ninguna interfaz con el usuario, esto quiere decir que el proceso es iniciado y se ejecuta en segundo plato sin ninguna intervención del usuario, además de esto el proceso Daemon no puede ser terminado o se reiniciara automáticamente en caso de ser terminado.
Las tareas que puede desempeñar un demonio pueden ser muy variadas: responder a peticiones de red, control de actividad de hardware y software, configurar hardware (como devfsd en algunos sistemas GNU/Linux, ejecutar tareas periódicas o pre programadas (como el demonio cron), etc.
Un tipo especial de demonio son los Superdemonios o Superdaemons, que son demonios que pueden controlar a otros demonios del sistema. U ejemplo de ello es inetd, que es un demonio que gestiona las conexiones de varios demonios. La ejecución de este tipo de demonios reduce la carga del sistema en comparación con lo que significaría ejecutar cada uno de los demonios que gestionan de forma individual.
En MS-DOS y en Windows los programas llamados Servicios de Windows realizan funciones de Daemons.


PROCESO ZOMBIE
En un sistema operativo basado en Unix un proceso zombie es un proceso que ha completado su ejecución pero aun tiene una entrada en la tabla de procesos, esta entrada se sigue necesitando para que el proceso padre pueda leer el retorno del proceso.
El proceso zombie no se puede terminar con comandos como kill.
Cuando un proceso termina toda la memoria y los recursos asociados con el son liberados pero el proceso continua en la tabla de procesos, el proceso padre puede leer el retorno usando la llamada al sistema "wait", solo así el zombie es removido de la tabla. La llamada wait debe ser ejecutada en un proceso secuencial pero es comúnmente ejecutada en un manejador de eventos por la señal SIGCHLD que recibe el padre cuando el hijo muere.
Para remover Zombies del sistema se puede mandar SIGCHLD al padre manualmente usando el comando kill, si el proceso padre se rehúsa a enterrar al zombie, el siguiente paso es remover el proceso padre y el init se convertirá en el nuevo padre. El proceso init periódicamente ejecuta la llamada al sistema wait para terminar todos los zombies que estén asociados a él.




Integrantes y Papper

Integrantes:
Michael Agudelo Carmona
Felipe Penagos Sierra

Papper: https://docs.google.com/file/d/0B_4EJBcvkjr9ZkJNRHMzOXJTX3F1ZXRTR1hRSS1ndw/edit

Ranking:
www.sistemasoperativos.nixiweb.com
amlondonoz.blogspot.com
sajusa.tk
http://so-unalmed.blogspot.com/
http://os.swebla.com/paginaos/
http://sistemasoperativos2012.blogspot.com/

aacoperativos.wordpress.com
rioth.blogspot.com/p/sistemas-operativos.html

martes, 6 de marzo de 2012

Productor/ Consumidor con Buffer acotado

El problema del productor-consumidor con Buffer acotado es:





- Productor: Produce elementos (A una cierta velocidad) y los deposita en un buffer.
- Consumidor: Proceso que toma elementos del buffer y los consume (A una velocidad probablemente diferente a
la del productor).
-  Buffer: Estructura de datos que sirve para intercambiar información entre los productores y consumidores. Actúa
a modo de depósito para absorber la diferencia de velocidad entre productores y consumidores.
Ejemplo:





lunes, 5 de marzo de 2012

Windows


Historia sistemas operativos


En 1980 IBM está trabajando en el que sería su gran éxito, la IBM PC. Necesita un software para su proyecto y se lo encarga a Microsoft. Gates tiene poco tiempo así que compra el software a otra empresa, lo rebautiza con el nombre de MS-DOS y le vende la licencia de uso a IBM.

Su nombre completo es Microsoft Windows. Nació en 1985 para ser un complemento del MS-DOS. La novedad del momento era su Interfaz Gráfica de Usuario (GUI) pero a pesar de ello el sistema tenía ciertas limitaciones y no se implantó con la firmeza que sus creadores hubieran querido.

Dos años más tarde llegó Microsoft Windows 2.0 y se haría un poco más popular que su antecesor. Paralelamente, Microsoft e IBM trabajaban conjuntamente en el desarrollo de otro sistema operativo el OS/2, pero la versión más competitiva fue Windows 3.0 después rebautizado Windows NT convirtiéndose en 1990 en un duro rival para el Macintosh de Apple.


Windows 95 era en realidad un sistema operativo muy diferente al Windows NT pero Microsoft trabajó para hacerlos lo más compatibles posible.

Una de las mayores ventajas del nuevo Windows era que aunque necesitaba el MS-DOS como base tenía una instalación integrada. De esta manera el usuario solo tenía que instalar el Windows 95 mientras que con las versiones anteriores había que comprar los dos sistemas por separado e instalar Windows encima del MS-DOS. La otra gran ventaja era que incorporaba un subsistema en modo protegido que estaba especialmente escrito a procesadores 80386 o superiores. Con este subsistema Microsoft se aseguraba las compatibilidades y evitaba que las nuevas aplicaciones dañaran a las otras.



En junio de 1998 salía al mercado Windows 98. Un sistema del que hicieron una segunda versión en 1999: Windows 98 Second Edition. Éste eliminaba muchos de los errores que ocasionaba Internet Explorer y además permitía a varios ordenadores conectarse a la vez a una misma conexión de Internet.



A partir de entonces la historia ya es más fácil de recordar para todos: vinieron Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 y Windows 7. Cada nueva versión con mejoras en el diseño, la estabilidad, más dispositivos de red, nuevos servicios, más capacidades multimedia, etc.

Linux



GNU/Linux (GNU con Linux o GNU+Linux) es la denominación defendida por Richard Stallman, uno de los padres del proyecto GNU, junto a otros desarrolladores y usuarios, para los sistemas operativos que utilizan el kernel Linux junto con las aplicaciones de sistema creadas por el proyecto GNU. 

Linux tiene sus raíces en el proyecto de un sistema operativo completo tipo Unix, pero de software libre, denominado sistema GNU, empezado a desarrollar en 1984. El sistema GNU fue diseñado para ser totalmente compatible con UNIX.  Debido a esto, GNU está compuesto por pequeños módulos individuales de software, como por ejemplo el sistema gráfico X Windows.

Para asegurar que el software GNU permaneciera libre, el proyecto debía ser liberado bajo una licencia diseñada para garantizar la libre distribución, para que todos los usuarios pudieran ejecutarlo, copiarlo o modificarlo. Esta licencia se conoce por Copyleft (copia permitida), en contraposición a la licencia Copyright (o copia con derecho de autor), y está contenida en la Licencia General Pública de GNU (GPL)

En 1990, el sistema GNU ya tenía un editor de texto llamado Emacs, un compilador con bastante éxito (GCC), y la mayor parte de las bibliotecas y utilidades que componen un sistema operativo UNIX típico. 

Pero para que se pudiera considerar un sistema operativo faltaba un componente clave llamado núcleo del sistema (kernel en inglés), y el sistema GNU como tal nunca llegó a tener dicho núcleo, pasando a ser un proyecto de sistema completo bajo software libre, que engloba tanto a la mayoría de las distros de SO con kernel Linux como a otros muchos programas desarrollados bajo este proyecto. 

Android SO


El sistema operativo más usado en smartphones actualmente en el mundo no es una idea que se le ocurrió a alguien un día y tuvo un camino fácil para empezar a funcionar, sino que surge poco a poco y vive diferentes etapas hasta que el primer Android ve la luz. Hoy nos vamos a centrar en esa etapa de la historia de Android. Sus comienzos. La cuna de lo que hoy conocemos como un Android adolescente, al que aún le queda por madurar mucho, pero del que ya vemos y disfrutamos sus mejores cualidades.



Si queremos hablar de prehistoria de Android no nos queda más remedio que hablar un hombre. Ese hombre es Andy Rubin. Nos tenemos que remontar a 1986, cuando Andy recibió su licenciatura en Ciencias de la Computación en laUniversidad de Utica, Nueva York. Podemos considerar que aquí empieza a gestarse todo lo que luego sería Android en su cabeza, pero apuesto a que una persona así todo esto le va madurando a lo largo de mucho tiempo. Tras ello empieza una aventura de una empresa a otra, como es común en EEUU.
Curiosamente su primer trabajo importante como ingeniero es en Apple, desde donde pasó a una empresa que surgió de Apple llamada General Magic, y aquí empezó con lo importante, ya que participó en el desarrollo de Magic Cup, lo que pretendía ser un sistema operativo para teléfonos o PDAs. Sin embargo General Magic fracasó y se fue a la ruina, momento en el cual Andy se unió a Artemis Research, que acabó comprada por Microsoft. Ya hemos tenido a Andy Rubin trabajando para Apple y Microsoft, curioso.
El caso es que tras unos años trabajando aquí se ve que empezó a querer hacer algo por su cuenta, y fundó Danger Inc., que finalmente sería también comprada por Microsoft. En Danger Inc. suceden cosas cosas muy importantes. La primera es que desarrollan el Hiptop (el teléfono de la foto principal del artículo), lo que es ya un teléfono que marcaría las primeras líneas de lo que serían los Smartphones, y la segunda es que se ve tan frustrado que decide abandonar la compañía de la que era CEO. Todo ello le llevo a su paso final en esta etapa, fundar en 2003 Android Inc.

Andy Rubin llevaba desde 1989 hasta 2003 trabajando como ingeniero en telecomunicaciones y en el mundo de los teléfonos móviles. Su cabeza era un hervidero, y de ahí salió Android Inc., su proyecto para crear algo nuevo y diferente, aunque no creo que tuviera en mente lo que hoy es Android, pero sin duda dio todos los pasos correctos, y luchó mucho pasando por decepciones y fracasos.
En Agosto de 2005, cuando Android Inc. contaba con 22 meses de vida, Google adquirió la empresa, pero esta vez se ve que Andy estaba contento con esta venta, no como ocurrió con Danger Inc. De hecho Andy pasa a formar parte del equipo de Google, y es donde acaba como todos sabemos como vicepresidente de ingeniería de Google supervisando el desarrollo de Android.
Android ya tenía toda una base para empezar a trabajar y formarse. Un proceso que había durado nada más y nada menos que 16 años había construido una sólida base sobre la que todo iba a empezar a funcionar.
A partir de aquí comienza el típico secretismo al que Google nos tiene acostumbrados, en el que todos rumoreaban acerca de qué estaba haciendo Google con una compañía de desarrollo de sistemas para teléfonos móviles. Hay un montón de artículos super curiosos, especialmente de Agosto de 2005, en los que se especula sobre muchísimas cosas, y vemos algunas realmente curiosas. Lo que estaba pasando lo sabemos ahora, estaban gestando y planeando lo que pretendían llevar a ser el futuro de la telefonía móvil, lo que querían convertir en el sistema operativo número uno de smartphone del mundo.

No fue hasta el 5 de Noviembre de 2007 que se hizo el anuncio oficial de Android. Pero durante estos dos años Google había estado haciendo cosas, moviéndose, y una de ella fue llegar a acuerdos con fabricantes de teléfonos móviles para desarrollar el primer dispositivo Android de la historia. Todos sabemos que HTC siempre ha sido relacionado con Androiddesde los comienzos, no sólo fue el HTC quién fabricó el primer Nexus o Google Phone, sino que el primer Android también fue HTC, el Dream que fué lanzado el 22 de octubre de 2008.
Siempre habíamos pensado que era HTC el primero en fabricar un teléfono Android, pero ahora salen nuevas historias muy curiosas contando que no fue así, sino que fue LG. Aparentemente LG tenía listo un prototipo de teléfono para montar Android (el de la foto de la derecha), pero las cosas no debieron ir muy bien, y fue finalmente HTC quién se llevo el gato al agua. No están muy claras las razones por las que esto ocurrió, pero que LG se quisiera centrar en su propio sistema con el Prada puede ser perfectamente la explicación.
Así que esa es la historia del comienzo de Android, el cómo empezó todo. Espero que os haya gustado, porque el presente y el futuro son ustedes los que lo vivirán y contaran.


Tomado de: http://www.elandroidelibre.com/2011/08/la-historia-y-los-comienzos-de-android-el-sistema-operativo-de-google.html