Está en la página 1de 42

TELEMATICA II

TRABAJO DE INVESTIGACION
ANDROID UNIX

INTEGRANTES:
CHOQUEHUANCA GUTIERREZ DIEGO
JIMENEZ ULLOA ALAN JORDAN
RIBERA MONTOYA JAIME MAURICIO
ZAPATA CALDERON ILSEN FABIOLA

DOCENTE:
ING. AVILA MACEDA JUAN ANGEL

MATERIA:
TEL-236

SEMESTRE:
II-2016

ANDROID

El ao 2003, Andy Rubin, Rich Miner, Nick Sears y Chris White daban forma a Android Inc. En sus
inicios, nicamente trascendi que la actividad de la empresa se centraba en el desarrollo de
software para telfonos mviles. Android Inc. pas casi dos aos trabajando en la sombra, hasta
que Google comenz a reclutar a fuerza de talonario a algunas startup (trmino que se refiere a
nuevas compaas con un futuro prometedor) del sector mvil, con la clara intencin de replicar su
xito de la Web en el futuro de las telecomunicaciones inalmbricas.
En Mayo del mismo ao Google se haca con Dodgeball, la empresa que desarroll un sistema de
red social y posicionamiento mvil que, una vez integrada en la estructura empresarial de los
chicos de Mountain View, ces su actividad en 2009 para dar paso a Google Latitude. Lleg el mes
de agosto y le toc el turno a Android Inc., la fecha clave para llegar a entender mejor el xito de
Android es el 5 de noviembre de 2007. Ese da se fundaba la OHA (Open Handset Alliance), una
alianza comercial de 35 componentes iniciales liderada por Google, que contaba con fabricantes de
terminales mviles, operadores de telecomunicaciones, fabricantes de chips y desarrolladores de
software. El mismo da se dio a conocer por vez primera lo que hoy conocemos como Android, una
plataforma de cdigo abierto para mviles que se presentaba con la garanta de estar basada en el
sistema operativo Linux.
Aunque no fue hasta un ao despus, en Octubre de 2008 cuando lo vimos por primera vez
funcionando en un HTC Dream. Vea la luz en los USA un mvil con la primera versin final de
Android, la 1.0. El modelo G1 de HTC quedar para la historia como el iniciador de este gigante
llamado Android.
Mucho tiempo ha pasado desde el lanzamiento de Android y muchas han sido las novedades que
hemos visto. De la primera versin de Android destac la plena integracin de los servicios de
Google, el navegador Web compatible con HTML y XHTML (que adems ofreca la funcin de
zoom integrado y permita ver mltiples pginas en diferentes ventanas). La guinda del pastel y el
elemento que a la larga ha fraguado el xito del sistema se presentaba por primera vez: Android
Market, el almacn de aplicaciones ms popular.
Existen muchas versiones de Android. Las versiones reciben, en ingls, el nombre de diferentes
postres.
Android 1.0 Nivel de API 1 (septiembre 2008)
Primera versin de Android. Nunca se utiliz comercialmente, por lo que no tiene mucho sentido
desarrollar para esta plataforma.
Android 1.1 Nivel de API 2 (febrero 2009)

No se aadieron apenas funcionalidades simplemente se fijaron algunos errores de la versin


anterior. Es la opcin a escoger si queremos desarrollar una aplicacin compatible con todos los
dispositivos Android. No obstante, apenas existen usuarios con esta versin.
Android 1.5 Nivel de API 3 (abril 2009)

Es la primera versin con algn usuario, aunque en la actualidad apenas quedan. Como
novedades, se incorpora la posibilidad de teclado en pantalla con prediccin de texto (ya no es
necesario que los terminales tengan un teclado fsico), as como la capacidad de grabacin
avanzada de audio y vdeo. Tambin aparecen los widgets de escritorio y live folders. Incorpora
soporte para Bluetooth estreo, por lo que permite conectarse automticamente a auriculares
Bluetooth. Las transiciones entre ventanas se realizan mediante animaciones.
Android 1.6 Nivel de API 4 (septiembre 2009)

Permite capacidades de bsqueda avanzada en todo el dispositivo. Tambin se incorpora gestures


y la sntesis de texto a voz. Asimismo, se facilita que una aplicacin pueda trabajar con diferentes
densidades de pantalla. Soporte para resolucin de pantallas WVGA. Aparece un nuevo atributo
XML, onClick, que puede especificarse en una vista. Soporte para CDMA/EVDO, 802.1x y VPNs.
Android 2.0 Nivel de API 5 (octubre 2009)
Esta versin de API apenas cuenta con usuarios, dado que la mayora de fabricantes pasaron
directamente de la versin 1.6 a la 2.1. Como novedades cabra destacar que incorpora un API
para manejar el bluetooth 2.1. Nueva funcionalidad que permite sincronizar adaptadores para
conectarlo a cualquier dispositivo. Ofrece un servicio centralizado de manejo de cuentas. Mejora la
gestin de contactos y ofrece ms ajustes en la cmara. Se ha optimizado la velocidad de
hardware. Se aumenta el nmero de tamaos de ventana y resoluciones soportadas. Nueva
interfaz del navegador y soporte para HTML5. Mejoras en el calendario y soporte para Microsoft
Exchange. La clase MotionEvent ahora soporta eventos en pantallas multitctil.
Android 2.1 Nivel de API 7 (enero 2010)

Se considera una actualizacin menor, por lo que la siguieron llamando clair. Destacamos el
reconocimiento de voz, que permite introducir un campo de texto dictando sin necesidad de utilizar
el teclado. Tambin permite desarrollar fondos de pantalla animados. Se puede obtener
informacin sobre la seal de la red actual que posea el dispositivo. En el paquete WebKit se
incluyen nuevos mtodos para manipular bases de datos almacenadas en Internet.
Android 2.2 Nivel de API 8 (mayo 2010)

Como caracterstica ms destacada se puede indicar la mejora de velocidad de ejecucin de las


aplicaciones (ejecucin del cdigo de la CPU de 2 a 5 veces ms rpido que en la versin 2.1 de
acuerdo a varios benchmarks). Esto se consigue con la introduccin de un nuevo compilador JIT
de la mquina Dalvik.
Se aaden varias mejoras relacionadas con el navegador web, como el soporte de Adobe Flash
10.1 y la incorporacin del motor Javascript V8 utilizado en Chrome.
El desarrollo de aplicaciones permite las siguientes novedades: se puede preguntar al usuario si
desea instalar una aplicacin en un medio de almacenamiento externo (como una tarjeta SD),
como alternativa a la instalacin en la memoria interna del dispositivo; las aplicaciones se
actualizan de forma automtica cuando aparece una nueva versin; proporciona un servicio para la
copia de seguridad de datos que se puede realizar desde la propia aplicacin para garantizar al
usuario el mantenimiento de sus datos; y por ltimo, se facilita que las aplicaciones interaccionen
con el reconocimiento de voz y que terceras partes proporcionen nuevos motores de
reconocimiento.
Se mejora la conectividad: ahora podemos utilizar nuestro telfono para dar acceso a Internet a
otros dispositivos (tethering), tanto por USB como por Wi-Fi. Tambin se aade el soporte a Wi-Fi
IEEE 802.11n y notificaciones push.
Se aaden varias mejoras en diferentes componentes: en la API grfica OpenGL ES; por ejemplo,
se pasa a soportar la versin 2.0. Para finalizar, permite definir modos de interfaz de usuario
(automvil y noche) para que las aplicaciones se configuren segn el modo seleccionado por
el usuario.

Android 2.3 Nivel de API 9 (diciembre 2010)

Debido al xito de Android en las nuevas tabletas ahora soporta mayores tamaos de pantalla y
resoluciones (WXGA y superiores).
Incorpora un nuevo interfaz de usuario con un diseo actualizado. Dentro de las mejoras de la
interfaz de usuario destacamos la mejora de la funcionalidad de cortar, copiar y pegar y un
teclado en pantalla con capacidad multitctil.
Se incluye soporte nativo para varias cmaras, pensado en la segunda cmara usada en
videoconferencia. La incorporacin de esta segunda cmara ha propiciado la inclusin de
reconocimiento facial para identificar el usuario del terminal.
La mquina virtual de Dalvik introduce un nuevo recolector de basura que minimiza las pausas de
la aplicacin, ayudando a garantizar una mejor animacin y el aumento de la capacidad de
respuesta en juegos y aplicaciones similares. Se trata de corregir as una de las lacras de este
sistema operativo mvil, que en versiones previas no ha sido capaz de cerrar bien las aplicaciones
en desuso. Se dispone de mayor apoyo para el desarrollo de cdigo nativo (NDK).Tambin se
mejora la gestin de energa y control de aplicaciones. Y se cambia el sistema de ficheros, que
pasa de YAFFS a ext4.
Entre otras novedades destacamos en soporte nativo para telefona sobre Internet VoIP/SIP. El
soporte para reproduccin de vdeo WebM/VP8 y codificacin de audio AAC. El soporte para la
tecnologa NFC. Las facilidades en el audio, grficos y entradas para los desarrolladores de juegos.
El soporte nativo para ms sensores (como giroscopios y barmetros). Un gestor de descargas
para las descargas largas.
Android 3.0 Nivel de API 11 (febrero 2011)
Para mejorar la experiencia de Android en las nuevas tabletas se lanza la versin 3.0 optimizada
para dispositivos con pantallas grandes. La nueva interfaz de usuario ha sido completamente
rediseada con paradigmas nuevos para la interaccin y navegacin. Entre las novedades
introducidas destacan: Los fragments, con los que podemos disear diferentes elementos del
interfaz de usuario. La barra de acciones, donde las aplicaciones pueden mostrar un men siempre
visible. Las teclas fsicas son reemplazadas por teclas en pantalla; se mejoran las notificaciones,
arrastrar y soltar y las operaciones de cortar y pegar.
La nueva interfaz se pone a disposicin de todas las aplicaciones, incluso las construidas para
versiones anteriores de la plataforma. Esto se consigue gracias a la introcuccin de libreras de
compatibilidad[1] que pueden ser utilizadas en versiones anteriores a la 3.0.
Se mejoran los grficos 2D/3D gracias al renderizador OpenGL acelerado por hardware. Apacere el
nuevo motor de grficos Rederscript, que saca mayor rendimiento al hardware e incorpora su
propia API. Se incorpora un nuevo motor de animaciones mucho ms flexible, conocido como
animacin de propiedades.

Primera versin de la plataforma que soporta procesadores multincleo. La mquina virtual Dalvik
ha sido optimizada para permitir multiprocesado, lo que permite una ejecucin ms rpida de las
aplicaciones, incluso aquellas que son de hilo nico.
Se incorporan varias mejoras multimedia, como listas de reproduccin M3U a travs de HTTP Live
Sreaming, soporte a la proteccin de derechos musicales (DRM) y soporte para la transferencia de
archivos multimedia a travs de USB con los protocolos MTP y PTP.
En esta versin se aaden nuevas alternativas de conectividad, como las nuevas APIS de
Bluetooth A2DP y HSP con streaming de audio. Tambin, se permite conectar teclados completos
por USB o Bluetooth.
Se mejora el uso de los dispositivos en un entorno empresarial. Entre las novedades introducidas
destacamos las nuevas polticas administrativas con encriptacin del almacenamiento, caducidad
de contrasea y mejoras para administrar los dispositivos de empresa de forma eficaz.
A pesar de la nueva interfaz grfica optimizada para tabletas, Android 3.0 es compatible con las
aplicaciones creadas para versiones anteriores.
Android 3.1 Nivel de API 12 (mayo 2011)
Se permite manejar dispositivos conectados por USB (tanto host como dispositivo). Protocolo de
transferencia de fotos y vdeo (PTP/MTP) y de tiempo real (RTP).
Android 3.2 Nivel de API 13 (julio 2011)

Optimizaciones para distintos tipos de tableta. Zoom compatible para aplicaciones de tamao fijo.
Sincronizacin multimedia desde SD.
Android 4.0 Nivel de API 14 (octubre 2011)
La caracterstica ms importante es que se unifican las dos versiones anteriores (2.x para telfonos
y 3.x para tabletas) en una sola compatible con cualquier tipo de dispositivo. Entre las
caractersticas ms interesantes destacamos:
Se introduce una nueva interfaz de usuario totalmente renovada; por ejemplo, se reemplazan los
botones fsicos por botones en pantalla (como ocurra en las versiones 3.x). Nueva API de
reconocimiento facial que, entre otras muchas aplicaciones, permite al propietario desbloquear el
telfono. Tambin se mejora en el reconocimiento de voz; por ejemplo, se puede empezar a hablar
sin esperar la conexin con el servidor.
Aparece un nuevo gestor de trfico de datos por Internet, donde podremos ver el consumo de
forma grfica y donde podemos definir los lmites de ese consumo para evitar cargos inesperados
con la operadora. Incorpora herramientas para la edicin de imgenes en tiempo real, para
distorsionar, manipular e interactuar con la imagen en el momento de ser capturada. Se mejora la
API para comunicaciones por NFC y la integracin con redes sociales.
En diciembre de 2011 aparece una actualizacin de mantenimiento (versin 4.0.2) que no aumenta
el nivel de API.

Android 4.0.3 Nivel de API 15 (diciembre 2011)

Se introducen ligeras mejoras en algunas APIs incluyendo el de redes sociales, calendario, revisor
ortogrfico, texto a voz y bases de datos entre otros. En marzo de 2012 aparece la actualizacin
4.0.4.
Android 4.1 Nivel de API 16 (julio 2012)
En esta versin se hace hincapi en mejorar un punto dbil de Android: la fluidez de la interfaz de
usuario. Con este propsito se incorporan varias tcnicas: sincronismo vertical, triple bfer y
aumento de la velocidad del procesador al tocar la pantalla.
Se mejoran las notificaciones con un sistema de informacin expandible personalizada. Los
widgets de escritorio pueden ajustar su tamao y hacerse sitio de forma automtica al situarlos en
el escritorio. El dictado por voz puede realizarse sin conexin a Internet (de momento, solo en
ingls).
Se introducen varias mejoras en Google Search. Se potencia la bsqueda por voz con resultados
en forma de ficha. La funcin Google Now permite utilizar informacin de posicin, agenda y hora
en las bsquedas.
Se incorporan nuevos soportes para usuarios internacionales, como texto bidireccional y teclados
instalables. Para mejorar la seguridad, las aplicaciones son cifradas. Tambin se permiten
actualizaciones parciales de aplicaciones.
Android 4.2 Nivel de API 17 (noviembre 2012)
Una de las novededes ms importantes es que podemos crear varias cuentas de usuario en el
mismo dispositivo. Aunque, esta caracterstica solo est disponible en tabletas. Cada cuenta tendr
sus propias aplicaciones y configuracin.
Los Widgets de escritorio pueden aparecer en la pantalla de bloqueo. Se incorpora un nuevo
teclado predictivo deslizante al estilo Swype. Posibilidad de conectar dispositivo y TVHD mediante
wifi (Miracast). Mejoras menores en las notificaciones. Nueva aplicacin de cmara que incorpora
la funcionalidad Photo Sphere para hacer fotos panormicas inmersivas (en 360).
Android 4.3 Nivel de API 18 (julio 2013)

