Algunas preguntas sobre el núcleo de Android
Soy nuevo en el núcleo del androide y sistemas operativos móviles y tengo algunas preguntas sobre el núcleo de android.
1) ¿El sistema operativo Android tiene modo de kernel y un modo de usuario como sistemas operativos normales de escritorio? ¿También apoya cosas como memoria virtual? También me enteré de Dalvik VMM. ¿Es una copia de dalvik VMM creada para todos y cada uno de los procesos?
- Xamarin Forms ListView Programatic Refresh No se detiene en Android cuando se carga la página
- Xamarin "intenta invocar el método virtual 'void android.view.View.unFocus (android.view.View)' en una referencia a un objeto nulo"
- App Crash instantáneamente sin excepción o registro (parece como xamarin / mono error)
- Actualización de la aplicación Android de Xamarin
- ¿Por qué Xamarin.Forms es tan lento al mostrar algunas etiquetas (especialmente en Android)?
2) Otra pregunta es que escuché android crea un sistema de archivos independiente para cada proceso (cada aplicación). Es esto cierto ? Si es así, ¿cómo OS mantiene estos sistemas de archivos y dónde están montados. ¿Tiene una jerarquía como los sistemas basados en Unix?
3) Otra pregunta es sobre IPC en android. ¿Qué son los encuadernadores en android? ¿Cómo difiere de los mecanismos normales de IPC como tuberías, colas de msg etc.
4) Otra pregunta no relacionada con Android, pero ¿Cómo el controlador de dirección de Flash basada en discos como unidades de estado sólido, etc Por ejemplo: normal HDD bloque puede ser identificado por cilindro, el sector y una pista.
- Servidor para la notificación de empuje de GCM a android en C #
- Enviar mensaje a Whatsapp / Tango / Kik / Viber por correo electrónico
- Google reproduce error al realizar una compra mientras implementa Soomla Unity3d plugin
- Escribir la implementación c # de la clase abstracta en línea?
- Unity c #, tomar captura de pantalla y guardar en archivo como jpg
- ¿Cuál es la forma correcta de auto-hospedar una API Web?
- ¿Cómo configurar el mapa en el proyecto pcl de xamarin.forms?
- Android FileObserver ejemplo en Xamarin / C #?
1. El "kernel de Android" es el kernel de Linux.
1a. No, no has oído hablar de la "Dalvik VMM", has oído hablar de la "Dalvik VM", que es simplemente un nuevo tipo de Java VM. Ejecuta aplicaciones Java. No hay magia. No, no hay de alguna manera un VM de Dalvik asociado con "cada proceso", pero sí, cada aplicación se ejecuta en un proceso independiente.
2. No. Hay una estructura de directorios, no sistemas de archivos distintos.
3. ¿Por qué Binder?
4. Android utiliza los dispositivos Linux MTD y MTD-Block habituales. Y el mundo es LBA, ya sea para flash o discos duros. CHS es sólo para aquellos que viajan en el tiempo treinta años al pasado.
¿Tiene el kernel de Android un espacio de núcleo y espacio de usuario?
El kernel utilizado en dispositivos Android es un núcleo 2.6 que proporciona los servicios centrales del sistema, como gestión de memoria, gestión de procesos, pila de red y modelo de controlador.
Así que sí tiene un núcleo y el espacio del usuario. Por ejemplo, tiene el sistema de archivos regular / proc para la comunicación entre el kernel y el espacio del usuario.
Es cierto que cada aplicación se ejecuta en su propio proceso con su propia instancia de DVM.
Puedes leer más sobre ello en la sección ¿Qué es Android? página.
¿Cómo se ve la estructura de archivos de la aplicación en Android?
Sí, cada aplicación tiene su propia estructura de directorios para datos de aplicaciones como bases de datos, preferencias compartidas y otros archivos específicos de aplicación que se ve así.
/ data / data / nombre de paquete
Aparte de eso, los archivos .apk reales se encuentran en
/ data / app
No estoy muy seguro acerca de su pregunta si se trata de un sistema de jerarquía basado en UNIX. Supongo que quieres saber si las aplicaciones se colocarán en / usr / bin / y así sucesivamente. Entonces no. Excepto que usted escribe algunos binarios usted mismo y construir su imagen personalizada, entonces definitivamente debe colocar sus binarios del sistema en los lugares por defecto FSH.
Sobre la pregunta tres. No estoy muy seguro de a qué se refiere. Si te refieres a la UNIX IPC entonces bien es un kernel 2.6 con todas sus funciones básicas como los estados anteriores. Si se está refiriendo a llamadas de procedimiento remoto de las API, entonces puede echar un vistazo a llamadas de procedimiento remoto .
La pregunta cuatro está más allá de mi conocimiento o no recibí tu pregunta.
En general, te recomiendo algunas lecturas muy interesantes.
- ¿Qué es Android? como se ha indicado anteriormente.
- Fundamentos de aplicaciones para Android
- Página Fuentes de Android
Espero que ayudó de alguna manera.
1) Si desea permisos para varias operaciones, debe habilitarlas en el manifiesto. 2) Sí. Cada aplicación tiene su propio sistema de archivos, pero los archivos se acceden sólo por nombre de archivo (sin ruta). Si desea utilizar una memoria externa como una tarjeta SD, debe habilitar el permiso en el manifiesto y utilizar una ruta de acceso / nombre de archivo completa. 3) No estoy familiarizado con los carpetas androides (aunque los veo mientras depura), pero pasar mensajes entre tareas es muy sencillo. 4) Los bloques de memoria basados en Flash se identifican por dirección. Flash no es RAM, pero es de acceso aleatorio.
- El emulador siempre se inicia en lugar del dispositivo
- Cómo limitar la selección de casilla de verificación en listview?