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