Esta versin introduce mejoras en mltiples reas. Entre ellas los perfiles restringidos (disponible
slo en tabletas) que permiten controlar los derechos de los usuarios para ejecutar aplicaciones
especficas y para tener acceso a datos especficos. Igualmente, los programadores pueden definir
restricciones en las apps, que los propietarios puedan activar si quieren. Se da soporte para
Bluetooth Low Energy (BLE) que permite a los dispositivos Android comunicarse con los perifricos
con bajo consumo de energa. Se agregan nuevas caractersticas para la codificacin, transmisin
y multiplexacin de datos multimedia. Se da soporte para OpenGL ES 3.0. Se mejora la seguridad
para gestionar y ocultar las claves privadas y credenciales.
Android 4.4 Nivel de API 19 (octubre 2013)

Aunque se esperaba la versin nmero 5.0 y con el nombre Key Lime Pie, Google sorprendi con
el cambio de nombre, que se debi a un acuerdo con Nestl para asociar ambas marcas.
El principal objetivo de la versin 4.4 es hacer que Android est disponible en una gama an ms
amplia de dispositivos, incluyendo aquellos con tamaos de memoria RAM de solo 512 MB. Para
ello, todos los componentes principales de Android han sido recortados para reducir sus
requerimientos de memoria, y se ha creado una nueva API que permite adaptar el comportamiento
de la aplicacin en dispositivos con poca memoria.
Ms visibles son algunas nuevas caractersticas de la interfaz de usuario. El modo de inmersin en
pantalla completa oculta todas las interfaces del sistema (barras de navegacin y de estado) de tal
manera que una aplicacin puede aprovechar el tamao de la pantalla completa. WebViews
(componentes de la interfaz de usuario para mostrar las pginas Web) se basa ahora en el
software de Chrome de Google y por lo tanto puede mostrar contenido basado en HTM5.
Se mejora la conectividad con soporte de NFC para emular tarjetas de pago tipo HCE, varios
protocolos sobre Bluetooth y soporte para mandos infrarrojos. Tambin se mejoran los sensores
para disminuir su consumo y se incorpora un sensor contador de pasos.
Se facilita el acceso de las aplicaciones a la nube con un nuevo marco de almacenamiento. Este
marco incorpora un tipo especfico de content provider conocido como document provider, nuevas
intenciones para abrir y crear documentos y una ventana de dilogo que permite al usuario
seleccionar ficheros. Se incorpora un administrador de impresin para enviar documentos a travs
de WiFi a una impresora. Tambin se aade un content provider para gestionar los SMS.
Desde una perspectiva tcnica, hay que destacar la introduccin la nueva mquina virtual ART, que
consigue tiempos de ejecucin muy superiores a la mquina Dalvik. Sin embargo, todava est en
una etapa experimental. Por defecto se utiliza la mquina virtual de Dalvik, permitiendo a los
programadores activar opcionalmente ART para verificar que sus aplicaciones funcionan
correctamente.
Android 5.0 Nivel de API 21 (noviembre 2014)
La novedad ms importante de Lollipop es la extensin de Android a nuevas plataformas,
incluyendo Android Wear, Android TV y Android Auto. Hay un cambio significativo en la
arquitectura, al utilizar la mquina virtual ART en lugar de Dalvik. Esta novedad ya haba sido
incorporada en la versin anterior a modo de prueba. ART mejora de forma considerable el tiempo

de ejecucin del cdigo escrito en Java. Adems se soporta dispositivos de 64 bits en


