Comparación entre Windows 8, Ubuntu 13.1 y Android 4.4

#1
Hermanos les dejo una pequeña investigación que hice de estos sistemas operativos, para que conozcan un poco mejor como funcionan y por que hacen lo que hacen



Para comenzar… ¿Qué es un sistema operativo?
Es un programa o conjunto de programas que en un sistema informático gestiona los recursos de hardware y provee servicios a los programas de ejecución, ejecutándose en modo privilegiado respecto a los restantes y anteriores próximos y viceversa.
En este documento se analizan ciertos puntos de los sistemas operativos Windows 8.1, Ubuntu 13.1 y Android 4.4

Windows 8.1


Windows 8.1 es el sistema operativo de Microsoft. Este sistema es uno de los más comerciales en el mercado actual y usado por millones de personas. Esto se debe a su fácil interacción, ya que las personas han sido acostumbradas a usar alguna versión de Windows. Este SO tiene una reputación inestable, ya que muchos ya conocemos que Microsoft realiza una version inestable y años después la mejora. Un ejemplo de esto es cuando Microsoft libera Windows Vista, el cuál recibió severas críticas y levantando el enojo de las personas. Cuando se libera Wndows 7, este problema cesó. Estos SO’s tenían una línea constante de desarrollo y UI. Con la llegada de dispositivos touch y móviles, Microsoft decide cambiar completamente su sistema y modificarlo a las necesidades de ahora. Entonces es cuando Microsoft libera Windows 8. Este SO tiene muchas ventajas sobre los sistemas anteriores, las cuáles nombraré más adelante. Pero el problema con los usuarios surge no por malas condiciones del SO, sino porque dichos usuarios, tan acostumbrados a la UI básica que presentaban las versiones anteriores de Windows, se enfrentan a los cambios (excelentes) a su nuevo SO
En general, Windows 8 es más rápido en el manejo de memoria y procesos. El cambio más significativo es su pantalla de inicio y el manejo de aplicaciones en su interfaz, llamadas comúnmente MetroApps. Contiene también la “aplicación” desktop, que es la pantalla a la todos los usuarios Windows están familiarizados.
Este SO fue criticado por la mayoría, y hemos de decir que después de leer algunos comentarios, muchos de ellos carecen de sentido e información. Es por eso que aquí se presentan datos que les ayudarán a mejorar, empeorar o quedarse con su opinión.

Windows 8.1 ofrece mejor manejo de memoria comprado con su anterior versión, Windows 7. Lo que hace es intentar regular las asignaciones de memoria física para todas las aplicaciones independientes, de escritorio o MetroApps. Así que cuando el sistema comienza a tener poca memoria disponible, buscará en todos los procesos lobres que pueda asignar o reutilizar, para otras aplicaciones que soliciten recursos.
También maneja el modelos de asignación de memoria bajo demanda, el cual asigna un espacio de memoria hasta que la aplicación haga una solicitud. Esto eficientiza el consumo de memoria, ya que gran parte de la memoria permanece libre, a diferencia de antiguas versiones de Windows, que cargaban completamente la aplicación en la memoria, reduciendo el espacio físico y no permitiendo otras aplicaciones usar dicho espacio hasta que se liberara.
En cuanto a las aplicaciones de escritorio, el sistema asignará las partes o mayores cantidades de memoria a aplicaciones en conjunto tomando en cuenta la importancia de su trabajo. Para las aplicaciones Metro, cuando es suspendida una aplicacion, se conserva la CPU para otras aplicaciones y garantiza que las aplicaciones en segundo plano no consuman recursos. De esta manera la probabilidad de fallo es muy pequeña y se asegura que los recursos no sean retenidos.

