Vous êtes sur la page 1sur 6

1.

4 de Linux, pero no Linux Linux

Debajo del código fuente de Java, el código de bytes, la plataforma de


aplicaciones y la Dalvik VM, Android funciona con un sistema operativo basado en
Linux. Los sistemas operativos son bestias complejas, pero no tienes nada que
temer. Incluso si usted no sabe mucho acerca de ellos, como un programador será
capaz de comprender los conceptos fundamentales involucrados.

1.4.1 ¿Es Android Linux?

Hay un cierto desacuerdo sobre si el sistema operativo Android debe ser


conoce como Linux, el sistema operativo libre y de código abierto, creada por
Linus Torvalds en la década de 1990. La verdad es que depende tanto de lo que
entendamos por Linux, y lo delicado que eres. Tradicionalmente, Linux se refiere
al núcleo Linux, el sistema operativo central despojado de cualquier adicional
aplicaciones. A menudo, cuando la gente se refiere a un sistema operativo como
Linux, que significan un GNU /

Distribución de Linux. Una distribución GNU / Linux incluye el kernel Linux, el


conjunto de aplicaciones estándar del sistema operativo del proyecto GNU (que no
son exclusivos de Linux), además de las aplicaciones adicionales específicos para
esa distribución. Ubuntu, Red Hat, y OpenSUSE son ejemplos de distribuciones
GNU / Linux: consisten en un núcleo Linux (A menudo modificado), las
aplicaciones GNU, y otras aplicaciones específicas de su proveedor.
Una vez dicho esto, Android se basa en el kernel de Linux. Se ha bifurcado desde
la línea principal 2.6.x, pero no es una distribución de GNU / Linux, ya que carece
de muchas de las aplicaciones que todos GNU / Linux acción (especialmente el
sistema de ventanas X11 sistema). De hecho, Android ni siquiera contiene la GNU
estándar del lenguaje C biblioteca (Glibc). Más bien, contiene una implementación
personalizada, mucho más delgado optimizado para dispositivos móviles llamado
Bionic. Esto significa que los programas escritos para x86 GNU / Linux
distribuciones no funcionará en Android por defecto-en todo caso. En su lugar,
primero hay que ser compilado con la biblioteca de C-Android (Bionic).

De los androides y los pingüinos Cuando comenzó el desarrollo de Android, los


Núcleo del sistema operativo Android que comenzó como una rama real de la
2.6.x Linux kernel árbol. La comunidad de Linux tenía grandes esperanzas para el
futuro de Linux, con un jugador como Google activamente trabajando y mejorando
en el código fuente y los cambios que contribuyen de nuevo río arriba. Pero debido
a la fuerte modificaciones en la arquitectura de controlador (parcialmente causado
por la costumbre de Android la seguridad del sistema), las contribuciones de
código de la rama del kernel Android eran imposibles de combinar en la línea
principal del núcleo Linux. Esto molestó a la Linux de la comunidad, ya que
bloquea los vendedores que desarrollaron Android controladores de dispositivo,
manteniéndolas de contribuir código a Linuxkernel. Como resultado de esto, las
contribuciones de código realizado por Google a la
Proyecto del kernel de Linux se han separado completamente de kernel.org como
de Febrero de 2010, y los dos proyectos se están desarrollando de forma
independiente de entre sí.
A pesar de estas discusiones a veces señalado, el sistema operativo Android
siempre ha sido-y en su mayor parte todavía es-Linux. No permita que la mascota
traviesa Linux Tux el pingüino te engañe. Linux es un jugador serio en el mercado
de sistemas operativos y se implementa en millones de sistemas en todo el
mundo. Su arquitectura flexible, seguridad, velocidad y estabilidad lo convierten en
una excelente opción para muchos propósitos.
Si usted no tiene ninguna experiencia con un sistema operativo basado en Linux,
de nuevo, no te preocupes. Vas rara vez tienen acceso al sistema operativo
Android directamente, porque la mayoría de las tareas que implican el sistema
operativo son o bien envuelto en una interfaz de marco (cuando se habla de
desarrollo de aplicaciones), o se puede realizar por medio de herramientas
especializadas suministrada con la plataforma SDK (cuando se habla de
interacción a nivel de usuario como el acceso a la función Solicitud). Aún así, creo
que es una buena idea para saber acerca de ciertos aspectos de un típico Sistema
Linux, ya que algunos puntos clave son vitales para la comprensión de cómo las
aplicaciones de Android trabajar e interactuar (y por qué la Open Handset Alliance,
el consorcio de compañías detrás de Android, Linux eligió basar la plataforma on).
Vamos a empezar con Archivos de Linux y manejo de dispositivos, continúe con
su pauta de seguridad y, finalmente, tener un breve mirada a su modelo de
proceso y cómo afecta el desarrollo de aplicaciones.