procesadores ARM, x86, y MIPS. Muchas aplicaciones del sistema (Chrome, Gmail,) se han
incorporado en cdigo nativo para una ejecucin ms rpida.
Desde el punto de vista del consumo de batera, hay que resaltar que en Lollipop el modo de
ahorro de batera se activa por defecto. Este modo desconecta algunos componentes en caso de
que la batera est baja. Se incorpora una nueva API (android.app.job.JobScheduler) que nos
permite que ciertos trabajos se realicen solo cuando se cumplan determinadas condiciones (por
ejemplo con el dispositivo cargando). Tambin se incluyen completas estadsticas para analizar el
consumo que nuestras aplicaciones hacen de la batera.
En el campo Grfico Android Lollipop incorpora soporte nativo para OpenGL ES 3.1. Adems esta
versin permite aadir a nuestras aplicaciones un paquete de extensin con funcionalidades
grficas avanzadas (fragment shader, tessellation, geometry shaders, ASTC,).
Otro aspecto innovador de la nueva versin lo encontramos en el diseo de la interfaz de usuario.
Se han cambiado los iconos, incluyendo los de la parte inferior (Retroceder, Inicio y Aplicaciones),
que ahora son un tringulo, un crculo y un cuadrado.
El nuevo enfoque se centra en Material Design (http://www.google.com/design/material-design.pdf).
Consiste en una gua completa para el diseo visual, el movimiento y las interacciones a travs de
plataformas y dispositivos. Google pretende aplicar esta iniciativa a todas las plataformas,
incluyendo wearables y Google TV. La nueva versin tambin incluye varias mejoras para controlar
las notificaciones. Ahora son ms parecidas a las tarjetas de Google Now y pueden verse en la
pantalla de bloqueo.
Se incorporan nuevos sensores como el de pulso cardiaco, el de inclinacin (para reconocer el tipo
de actividad del usuario), y sensores de interaccin compuestos para detectar ciertos gestos.
Como curiosidad la nueva versin introduce un modo de bloqueo que impide al usuario salir de una
aplicacin y bloquea las notificaciones. Esto podra utilizarse, por ejemplo, para que mientras un
usuario realiza un examen, no pueda ver las notificaciones, acceder a otras aplicaciones, o volver a
la pantalla de inicio.
Android 5.1 Nivel de API 22 (marzo 2015)
Se aaden algunas mejoras a nivel de usuario en los ajustes rpidos. A nivel de API se aade
soporte para varias tarjetas SIM en un mismo telfono; la clase AndroidHttpClient se marca como
obsoleta; y se aade un API para que las empresas proveedoras de servicios de telecomunicacin
puedan distribuir software de forma segura a travs de Google Play. La caracterstica ms
interesante es que para poder acceder a esta API la aplicacin ha de estar firmada con un
certificado que coincida con el que el usuario tiene en su tarjeta UICC.

Android 6.0 Nivel de API 23 (octubre 2015)

Una de las novedades ms interesantes es el administrador de permisos. Los usuarios podrn


conceder o retirar ciertos permisos a cada aplicacin. Con esto el sistema da mucha ms
proteccin a la privacidad de los usuarios.
Ahora, el sistema realiza una copia de seguridad automtica de todos los datos de las aplicaciones.
Esto resulta muy til al cambiar de dispositivo o tras restaurar valores de fbrica. Para disponer de
esta funcionalidad simplemente usa el targer Android 6.0. No es necesario agregar cdigo
adicional.
Android 6.0 integra el asistente por voz Now on Tap. Es una evolucin de Google Now ms
integrada con las aplicaciones. Se activa con pulsacin larga de home. Aparecern tarjetas sobre la
aplicacin actual y lo que muestra. La aplicacin actual podr aportar informacin al asistente. En
esta misma lnea, se aade un API que permite interacciones basadas en voz. Es decir, si nuestra
aplicacin ha sido lanzada por voz, podremos solicitar una confirmacin de voz del usuario,
seleccionar de una lista de opciones o cualquier informacin que necesite.
Se introducen los enlaces de aplicacin con los que podremos asociar la aplicacin que abre una
URL en funcin de su dominio web. Aunque muchos dispositivos ya lo permitan, en esta
actualizacin se aade autentificacin por huella digital a la API. Tu aplicacin puede autenticar al
usuario usando las credenciales para desbloquear su dispositivo (pin, patrn o contrasea). Esto
libera al usuario de tener que recordar contraseas especficas de la aplicacin. Y te evita tener
que implementar tu propia interfaz de autenticacin.
Compartir con otros usuarios ahora es ms fcil con Direct Share. Permite no solo escoger la
aplicacin con la que compartes, sino tambin el usuario. Si tu aplicacin es un posible destino
para compartir vas a poder indicar al sistema la lista de usuarios que pueden recibir informacin.
En Android 6.0 podemos utilizar parte de un dispositivo de almacenamiento externo, para que sea
usado como almacenamiento interno. Podemos fragmentar, formatear y encriptar una tarjeta SD
para ser usada como memoria interna. Tambin podemos montar y extraer lpices de memoria
USB de forma nativa.
Se incorpora la plataforma de pagos abierta Android Pay que combina NFC y Host Card Emulation.
El nuevo gestor de batera, Doze, realiza un uso ms eficiente de los recursos, con lo que podemos
obtener dos horas extras de autonoma. Se da soporte de forma nativa a pantallas 4 K, lpices
Bluetooth, mltiples tarjetas SIM y linterna. Mejoras de posicionamiento utilizando redes WiFi y
dispositivos Bluetooth
Logotipo de Android (2007-2014).

Tiene una gran comunidad de desarrolladores creando aplicaciones para extender la funcionalidad
de los dispositivos. A la fecha, se ha llegado ya al 1.000.000 de aplicaciones disponibles para la
tienda de aplicaciones oficial de Android: Google Play, sin tener en cuenta aplicaciones de otras
tiendas no oficiales para Android como la tienda de aplicaciones Samsung Apps de Samsung,
slideme de java y amazon appstore.24 25 Google Play es la tienda de aplicaciones en lnea
administrada por Google, aunque existe la posibilidad de obtener software externamente. La tienda

F-Droid es completamente de cdigo abierto as como sus aplicaciones, una alternativa al software
privativo. Los programas estn escritos en el lenguaje de programacin Java.26 No obstante, no es
un sistema operativo libre de malware, aunque la mayora de ello es descargado de sitios de
terceros.27
El anuncio del sistema Android se realiz el 5 de noviembre de 2007 junto con la creacin de la
Open Handset Alliance, un consorcio de 78 compaas de hardware, software y
telecomunicaciones dedicadas al desarrollo de estndares abiertos para dispositivos mviles.28 29
Google liber la mayora del cdigo de Android bajo la licencia Apache, una licencia libre y de
cdigo abierto.30
La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un
framework Java de aplicaciones orientadas a objetos sobre el ncleo de las bibliotecas de Java en
una mquina virtual Dalvik con compilacin en tiempo de ejecucin hasta la versin 5.0, luego
cambio al entorno Android Runtime (ART).
Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz grfica (surface
manager), un framework OpenCore, una base de datos relacional SQLite, una Interfaz de
programacin de API grfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor grfico
SGL, SSL y una biblioteca estndar de C Bionic. El sistema operativo est compuesto por 12
millones de lneas de cdigo, incluyendo 3 millones de lneas de XML, 2,8 millones de lneas de
lenguaje C, 2,1 millones de lneas de Java y 1,75 millones de lneas de C++.
ARQUITECTURA.-

Linux Kernel
Esta capa de la plataforma Android, tiene como misin abstraer el hardware del resto de la
plataforma. Est basada en la versin del kernel 2.6 de Linux, y proporciona a Android servicios

bsicos tales como seguridad, gestin de memoria, gestin de procesos, drivers, y capa de red
entre otros.
Un ejemplo del auge que est teniendo Android en la comunidad open source, es el hecho de que
en la reciente liberacin de la versin 3.3 del kernel de Linux, ya se incluye cdigo especfico de la
plataforma Android.
Aplicaciones de Android
(Callejas, El Android Libre, 2012) Nos da a conocer aplicaciones acerca del sistema operativo
Androide Libre. Muchas aplicaciones para poder comentar con todos vosotros qu tal son y
despejar un poco las dudas de muchas de ellas. Tambin vosotros nos aportis nuevas
aplicaciones que analizar y dar a conocer. As que de tanto en tanto es necesario hacer un poco de
recopilacin y responder a la tpica pregunta de amigos, conocidos y familiares que se inician en
este maravilloso mundo que es Android. Evidentemente es una pregunta imposible de contestar,
porque lo que para algunos puede resultar mejor, para otros no lo es. As que para responder a
esta pregunta nosotros os hemos elaborado una lista de las 30 aplicaciones que no deben faltar en
tu Android.
Endomondo
Los Smartphone y el deporte son grandes compaeros, y evidentemente con buenas aplicaciones
podremos tener perfectos resultados o cuanto menos una informacin de lo ms completa de
nuestros entrenos o nuestras excursiones en su multitud de variantes. Y es que Endomondo tiene
potencial para casi cualquier deporte que se precie, desde el senderismo al patinaje sobre hielo.
Endomondo es ideal tanto para principiantes, deportistas casuales o profesionales. Todos
podremos tener buenas estadsticas de nuestras salidas, podremos ver nuestro progreso y
podremos consultar tanto el nuestro como el de nuestros amigos. Una aplicacin a la que
realmente no le falta de nada. Hay ms y variadas, pero Endomondo es de las ms completas.
(Ismael, 2012)
Google Currents y Flipboard
Los lectores de noticias son algo muy bsico para cualquiera con voluntad de estar informado en
todo momento de los temas que ms le interesan. Y evidentemente hay tambin una buena
variedad, pero quiz destacaramos dos que son los titanes de mostrar la informacin de una
manera elegante y al ms puro tradicional estilo revista. Hablamos de Google Currents y Flipboard.
La primera viene con garanta Google, que no es moco de pavo precisamente. La segunda viene
respaldada por un clamoroso apoyo por parte de la comunidad iOS y ahora portada a Android
tambin sigue cosechando seguidores. Ambos comparten cosas en comn, como hemos dicho el
formato en forma de revista es un atractivo aadido a poder leer nuestros feeds de forma
organizada, cmoda y con muchos pluses.
Cada una a su modo y manera. Lo mejor es que veis lo que en su da os explicamos de Google
Currents y Flipboard y escojis la que ms os convenga, no ser por calidad desde luego.
(Callejas, 2012)
Whatsapp y Spotbros
Estar permanentemente comunicado es una necesidad que se hace ms fcil y ms llevadera con
un smartphone. De eso no cabe duda, como tampoco cabe duda del autntico boom que ha
supuesto la aparicin de aplicaciones como Whatsapp, que han dejado los SMS y otro tipo de
comunicaciones ms tradicionales de los medios digitales por esta aplicacin sencilla de
mensajera.

Con ella podremos estar en contacto con nuestros amigos, hacer grupos y en definitiva
comunicarnos de la manera ms sencilla mediante conexin de datos o WiFi, en plan econmico.
Evidentemente existen alternativas a Whatsapp, que si bien es prctico y podramos decir que es
un estndar, quiz todava no acaba de funcionar del todo bien y precisamente no puede hacer
mucho alarde de ser un sistema del todo seguro.
Por eso una genial alternativa, ms segura que Whatsapp y con algunas caractersticas extra es
Spotbros. Por ejemplo una destacable es que para agregarte a Spotbros ser necesario que
ambos conozcis el telfono del otro, de lo contrario ser imprescindible enviar una solicitud de
amistad, tambin las comunicaciones van con un cifrado muy seguro (AES256) y no se almacena
informacin en los servidores por ms de una semana. (Callejas, 2012)
Twitter
Una de las redes sociales ms populares y ms "portables" es Twitter sin duda. Con Twitter
podemos comunicarnos y estar informados en algo tan breve como 140 caracteres. Algo fantstico
y muy revolucionario que hace de Twitter una de las redes sociales de ms popularidad y que ha
removido los cimientos de la comunicacin tal y como la conocamos. Evidentemente es tal la
popularidad de esta red social que tambin existen multitud de alternativas a cada cual mejor.
Por eso aqu no destacamos ninguna en especial porque sera demasiado injusto. Te instamos a
que leas el Especial de aplicaciones de Twitter que hemos elaborado, as como consejos. Tambin
existen aplicaciones que aaden funciones extra a nuestro cliente de Twitter, merece darle un
vistazo. Est claro que en la variedad est el gusto, y en el caso de Twitter tenemos muchas,
muchas alternativas. (Callejas, El Android Libre, 2012)
Fast For Facebook
Pese a que la aplicacin oficial de la red social ms popular est bastante bien, y ha recibido
importantes mejoras que la han hecho ms rpida y ms prctica, quiz todava le quede mucho
por mejorar y en este caso os comentamos una alternativa digna de mencin precisamente por ser
algo ms ptima y ms rpida que el cliente oficial.
Fast For Facebook aunque es todava una beta, promete mucho. Quiz el punto ms interesante
es su velocidad y su poco consumo de memoria. Esto es en parte por ser una aplicacin ms ligera
y simple que la oficial. Quiz necesita mejorar algunos puntos visuales pero por lo general es una
alternativa a tener en cuenta, sin duda. (Callejas, 2012)
Google +
Otra red social que tampoco quiere quedarse atrs en su adaptacin a smartphone es Google +.
Quiz algo menos popular que Facebook o Twitter, la red social de Google tambin busca su hueco
y desde luego con su aplicacin se hace muy cmodo mantenerte conectado. Un diseo muy
cuidado, detalles y facilidad de uso destacan en esta aplicacin con la que podremos estar al da
de nuestros crculos. Un rediseo que vino de la mano de la ltima actualizacin han hecho de
Google+ para Android un buen cliente, completo y verstil de esta red social que aunque como
decamos no sea la ms popular, se mantienen en el candelero. (Callejas, 2012)
Los Mejores Teclados
Evidentemente el teclado es un elemento indispensable para poder estar usando nuestro
smartphone o Tablet cmodamente. Y es que eso es de lo que se trata, de estar lo ms cmodo
posible para poder escribir sin cabrearnos cada pocos segundos porque nos equivocamos, o el
teclado tiene autonoma propia, etc. Seguro que sabis de lo que hablo.

Para gustos colores, y evidentemente cada uno tiene sus manas a la hora de escribir. Hay quien
incluso prefiere quedarse con el teclado por defecto que viene con Android, si es que de locos est
lleno el mundo. Android es escoger as que a buscar el mejor que se adapte a tus necesidades.
(Callejas, 2012)
Navegadores: Firefox y Chrome
En los navegadores tambin hay una amplia gama de alternativas que hicieron que fuera una de
las aplicaciones con ms alternativas hasta que aparecieron oficialmente Firefox y ms tarde
Chrome.
Y no es de extraar que siendo estas unas de las ms destacadas en lo que a uso de ellas en
entornos de ordenadores, tambin lo acabaran siendo en el mundo smartphone. Y es que su
funcionamiento es muy similar al de un ordenador, con mltiples utilidades como la sincronizacin
de pestaas que nos permiten tener abierto y no perder ni un detalle tanto en pc como en mvil.
Y esto lo hacen ambos, como tambin tener una distribucin cmoda en pestaas, potencia y una
respuesta realmente buena. Aunque mientras que Firefox sigue soportando Flash, Chrome ya no lo
hace.
Os recomendamos que leis las ltimas novedades tanto de Firefox como de Chrome para decidir,
y si sois indecisos como yo lo mejor es tener los dos y comparar. Hay un momento para todo, e
incluso para el uso de uno u otro navegador tambin. (Callejas, 2012)
Dropbox y Google Drive
El almacenamiento en la nube tambin ha visto un crecimiento espectacular estos ltimos aos,
siendo ahora prcticamente un estndar el confiar nuestros datos en la nube proporcionndonos
ventajas como la completa movilidad, la disponibilidad en cualquier lugar de nuestros datos y otras
ventajas que hacen lo que hoy en da es de la nube.
Evidentemente tambin es algo necesario y a tener en cuenta cuando hablamos de nuestros
dispositivos Android. Y es que ya os explicamos que tanto Dropbox como Google Drive sondos
alternativas muy competentes para el almacenamiento y sincronizacin de datos en la nube.
Evidentemente cada una tiene sus peculiaridades y quiz Dropbox sea ms conocida por llevar
ms tiempo en el mercado. Pero esto no desmerece Google Drive, que tiene multitud de ventajas
como la creacin de todo tipo de documentos.
Ambas son muy vlidas y ser cuestin de conocer qu es lo que ms nos conviene para nuestras
necesidades. Dropbox y Google Drive tienen unos muy buenos clientes Android que harn muy
fcil la tarea de mantener sincronizados los datos y consultar en cualquier momento y lugar y sea
el tipo de archivo que sea. (Callejas, 2012)
Reproductores Musicales
Entramos nuevamente en una zona en la que es complicado decidirse por uno slo. Hay multitud
de alternativas, con muchsimas opciones y caractersticas distintas y rompedoras en algunos
casos.
Evidentemente como siempre, insistimos de nuevo en que hay que escoger aquello que ms se
ajuste a nuestras necesidades. Pero como hemos hecho anteriormente tambin vamos a aportar
algunos recopilatorios que desde El Androide Libre hemos elaborado para tal menester. Puedes
consultarlos aqu, en este otro recopilatorio y en este ltimo ms reciente. Como veris hay
multitud de opciones y cada una con sus pros y sus contras. Es cuestin de indagar en lo que ms
nos atraiga. (Callejas, 2012)
Reproductores de Vdeo

Igual que en el tema anterior, de reproductores de vdeo hay una cantidad importante de
alternativas que nos ofrecen muchsimas opciones de reproduccin y casi la mayora soportan todo
tipo de formatos. A medida que los mviles han ido creciendo en pulgadas, tambin se han
adaptado los reproductores para ofrecer ms calidad y ms opciones. Puedes echar un vistazo a
los imprescindibles, a los 4 mejores, o a aquellos que lo leen todo.
Cabe mencionar de forma especial a un reproductor que est ganando popularidad en Android y
eso que an est en fase Beta. Pero es que viene precedido de una gran fama por ser uno de los
reproductores ms populares para ordenador. Hablamos de VLC, que tambin tiene versin en
Android y que aunque est en fase beta funciona realmente bien. (Callejas, 2012)
Aplicacin de Radio
Un mvil con Android da para tener muchas cosas encima, y eso es lo ms importante. Porque
siempre lo llevamos con nosotros y podemos disponer de infinidad de cosas que hacer. Y la radio
es una de ellas, y vamos a proponer dos aplicaciones que sin duda cubrirn todas tus necesidades.
Tanto Radios de Espaa como Biitt nos ayudarn a tener controladas y bien organizadas las
emisoras de radio que queramos escuchar. Bueno en el caso de Biitt ser ms como una serie de
emisoras temticas por tipo de msica pero totalmente en streaming y escogiendo lo que ms nos
guste. En el caso de Radios de Espaa podremos escuchar las emisoras que queramos dentro de
territorio espaol e incluso podremos grabar fragmentos si nos interesa. (Callejas, 2012)
Aplicaciones de Fotografa
Y como no llegamos a una de las secciones ms imprescindibles de todas. Porque amigos, la
cmara de fotos hoy en da es un elemento indispensable en todo Smartphone que se precie. Y
aplicaciones fotogrficas que potencian la cmara hasta lmites insospechados hay muchsimas,
pero muchas. Por eso en su da ya recopilamos las 20 mejores aplicaciones de fotografas. Y no es
moco de pavo, que est hecha por una autntica fiera de las cmaras nuestro editor Danny. En ella
encontrars lo mejorcito en aplicaciones para todas las necesidades que como fotgrafo te surjan.
Hay donde escoger y estamos seguros que encontrars lo que necesites en esta amplia seleccin.
(Callejas, 2012)
Los Mejores Juegos
Hay cabida para todo en un Android, y los juegos son otra de aquellas aplicaciones a las que les
tenemos especial cario. Porque divertirse es fundamental y gracias a la potencia de los terminales
mviles no hay porqu renunciar a tener juegos de calidad. Y en Android hay, muchos. Pero
nosotros podemos fardar de tener una seleccin, la ms completa y genial de todas las que
pueden haber. Y lo que la hace tan genial es que est elaborada ntegramente por vosotros, los
lectores de El Androide Libre. Un recopilatorio de los 70 mejores juegos para Android los que
encontrars absolutamente lo bueno y mejor en el sector del ocio para Android. (Callejas, 2012)
Las mejores Aplicaciones de limpieza
Con tanta aplicacin, tanta prueba y tanto instalar y desinstalar muchas veces nos da la sensacin
de que nuestro android est algo sucio. Algo lento y engorroso. Es posible, y es que darle mucho
trote tiene estos efectos secundarios. Pero todo en esta vida tiene remedio y en Android no hay
excepcin.
Por eso te preparamos una seleccin definitiva. Las mejores aplicaciones de limpieza para Android.
Una seleccin con lo mejor de cada casa para que puedas tener limpio y en rden tu Android en
pocos pasos. Porque Android son opciones para elegir, y entre estas est seguro lo que ms se
adapta a lo que necesitas. Es cuestin de mirar. (Callejas, 2012)

Airdroid
Esta aplicacin es sin duda la ms popular del momento. Y es que no hay una aplicacin con un
diseo, una funcionalidad y una utilidad mejor que Airdroid (al menos hasta la fecha). Con ella el
engorro de transferir archivos entre nuestro terminal y cualquier otro dispositivo se convierte en un
autntico juego de nios.
Y es que Airdroid nos crear un cliente web con un escritorio formidable, con el que podremos
gestionar nuestros archivos. Pero lo mejor es que consultes la gua que elabor android para que
veas al 100% cmo funciona y qu puede hacer por ti Airdroid, una aplicacin indispensable en tu
Android. (Callejas, 2012)
Atom Launcher, AWD Launcher y Go Launcher
Siempre es bonito tener nuestro terminal personalizado al mximo, y es que ese es otro de los
entretenimientos que podemos tener, ajustar al mximo todas las opciones que tenemos en
Android y tener un escritorio elegante a la par que funcional, pero sobre todo a nuestro gusto.
Y una gran ayuda para este menester son sin duda los launchers. Gestores de escritorio que nos
aaden funciones fantsticas y le dan un toque ms "cool", ms sofisticado a nuestro Android.
Adems de dotarlo de efectos extraordinarios y funciones que hacen que nuestro terminal vaya
ms fluido en algunas ocasiones. Atom Launcher y Go Launcher son dos muestras de cmo puede
mejorar el escritorio con un launcher sin tener que ser algo aparatoso ni complicado de instalar.
Con un nico objetivo, la mxima personalizacin, tendremos mltiples opciones maneras de
cambiar el aspecto de nuestro escritorio, de nuestros iconos e incluso de nuestro tipo de letra, todo
desde la misma aplicacin. Lo mejor es que veas tanto Atom Launcher , ADW Launcher como a Go
Launcher en accin para decidirte por uno u otro. (Callejas, 2012)

Ventajas y desventajas del sistema operativo Android


Ventajas de Android
(TuDosisGook, s.f.) Menciona algunas ventajas de Android para instalarse prcticamente en todo
tipo de dispositivos, sean mviles, porttiles e incluso microondas, hace que Android siempre est
presente en los terminales ms potentes del mercado siendo una apuesta importante por
fabricantes y operadoras por la posibilidad de que independientemente del potencial, gama o
prestaciones del dispositivo, Android podr adaptarse a la perfeccin a todo tipo de necesidades. El
hecho de que Android est liberado con licencia Apache y cdigo abierto lo convierte en un sistema
operativo totalmente libre para que un desarrollador no solo pueda modificar su cdigo sino
tambin mejorarlo.
A travs de esas mejoras puede publicar el nuevo cdigo y con el ayudar a mejorar el sistema
operativo para futuras versiones sin depender de fabricantes u operadoras para ver si se libera o
no dicha mejora.
Del mismo modo, al ser cdigo abierto garantiza que, en caso de haber un bug o error, sea
detectado y reparado con mayor presteza al no existir ninguna traba legal para indagar en su
interior ni depender de nadie para pedir autorizacin a su cambio.
Android da completa libertad al propietario de un terminal a instalar lo que le venga en gana, sea
desde Android Market como un ejecutable aparte (apk) no limitando la libertad del usuario ni

imponiendo software propietario para poder instalar msica, archivos, documentos directamente
desde el cable USB como si de un disco externo se tratara.
Por suerte, ni hombres ni mujeres estn limitados a hacer una cosa a la vez sino que somos
capaces de hacer mltiples cosas siendo algo indispensable y casi impensable pensar de otra
manera. Android con su sistema de multitarea inteligente es capaz de gestionar varias aplicaciones
abiertas a la vez dejando en suspensin aquellas que no se utilicen y cerrarlas en caso de resultar
ya intiles para evitar un consumo de memoria.
Las 10 caractersticas de Android que le faltan a iPhone
10. Teclados alternativos
Si bien iPhone cuenta con otros teclados adems del tradicional, stos se pueden usar en las
diferentes aplicaciones en las que se implementan, pero no se pueden usar en todo el sistema
operativo.
Por el contrario, Android ofrece todo tipo de teclados, cada uno con su manera de escribir, para que
los usuarios instalen y usen el que ms se ajuste a sus gustos y necesidades. Los teclados en
Android pueden instalarse desde el propio Market y activarse en los ajustes, para funcionar
perfectamente integrados en todas las aplicaciones del terminal. Desde Swype con su
revolucionaria escritura hasta el teclado QWERTY multitctil de fbrica, hay infinidad de otros
teclados que podran ajustarse ms a nuestras necesidades, y es bueno que los usuarios puedan
tener la libertad de elegir.
9. Automatizacin
En este aspecto, Android cuenta con una herramienta muy potente como Tasker, que puede
acceder a todas las configuraciones del terminal para permitir configurarlo segn varias premisas
en una especie de Find my iPhone para Android.
Tasker es un programa de automatizacin que, entre muchas ms opciones, puede por ejemplo
apagar las notificaciones para ciertas aplicaciones que necesitemos, segn la ubicacin, da de la
semana o cualquier condicin preconfigurada en un perfil.
8. Launchers personalizados
iPhone permite la personalizacin de sus pantallas de inicio siempre que los usuarios hayan hecho
el jailbreak, de otro modo es casi imposible por las opciones que deja abiertas el propio iOS.
En Android, las opciones de personalizacin de los escritorios son tantas que no existirn dos
telfonos Android iguales, puesto que cada usuario adaptar sus pantallas de inicio a sus gustos y
necesidades con la informacin que necesite personalmente. Incluso en el sistema operativo de
Google se pueden instalar otros launchers adems del original, que ms all de personalizarlo con
accesos directos o con widgets, nos traern diversas funciones extra como animaciones de
intercambios u otras mejoras.

7. Widgets
Los widgets son una de las herramientas ms potentes del sistema operativo de Google, puesto
que nos permiten tener toda nuestra informacin ms importante al alcance de la mano sin
necesidad de abrir ninguna aplicacin. Existen widgets para casi cualquier cosa, desde
meteorologa hasta calendarios, pasando por simples adornos o listas To-Do.

Los usuarios de iPhone con jailbreak pueden usar cosas parecidas, pero no pueden agregarlos en
los lugares que quieran.

6. Batera intercambiable y memoria de almacenamiento externo


Aunque este punto no sea exactamente de software, si es comentable como una mejora, puesto
que los usuarios de Android pueden llevarse una batera extra a cualquier lugar cuando no vayan a
tener un enchufe de pared o un PC cerca. Adems, pueden intercambiar informacin mediante
tarjetas SD simplemente quitando una y metiendo otra, o aumentar las capacidades de
almacenamiento del dispositivo. En iPhone, ambas cosas son imposibles.
5. Instalacin de aplicaciones desde el PC
En Android Market, con su versin web, y con otras aplicaciones de terceros, se pueden buscar
aplicaciones que se necesiten e instalarlas directamente con el PC, puesto que todo se sincroniza
automticamente en el telfono sin necesidad de conexin de cables. Esto hace que navegar por
las aplicaciones de Android sea ms simple que navegar por el App Store desde el propio iPhone.
4. ROMs personalizadas
Otra de las caractersticas que Android permite, siempre segn el fabricante que sea, es la
instalacin de ROMs personalizadas con mejoras que realiza la comunidad de desarrolladores a
partir del cdigo de Android. Se puede actualizar con una ROM personalizada antes de que salgan
las actualizaciones oficiales, o usar mejoras que implementan los desarrolladores de manera no
oficial, como la activacin de la radio FM en el Nexus One.
Esto es algo imposible en iOS, y es algo que los usuarios de iOS nunca podrn hacer. Por otro
lado, necesita que los usuarios estn algo experimentados en el tema o se informen bien antes,
porque son procesos ms peligrosos.
3. Controlar el mvil desde el PC
Otra de las grandes ventajas de Android es que podremos usar el ordenador para controlar el mvil
sin muchas complicaciones, pudiendo desde enviar textos directamente desde Chrome a incluso
acceder a funciones bsicas del mvil sin movernos del PC. Con iPhone se puede hacer tambin,
pero se necesitan aplicaciones extra para acceder a algunas funciones.
2. Adobe Flash

A este respecto, no hay mucho que decir. Todo el mundo ha navegado con ordenadores de
sobremesa y sabe las ventajas que supone contar con soporte para Flash sin la necesidad de
descargar navegadores que conviertan directamente los sitios a HTML5 o esperar a que ciertos
sitios sean compatibles con esta funcin.

Ante la duda entre tener o no tener soporte para Flash, siempre ser mejor tenerlo. Adems, en
Android se puede ver Flash bajo demanda, desactivando su uso si la conexin a internet no es
rpida o si queremos una carga ms rpida en las webs.

1. Integracin real de los servicios y aplicaciones


Si bien en iPhone se pueden usar las aplicaciones de Google, y Google Voice va a estar disponible
prximamente, la experiencia de integracin de todos los servicios de Google en un equipo Android
es una verdadera maravilla y es incomparable. Por otro lado, es lgico que si Android nace de
Google, sus servicios proporcionen una buena experiencia de integracin.

Desventajas de Android
(Movile, 2012) Nos dice loas desventajas de Android es multitarea: esto es un arma de doble filo.
Por un lado tiene un gran aporte positivo, como he comentado ms arriba, pero tiene dos grandes
contras. Para empezar el hecho de tener varias aplicaciones abiertas hacen que el consumo de la
batera se dispare y por otro lado Android no siempre cierra todas las aplicaciones as que hace
falta tener una aplicacin que cierre las aplicaciones abiertas. En la Market de Android hay un
buen puado de aplicaciones de este tipo as que el problema se soluciona rpidamente pero es un
error a fin de cuentas.
(Movile, 2012) Menciona la Duracin de la batera: la batera en un mvil Android se gasta muy,
pero que muy rpidamente. Yo me considero un usuario que explota poco las aplicaciones Android
ya que principalmente utilizo el telfono para llamar y recibir llamadas. Leo el peridico en los
trayectos que realizo cada da y poco ms. La batera no me dura ni dos das. Hay algunas
aplicaciones para solucionar relativamente este problema pero ya estamos otra vez con lo mismo:
hace falta una aplicacin externa al sistema Android para optimizar mejor la batera.
(Movile, 2012) Android es poco intuitivo: no he visto sistema operativo ms complicado que
Android. Sudas sangre para configurar el telfono. Olvdate de utilizar el telfono nada ms
encenderlo por primera vez y asume que estars una maanita larga configurando e instalando
cosas. Este gran problema viene provocado por la interfaz de Android que es la cosa ms
complicada que he visto en mucho tiempo. Como siempre hay aplicaciones que ayudan mucho en
tareas supuestamente sencillas como desinstalar otras aplicaciones pero, otra vez, volvemos al
problema inicial: es necesario instalar aplicaciones para poder usar t mvil cmodamente. Y este
error nos lleva a la siguiente desventaja.
(Movile, 2012) Necesidad de instalar aplicaciones externas: evidentemente puedes utilizar un
telfono Android sin instalar ninguna aplicacin aparte de las que vengan predefinidas. Buena
suerte amigo, la vas a necesitar. Si no tienes una aplicacin que "mate" las aplicaciones abiertas
que no estn en uso u otra aplicacin para borrar aplicaciones que ya no te sirvan vas a sudar
sangre para realizar tareas tan bsicas como desinstalar un widget. Al final te acostumbras y
dominas tu telfono sin problemas pero tardas ms de lo habitual en conseguirlo.
Android est totalmente fragmentado: con esto quiero decir que tiene bastantes versiones dentro
de las versiones oficiales. Oficialmente Android tiene la versin 2.1, la versin 2.2 y en breve la
nueva versin 2.3. Cada modelo de telfono mvil se ha de adaptar a Android de manera que no
es exactamente la misma versin de Android la que lleva una HTC Magic que una HTC Hero
aunque ambas corran con la versin 2.1. Esto provoca problemas de incompatibilidad con algunas
aplicaciones de la Market que funcionan en determinadas versiones de Android.

SISTEMA OPERATIVO UNIX

1. HISTORIA
A finales de 1960, el Instituto Tecnolgico de Massachusetts, los Laboratorios
Bell de AT&T y General Electric trabajaban en un sistema operativo experimental
llamado Multics (Multiplexed Information
and Computing Service), desarrollado
para
ejecutarse en una computadora central (mainframe) modelo GE-645. El objetivo del
proyecto era desarrollar un gran sistema operativo interactivo que contase con muchas
innovaciones, sobretodo mejoras en las polticas de seguridad. El proyecto consigui dar a
luz versiones para produccin, pero las primeras versiones contaban con un pobre
rendimiento. Los laboratorios Bell de AT&T decidieron desvincularse y dedicar sus recursos
a otros proyectos.
Uno de los programadores de los laboratorios Bell, Ken Thompson, sigui trabajando para
la computadora GE-635 y escribi un juego llamado Space Travel, (Viaje espacial). Sin
embargo, descubri que el juego era lento en la mquina de General Electric y resultaba
realmente caro, algo as como 75 dlares de EE.UU. por cada partida.
De este modo, Thompson escribi nuevamente el programa, con ayuda de Dennis Ritchie,
en lenguaje ensamblador, para que se ejecutase en una computadora DEC PDP-7. Esta
experiencia, junto al trabajo que desarroll para el proyecto Multics, condujo a Thompson a
iniciar la creacin de un nuevo sistema operativo para la DEC PDP-7. Thompson y Ritchie
lideraron un grupo de programadores, entre ellos a Rudd Canaday, en los laboratorios Bell,
para desarrollar tanto el sistema de ficheros como el sistema operativo multitarea en s. A
lo anterior, agregaron un intrprete de rdenes (o intrprete de comandos) y un pequeo
conjunto de programas. El proyecto fue bautizado UNICS, como acrnimo
Uniplexed Information and Computing System, pues solo prestaba servicios a dos
usuarios. La autora de esta sigla se le atribuye a Brian Kernighan, ya que era un hack de
Multics. Dada la popularidad que tuvo un juego de palabras que consideraba a UNICS un
sistema MULTICS castrado, por lo que se cambi el nombre a UNIX, dando origen al
legado que llega hasta nuestros das.
Hasta ese instante, no haba existido apoyo econmico por parte de los laboratorios Bell,
pero eso cambi cuando el Grupo de Investigacin en Ciencias de la Computacin decidi
utilizar UNIX en una mquina superior a la PDP-7. Thompson y Ritchie lograron cumplir
con la solicitud de agregar herramientas que permitieran el procesamiento de textos a

UNIX en una mquina PDP-11/20, y como consecuencia de ello consiguieron el apoyo


econmico de los laboratorios Bell. Fue as como por vez primera, en 1970, se habla
oficialmente del sistema operativo UNIX ejecutado en una PDP-11/20. Se inclua en l un
programa para dar formato a textos (runoff) y un editor de texto. Tanto el sistema operativo
como los programas fueron escritos en el lenguaje ensamblador de la PDP-11/20. Este
"sistema de procesamiento de texto" inicial, compuesto tanto por el sistema operativo como
de runoff y el editor de texto, fue utilizado en los laboratorios Bell para procesar las
solicitudes de patentes que ellos reciban. Pronto, runoff evolucion hasta convertirse
en troff, el primer programa de edicin electrnica que permita realizar composicin
tipogrfica. El 3 de noviembre de 1971 Thomson y Ritchie publicaron un manual de
programacin de UNIX (ttulo original en ingls: "UNIX Programmer's Manual").
En 1972 se tom la decisin de escribir nuevamente UNIX, pero esta vez en el lenguaje de
programacin C. Este cambio significaba que UNIX podra ser fcilmente modificado para
funcionar en otras computadoras (de esta manera, se volva portable) y as otras
variaciones podan ser desarrolladas por otros programadores. Ahora, el cdigo era ms
conciso y compacto, lo que se tradujo en un aumento en la velocidad de desarrollo de
UNIX. AT&T puso a UNIX a disposicin de universidades y compaas, tambin al gobierno
de los Estados Unidos, a travs de licencias. Una de estas licencias fue otorgada al
Departamento de Computacin de la Universidad de California, con sede en Berkeley. En
1975 esta institucin desarroll y public su propio sucedneo de UNIX, conocida
como Berkeley Software Distribution (BSD), que se convirti en una fuerte competencia
para la familia UNIX de AT&T.
Mientras tanto, AT&T cre una divisin comercial denominada Unix Systems
Laboratories para la explotacin comercial del sistema operativo. El desarrollo prosigui,
con la entrega de las versiones 4, 5 y 6 en el transcurso de 1975. Estas versiones incluan
los pipes o tuberas, lo que permiti dar al desarrollo una orientacin modular respecto a la
base del cdigo, consiguiendo aumentar an ms la velocidad de desarrollo. Ya en 1978,
cerca de 600 o ms mquinas estaban ejecutndose con alguna de las distintas
encarnaciones de UNIX.
La versin 7, la ltima versin del UNIX original con amplia distribucin, entr en
circulacin en 1979. Las versiones 8, 9 y 10 se desarrollaron durante la dcada de 1980,
pero su circulacin se limit a unas cuantas universidades, a pesar de que se publicaron
los informes que describan el nuevo trabajo. Los resultados de esta investigacin sirvieron
de base para la creacin de Plan 9 from Bell Labs, un nuevo sistema operativo portable y
distribuido, diseado para ser el sucesor de UNIX en investigacin por los Laboratorios
Bell.
AT&T entonces inici el desarrollo de UNIX System III, basado en la versin 7, como una
variante de tinte comercial y as venda el producto de manera directa. La primera versin
se lanz en 1981. A pesar de lo anterior, la empresa subsidiaria Western Electric segua
vendiendo versiones antiguas de Unix basadas en las distintas versiones hasta la sptima.
Para finalizar con la confusin con todas las versiones divergentes, AT&T decidi combinar
varias versiones desarrolladas en distintas universidades y empresas, dando origen
en 1983 al Unix System V Release 1. Esta versin present caractersticas tales como el
editor Vi y la biblioteca curses, desarrolladas por Berkeley Software Distribution en

la Universidad de California, Berkeley. Tambin contaba con compatibilidad con las


mquinas VAX de la compaa DEC.
Hacia 1991, un estudiante de ciencias de la computacin de la Universidad de Helsinki,
llamado Linus
Torvalds desarroll
un ncleo para
computadoras
con
arquitectura x86 de Intel que emulaba muchas de las funcionalidades de UNIX y lo lanz
en forma de cdigo abierto en 1991, bajo el nombre de Linux. En 1992, el Proyecto
GNU comenz a utilizar el ncleo Linux junto a sus programas.
En 1993, la compaa Novell adquiri la divisin Unix Systems Laboratories de AT&T junto
con su propiedad intelectual. Esto ocurri en un momento delicado en el que Unix Systems
Laboratories disputaba una demanda en los tribunales contra BSD por infraccin de los
derechos de copyright, revelacin de secretos y violacin de marca de mercado.
Aunque BSD gan el juicio, Novell descubri que gran parte del cdigo de BSD fue
copiada ilegalmente en UNIX System V. En realidad, la propiedad intelectual de Novell se
reduca a unos cuantos archivos fuente. La correspondiente contra-demanda acab en un
acuerdo extrajudicial cuyos trminos permanecen bajo secreto a peticin de Novell.
En 1995, Novell vendi su divisin UNIX comercial (es decir, la antigua Unix Systems
Laboratories) a Santa Cruz Operation (SCO) reservndose, aparentemente, algunos
derechos de propiedad intelectual sobre el software. SCO contina la comercializacin de
System V en su producto UnixWare, que durante cierto tiempo pas a denominarse
OpenUnix, aunque ha retomado de nuevo el nombre de UnixWare.
2. EQUIPAMIENTO
La ejecucin de procesos de usuario en sistemas UNIX se divide en dos niveles: usuario y
kernel. Cuando un proceso ejecuta una llamada al sistema, el modo de ejecucin cambia
del modo usuario a modo kernel: el sistema operativo ejecuta y atiende el servicio
requerido por el usuario, devolviendo un cdigo de error si falla.
Incluso si el usuario no hace una peticin explcita de los servicios del sistema operativo, el
sistema operativo contina realizando operaciones que relacionan a los procesos de
usuario, manipulando interrupciones, planificando procesos, administrando la memoria, etc.
Muchas arquitecturas (y sus sistemas operativos) soportan ms niveles que los dos
descritos, pero estos dos modos, usuario y kernel, son suficientes para los sistemas UNIX.
Las diferencias entre los dos modos son:

Los procesos en el modo usuario pueden acceder a sus propias instrucciones y


datos pero no a las instrucciones y datos del kernel (o los de otros procesos). Los
procesos en el modo kernel, sin embargo, pueden acceder a las direcciones del
kernel y del usuario.

Algunas instrucciones mquina estn privilegiadas y producen error si se ejecutan


en modo usuario.

UNIX, comparado con otros sistemas operativos avanzados, necesita muy poca memoria
para funcionar. Debera contar con un mnimo de 2 megabytes de RAM; sin embargo, es
altamente recomendable tener 4 megabytes. Cuanta ms memoria tenga ms rpido ir su
sistema.
UNIX soporta el rango completo de direcciones de 32-bits de los 386/486; es decir, utilizar
toda la memoria RAM de forma automtica, y se apaar sin problemas con tan slo 4

megabytes de RAM, incluyendo aplicaciones "pedigeas" como X-Window, Emacs, y


dems.
Sin embargo, disponer dems memoria es casi tan importante como tener un procesador
ms rpido. 8 suficiente para uso personal; 16 megabytes o ms pueden ser necesarios si
espera una fuerte cargade usuarios en el sistema.
La mayora de los usuarios de Unix, reservan una parte del disco duro para espacio de
intercambio ("swapping") que se usa como RAM virtual. Incluso si dispone de bastante
memoria RAM fsica en su mquina, puede que quiera utilizar un rea de "swap" . El rea
de "swap" no puede reemplazar una memoria fsica RAM real, pero puede permitir a su
sistema ejecutar aplicaciones ms grandes guardando en disco duro aquellas partes de
cdigo que estn inactivas. La cantidad de espacio de intercambio a reservar depende de
diversos factores; volveremos a esta cuestin en la Seccin 2.2.3.
No necesita un disco duro para ejecutar Linux; puede ejecutar un sistema mnimo
completamente desde CDS O Disquettes. Sin embargo, puede resultar muy lento y muy
limitado, y de todas formas, muchos usuarios tienen acceso a almacenamiento en disco
duro.
Debe tener una controladora AT-estndar (16-bit). El ncleo soporta controladoras XTestndar (8 bit); aunque la mayora de las controladoras usadas hoy son AT-estndar. Unix
debera soportar todas las controladoras MFM, RLL, e IDE. La mayora, pero no todas, las
controladoras ESDI estn soportadas slo aquellas que hacen emulacin hardware de la
ST506.
La regla general para controladoras que no sean SCSI, es que si puede acceder a las
unidades (disco y/o disquete) desde MS-DOS u otro sistema operativo, debera poder
hacerlo desde Unix.

3. ALCANCE
Dependiendo el punto de vista que se lo vea, el sistema operativo UNIX presenta ciertas
ventajas y desventajas, que hacen que se presenten ciertas limitaciones y alcances, las
cuales se mencionaran a continuacin.
a) Desde un punto de vista comercial, se puede mencionar el hecho de que el
software no es muy popular, lo cual implica ciertas desventajas. Al no ser muy
utilizado, los desarrolladores de los distintos programas y aplicaciones, no
encuentran atractivo el trabajar por una versin del software que sea compatible
con el sistema operativo UNIX, que ser utilizado por muy pocos.
b) Las diferentes versiones del UNIX, estn diseados para que trabajen con
equipamiento especial. Es decir el software es excluyente en cuanto a hardware.
c) UNIX fue desarrollado con el fin de presentar una mayor estabilidad que Windows.
Si existe alguna falla trabajando con UNIX, esta podra ser debido a problemas de
hardware o la mala funcin de un programa.
d) El precio de su estabilidad es que la administracin, mantenimiento y
funcionamiento es realmente costoso. La administracin de UNIX resulta siendo
costosa por el hecho de que pocos conocen realmente como usar el sistema
operativo y por este motivo, los expertos son bien cotizados. Para su

