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?
- ¿Cómo establecer el mismo valor de matiz (constante) para cada píxel de una imagen usando ColorMatrix?
- Es libre de monocrómenos?
- Error al inflar el fragmento de clase, Xamarin
- Pase objetos personalizados a la siguiente actividad en Xamarin Android
- Cómo configurar onclick oyente en xamarin?
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.
- Cómo instalar dos actividades como una aplicación en Xamarin Android C #
- Cifrar datos entre C #, ANDROID e IPHONE
- Async / espera no reaccionar como se esperaba
- El botón Atrás de la barra de herramientas no funciona
- Desarrollador web visual Servicio web en depuración HTTP / 1.1 400 Solicitud incorrecta
- ¿Cómo puedo borrar la pila de navegación?
- Xamarin.Android - ¿la compilación de código nativo hace la ingeniería inversa más difícil?
- ¿Cómo iniciar una actividad de Android desde una aplicación de Unity?
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?