1.4.2 Los dispositivos de almacenamiento y el sistema de archivos A diferencia de


Microsoft Windows, dispositivos de almacenamiento, como discos duros, tarjetas
de memoria, y demás, no se les asignan letras en Linux. En cambio, Linux utiliza
un único directorio árbol, la raíz llamada o /, donde cada directorio (incluido el
directorio raíz en sí misma) puede ser asignar a un dispositivo de almacenamiento
(o más precisamente, a una partición en un dispositivo de almacenamiento, pero
por simplicidad vamos a ignorar esta sutileza en lo sucesivo).
UNA NOTA SOBRE separadores de ruta A diferencia de Windows, el archivo y
rutas de directorio en Linux usan barras diagonales. Por ejemplo, el archivo
readme.txt en la ayuda de directorio, que se encuentra bajo el directorio raíz, se
tratarían utilizando la siguiente
ruta absoluta:

/ Help / readme.txtv

Si usted ya está en el directorio raíz, puede referirse a archivos utilizando un


familiar
path:

help / readme.txt o. / help / readme.txt

El punto (.) En una ruta de Linux siempre se refiere al directorio actual.


Un directorio asignado a un dispositivo de almacenamiento, se denomina un punto
de montaje. Además, nos dicen un dispositivo que se está montando en un
directorio. Ya ha llegado a través de la plazo montaje al conectar tu teléfono
Android en tu ordenador. Cuando se hacer esto, usted verá una notificación
preguntándole si desea montar SD del teléfono tarjeta. Esto significa que la tarjeta
SD dispositivo de almacenamiento se puede enlazar a través de un directorio que
usted será capaz de acceder a su contenido.
El directorio raíz debe ser siempre un punto de montaje, por lo general apunta a la
partición de arranque. Otros directorios puede referirse a otros dispositivos, tales
como una tarjeta de memoria o un DVD conducir. Estos dispositivos se pueden
montar y desmontar en tiempo de ejecución, haciendo de este un flexibles enfoque
de la gestión de múltiples dispositivos y rutas de acceso. Echemos un vistazo a la
guía árbol de una instancia de emulador de Android, como se ve en la figura 1.9
(usted aprenderá más sobre el emulador y la herramienta adb utilizado para lanzar
el proyectil en la sección 1.6).
El símbolo # en la segunda línea de la figura 1.9 indica que se trata de una línea
de comandos pedirá el superusuario o root. Esta es la cuenta administrativa en un
sistema Linux, y el valor por defecto en el emulador de Android. Para los usuarios
normales, este símbolo sería cambiar a $. La ls / parte es una orden. ls es una
aplicación GNU que enumera el contenido del directorio o ruta dada a la misma,
en este caso, /, que es el directorio raíz. Todo siguiendo esa línea, hasta el
próximo símbolo #, es la salida del comando ls.

Por lo general, usted no tiene que lidiar con la mayoría de los archivos y
directorios, pero para algunos de estos, es útil saber dónde están y para qué
sirven. Tabla 1.2 enumera algunas de los lugares más importantes en el sistema
de archivos de Android.
Locación Descripción
/sdcard Este es el punto de montaje para la
Secure Digital (SD) tarjeta de
almacenamiento masivo que puede
pegarse en muchos dispositivos
Android. Si desea navegar por el
contenido o copiar archivos desde /
hacia el él, este es el lugar donde
queremos mirar.
/data/app Aquí es donde Android guarda todas
las aplicaciones instaladas, en su forma
(incluido como archivos APK).
/data/data Aquí es donde Android guarda los
datos específicos de la aplicación. Si,
por ejemplo, la aplicación utiliza un
archivo de preferencias o bibliotecas
paquetes personalizados, se pueden
encontrar aquí.
Cuando se habla acerca de los archivos y directorios, una pregunta que
inevitablemente surge es ¿qué sobre la seguridad y la privacidad? ¿Cómo se
puede evitar que otro usuario pueda acceder a su datos privados? Como
resultado, Linux utiliza un sistema de permisos sencilla pero eficaz manejar eso.

1.4.3 Las cuentas de usuario y permisos de archivo.


