TL: DR; porque si puedes hacer todo desde cero, puedes hacerlo mucho mejor.
Android e iOS no tienen que ser compatibles binariamente con el software x86, por lo que los nuevos sistemas operativos pueden hacer un tesoro de todas las elecciones discutibles y compromisos hechos con sistemas más antiguos.
Por ejemplo, las mejoras más notables sobre las PC son fundamentales y no se pueden implementar en Windows, MacOS y OS X sin romper la compatibilidad con software o hacks más antiguos.
- ¿Es posible instalar software silenciosamente en una PC conectando solo una unidad flash?
- ¿Cuáles son algunos componentes de PC y hardware relacionado para cada letra del alfabeto?
- Cómo proteger tu PC de los gusanos de Internet
- ¿Por qué cada navegador se queda sin memoria constantemente y se bloquea con 4 GB de RAM en Windows 7 (versiones de 32 bits y 64 bits)?
- Cómo construir una PC de grabación Overwatch
Por ejemplo, el sistema de permisos se realiza en sistemas Unix (MacOS y Linux) mediante un byte, el acceso, la lectura, la escritura en un archivo y los periféricos se describen como archivos virtuales.
Si un usuario tiene acceso al archivo de la cámara, puede ver si existe, si ha leído, puede tomar una foto, si ha escrito , puede enviar datos a la cámara, por ejemplo, para cambiar la configuración.
El procedimiento habitual en Unix es que todos los programas que posee un usuario comparten los mismos privilegios, pero en Android todas las aplicaciones son como un usuario, por lo que cada aplicación puede tener diferentes permisos.
Esto no puede ser transferido a Unix ya que esto requeriría reescribir el software considerando esto.
Sistema de archivos
Windows usa NTFS, un sistema de archivos con registro diario que eventualmente necesita desfragmentación, y cargar un programa puede tomar más tiempo que la velocidad de lectura nominal del disco, porque el archivo tiene bloques en muchas partes no adyacentes del disco.
En la desfragmentación, el sistema operativo intenta organizar los bloques para mejorar el rendimiento de lectura.
Actualizadores
Mientras que en Linux y Android las actualizaciones están centralizadas, es el sistema operativo el que se encarga de buscar si hay actualizaciones, en Windows es pura anarquía.
Los programas le indican al sistema operativo que ejecute un proceso en segundo plano al inicio del sistema, que luego busca actualizaciones.
Las secuencias de comandos en el momento del arranque se ejecutan con la misma prioridad de las aplicaciones de usuario, y dado que todas tienen la misma prioridad, cuando inicia un programa, la CPU gira su tiempo de trabajo entre todos los actualizadores, y cada cambio de contexto tiene una pequeña sobrecarga, que se suma cuando Hay muchos procesos.
Lo que ralentiza el tiempo de arranque a un caracol.
En las actualizaciones de Linux se buscan después de que se realiza el arranque, todas las aplicaciones de usuario son felices y el sistema está relativamente inactivo, con baja prioridad, y el sistema sabe dónde buscar actualizaciones.
Una verificación de actualización completa usando “apt-get update” toma 26 segundos para 35 programas y usa menos del 5% de la CPU, después de eso el usuario es libre de elegir actualizar o no.