funcionamiento (tomando en cuenta que utiliza equipamiento especial), se necesita


espacio para los equipos (que generalmente son de gran tamao), consumen
grandes cantidades de electricidad y su generacin de calor requiere de aire
acondicionado. Por ltimo, el software para UNIX es mas caro que para el sistema
operativo de Microsoft.
e) Conlleva mucho ms tiempo aprender el manejo de este sistema operativo y sus
problemas son difciles de resolver. Obtener soporte para UNIX es costoso.
f) Es excluyente en cuanto a lenguajes de programacin. Generalmente se utiliza el
lenguaje C, Fortran y Java.
4. ULTIMA VERSION
Las versiones de Unix de los Laboratorios Bell son designados sobre la edicin del manual
de usuario con el que viene acompaado. La sptima edicin era precedida por la sexta
edicin, que fue la primera versin en ser lanzada ampliamente fuera de los laboratorios de
desarrollo de la lnea de investigacin de Unix continuada por la octava edicin, con la
incorporacin del desarrollo desde 4.1BSD.
La versin 7, la ltima versin del UNIX original con amplia distribucin, entr en
circulacin en 1979. Las versiones 8, 9 y 10 se desarrollaron durante la dcada de 1980,
pero su circulacin se limit a unas cuantas universidades, a pesar de que se publicaron
los informes que describan el nuevo trabajo.
V7 ha sido la primera versin de Unix realmente portable, y muchas portabilidades se
llevaron a cabo. La primera estacin de trabajo de Sun se ejecutaba sobre un sistema
portado V7 de Unisoft, y la primera versin de Xenix fue una extensin de V7. El sistema
VAX de V7, llamado UNIX/32V, es el ancestro indirecto del ms cercano sistema
Unixactual. El grupo de la Universidad Wollongong que produjo la migracin V6 para
Interdata 7/32 tambin migr V7 hacia esta mquina.
Algunas caractersticas nuevas fueron introducidas en la versin 7. Herramientas de
programacin como lex, lint, pcc y make hicieron su primera aparicin en el linaje de la
investigacin de Unix en la versin 7. Versiones ms recientes de algunos de ellos ya han
sido recogidos por PWB/UNIX. Algunos, en particular RJE y SCCS, vinieron de PWB/UNIX,
que son en gran parte desconocidos y ajenos a los laboratorios Bell. Otros que se
enumeran a continuacin, demuestran la influencia de la versin 7:
- Entre los nuevos comandos: el shell Bourne, at, awk, calendar, cpio (en la migracin
32V), f77,fortune, iostat, tar (reemplazando al comando tp), touch, uucp
- Nuevas llamadas al sistema: access, acct, alarm, chroot (originalmente utilizado para el
testeo de la distribucin V7 durante su preparacin), ioctl, lseek (anteriormente solo
eran direccionables 24 bit desde los programas), umask, utime
- Nueva biblioteca de llamadas: las nuevas rutinas stdio, malloc, getenv, popen/system
5. CARACTERISTICAS
Los sistemas UNIX ofrecen un ambiente agradable para procesamiento de textos y
desarrollo de programas, brindando la facilidad de combinar programas. El sistema
operativo UNIX del ao 1981 era un sistema de tecleo intensivo que requera una gran
cantidad de comandos. Las ltimas versiones del sistema poseen una interfaz ms
amigable, permitiendo el manejo del ratn y de mltiples ventanas.
La potencia y flexibilidad del sistema operativo UNIX, es de donde provienen los beneficios
que el software presenta. El sistema presenta numerosas caractersticas integradas, las