En cuanto al manejo de archivos, Windows no mejoró el sistema de archivos anterior, sino que lo modificó completamente para crear ReFS que significa Resilient File System, que proviene de una evolución de NTFS llamada MNTFS (Monolitic Network Technology File System). Esto nos permite almacenar archivos de gran tamaño y manejarlos sin problema. También permite que la búsqueda de datos sea más rápida y permite mantener un mejor orden en la estructura de datos del disco
La planificación de la CPU es apropiativo. Windows asegura que la hebra con prioridad más alta se ejecute primero. El encargado de gestionar la planificación en Windows es el despachador. Dicho despachador usa un esquema de prioridades de 32 niveles para determinar el orden de ejecución de las hebras. Las prioridades se dividen en dos clases: la clase variables contiene hebras cuyas prioridades van de 1 a 15, mientras que la clase de tiempo real contiene hebras con prioridades comprendidas en el rango del 16 a 31.

El despachador usa una cola distinta para cada prioridad de planificación y recorre el conjunto de colas desde la más alta a la más baja, hasta que encuentre una hebra que esté preparada para ejecutarse.

En cuanto al resto del sistema, mantiene una constancia con su versión anterior, Windows 7. Los otros cambios, y más significativos, fueron a su interface.
Ubuntu 13.1

Como ya muchos lo sabemos, Ubuntu es uno de los mejores sistemas operativos, pero uno de los menos conocidos, es un SO basado en LINUX y se distribuye como software libre y gratuito; el cual incluye su propio entorno de escritorio denominado Unity.
Es un sistema orientado al usuario promedio, con un fuerte enfoque a la facilidad de uso y en mejorar la experiencia del usuario.





Protección y seguridad

Ubuntu es seguro por defecto por un número de razones:
Ubuntu distingue limpiamente entre los usuarios normales y usuarios administradores.
El software para Ubuntu se guarda en linea en un repositorio seguro, el cual no contiene software falso o malicioso.
Software de código abierto como Ubuntu permite que los fallos de seguridad sean fácilmente detectado.
Los parches de seguridad para software de código abierto como Ubuntu son liberados frecuente y rápidamente.
La mayoría de los virus diseñados para Windows no afectan sistemas Ubuntu

Estructura de archivos del sistema Ubuntu
Ubuntu usa el sistema de archivos de LINUX, que esta basado en una serie de carpetas en el directorio raíz. Estas carpetas contienen importantes archivos del sistema que no se pueden modificar a menos que esté empleando el usuario << root >> (administrador) o la orden sudo. Esta razón por cuestiones de seguridad: los virus informáticos no serán capaces de cambiar los archivos del núcleo del sistema y los usuarios ordinarios no deberían poder dañar accidentalmente ninguna parte del sistema.
Debido a esto los SO basados en LINUX son menos propensos a los virus informáticos.

Comunicaciones

En el sistema operativo Ubuntu en el manejo de comunicaciones se promueve a través del manejo de los controladores y el kernel, el kernel es el componente más importante del sistema operativo el cual permite que haya manejo o comunicación de memoria, procesos, archivos, entradas y salidas, es el encargado de que el software y el hardware trabajen juntos. En el kernel hay varios controladores o módulos que individualmente comprenden una función dentro del sistema operativo estos son asignados según la tarea que conlleve el sistema operativo actualmente. Cada versión del kernel en Ubuntu controla diversos dispositivos cuando una versión es compilada algunos de estos controladores pueden unirse al kernel mismo estáticamente, otros pueden permanecer como módulos para cargarse o descargarse y otros pueden ser excluidos del proceso de compilación de alguna función del sistema operativo debido a que no conllevan utilidad alguna en el proceso que se está llevando a cabo y por lo tanto no serán utilizados ni cuando el kernel esté operando. Las funciones de los módulos en el sistema operativo en cuanto la comunicación entre el software y hardware a través son:
1.Asegurar que no haya conflictos entre dispositivos y conocer la configuración que usa cada componente. Algunos controladores tienen la capacidad de detectar automáticamente la configuración del dispositivo y otros no.
2.Encontrar un módulo que pueda manejar el dispositivo.
3.Brindar opciones al módulo de acuerdo a las necesidades del dispositivo.
En fin en el sistema operativo Ubuntu promueve unas capacidades extraordinarias en cuanto el manejo y comunicación de los dispositivos de hardware y software trayendo un ambiente eficiente al usuario cuando lo utiliza y lleva a cabo las tareas en el mismo.


Permisos de los archivos y carpetas