Una cosa que Linux es popular para, sobre todo en entornos multiusuario, es su
facilidad de uso la gestión de cuentas y estrechamente relacionado-su permiso y
el modelo de privacidad. Permisos en Linux se manejan en base a cada archivo.
Esto puede parecer restrictiva, pero no es, porque todavía no mencionar un
aspecto bastante curioso acerca de Linux (de hecho, cualquier Basado en UNIX
OS): todo en Linux es un archivo. Discos y procesos están representados y
controlada por los archivos, las aplicaciones y sus configuraciones son archivos,
incluso los directorios son archivos. Por lo tanto, puede controlar el acceso a casi
cualquier cosa mirando a uno o más archivos.
Esto se refleja en el modelo de seguridad de Linux, los permisos se almacenan
directamente en el sistema de archivos. Cada máscara de permisos de archivos
controla tres reinos de seguridad: usuario, grupo y otros (correspondiente al
propietario del archivo, el grupo del archivo de usuario, y todos los demás,
respectivamente). Para cada uno de estos ámbitos, se puede establecer leer,
escribir y ejecutar el archivo por separado. Un archivo puede ser, por ejemplo
permisos de escritura para su propietario, pero no por cualquier persona más. Al
ejecutar el comando ls-l en un archivo o directorio, como se ve en la figura 1.10,
muestra los permisos, y algunas cosas notables.
Hay varias partes importantes a la salida vista en la figura 1,10. Vamos a tocar
cada sección de izquierda a derecha. La carta más a la izquierda en el grupo de
permisos indica el tipo de archivo (en este caso para el directorio d). Los tres
grupos de lectura-escritura-ejecución permisos (rwx) corresponden a usuarios,
grupos y otros. Un guión indica el ausencia de un permiso. El siguiente es el
usuario. En este caso, el usuario del sistema posee este recurso. Después de que
es el grupo, caché. La fecha y hora de última actualización es el siguiente, seguido
por el nombre del recurso. Aquí tenemos un directorio llamado cache. En total,
este salida nos muestra que el usuario y grupo tienen acceso completa al
directorio y todo el mundo otra cosa no tiene permisos en todos los que ni siquiera
pueden listar el contenido del directorio.
Este sistema permite un control detallado sobre los recursos (archivos, directorios
y otros los recursos que se tratan como archivos). Esto tiene una implicación
importante para Android.
Cuando un usuario instala una aplicación en su teléfono Android, una cuenta de
usuario se crea una nueva para la aplicación, y que cuenta sólo puede acceder a
los archivos. La aplicación es por lo tanto un recinto de seguridad. No se puede
acceder a los archivos del sistema, archivos de otras aplicaciones, o privadas del
usuario de datos sólo se puede acceder a sus propios archivos y datos. Esto no
quiere decir que Aplicaciones de Android no puede interoperar o acceder a los
datos de otros, o que los usuarios y permisos no se pueden controlar
explícitamente. Todas esas cosas son posibles, y haremos aprender acerca de
ellos, pero los ajustes por defecto son un usuario bloqueado por aplicación.

1.4.4 Procesos y multitarea.


Modelo de seguridad riguroso Android continúa con los procesos del sistema.
Cada Android aplicación se inicia en su propio proceso de sistema Linux, el
aislamiento de su estado de cualquier otro proceso funcionando al mismo tiempo-
en particular desde otras aplicaciones. Esto se debe a una proceso de aplicación
en Linux (de hecho, cualquier sistema operativo moderno) sólo está permitida para
acceder a la memoria que ha sido asignado, no la memoria reservada por el
sistema operativo u otra aplicación.
Nos gustaría mencionar un aspecto más brevemente, y que la multitarea es.
Aunque todos los sistemas operativos modernos pueden ejecutar varios procesos
en paralelo, se puede utilizar de ejecutar una sola aplicación a la vez en el
teléfono. Esta limitación no está presente en la plataforma Android, se puede
ejecutar tantas aplicaciones en paralelo a su gusto.
Multitarea ofrece la gran ventaja de no tener que salir de una aplicación cuando el
lanzamiento de otro, la mejora de la experiencia general del usuario. Esto es
importante en plataformas donde la interacción entre aplicaciones es parte del
diseño global del sistema, que es el caso para Android. Android equilibra el costo
potencialmente significativa de múltiples aplicaciones que se ejecutan
simultáneamente en un entorno limitado con algún diseño opciones.
Específicamente Android da preferencia a las solicitudes que el usuario se
encuentra actualmente interactuar con, o se ha utilizado más recientemente, y
todas las aplicaciones que se ejecutan en una pila.
Vamos a aprender más sobre el ciclo de vida de aplicaciones de Android, y los
procesos y tareas, en el capítulo 3, pero la plataforma gestiona los recursos del
sistema al equilibrar más la aplicaciones relevantes.
Eso es todo lo que necesitas saber sobre el linaje de Linux de Android. Si usted
quiere aprender Más información acerca de Linux en sí, hay un montón de buenos
libros sobre ese tema, pero que ahora que está equipado con los fundamentos de
la gestión de archivos de Linux, y han sido introducido a su cuenta, la seguridad y
el modelo de proceso, ya está bueno para aventurarse en las bibliotecas Android
nativas que se ejecutan en la parte superior de la misma.

Vous aimerez peut-être aussi