cuales estn disponibles ten pronto como se inicia el sistema, las cuales se presentarn
posteriormente. A continuacin se clasificara al sistema operativo UNIX.

Multitareas

Esta palabra describe la habilidad de ejecutar simultneamente numerosas tareas o


programas, sin obstaculizar la ejecucin de cada uno de estos. Generalmente, se conoce
como multitareas preferentes, debido a que cada uno de los programas tiene garantizado
la posibilidad de que se ejecuten, es decir, que cada programa no se ejecuta hasta que el
sistema operativo lo aparta para permitir que otros programas corran.
Algunos sistemas operativos no soportan multitareas preferente, solamente la llamada
multitarea cooperativa, que consiste en la ejecucin de los programas hasta que los
mismos permitan la ejecucin de otro programa o no tengan ningn proceso durante ese
periodo.
Las capacidades multitareas preferentes reducen los tiempos muertos, introducen la
flexibilidad de no tener que cerrar las ventanas de aplicaciones para posteriormente abrir y
trabajar en otras, lo cual es mucho ms conveniente.
Los sistemas operativos multitareas preferentes realizan el monitoreo de todos los
procesos (en espera y en ejecucin). De esa manera, el sistema programa cada uno de los
procesos para que tengan la misma oportunidad de acceder al microprocesador. El
resultado de este trabajo son las aplicaciones, las cuales parecen estar siendo ejecutadas
al mismo tiempo. La asignacin de tiempos a las aplicaciones en ejecucin, permite una
mayor velocidad de procesamiento.

Multiusuario

El concepto de multiusuario, hace referencia al hecho de que numerosos usuarios puedan


acceder al potencial de procesamiento que posee un solo computador. La capacidad de
poder atender mltiples aplicaciones fue consecuencia de poder atender a mltiples
personas. La particularidad de esta caracterstica de multiusuario, es la posibilidad de que
ms de una persona pueda trabajar en una aplicacin de manera simultnea desde las
mismas terminales o desde terminales separadas. Esto no significa que los usuarios
puedan manipular actualizando el mismo trabajo que otro usuario desarrolla.
Una vez clasificado el sistema operativo, podemos mencionar las caractersticas que este
presenta.
El Shell
Es el mecanismos que los sistemas UNIX poseen para lograr la comunicacin
entre usuario y maquina. Es un intrprete de comandos que tiene la capacidad de
leer las lneas introducidas por el usuario, interpretarlas y hacer que el sistema
ejecute las funciones solicitadas.
El Shell es un programa de aplicacin como cualquier otro, no incluido como parte
del ncleo. Frecuentemente, los sistemas UNIX manejan diferentes shells. Cabe
sealar que el Shell no reside de manera permanente en la memoria principal
como lo hace el ncleo.
Tres de los shells ms populares son el shell Bourne, almacenado en el archivo de
programa sh, el shell Berkeley C, almacenado en csh, y el shell Korn, almacenado
en ksh. A pesar de que estos shells no tienen orientacin grfica, son populares
entre los usuarios experimentados.

Diferentes usuarios pueden "ver" versiones distintas del sistema operativo debido a
la capacidad del shell para configurar diversos ambientes de ejecucin. Por
ejemplo, se puede hacer que un usuario entre directamente a su seccin, ejecute
un programa en particular y salga automticamente del sistema al terminar de
usarlo.