En GNU/LINUX, todo archivo o carpeta tiene un propietario, es decir, pertenece a un usuario (que a su vez pertenece a un grupo de usuarios). A su vez, los archivos/carpetas tienen diferentes tipos o permisos de acceso. Según quién sea el propietario y estén establecidos los permisos, se determinará quién y cómo puede acceder al archivo/carpeta.
Existen tres tipos de permisos
Permiso de lectura: permite leer el contenido de un archivo o listar el contenido de una carpeta.
Permiso de escritura: permite modificar el contenido de un archivo y crear o borrar los archivos de una carpeta.
Permiso de ejecución: permite ejecutar archivos binarios o utilizar la carpeta para crear una ruta válida de ejecución.
Según los tipos de usuarios podemos establecer tres categorías:
Propietario: es el dueño del archivo. El usuario que creó el archivo o carpeta.
Grupo: grupo al que pertenece el propietario.
Otros: usuarios que no pertenecen al grupo al que pertenece el usuario.


Detección de Errores

La tecnología S.M.A.R.T. monitoriza los diferentes parámetros del disco como pueden ser: la velocidad de los platos del disco, sectores defectuosos, errores de calibración, CRC, distancias medias entre el cabezal y el plato, temperatura del disco, etc.
Cuando se produce un error detectable por este tipo de tecnología la BIOS avisa mediante un mensaje que aparece en la pantalla indicando el tipo de error producido, aunque en la mayoría de los casos lo hace cuando al disco duro apenas le quedan unas horas de vida.
Los umbrales de funcionamiento óptimo y los parámetros del disco duro difieren entre los diferentes fabricantes de discos duros aunque el informe que se realiza al PC está estandarizado. Aunque esta tecnología no es capaz de detectar cualquier tipo de fallo sí que es capaz de detectar la mayoría de fallos correspondientes a algún tipo de degradación en el disco.
Los fallos que se pueden producir se dividen en dos categorías:
Impredecibles
Los fallos impredecibles suelen estar producidos por sobrevoltajes provocados por mal funcionamiento de algún circuito integrado o por una mala conexión.
Predecibles
Los fallos predecibles suelen corresponderse con un deterioro de la parte mecánica del disco. Este tipo de fallos suelen representar el 60% del total.
Manejo de procesos
FreeBSD es un ejemplo de sistema multitarea. Cuando un usuario inicia sesion en el sistema, se ejecuta la shell elegida por el usuario. Esta shell es similar a la shell de MS-DOS, en cuanto a que acepta comandos y ejecuta los programas que el usuario solicita.
Sin embargo dado que el FreeBSD es un sistema multitarea, el intérprete de comandos puede seguir ejecutándose mientras que se ejecuta otro programa.
Para iniciar un nuevo proceso se la shell ejecuta la llamada fork() al sistema, luego el programa se carga a la memoria mediante una llamada exec() el segundo proceso se ejecutará en segundo plano el cual no puede recibir entradas directamente desde el teclado.
Hebras

La biblioteca de hebras se implementa usando Pthreads, el cual se basa en el estándar POSIX (IEEE 1003.1C) que define una API para la creación y sincronización de hebras.
Planificación del CPU
#include <sched.h>

int sched_setscheduler(pid_t pid, int policy, const struct sched_param
*p);

int sched_getscheduler(pid_t pid);

struct sched_param {
...
int sched_priority;
...
};

DESCRIPCIÓN
sched_setscheduler establece tanto la política de planificación como
los parámetros asociados para el proceso identificado por pid. Si pid
es igual a cero, se establece el planificador del proceso que hace la
llamada. La interpretación del parámetro p depende de la política
seleccionada. Actualmente se admiten en Linux las tres siguientes
políticas: SCHED_FIFO, SCHED_RR, y SCHED_OTHER; sus respectivas
semánticas se describen abajo.

sched_getscheduler pregunta por la política de planificación aplicada
actualmente al proceso identificado por pid. Si pid es igual a cero, se
obtiene la política del proceso que hace la llamada.


Android 4.4

Es un sistema operativo basado en Linux diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tabletas, inicialmente desarrollado por Android, Inc. Google respaldó económicamente y más tarde compró esta empresa en 2005.
Dado que Android está basado en el núcluo de Linux, tiene acceso a sus recursos pudiendo gestionarlo como los controladores de pantalla, cámara, memoia, etc.
Este diagrama explica las 4 capas del sistema operativo

Android selecciona los recursos de la siguiente manera. Durante la ejecución de una aplicación, Android selecciona qué recurso utilizar, obteniendo la configuración del dispositivo en que se realiza y comparándola con los recursos disponibles en el proyecto.
En móviles, se tiene el concepto de Goberbador Y planificador de E/S. El gobernador se encarga de decirle al procesador a qué velocidad trabajar, mientras que el planificador consiste en el metodo mediante el cual los sistemas android deciden el orden en que se procesan las peticiones de entrada/salida. El punto es encontrar la mejor solucion para hacer las peticiones de manera efectiva.
Android utiliza el Kernel de Linux tales como manejo de dispositivos, manejo de memoria, manejo de procesos y redes. En la mayoría de los casos, una aplicación Android se ejecuta en su propio proceso de Linux. Este proceso es creado para la aplicación cuando la arrancamos y seguirá corriendo hasta que no sea necesario y el sistema reclame recursos para otras aplicaciones y se los dé a éstas. Así es como el tiempo de vida de un proceso en Android es manejada por el sistema operativo, basándose en las necesidades del usuario, los recursos disponibles, etc. Si tenemos una aplicación que está consumiendo muchos recursos y arrancamos otra nueva aplicación, el sistema operativo probablemente le diga a la aplicación que se queda en segundo plano que libere todo lo que pueda, y si es necesario la cerrará.
Uno de los elementos clave de Android es la máquina virtual de Dalvik. En lugar de utilizar una tradicional máquina virtual Java (VM), tales como Java ME (Java Mobile Edition), Android utiliza su propia máquina virtual personalizado diseñado para asegurar que la multitarea se ejecutan de manera eficiente en un único dispositivo.

La máquina virtual Dalvik utiliza el dispositivo del kernel de Linux subyacente para manejar bajo nivel de funcionalidad, incluyendo la seguridad,la planificación de procesos, y la gestión de la memoria.

La gestión de memoria es bastante común. Al igual que Java y NET., Android utiliza el entorno de ejecución y la máquina virtual para gestionar la memoria de la aplicación. A diferencia de cualquiera de estos dos marcos, el entorno de ejecución de Android también maneja los tiempos de vida del proceso. Android asegura la respuesta de la aplicación, deteniendo y matando a los procesos que obstaculizan la fluidez y libera recursos para las aplicaciones de mayor prioridad.
Dalvik y el entorno de ejecución de Android se posicionan en la parte superior de un núcleo de Linux que se encarga de la interacción de bajo nivel del hardware, incluyendo los drivers y la gestión de memoria, mientras que el conjunto de API proporciona acceso a todos los servicios de bajo nivel, características y hardware. Cada aplicación Android se ejecuta en un proceso independiente dentro de su propia instancia de Dalvik, renunciando a toda responsabilidad de la memoria y la gestión de procesos.
El orden en que los procesos reclaman los recursos está determinada por la prioridad de las aplicaciones almacenadas. Una prioridad de aplicación es igual a prioridad más alta de sus componentes.

Cuando ambos procesos son igual de largos, los dos tienen la misma prioridad. El proceso que ha tenido una prioridad más baja se mató en primer lugar. La prioridad del proceso también se ve afectada por las dependencias entre procesos, si una aplicación tiene una dependencia en un servicio o proveedor de contenidos suministrados por una segunda aplicación, la aplicación secundaria tendrán al menos una prioridad tan alta como la aplicación que da soporte.
Tenemos 5 tipos de procesos:
1. Foreground Process: Es la aplicación que contiene la actividad ejecutada en primer plano en la pantalla del usuario y con la cuál está interactuando ahora mismo
2. Visible Process: Es un proceso que aloja una Activity que no se está ejecutando en primer plano
3. Service Process: Son aquellos que corren cuando un Service ha sido invocado. Estos procesos hacen cosas en segundo plano que normalmente son importantes para el usuario
4. Background Process: Es un proceso que contiene una Activity que actualmente no es visible por el usuario y que ya no tienen demasiada importancia
5. Empty Process: Es un proceso que no aloja ningún tipo de componente.