El Ncleo
Generalmente, el sistema UNIX esta compuesto por un ncleo, por lo menos un
shell y una gran variedad de programas de uso frecuente.
El ncleo es la parte central de los sistemas operativo UNIX, el cual encapsula el
equipo y ofrece servicios de sistemas UNIX a las diferentes aplicaciones. Su tarea
es la de administrar procesos de memoria, de entrada/salida y del reloj.
El shell proporciona servicios a los usuarios, sin embargo, a diferencia del shell, el
ncleo proporciona servicios a los programas de aplicacin, incluyendo al shell
(que es un programa de aplicacin como cualquier otro).
El ncleo administra la memoria real y asigna el procesador en forma automtica.
Otras funciones del ncleo se ejecutan en respuesta a solicitudes (conocidas como
llamadas al sistema), de los procesos de aplicacin.
El ncleo del sistema operativo Unix (llamado Kernel) es un programa escrito casi
en su totalidad en lenguaje C, con excepcin de una parte del manejo de
interrupciones, expresada en el lenguaje ensamblador del procesador en el que
opera.
Las funciones del ncleo son permitir la existencia de un ambiente en el que sea
posible atender a varios usuarios y mltiples tareas en forma concurrente,
repartiendo al procesador entre todos ellos, e intentando mantener en grado
ptimo la atencin individual.
El Kernel opera como asignador de recursos para cualquier proceso que necesite
hacer uso de las facilidades de cmputo. Es el componente central de Unix y tiene
las siguientes funciones:
- Creacin de procesos, asignacin de tiempos de atencin y sincronizacin.
- Asignacin de la atencin del procesador a los procesos que lo requieren.
- Administracin de espacio en el sistema de archivos, que incluye: acceso,
proteccin y administracin de usuarios; comunicacin entre usuarios v entre
procesos, y manipulacin de E/S y administracin de perifricos.
- Supervisin de la transmisin de datos entre la memoria principal y los
dispositivos perifricos.
El Kernel reside siempre en la memoria central y tiene el control sobre la
computadora, por lo que ningn otro proceso puede interrumpirlo; slo pueden

llamarlo para que proporcione algn servicio de los ya mencionados. Un proceso


llama al Kernel mediante mdulos especiales conocidos como llamadas al sistema.
El Kernel consta de dos artes principales: la seccin de control de procesos y la de
control de dispositivos. La primera asigna recursos, programas, procesos y atiende
sus requerimientos de servicio; la segunda, supervisa la transferencia de datos
entre la memoria principal y los dispositivos perifricos. En trminos generales,
cada vez que algn usuario oprime una tecla de una terminal, o que se debe leer o
escribir informacin del disco magntico, se interrumpe al procesador central y el
ncleo se encarga de efectuar la operacin de transferencia.

Cuando se inicia la operacin de la computadora, debe cargarse en la memoria


una copia del ncleo, que reside en e] disco magntico (operacin denominada
bootstrap). Para ello, se deben inicializar algunas interfaces bsicas de hardware;
entre ellas, el reloj que proporciona interrupciones peridicas. El Kernel tambin
prepara algunas estructuras de datos que abarcan una seccin de
almacenamiento temporal para transferencia de informacin entre terminales y
procesos, una seccin para almacenamiento de descriptores de archivos y una
variable que indica la cantidad de memoria principal.
A continuacin, el Kernel inicializa un proceso especial, llamado proceso 0. En
general, los procesos se crean mediante una llamada a una rutina del sistema
(fork), que funciona por un mecanismo de duplicacin de procesos. Sin embargo,
esto no es suficiente para crear el primero de ellos, por lo que el Kernel asigna una

estructura de datos y establece apuntadores a una seccin especial de la


memoria, llamada tabla de procesos, que contendr los descriptores de cada uno
de los procesos existentes en el sistema.
Despus de haber creado el proceso 0, se hace una copia del mismo, con lo que
se crea el proceso 1; ste muy pronto se encargar de "dar vida" al sistema
completo, mediante la activacin de otros procesos que tambin forman parte del
ncleo. Es decir, se inicia una cadena de activaciones de procesos, entre los
cuales destaca el conocido como despachador, o scheduler, que es el responsable
de decidir cul proceso se ejecutar y cules van a entrar o salir de la memoria
central. A partir de ese momento se conoce el nmero 1 como proceso de
inicializacin del sistema, init.
El proceso init es el responsable de establecer la estructura de procesos en Unix.
Normalmente, es capaz de crear al menos dos estructuras distintas de procesos: el
modo monousuario y el multiusuario. Comienza activando el intrprete del lenguaje
de control (Shell) en la terminal principal, o consola, del sistema y
proporcionndole privilegios de "superusuario". En la modalidad de un solo usuario
la consola permite iniciar una primera sesin, con privilegios especiales, e impide
que las otras lneas de comunicacin acepten iniciar sesiones nuevas. Esta
modalidad se usa con frecuencia para revisar y reparar sistemas de archivos,
realizar pruebas de funciones bsicas del sistema y para otras actividades que
requieren uso exclusivo de la computadora.
Init crea otro proceso, que espera pacientemente a que alguien entre en sesin en
alguna lnea de comunicacin. Cuando esto sucede, realiza ajustes en el protocolo
de la lnea y ejecuta el programa login, que se encarga de atender inicialmente a
los nuevos usuarios. Si la clave del usuario, y la contrasea proporcionadas son
las correctas, entonces entra en operacin el programa Shell, que en lo sucesivo
se encargar de la atencin normal del usuario que se dio de alta en esa terminal.
A partir de ese momento el responsable de atender al usuario en esa terminal es el
intrprete Shell.
Cuando se desea terminar la sesin hay que desconectarse de Shell (y, por lo
tanto, de Unix), mediante una secuencia especial de teclas (usualmente. < CTL > D). A partir de ese momento la terminal queda disponible para atender a un nuevo
usuario.
Sistema de Archivos
Los sistemas UNIX, utilizan un sistema de archivos jerarquicos con su origen en el
nodo raz (Root). Los nombres de archivos aparecen en directorios que son
archivos UNIX. Cada entrada de directorio contiene el nombre del archivo y un
apuntador al inodo, asi mismo el inodo contiene apuntadores a los bloques del
archivo en disco. El ncleo se encarga de mantener la estructura de directorios del
sistema de archivo. Desde un punto de vista del sistema, un directorio es idntico a
un archivo ordinario excepto por la restriccin de que los usuarios no pueden
escribir en los directorios, pero si pueden leerlos.
El sistema de archivos de Unix; esta basado en un modelo arborescente y
recursivo, en el cual los nodos pueden ser tanto archivos como directorios, y estos
ltimos pueden contener a su vez directorios o subdirectorios. Debido a esta
filosofa, se maneja al sistema con muy pocas rdenes, que permiten una gran
gama de posibilidades. Todo archivo de Unix est controlado por mltiples niveles
de proteccin, que especifican los permisos de acceso al mismo. La diferencia que

existe entre un archivo de datos, un programa, un manejador de entrada/salida o


una instruccin ejecutable se refleja en estos parmetros, de modo que el sistema
operativo adquiere caractersticas de coherencia y elegancia que lo distinguen.
La raz del sistema de archivos (conocida como root ) se denota con el smbolo "/",
y de ah se desprende un conjunto de directorios que contienen todos los archivos
del sistema de cmputo. Cada directorio, a su vez, funciona como la subraz de un
nuevo rbol que depende de l y que tambin puede estar formado por directorios
o subdirectorios y archivos. Un archivo siempre ocupar el nivel ms bajo dentro
del rbol, porque de un archivo no pueden depender otros; si as fuera, sera un
directorio. Es decir, los archivos son como las hojas del rbol.
Se define en forma unvoca el nombre de todo archivo (o directorio) mediante lo
que se conoce como su trayectoria (path name): es decir, el conjunto completo de
directorios, a partir de root (/), por los que hay que pasar para poder llegar al
directorio o archivo deseado. Cada nombre se separa de los otros con el smbolo /,
aunque tan slo el primero de ellos se refiere a la raz.
Por ejemplo, el archivo

u/gerencia/abril94l/carta2
tiene toda esta trayectoria como nombre absoluto, pero se llama
gerencia/abril94l/carta2, sin 1ra diagonal inicial, si se observa desde el directorio
/u. Para los usuarios que estn normalmente en el directorio /u/gerencia, el archivo
se llama abril94l/carta2. As, tambin puede existir otro archivo llamado carta2,
pero dentro de algn otro directorio y en caso de ser necesario se empleara el
nombre de la trayectoria (completa o en partes, de derecha a izquierda) para
distinguirlos. Unix ofece medios muy sencillos para colocarse en diferentes puntos
del rbol que forma el sistema de archivos, que para el ejemplo anterior podra ser
el siguiente:
Como se dijo antes, desde el punto de vista del directorio abril94, que a su vez
pertenece al directorio gerencia del directorio /u, basta con el nombre carta2 para
apuntar al archivo en cuestin.

En esta forma se maneja el sistema completo de archivos y se dispone de un


conjunto de rdenes de Shell (adems de mltiples variantes) para hacer diversas
manipulaciones, como crear directorios, moverse dentro del sistema de archivos,
copiarlos, etctera.
Unix incluye, adems, mltiples esquemas para crear, editar y procesar
documentos. Existen varios tipos de editores, formadores de textos,
macroprocesadores para textos, formadores de tablas, preprocesadores de
expresiones matemticas y un gran nmero de ayudas y utileras diversas, que se
mencionan ms adelante.
A continuacin se describe el modo de funcionamiento de Unix, con base en un
modelo de estudio de sistemas operativos que lo divide en "capas" jerrquicas
para su mejor comprensin.
Manejo de archivos y de informacin
Como ya se describi, la estructura bsica del sistema de archivos es jerrquica, lo
que significa que los archivos estn almacenados en varios niveles. Se puede
tener acceso a cualquier archivo mediante su trayectoria, que especifica su
posicin absoluta en la jerarqua, y los usuarios pueden cambiar su directorio
actual a la posicin deseada. Existe tambin un mecanismo de proteccin para
evitar accesos no autorizados. Los directorios contienen informacin para cada
archivo, que consiste en su nombre y en un nmero que el Kernel utiliza para
manejar la estructura interna del sistema de archivos, conocido como el nodo-i.
Hay un nodo-i para cada archivo, que contiene informacin de su directorio en el
disco, su longitud, los modos y las fechas de acceso, el autor, etc. Existe, adems,
una tabla de descriptores de archivo, que es una estructura de datos residente en
el disco magntico, a la que se tiene acceso mediante el sistema mencionado de
E/S por bloques.
El control del espacio libre en el disco se mantiene mediante una lista ligada de
bloques disponibles. Cada bloque contiene la direccin en disco del siguiente
bloque en la cadena. El espacio restante contiene las direcciones de grupos de
bloques del disco que se encuentren libres. De esta forma, con una operacin de
E/S, el sistema obtiene un conjunto de bloques libres y un apuntador para
conseguir ms.
Las operaciones de E/S en archivos se llevan a cabo con la ayuda de la
correspondiente entrada del nodo-i en la tabla de archivos del sistema. El usuario
normalmente desconoce los nodos-i porque las referencias se hacen por el
nombre simblico de la trayectoria. Los procesos emplean internamente funciones
primitivas (llamadas al sistema) para tener acceso a los archivos; las ms comunes
son open, creat, read, write, seek, close y unlink, aunque slo son empleadas por
los programadores, no por los usuarios finales del sistema.
Toda esta estructura fsica se maneja "desde afuera" mediante la filosofa
jerrquica de archivos y directorios ya mencionada, y en forma totalmente
transparente para el usuario. Adems, desde el punto de vista del sistema
operativo, un archivo es muy parecido a un dispositivo.
Las ventajas de tratar a los dispositivos de E/S en forma similar a los archivos
normales son mltiples: un archivo y un dispositivo de E/S se tornan muy
parecidos; los nombres de los archivos y de los dispositivos tienen la misma
sintaxis y significado, as que a un programa que espera un nombre de archivo
como parmetro puede drsele un nombre de dispositivo (con esto se logra
interaccin rpida y fcil entre procesos de alto nivel).

El sistema Unix ofrece varios niveles de proteccin para el sistema de archivos,


que consisten en asignar a cada archivo el nmero nico de identificacin de su
dueo, junto con nueve bits de proteccin, que especifican permisos de lectura,
escritura y ejecucin para el propietario, para otros miembros de su grupo (definido
por el administrador del sistema) y para el resto de los usuarios. Antes de cualquier
acceso se verifica su validez consultando estos bits, que residen en el nodo-i de
todo archivo. Adems, existen otros tres bits que se emplean para manejos
especiales, relacionados con la clave del superusuario.
Otra caracterstica de Unix es que no requiere que el conjunto de sistemas de
archivos resida en un mismo dispositivo.
Es posible definir uno o varios sistemas "desmontables", que residen fsicamente
en diversas unidades de disco. Existe una orden (mkfs) que permite crear un
sistema de archivos adicional, y una llamada al sistema (mount) con la que se
aade (y otra con la que se desmonta) uno de ellos al sistema de archivos global.
EI control de las impresoras de una computadora que funciona con el sistema
operativo Unix consiste en un subsistema (SPOOL) que se encarga de coordinar
los pedidos de impresin de mltiples usuarios. Existe un proceso de Kernel que
en forma peridica revise las colas de servicio de las impresoras para detectar la
existencia de pedidos e iniciar entonces las tareas de impresin. Este tipo de
procesos, que son activados en forma peridica por el ncleo del sistema
operativo, reciben en Unix el nombre de daemons (duendes), tal vez porque se
despiertan y aparecen sin previo aviso. Otros se encargan de activar procesos en
tiempos previamente determinados por el usuario, o de escribir peridicamente los
contenidos de los buffers de memoria en el disco magntico.
Procesos. Manejo del Procesador
En Unix se ejecutan programas en un medio llamado "proceso de usuario".
Cuando se requiere una funcin del Kernel, el proceso de usuario hace una
llamada especial al sistema y entonces el control pasa temporalmente al ncleo.
Para esto se requiere de un conjunto de elementos de uso interno, que se
mencionan a continuacin.
Se conoce como imagen a una especie de fotografa del ambiente de ejecucin de
un proceso, que incluye una descripcin de la memoria, valores de registros
generales, status de archivos abiertos, el directorio actual, etctera. Una imagen es
el estado actual de una computadora virtual, dedicada a un proceso en particular.
Un proceso se define como la ejecucin de una imagen. Mientras el procesador
ejecuta un proceso, la imagen debe residir en la memoria principal; durante la
ejecucin de otros procesos permanece primera en la memoria principal a mens
que la aparicin de un proceso activo de mayor prioridad la obligue a ser copiada
al disco, como ya se dijo.
Un proceso puede encontrarse en uno de varios estados: en ejecucin; listo para
ejecutar, o en espera.
Cuando se invoca una funcin del sistema, el proceso de usuario llama al Kernel
como subrutina. Hay un cambio de ambientes y, como resultado, se tiene un
proceso del sistema. Estos dos procesos son dos fases del mismo original, que
nunca se ejecutan en forma simultnea.
Existe una tabla de procesos que contiene una entrada por cada uno de ellos con
los datos que requiere el sistema:
identificacin, direcciones de los segmentos que emplea en la memoria,
informacin que necesita el scheduler y otros. la entrada de la tabla de procesos
se asigna cuando se crea el proceso y se libera cuando ste termina.