Este diagrama representa la prioridad de los procesos antes mencionados


Bibliografía:
Información Acerca de los Gobernadores y Planificadores de E/S de Android - HTCMania. (n.d.). HTCMania RSS. Retrieved November 21, 2013, from http://www.htcmania.com/showthread.php?t=352779
Sign up. (n.d.). PC Advisor News RSS. Retrieved November 21, 2013, from http://www.pcadvisor.co.uk/reviews/windows/3284198/microsoft-windows-8-review/
Sistemas Operativos II Planificación de procesos y Procesadores. (n.d.). Planificación de procesos y Procesadores. Retrieved November 21, 2013, from http://www.sc.ehu.es/acwlaroa/SO2/Apuntes/Cap3.pdf
Sozpic. (n.d.). SozPic. Retrieved November 21, 2013, from http://www.sozpic.com/gestion-de-memoria-en-android/
 

renegzz2

Bovino adicto
#2
te soy sincero de ver que es puro texto me aburrio tu post.
Si te hubieras centrado en realizar tablas y agregar algunas imagenes tal vez tu post hubiese sido mas "llamativo" para varias personas.
Leer mucho en pantalla cansa la vista.
 

SexiboyMx

Bovino adicto
#9
Que puedo decir....
mejor la imprimí para leer en el camino
jojojojo
se agradece de todos modos y veremos que tal la info por que comparar estos 2 SO de sobremesa con uno de dispositivos portatiles me llamo la atención.
 
#11
otra cosa que se le olvidó mencionar es que el windows no es mejor pero tomó ventaja patentando y muchas veces los otros so's no usan esa solucion sino que tienen que buscarle como evitar usar la solución m$, cuando salió el bsd yo le vi oportunidad pero el codigo no es abierto, y suponemos que debe usar partes de m$ pero así se evitan problemas, por cierto creo que el ps3 o sony usan ese so para sus consolas, en fin buen copy pasteo
a ver si en marzo que quede obsoleto el xp lo toma la foss y sale algo bueno
 

Gnome3

Bovino maduro
#13
De entrada tu comparacion esta del nabo...comparas dos SO para pc (Windows 8 y Ubuntu) y android que fue diseñado para moviles..desde ahi estas mal...Mentiras que w8 gestiona mejor la memoria, es un dinosaurio como todas las versiones de windows, su interfaz es INSUFRIBLE...confusa a mas no poder y el colmo....una politica de "seguridad" peor que la de apple.

Y deje de leer cuando dices que ubuntu es el mejor sistema operativo linux....me queda claro que no sabes ni merga de sistemas operativos...
 

Gnome3

Bovino maduro
#14
De entrada tu comparacion esta del nabo...comparas dos SO para pc (Windows 8 y Ubuntu) y android que fue diseñado para moviles..desde ahi estas mal...Mentiras que w8 gestiona mejor la memoria, es un dinosaurio como todas las versiones de windows, su interfaz es INSUFRIBLE...confusa a mas no poder y el colmo....una politica de "seguridad" peor que la de apple.

Y deje de leer cuando dices que ubuntu es el mejor sistema operativo linux....me queda claro que no sabes ni merga de sistemas operativos...
 

megaman17

Bovino Milenario
#15
Interesante aunque algo controversial y complejo en algunos términos

Tambien considero que deberías utilizar imágenes que enriquecieran el post
 
#16
Me dio hueva leerlo, todavía comparar Ubuntu con Windows 8 pero con Android además de que fue diseñado para plataformas moviles jajajajaja no manches
 

bakrdi

Bovino maduro
#17
para la otra haces una comparación entre un VW, un Mercedes y un Bentley... es lo mismo que hiciste aqui... no puedes comparar sistemas operativos con nucleos y tecnologias diferentes, que ejecutan en equipos cliente diferentes y dirigidos a segmentos de usuarios diferentes....

capichi?
 
Arriba