Para crear un proceso se requiere la inicializacin de una entrada en la tabla, as


como la creacin de segmentos de texto y de datos. Adems, es necesario
modificar la tabla cuando cambia el estado del proceso o cuando recibe un
mensaje de otro (para sincronizacin, por ejemplo). Cuando un proceso termina,
su entrada en la tabla se libera y queda otro disponible para que otro nuevo la
utilice.
En el sistema operativo Unix los procesos pueden comunicarse internamente entre
s, mediante el envo de mensajes o seales. El mecanismo conocido como
interconexin (pipe) crea un canal entre dos procesos mediante una llamada a una
rutina del Kernel, y se emplea tanto para pasar datos unidireccionalmente entre las
imgenes de ambos, como para sincronizarlos, ya que si un proceso intenta
escribir en un pipe ocupado, debe esperar a que el receptor lea los datos
pendientes. Lo mismo ocurre en el caso de una lectura de datos inexistentes: el
proceso que intenta leer debe esperar a que el proceso productor deposite los
datos en el canal de intercomunicacin.
Entre las diferentes llamadas al sistema para el manejo de procesos que existen
en Unix estn las siguientes, algunas de las cuales ya han sido mencionadas: fork
(sacar una copia a un proceso); exec (cambiar la identidad de un proceso); kill
(enviar una seal a un proceso); signal (especificar la accin por ejecutar cuando
se recibe una seal de otro proceso), y exit (terminar un proceso).
Dentro de las tareas del manejo del procesador destaca la asignacin dinmica
(scheduling), que en Unix resuelve el scheduler mediante un mecanismo de
prioridades. Cada proceso tiene asignada una prioridad; las prioridades de los
procesos de usuario son menores que la ms pequea de un proceso del sistema.
El "motor" que mantiene en movimiento un esquema de multiprogramacin es, por
un lado, el conjunto de interrupciones que genera el desempeo de los procesos y,
por otro, los constantes recordatorios que hace el reloj del procesador para indicar
que se termin la fraccin de tiempo dedicada a cada proceso.
En el sistema Unix, las interrupciones son causadas por lo que se conoce como
eventos, entre los cuales se consideran: la ejecucin de una tarea de
entrada/salida; la terminacin de los procesos dependientes de otro; la terminacin
de la fraccin de tiempo asignada a un proceso, y la recepcin de una seal desde
otro proceso.
En un sistema de tiempo compartido se divide el tiempo en un determinado
nmero de intervalos o fracciones y se asigna cada una de ellas a un proceso.
Adems Unix toma en consideracin que hay procesos en espera de una
operacin de E/S y que ya no pueden aprovechar su fraccin. Para asegurar una
distribucin adecuada del procesador entre los procesos se calculan
dinmicamente las prioridades de estos ltimos, con el fin de determinar cul ser
el proceso que se ejecutar cuando se suspenda el proceso activo actual.
Manejo De Memoria
Dependiendo de la computadora en la que se ejecute, Unix utiliza dos tcnicas de
manejo de memoria: swapping y memoria virtual.
Lo estndar en Unix es un sistema de intercambio de segmentos de un proceso
entre memoria principal y memoria secundaria, llamado swapping lo que significa
que se debe mover la imagen de un proceso al disco si ste excede la capacidad
de la memoria principal, y copiar el proceso completo a memoria secundaria. Es
decir, durante su ejecucin, los procesos son cambiados de y hacia memoria
secundaria conforme se requiera.

Si un proceso necesita crecer, pide ms memoria al sistema operativo y se le da


una nueva seccin, lo suficientemente grande para acomodarlo. Entonces, se
copia el contenido de la seccin usada al rea nueva, se libera la seccin antigua y
se actualizan las tablas de descriptores de procesos. Si no hay suficiente memoria
en el momento de la expansin, el proceso se bloquea temporalmente y se le
asigna espacio en memoria secundaria. Se copia a disco y, posteriormente,
cuando se tiene el espacio adecuado - lo cual sucede normalmente en algunos
segundos - se devuelve a memoria principal.
Est claro que el proceso que se encarga de los intercambios entre memoria y
disco (llamado swapper) debe ser especial y jams podr perder su posicin
privilegiada en la memoria central. El Kernel se encarga de que nadie intente
siquiera interrumpir este proceso, del cual dependen todos los dems. Este es el
proceso 0 mencionado antes. Cuando se decide traer a la memoria principal un
proceso en estado de "listo para ejecutar", se le asigna memoria y se copian all
sus segmentos. Entonces, el proceso cargado compite por el procesador con todos
los dems procesos cargados. Si no hay suficiente memoria, el proceso de
intercambio examine la tabla de procesos para determinar cul puede ser
interrumpido y llevado al disco.
Hay una pregunta que surge entonces es cul de los posibles procesos que estn
cargados ser desactivado y cambiado a memoria secundaria? Los procesos que
se eligen primero son aquellos que estn esperando operaciones lentas (E/S), o
que llevan cierto tiempo sin haberse movido al disco. La idea es tratar de repartir
en forma equitativa las oportunidades de ejecucin entre todos los procesos,
tomando en cuenta sus historias recientes y sus patrones de ejecucin.
Otra pregunta es cul de todos los procesos que estn en el disco ser trado a
memoria principal?. La decisin se toma con base en el tiempo de residencia en
memoria secundaria. El proceso ms antiguo es el que se llama primero, con una
pequea penalizacin para los grandes.
Cuando Unix opera en mquinas ms grandes, suele disponer de manejo de
memoria de paginacin por demanda. En algunos sistemas el tamao de la pgina
en Unix es de 512 bytes; en otros, de 1024. Para reemplazo se usa un algoritmo
que mantiene en memoria las pginas empleadas ms recientemente.
Un sistema de paginacin por demanda ofrece muchas ventajas en cuanto a
flexibilidad y agilidad en la atencin concurrente de mltiples procesos y
proporciona, adems, memoria virtual, es decir, la capacidad de trabajar con
procesos mayores que el de la memoria central. Estos esquemas son bastante
complejos y requieren del apoyo de hardware especializado.
Manejo de entradas y salidas
El sistema de entrada/salida se divide en dos sistemas complementarios: el
estructurado por bloques y el estructurado por caracteres. El primero se usa para
manejar cintas y discos magnticos, y emplea bloques de tamao fijo (512 o 1024
bytes) para leer o escribir. El segundo se utiliza para atender a las terminales,
lneas de comunicacin e impresoras, y funciona byte por byte.
En general, el sistema Unix emplea programas especiales (escritos en C)
conocidos como manejadores (drivers) para atender a cada familia de dispositivos
de E/S. Los procesos se comunican con los dispositivos mediante llamadas a su
manejador. Adems, desde el punto de vista de los procesos, los manejadores
aparecen como si fueran archivos en los que se lee o escribe; con esto se logra
gran homogeneidad y elegancia en el diseo.

Cada dispositivo se estructura internamente mediante descriptores llamados


nmero mayor, nmero menor y clase (de bloque o de caracteres). Para cada
clase hay un conjunto de entradas, en una tabla, que aporta a los manejadores de
los dispositivos. El nmero mayor se usa para asignar manejador, correspondiente
a una familia de dispositivos; el menor pasa al manejador como un argumento, y
ste lo emplea para tener acceso a uno de varios dispositivos fsicos semejantes.
Las rutinas que el sistema emplea para ejecutar operaciones de E/S estn
diseadas para eliminar las diferencias entre los dispositivos y los tipos de acceso.
No existe distincin entre acceso aleatorio y secuencial, ni hay un tamao de
registro lgico impuesto por el sistema. El tamao de un archivo ordinario est
determinado por el nmero de bytes escritos en l; no es necesario predeterminar
el tamao de un archivo.
El sistema mantiene una lista de reas de almacenamiento temporal (buffers),
asignadas a los dispositivos de bloques. El Kernel usa estos buffers con el objeto
de reducir el trfico de E/S. Cuando un programa solicita una transferencia, se
busca primero en los buffers internos para ver si el bloque que se requiere ya se
encuentra en la memoria principal (como resultado de una operacin de lectura
anterior). Si es as, entonces no ser necesario realizar la operacin fsica de
entrada o salida.
Existe todo un mecanismo de manipulacin interna de buffers (y otro de manejo de
listas de bytes), necesario para controlar el flujo de datos entre los dispositivos de
bloques (y de caracteres) y los programas que los requieren.
Por ltimo, y debido a que los manejadores de los dispositivos son programas
escritos en lenguaje C, es relativamente fcil reconfigurar el sistema para ampliar o
eliminar dispositivos de E/S en la computadora, as como para incluir tipos nuevos.
Lenguaje de control del sistema operativo
Entre los rasgos distintivos de Unix est el lenguaje de control que emplea,
llamado Shell. Es importante analizar dos funciones ms de Shell, llamadas
redireccionamiento e Interconexin.
Asociado con cada proceso hay un conjunto de descriptores de archivo numerados
0, I y 2, que se utilizan para todas las transacciones entre los procesos y el sistema
operativo. El descriptor de archivo 0 se conoce como la entrada estndar; el
descriptor de archivo 1, como la salida estndar, y el descriptor 2, como el error
estndar. En general, todos estn asociados con la terminal de vdeo, pero, debido
a que inicialmente son establecidos por Shell, es posible reasignarlos.
Una parte de la orden que comience con el smbolo ? se considera como el
nombre del archivo que ser abierto por Shell y que se asociar con la entrada
estndar; en su ausencia, la entrada estndar se asigna a la terminal. En forma
similar, un archivo cuyo nombre est precedido por el smbolo > recibe la salida
estndar de las operaciones.
Cuando Shell interpreta la orden
califica < examen > resulta
llama a ejecucin al programa califica (que ya debe estar compilado y listo para
ejecutar) y detecta la existencia de un archivo que toma el lugar de la entrada
estndar y de otro que reemplaza a la salida estndar. Despus, pasa como datos
de lectura los contenidos del archivo examen recin abierto (que debe existir
previamente) al programa ejecutable. Conforme el programa produce datos como
salida, stos se guardan en el archivo resulta que Shell crea en ese momento.
En la teora de lenguajes formales desempean un importante papel las
gramticas llamadas de tipo 3 (tambin conocidas como regulares), que tienen

mltiples aplicaciones en el manejo de lenguajes. Existen unas construcciones


gramaticales conocidas como expresiones regulares, con las que se puede hacer
referencia a un conjunto ilimitado de nombres con estructura lexicogrfica similar;
esto lo aprovecha Shell para dar al usuario facilidades expresivas adicionales en el
manejo de los nombres de los archivos. As, por ejemplo, el nombre carta * se
refiere a todos los archivos que comiencen con el prefijo carta* y que sean
seguidos por cualquier subcadena, incluyendo la cadena vaca; por ello, si se
incluye el nombre carta* en alguna orden, Shell la aplicar a los archivos carta,
carta1, carta2 y cualquier otro que cumpla con esa especificacin abreviada. En
general, en lugares donde se emplea un nombre o una trayectoria, Shell permite
utilizar una expresin regular que sirve como abreviatura para toda una familia de
ellos, y automticamente repite el pedido de atencin para los componentes.
Existen adems otros caracteres especiales que Shell reconoce y emplea para el
manejo de expresiones regulares, lo que proporciona al lenguaje de control de
Unix mayor potencia y capacidad expresiva.
En Unix existe tambin la posibilidad de ejecutar programas sin tener que
atenderlos en forma interactiva, sino simulando paralelismo (es decir, atender de
manera concurrente varios procesos de un mismo usuario). Esto se logra
agregando el smbolo & al final de la lnea en la que se escribe la orden de
ejecucin. Como resultado, Shell no espera que el proceso "hijo'' termine de
ejecutar (como hara normalmente), sino que regresa a atender al usuario
inmediatamente despus de haber creado el proceso asincrnico, simulando en
esta forma el procesamiento por lotes ( batch ) Para cada uno de estos procesos
Shell proporciona, adems, el nmero de identificacin, por lo que si fuera
necesario el usuario podra cancelarlo posteriormente, o averiguar el avance de la
ejecucin.
La comunicacin interna entre procesos (es decir, el envo de mensajes con los
que los diversos procesos se sincronizan y coordinan) ocurre mediante el
mecanismo de interconexiones (pipes) ya mencionado, que conecta la salida
estndar de un programa a la entrada estndar de otro, como si fuera un conducto
con dos extremos, cada uno de los cuales est conectado a su vez a un proceso
distinto. Desde Shell puede emplearse este mecanismo con el smbolo | en la lnea
donde se escribe la orden de ejecucin.
As en el ejemplo:
(califica < tarea | sorte > lista) &
se emplean las caractersticas de interconexin, redireccionamiento y asincrona
de procesos para lograr resultados difciles de obtener en otros sistemas
operativos. Aqu se pide que, en forma asincrnica (es decir, dejando que la
terminal siga disponible para atender otras tareas del mismo usuario), se ejecute el
programa califica para que lea los datos que requiere del archivo tareas; al
terminar, se conectar con el proceso sort (es decir, pasar los resultados
intermedios) para que contine el procesamiento y se arreglen los resultados en
orden alfabtico; al final de todo esto, los resultados quedarn en el archivo lista.
Con esta otra orden, por ejemplo, se busca obtener todos los renglones que
contengan las palabras "contrato" o "empleado" en los archivos en disco cuyos
nombres comiencen con la letra "E" (lo cual se denota mediante una expresin
regular). Para lograrlo, se hace uso de una funcin llamada egrep, especial para el
manejo de patrones y combinaciones de expresiones regulares dentro de los
archivos:
egrep-n 'contrato' 'empleado' E *

Los resultados aparecen as:


Emple1: 5: en caso de que un empleado decide hacer uso de la facilidad,
Emple1:7: y el contrato as lo considere las obligaciones de la
Emple2:9: Clusula II: El contrato colectivo de trabajo
Emple2:15: Fraccin llI: El empleado tendr derecho, de acuerdo con lo
El tercer rengln, por ejemplo, muestra el noveno rengln del archivo Emple2, que
contiene una de las palabras buscadas.
Como Unix fue diseado para servir de entorno en las labores de diseo y
produccin de programas, ofrece - adems de su filosofa misma - un rico conjunto
de herramientas para la creacin de sistemas complejos, entre las que destaca el
subsistema make. Este ltimo ofrece una especie de lenguaje muy sencillo, con el
cual el programador describe las relaciones estructurales entre los mdulos que
configuran un sistema completo, para que de ah en adelante make se encargue
de mantener el sistema siempre al da. Es decir, si se modifica algn mdulo, se
reemplaza o se aade otro, las compilaciones individuales, as como las cargas y
ligas a que haya lugar, sern realizadas en forma automtica, por esta
herramienta. Con una sola orden, entonces, es posible efectuar decenas de
compilaciones y ligas predefinidas entre mdulos, y asegurarse de que en todo
momento se tiene la ltima versin de un sistema, ya que tambin se lleva cuenta
automtica de las fechas de creacin, modificacin y compilacin de los diversos
mdulos. De esta manera, se convierte en una herramienta casi indispensable al
desarrollar aplicaciones que requieren decenas de programas que interactan
entre s o que mantienen relaciones jerrquicas.
6. FAMILIAS DE UNIX
Como se puede deducir de la resea histrica de este sistema operativo, existen varias
familias del sistema operativo UNIX que han evolucionado de manera independiente a lo
largo de los aos. Cada familia se distingue no tanto por sus diferencias tcnicas como por
sus diferencias en propiedad intelectual. Se observa que todas las familias se han visto
contaminadas, directa o indirectamente, por otras familias. Las familias UNIX ms
significativas son:
- AT&T: la familia que tuvo su origen en el UNIX de AT&T. Considerada la familia
UNIX "pura" y original. Sus sistemas operativos ms significativos son UNIX
System III y UNIX System V.
- BSD: familia originada por el licenciamiento de UNIX a Berkely. BSD incorpora
propiedad intelectual no originaria de AT&T, la primera implementacin de los
protocolos TCP/IP que dieron origen a Internet.
- AIX: esta familia surge por el licenciamiento de UNIX System III a IBM.
- Xenix: familia derivada de la adquisicin de los derechos originales de AT&T
primero por parte de Microsoft y luego esta los vendi a SCO.
- GNU: en 1983, Richard Stallman anunci el Proyecto GNU, un ambicioso
esfuerzo para crear un sistema similar a Unix, que pudiese ser distribuido
libremente. El software desarrollado por este proyecto, por ejemplo, GNU Emacs y
GCC, tambin han sido parte fundamental de otros sistemas UNIX.
- Linux: en 1991, cuando Linus Torvalds empez a proponer el ncleo Linux y a
reunir colaboradores, las herramientas GNU eran la eleccin perfecta. Al
combinarse ambos elementos, conformaron la base del sistema operativo (basado
en POSIX) que hoy se conoce como Linux. Las distribuciones basadas en el

ncleo, el software GNU y otros agregados entre las que se pueden mencionar a
Red Hat Linux y Debian GNU/Linux se han hecho populares tanto entre los
aficionados a la computacin como en el mundo empresarial. Obsrvese que Linux
tiene un origen independiente, por lo que se considera un "clnico" de UNIX y no
un UNIX en el sentido histrico.
A continuacin, se puede apreciar un diagrama que demuestra la colocacin actual de Unix
entre las distintas familias que se han desarrollado:

Diagrama de la divisin de familias que usan sistemas Unix o "parecidos" a Unix

Caractersticas generales de Unix / Ventajas


- Es un sistema operativo de tiempo compartido, controla los recursos de una
computadora y los asigna entre los usuarios.
- Permite a los usuarios correr sus programas.

- Controla los dispositivos de perifricos conectados a la mquina.


- Es un sistema operativo multiusuario, con
multiprocesamiento y procesamiento no interactivo.

capacidad

de

simular

- Est escrito en un lenguaje de alto nivel: C.


- El sistema de ficheros est basado en la idea de volmenes, que se pueden
montar y desmontar para lo que se les asigna un nodo del rbol como punto de
anclaje. Un sistema fsico puede dividirse en uno o ms volmenes.
- Una de las grandes ideas de UNIX es la unificacin y compatibilidad de todos los
procesos de entrada y salida. Para UNIX, el universo es un sistema de ficheros. De
esta forma existe compatibilidad entre ficheros, dispositivos, procesos, "pipes" y
"sockets".
- Dispone de un lenguaje de control programable llamado "Shell".
- El sistema presenta comandos de usuario (es decir, a nivel de "Shell") para iniciar
y manipular procesos concurrentes asncronos. Un usuario puede ejecutar varios
procesos, intercambiarlos e interconectarlos a travs de "pipes" o "tuberas",
simbolizados por un carcter especial. En DOS, tambin existe la idea del "pipe",
sin embargo, al no existir concurrencia de procesos, no se trata de una
comunicacin en "tiempo real", sino de un paso de informacin a travs de ficheros
temporales.
- Ofrece facilidades para la creacin de programas y sistemas y el ambiente
adecuado para las tareas de diseos de software.
- Emplea manejo dinmico de memoria por intercambio o paginacin.
- El ncleo de UNIX es relativamente compacto en comparacin con otros sistemas
de tiempo compartido. Introduce la idea de reducir el tamao del "kernel" y ceder
ciertas funciones a programas externos al ncleo llamados "demonios". Esto ha
sido muy desarrollado y en la actualidad, la tendencia es el desarrollo de "microkernels", sin embargo UNIX, aunque pionero, es anterior a estos desarrollos.
- Tiene capacidad de interconexin y comunicaciones de procesos.
- Emplea un sistema jerrquico de archivos, con facilidades de proteccin de
archivos, cuentas y procesos. En este sistema de ficheros jerrquico todo se
encuentra anclado en la raz. La mayora de la literatura sobre el tema dice que el
sistema de ficheros UNIX es un grafo acclico, sin embargo, la realidad es que se
trata de un grafo cclico. El DOS, por ejemplo, es un rbol, con un directorio raz del
que cuelgan subdirectorios que a su vez son races de otros sub-rboles. Un grafo
cclico es como un rbol en el que se pueden enlazar nodos de niveles inferiores
con un nivel superior. Es decir, se puede entrar en un subdirectorio y aparecer ms
cerca de la raz de lo que se estaba.
- Tiene facilidad para redireccionamiento de Entradas/Salidas.
- Garantiza un alto grado de portabilidad.
- UNIX realiza un riguroso control de acceso a ficheros. Cada uno se encuentra
protegido por una secuencia de bits. Slo se permite el acceso global al "root" o
"superusuario". Por tanto, el universo de usuarios de UNIX se encuentra dividido en
dos grupos principales, no slo para el acceso a ficheros sino para todas las
actividades: el "root", todopoderoso, para el que no hay barreras; y el resto de los
usuarios, controlados por el S.O. segn las directivas del "root".

- UNIX es un S.O. de red, algo que a veces se confunde con un S.O. distribuido.
Por ello, se ha incluido en su ncleo la arquitectura de protocolos de internet,
TCP/IP.

Desventajas de Unix
Las desventajas del mismo pueden variar entre versiones, as como tambin por
diversas condicionantes externas, tales como: el rea de uso (personal, comercial
o industrial), experticia del usuario, funcionalidad especfica de las aplicaciones,
entre otras. En general se podra decir que:
- Desde el punto de vista comercial, no muchas personas lo conocen, ya que no es
un sistema que venga precargado en cada PC que se compra. En otras palabras,
no estn popular como Windows o incluso como Linux, y por tanto, es difcil
encontrar los programas que se acostumbran a usar en esos otros sistemas
operativos.
- Desde el punto de vista de funcionalidad, el S.O. Unix vienen en muchas
variantes como se sabe, sin embargo, el detalle es que hay variantes que estn
diseadas para ser ejecutada en equipos especiales fabricados por una marca
especifica, como IBM, SUN, HP, DELL, entre otras. Lo que limita un tanto la
portabilidad de UNIX
- En cuanto a la confiabilidad, UNIX fue desarrollado desde sus inicios para ser
ms estable que cualquier otro sistema operativo, es decir, que cuando se usa
UNIX no es tan comn ver ciertas pantallas de errores que salen en los otros S.O,
aunque si se podrn dar casos en que hay computadores con sistemas UNIX en
desuso, pero ser por problemas de Hardware o de algn otro programa que
trabaje mal.
- A pesar de ser tan estable y no "caerse" prcticamente nunca, resulta ser muy
costoso en el sentido de mantenimiento y administracin. Es decir, que por
ejemplo, hay empresas que pierden ms dinero con un equipo fuera de lnea que
pagando a un administrador del sistema (que cobra mucho por su trabajo a razn
de que no muchas personas conocen UNIX).
- El S.O UNIX puede requerir ms horas de aprendizaje que el resto de las otras
plataformas de sistemas operativos.
- Como ya se menciono antes, los problemas suelen ser ms difciles de resolver
dado el poco apoyo y soporte que hay en el mercado y, normalmente, el soporte
del fabricante es muy costoso.
- Se utiliza un lenguaje de programacin muy avanzado: C, aunque en algunos
casos permite Fortran y Java.
Generalidades de Unix
En general UNIX mantiene una serie de procesos en funcionamiento durante todo
el tiempo que este en funcionamiento. Todos los procesos en UNIX estn
identificados por un nmero, el PID, que es nico. Si un proceso acaba y vuelve a
empezar, su nuevo PID nunca coincidir con el anterior. La lista y el estado de
funcionamiento de los procesos (consumo de recursos, etc.) es fcilmente
visualizable mediante el comando "top".
Aunque desde los aos de popularizacin del sistema Apple Macintosh (1983, en
adelante) las interfaces grficas de usuario se han ido extendiendo ms y ms,
UNIX es ms tpicamente manejado desde interfaces de tipo CLI ("Command Line

Interface"), en las que los comandos se lanzan desde el "Shell". Hay una decena
de "shells" populares en UNIX, desde el antiguo pero universal "Bourne Shell" (sh)
hasta el sofisticado "Bash Shell". A continuacin se puede ver la imagen de ejemplo
de una sesin de Bash, tomada en Gentoo Linux:

Imagen de una sesin de Bash


El uso de interfaces grficas con UNIX es tan fcil como con cualquier otra plataforma. Sin
embargo la flexibilidad de interconexin entre los datos de entrada y salida de las
aplicaciones no es fcil de representar en aqullos, y es este precisamente uno de los
aspectos ms importante para los programadores de sistema ya que permite construir
comandos combinados potentes muy rpidamente a los expertos. UNIX ide el sistema de
almacenamiento en estructuras jerrquicas que hoy es tan popular en todos los sistemas:
los directorios y subdirectorios.
7. REQUERIMIENTOS MINIMOS DE HARWARE.

CONSIDERACIONES
La ejecucin de procesos de usuario en sistemas UNIX se divide en dos niveles: usuario y
kernel. Cuando un proceso ejecuta una llamada al sistema, el modo de ejecucin cambia
del modo usuario a modo kernel: el sistema operativo ejecuta y atiende el servicio
requerido por el usuario, devolviendo un cdigo de error si falla.

Incluso si el usuario no hace una peticin explcita de los servicios del sistema operativo, el
sistema operativo contina realizando operaciones que relacionan a los procesos de
usuario, manipulando interrupciones, planificando procesos, administrando la memoria, etc.

Muchas arquitecturas (y sus sistemas operativos) soportan ms niveles que los dos
descritos, pero estos dos modos, usuario y kernel, son suficientes para los sistemas UNIX.
Las diferencias entre los dos modos son:

Los procesos en el modo usuario pueden acceder a sus propias instrucciones y datos
pero no a las instrucciones y datos del kernel (o los de otros procesos). Los procesos
en el modo kernel, sin embargo, pueden acceder a las direcciones del kernel y del
usuario.

Algunas instrucciones mquina estn privilegiadas y producen error si se ejecutan en


modo usuario.

UNIX, comparado con otros sistemas operativos avanzados, necesita muy poca memoria
para funcionar. Debera contar con un mnimo de 2 megabytes de RAM; sin embargo, es
altamente recomendable tener 4 megabytes. Cuanta ms memoria tenga ms rpido ir su
sistema.
UNIX soporta el rango completo de direcciones de 32-bits de los 386/486; es decir, utilizar
toda la memoria RAM de forma automtica, y se apaar sin problemas con tan slo 4
megabytes de RAM, incluyendo aplicaciones "pedigeas" como X-Windows, Emacs, y
dems.
Sin embargo, disponer dems memoria es casi tan importante como tener un procesador
ms rpido. 8 suficiente para uso personal; 16 megabytes o ms pueden ser necesarios si
espera una fuerte carga de usuarios en el sistema.
La mayora de los usuarios de Unix, reservan una parte del disco duro para espacio de
intercambio ("swapping") que se usa como RAM virtual. Incluso si dispone de bastante
memoria RAM fsica en su mquina, puede que quiera utilizar un rea de "swap. El rea
de "swap" no puede reemplazara una memoria fsica RAM real, pero puede permitir a su
sistema ejecutar aplicaciones ms grandes guardando en disco duro aquellas partes de
cdigo que estn inactivas. La cantidad de espacio de intercambio a reservar depende de
diversos factores

REQUISITOS DE LA CONTROLADORA DE DISCO DURO


No necesita un disco duro para ejecutar UNIX; puede ejecutar un sistema mnimo
completamente desde CDS O Disquettes. Sin embargo, puede resultar muy lento y muy
limitado, y de todas formas, muchos usuarios tienen acceso a almacenamiento en disco
duro.
Debe tener una controladora AT-estndar (16-bit). El ncleo soporta controladoras XTestndar (8 bit); aunque la mayora de las controladoras usadas hoy son AT-estndar. Unix
debera soportar todas las controladoras MFM, RLL, e IDE. La mayora, pero no todas, las
controladoras ESDI estn soportadas slo aquellas que hacen emulacin hardware de la
ST506.

La regla general para controladoras que no sean SCSI, es que si puede acceder a las
unidades (disco y/o disquete) desde MS-DOS u otro sistema operativo, debera poder
hacerlo desde Unix.

También podría gustarte