You are on page 1of 30

Materia y grupo: Sistemas Operativos TC2008.

1 Fecha: 21 de noviembre de 2013 Nombres: Campus Quertaro Departamento de Sistemas Computacionales y de Informacin Antonio Osamu Katagiri Tanaka Gabriel Alejandro Resndiz Mateo Sistemas Operativos

Profesor: Eduardo Daniel Jurez P Parcial: Final Matrcula: A01212611 A01201944 Calificacin:

Trabajo de Investigacin Final Anlisis de Sistemas Operativos

NDICE:
Introduccin Gua de instalacin y configuracin (Solaris 10) Propsito Windows 7 Servicios Interfaz de Usuario Ejecucin de Programas Operaciones de entrada y salida Manipulacin de archivos Comunicaciones Deteccin de errores Asignacin de recursos Proteccin y seguridad Proceso de planificacin de la CPU Mecanismos de sincronizacin de procesos Mecanismos de prevencin, evasin o deteccin de interbloqueos Gestin de memoria Solaris10 Servicios Interfaz de Usuario Ejecucin de Programas Operaciones de entrada y salida Manipulacin de archivos Comunicaciones Deteccin de errores Asignacin de recursos Proteccin y seguridad Proceso de planificacin de la CPU Mecanismos de sincronizacin de procesos Mecanismos de prevencin, evasin o deteccin de interbloqueos Gestin de memoria Android Servicios Interfaz de Usuario Ejecucin de Programas Operaciones de entrada y salida Manipulacin de archivos Comunicaciones Deteccin de errores Asignacin de recursos Proteccin y seguridad Proceso de planificacin de la CPU Mecanismos de sincronizacin de procesos Mecanismos de prevencin, evasin o deteccin de interbloqueos Gestin de memoria Conclusiones Referencias 03 04 15

15 16 17 17 17 18 18 18 18 19 19 19

20 20 20 21 21 21 22 22 22 23 23 23

24 24 24 24 24 25 25 25 26 26 26 26 27 28

INTRODUCCIN:
A lo largo del semestre hemos aprendido conceptos bsicos sobre el funcionamiento de los sistemas operativos, hemos hablado de los diferentes algoritmos que existen para ciertos propsitos como la planificacin del CPU, evasin de interbloqueos, gestin de memoria, etc. Ahora es momento de revisar todos los conceptos tericos vistos en clase e investigar cmo son aplicados en la realidad por los sistemas operativos que actualmente estn en el mercado. El propsito de este trabajo es investigar, analizar y comparar 3 diferentes sistemas operativos desde su funcionamiento interno viendo cmo aplican las estructuras y algoritmos vistos en clase. Los 3 sistemas operativos a comparar sern Windows 7 (un sistema operativo que usamos con mucha frecuencia), Solaris 10 (un sistema operativo nuevo para nosotros) y Android (un sistema operativo diseado principalmente para dispositivos mviles). A continuacin daremos una breve introduccin a cada uno de los sistemas operativos anteriormente mencionados. Windows 7 es un sistema operativo producido por Microsoft Corporation, fue lanzado oficialmente en octubre de 2009. Pertenece a la familia de sistemas operativos Windows NT, posee un ncleo hbrido siendo la versin NT 6.1. Windows 7 est diseada para el uso en PC como lo son computadoras de escritorio domsticas o empresariales, computadoras porttiles, tablets y dems dispositivos mviles. Su predecesor es Windows Vista, que es la versin NT 6.0 mientras que el sucesor es Windows 8, que fue lanzado en 2012 y su versin es NT 6.2. Solaris 10 es una versin de Solaris que es un sistema operativo de tipo UNIX. Solaris 10 fue desarrollada por Sun Microsystems y fue publicada el 31 de enero de 2005. Solaris est pensada para ser usada en estaciones de trabajo y servidores principalmente. Solaris 10 tiene el ncleo SunOS siendo la versin SunOS 5.10. Sun Microsystems fue adquirida en 2009 por Oracle Corporation que en noviembre de 2011 lanz la siguiente versin de Solaris que vendra siendo Solaris 11 cuya versin de ncleo es SunOS 5.11. Android es un sistema operativo diseado principalmente para dispositivos mviles con pantalla tctil como lo son tablets y smartphones. Android est basado en una versin modificada del ncleo Linux y fue lanzado el 23 de septiembre de 2008. En un principio fue desarrollado por Android Inc., empresa que ms tarde fue comprada por Google. Todas las versiones de Android tienen el nombre de un postre en ingls, cada uno empieza con una letra diferente y van en orden alfabtico. La versin actual es Android 4.4 KitKat. Despus de haber introducido los sistemas operativos, vamos a dar comienzo al anlisis y comparacin.

GUA DE INSTALACIN Y CONFIGURACIN

Instalando Solaris 10
1. Elegir una instalacin inicial o una actualizacin. Es posible llevar a cabo una instalacin inicial o, si el sistema est actualmente corriendo con el sistema operativo (SO) Solaris, se puede actualizar el sistema. a. Instalacin inicial. Una instalacin inicial sobrescribe en el disco del sistema con la nueva versin del SO. Considerar que si el sistema no est corriendo alguna versin de Solaris, es inevitable llevar a cabo una instalacin inicial. Si es sistema est corriendo el SO Solaris, es posible elegir una instalacin inicial, sin embargo si se requiere conservar alguna modificacin es necesario respaldar los cambios antes de la instalacin. b. Actualizacin. Es posible actualizar el SO mediante dos mtodos: i. Standard. Conserva tantos parmetros de configuracin como sean posibles del actual sistema ii. Solaris Live Upgrade. Se crea una copia del sistema actual que puede ser actualizada mediante el mtodo estndar. Si ocurre algn error, es posible regresar al anterior SO de Solaris con un reboot. ste mtodo ofrece la posibilidad de mantener el sistema corriendo mientras es actualizado. 2. Elegir el programa de instalacin. El SO Solaris proporciona diversos programas para la instalacin o la actualizacin. Elegir el mtodo de instalacin que ms se ajuste a las necesidades actuales. a. Instalar un sistema desde un CD-ROM o un DVD-ROM con un programa interactivo. (Solaris installation program). Este programa divide las tareas en diferentes paneles, mostrando la informacin necesaria para elegir alguno de los valores predeterminados. Este mtodo no es eficiente para instalar el SO en mltiples sistemas. (Instrucciones en: Solaris 10: Installation Guide: Basic Installations) b. Istalar un sistema en una red de rea local LAN. (Solaris installation program over the network). Este programa permite configurar e instalar el software en un servidor para que ste lo instale en mltiples sistemas. (Instrucciones en: Part II, Installing Over a Local Area Network, en Solaris 10 Installation Guide: Network-Based Installations) c. Automatizar la instalacin o la actualizacin de mltiples sistemas basados en cuentas configuradas por el instalador. (Custom JumpStart). Este programa instala eficientemente el SO en mltiples sistemas, sin embargo si solo se poseen pocos sistemas, la creacin de un ambiente JumpStart puede tomar demasiado tiempo, en ese caso elegir el mtodo b. (Instrucciones en: Solaris 10 Installation JumpStart and Advanced Installations, Chapter6) d. Consulta de otros mtodos de instalacin en: Solaris 10 Installation JumpStart and Advanced Installations pp 31. Elige una configuracin personalizada o predeterminada. (Solaris interactive installation program). Elegir entre una interfaz grfica o un text installer (interfaz no grfica). a. GUI. Si se elige utilizar una interfaz grfica: a) una instalacin predeterminada formatea el disco duro e instala un conjunto predeterminado de software, b) una instalacin personalizada permite modificar el diseo del disco duro e instalar solo el software deseado.

3.

5
b. Text installer. Es posible seleccionar los valores predeterminados o editar los valores para seleccionar el software que se quiere instalar. (Ms informacin en: Solaris 10 Installation Guide: Planning for Installation and Upgrade, Chapter 5). 4. Revisar los requerimientos del sistema. Determinar si es sistema cuenta con los requerimientos mnimos para la instalacin o la actualizacin y asignar los espacios de la memoria del sistema de los componentes del SO que se quieren instalar. a. Memoria (Solaris SPARC environment). 256 MB es la capacidad recomendada, 128 MB es la mnima. b. Swap (Solaris SPARC & x86 environment). 512 MB es el tamao predeterminado. c. Procesador (Solaris SPARC environment). De 200 MHz o ms. d. Memoria (x86 Solaris environment): i. Solaris 10 1/06: 512 MB es el tamao recomendado, 256 MB es el mnimo. ii. Solaris 10 3/05: 256 MB es la capacidad recomendada, 128 MB es la mnima. e. Procesador (x86 Solaris environment). 120 MHz o ms. f. Si hay suficiente memoria la GUI se despliega por defecto, de lo contrario, se despliega la interfaz no grfica (text installer). Es posible cambiar la configuracin predeterminada con los comandos nowing o text. i. Solaris SPARC environment: Text-Based 128-383 MB; GUI 384 MB o mayor. ii. X86 Solaris environment (Solaris 10 1/06): Text-Based 256-511 MB; GUI 512 MB o mayor. iii. X86 Solaris environment (Solaris 10 3/05): Text-Based 128-383 MB; GUI 384 MB o mayor. g. Para conocer las recomendaciones de la asignacin de memoria y espacio Swap ver: Solaris 10 Installation Guide: Custom JumpStart and Advanced Installations, Chapter 3, pp 35. h. Para conocer la versin actual del SO Solaris que est instalado en el sistema, teclear el comando uname a. cat /etc/release proporciona informacin ms detallada. Elegir instalar el SO desde un medio local (DVD o CD) o desde la red (descargar e instalar). Elegir el medio de instalacin ms apropiado para el ambiente actual. http://www.oracle.com/us/downloads/index.html a. Si se elige instalar Solaris 10 desde la red, completar los siguientes pasos: i. Para un ambiente x86, verificar que el sistema soporte PXE (Preboot Execution Environment). ii. Crear un servidor de instalacin. iii. Configurar el servidor DHCP (Dynamic Host Configuration Protocol). iv. Establecer el sistema para instalar el SO desde la red. Recolectar informacin sobre el sistema. Completar la tabla localizada en: Solaris 10 Installation Guide: Planning for Installation and Upgrade, Chapter 5, pp 57. Llevar a cabo la instalacin o la actualizacin. Utilizar el mtodo de instalacin elegido para instalar o actualizar el software del SO.

5.

6.

7.

6
a. Suponiendo que se eligi: a) una instalacin inicial, b) el programa Solaris installation program, c) una interfaz grfica por defecto (se cuenta con los requerimientos necesarios del sistema - Solaris SPARC environment - GRUB) y una instalacin desde un medio local; se puede instalar Solaris 10 de la siguiente manera: Seleccionar el SO que se quiere correr y presionar ENTER para comenzar la configuracin de la instalacin del Solaris 10.

Esperar

7
Configurar el teclado y presionar F2 para confirmar.

Esperar

Configurar la conectividad a la red. Selecciona No, si no se requiere una conectividad. Generalmente se selecciona Yes, con el fin de poder establecer una conectividad con un host.

8
Si se elige utilizar DHCP Dynamic Host Configuration Protocol, la interfaz de red ser configurada automticamente.

Configurar IPv6, es recomendable habilitar esta opcin ya que permite manejar ambos, IPv6 e IPv4 en el sistema.

Presionar F2 para confirmar la configuracin relacionadas con la conectividad a la red. Y Esperar un momento.

9
Configurar la seguridad en la pantalla siguiente, si se selecciona No, se utilizar la versin normal de Unix Security. Este tipo de seguridad es suficiente si se planea que el sistema va a ser de uso personal. Presionar F2 para confirmar la configuracin relacionadas con la seguridad. Y Esperar un momento.

Selecciona el nombre del servicio que ser usado por el sistema, para uso personal se puede seleccionar None.

10
Presionar F2 para confirmar la configuracin relacionadas con el nombre del servicio. Y Esperar un momento.

Especifica el dominio de NFSv4 que es compartido por los clientes y servidores. Si no se conoce el dominio, elegir Use the NFSv4 domain derived by the system para mayor flexibilidad durante las operaciones del sistema. Presionar F2 para confirmar la configuracin relacionadas con el dominio del NFSv4. Y Esperar un momento.

11
Seleccionar el huso horario en la siguiente pantalla.

12
Configurar el reloj.

Presionar F2 para confirmar la configuracin relacionadas con la zona horaria y el reloj. Y Esperar un momento.

Seleccionar una contrasea de raz (root password) en la siguiente pantalla.

13
Esperar , despus de configurar el password, el sistema se reiniciar. (Para modificar unknown se debe utilizar el comando NewHostName en la terminal como un superusuario)

14
Introducir el usuario de raz (root) e iniciar sesin.

Se presentar es escritorio predeterminado de Solaris

8.

Solucionar los problemas de instalacin. Revisar la informacin necesaria cuando se encuentre con un problema en: Solaris 10 Installation Guide: Custom JumpStart and Advanced Installations, pp 231. Para mayor informacin se pueden consultar los documentos de Oracle en: http://docs.oracle.com/cd/E19253-01/

9.

15

PROPSITO:
El propsito general de cada uno de los tres sistemas operativos vara mucho de los dems. En primer lugar tenemos a Windows 7 cuyo objetivo principal es ser utilizado en computadoras personales, su competencia ms fuerte es OS X de Apple. Como ya se mencion, Windows 7 est desarrollado para ser utilizado en computadoras de escritorio en escuelas, oficinas y hogares adems de computadores personales aunque tambin est adaptado para ser utilizado en dispositivos mviles como las tablets. Por otro lado est Solaris, el propsito de Sun Microsystems al desarrollar Solaris 10 era entregar un entorno de computacin consistente desde servidores de departamentos organizacionales hasta sistemas con servidores masivos en cluster, con ms de 100 CPUs, diseados para computacin multiproceso a 64 bits, de acuerdo con Fernando Bravo, Administrador de Servicios de Intenet en la Universidad de Cauca, Colombia. Por ltimo tenemos a Android, que es un sistema operativo orientado a los dispositivos mviles, su propsito es ser usado principalmente en los dispositivos mviles con pantalla tctil. Compite con iOS de Apple.

WINDOWS 7
SERVICIOS 1. INTERFAZ DEL USUARIO Entre las metas de desarrollo para Windows 7 se dio importancia a mejorar su interfaz para volverla ms accesible al usuario e incluir nuevas caractersticas que permitan hacer tareas de una manera ms fcil y rpida, al mismo tiempo que se realizaban esfuerzos para lograr un sistema ms ligero, estable y rpido. La barra de tareas presenta una mejora significativa, la agrupacin de aplicaciones similares con vista previa interactiva (en el caso de Internet Explorer, muestra las diferentes instancias como pestaas que se tengan abiertas), as como un soporte temtico. En general, todos los cambios en el diseo tanto en el fondo como en las ventanas lo hacen menos aburrido. El men de inicio proporciona una caja de bsqueda tanto de archivos como de programas que hace que rara vez se tenga que ingresar a todos los programas. Por otro lado, agrupo lo reciente por aplicacin en el men de inicio. Esta funcionalidad crea un acceso directo a un conjunto de programas ms utilizados en el men de inicio, por ejemplo Google Chrome.

16 Las ventanas de informacin parecen menos tcnicas y ms orientadas a un usuario ms comn. Por ejemplo, en la lista de opciones de energa, slo se tienen a la mano las dos ms utilizadas y las dems opciones se encuentran en otra lista. Adems el nuevo centro de mensajes proporciona un mecanismo sencillo para dar a conocer al usuario algunas tareas que se deben atender o problemas a solucionar. A Diferencia de Windows Vista, en Windows 7 basta con solo dar un clic en la hora y fecha en la parte inferior derecha de la barra de tareas para que se muestre la informacin adecuada y mejor presentada. Por otro lado, se introdujeron los Jump Lists, al hacer clic derecho en el cono de la barra de tareas de algn programa abierto, se puede acceder a una lista con una serie de opciones que permiten controlar la aplicacin sin la necesidad de abrir la ventana. Por ejemplo se puede revisar el historial de pginas visitadas de Internet sin tener que abrir la ventana del Explorador. 2. EJECUCIN DE PROGRAMAS El uso del comando ejecutar es un mtodo rpido para abrir programas, archivos, directorios y pginas web (al disponer de una conexin a internet). En Windows 7 se pueden ejecutar archivos de tres maneras: a) utilizando el men de inicio con la vista clsica, b) utilizando a la caja de be bsqueda del men inicio o c) utilizar el comando Ejecutar. Si se elige la opcin c, se puede acceder entrando a inicio > todos los programas > accesorios > ejecutar y en el cuadro abrir escribir el nombre del programa, directorio, archivo o sitio web que se desea ejecutar. Otra opcin es crear atajos de teclado para ejecutar programas siguiendo los siguientes pasos: 1) buscar el acceso directo del programa, 2) hacer clic derecho y entrar a propiedades, 3) en propiedades modificar el campo de Tecla de mtodo abreviado.

17 3. OPERACIONES DE ENTRADA Y SALIDA En Windows, las operaciones de E/S se especifican desde las aplicaciones mediante las llamadas al sistema, que trabajan con dispositivos lgicos. Una llamada al sistema de lectura o de escritura especifica los siguientes parmetros: a) La operacin a realizar (leer, escribir), b) El canal sobre el que se realiza la operacin, c) La direccin (o posicin) en el dispositivo de E/S donde se accede, d) La fuente o destino de la transferencia (direccin de memoria), e) La cantidad de informacin a transferir (longitud). Una operacin de entrada/salida consta de dos partes. 1) La primera que es independiente del dispositivo, consta del cdigo utilizado por la llamada al sistema y normalmente nos referiremos a ella como una rutina de E/S. 2) La segunda es el cdigo del driver o del manejador del dispositivo que es dependiente del dispositivo. 4. MANIPULACIN DE ARCHIVOS Las bibliotecas son una manera muy sencilla de organizar de forma lgica los accesos a diferentes ubicaciones fsicas con alguna relacin de inters. Dentro de las bibliotecas, las agrupaciones por fecha o tipo resultan muy tiles para encontrar diferentes archivos. Las bibliotecas recently changed para archivos y recent places para directorios, son una alternativa para acceder a los elementos recin utilizados. En un sistema de archivos de Windows NT (Windows 2000, Windows XP, Windows Server 2003, Windows Vista y Windows 7), se utiliza el NTFS (Sistema de archivos de nueva tecnologa). El cual se basa en una estructura conocida como tabla maestra de archivos MFT, la cual contiene informacin detallada de los archivos. Este sistema permite el uso de nombres extensos distinguiendo maysculas y minsculas. Se supone que posee un alto rendimiento agracias al uso de un rbol binario para la localizacin de los archivos La MFT es una tabla de valores numricos, donde cada celda describe la asignacin de clsters de una particin, es decir es el estado de cada clster en la particin en la que est ubicada. 5. COMUNICACIONES Windows permite conectar sucursales, trabajadores remotos, e Internet de forma sencilla y barata. Las avanzadas prestaciones de red de sus servicios tambin incluyen servicios de Encaminamiento y Acceso Remoto (RAS). Estos servicios, que no requieren ninguna modificacin en el software cliente, muestran formas sencillas y baratas de implementar en Redes Virtuales Privadas (VPNs) para compartir informacin de forma segura en Internet. Los servicios de comunicaciones para Windows

18 Servicios de Conexin a Internet - ICS. Reducen significativamente los costes de comunicacin a largas distancias y mejoran la experiencia del usuario final. Complementan los servicios bsicos de red de Windows y pueden ser usados para reducir o eliminar los costes actuales, ofreciendo un acceso a Internet barato y personalizado a los usuarios finales. Los ICS estn compuesta por: El Gestor de Conexin ofrece una interface de usuario personalizable para conectar y acceder a Internet, eliminando la necesidad de que los usuarios gestionen su configuracin de acceso, incluidos los nmeros de acceso y VPN (virtual private network). Kit de Administracin del Gestor de Conexin que permite configurar clientes del Gestor de Conexin. La pre-configuracin mejora la experiencia del usuario, especialmente la del nuevo usuario. 6. DETECCIN DE ERRORES La tcnica de deteccin de errores de Windows se basa en recorrer el sistema de ficheros desde la informacin de stos y desde la informacin de los bloques libres, anotando en cada caso el nmero de veces que se checa cada bloque. El sistema de ficheros ser consistente si cada bloque ocupado se accede una sola vez desde los directorios, y si todos los bloques no ocupados aparecen registrados como libres. Las situaciones de inconsistencia se reflejan cuando: a) existen bloques que no se reclaman ni como libres ni como ocupados, b) existen bloques que se reclaman simultneamente como libres y ocupados, y c) los bloques se reclaman ms de una vez como ocupados. El ltimo caso es el ms grave, ya que no es posible tomar automticamente una decisin acerca de a qu fichero corresponde el bloque. 7. ASIGNACIN DE RECURSOS El Administrador de recursos del sistema de Windows ofrece: a) Administrar los recursos del sistema (procesador y memoria) con parmetros preconfigurados, o crear parmetros personalizados que asignen recursos por procesos, por usuarios o por grupos de aplicaciones de Internet Information Services (IIS). b) Seleccionar automticamente directivas de recursos basadas en propiedades de servidor y eventos (eventos de clster), o bien en modificaciones de la memoria fsica instalada o del nmero de procesadores. Y c) Crear un grupo de equipos para facilitar la organizacin de los servidores que se desea administrar. Con la facilidad de exportar o modificar fcilmente las configuraciones. 8. PROTECCIN Y SEGURIDAD Es sistema operativo de Windows proporciona diversas opciones para la proteccin de informacin, por ejemplo: a) permite proteger los datos contra robos y prdidas accidentales, mediante el cifrado de unidad BitLocker para contribuir a mantener seguros los datos (documentos, passwords, etc.). PROCESO DE PLANIFICACIN DE LA CPU El kernel de Windows NT cuenta con una capa de abstraccin de hardware (Hardware Adbstraction Layer - HAL), la cual es la nica responsable por las comunicaciones directas con el procesador. El resto del kernel est diseado para

19 trabajar en conjunto con la interfaz de la capa de abstraccin de harware. En Windows (como en otros sistemas operativos), la unidad mnima de ejecucin es un hilo (thread) no es el proceso en s. Un thread puede estar en alguno de los siguientes estados: a) listo, b) standby (en espera), c) en ejecucin, d) en transicin (creacin de un nuevo thread) y e) terminado. Windows NT utiliza una planificacin basada en 32 niveles de colas con mltiples de prioridades. Las 32 colas estn clasificadas en dos clases: 1) Real Time - RT (16-31) y 2) clase variable (0-15), donde las colas se recorren de mayor a menor ejecutando los hilos asociados, la prioridad cero est reservada para el sistema operativo. Cada cola es manejada por medio de un algoritmo de Round-Robin, sin embargo si un thread de mayor prioridad llega a la cola, ste es asignado al CPU. La prioridad del thread flucta dinmicamente durante la ejecucin en rango, incrementndose cuando el thread se bloquea y decrementndose cuando el thread es expulsado por terminacin. MECANISMOS DE SINCRONIZACIN DE PROCESOS En el caso de Windows, este tiene un kernel multi-hebra que proporciona soporte para aplicaciones en tiempo real y de mltiples procesadores. Cuando el kernel accede a un recurso global en un sistema monoprocesador, enmarcan de forma temporal a las interrupciones. Windows proporciona objetos despachadores, con el fin de que los threads se sincronicen empleando diferentes mecanismos, ya sea utilizando mtex, semforos, sucesos y temporizadores. MECANISMOS DE PREVENCIN / EVASIN / DETECCIN DE INTERBLOQUEOS___ Como en Windows y en cualquier otro sistema operativo, este problema se ignora siguiendo el algoritmo del avestruz. Todo se reduce en evaluar el coste asociado al introducir un conjunto de tcnicas anti-deadblocks (tiempo, implementacin y prdida de rendimiento), frente al coste de convivir con los interbloqueos. La decisin de optar esta solucin se basa en: Que la frecuencia con que se producen interbloqueos en el sistema sea pequea en comparacin con la de otros errores Que un interbloqueo no tenga consecuencias demasiado graves sobre la instalacin y/o los usuarios. Que el coste de utilizar otras polticas resulte muy elevado en trminos de prdida de eficiencia. Que las soluciones adoptadas introduzcan restricciones insoportables para los usuarios. GESTIN DE MEMORIA En materia de administracin de memoria, los procesos de Windows manejan espacios de direcciones de 32 bits con un tamao de pgina de 4 kbytes, con la opcin de poder configurar los valores predeterminados. Utiliza memoria virtual con paginacin de dos niveles con mecanismos de proteccin. En cuanto a la gestin de memoria virtual, las capacidades las proporciona un mdulo del ncleo conocido como el VM (virtual memory) manager siguiendo las

20 siguientes caractersticas: a) paginacin bajo demanda en cluster, b) a partir de un fallo de pgina no slo se carga la pgina que ha producido el fallo sino tambin un conjunto de pginas adyacentes. En la asignacin de pginas locales se aplica la poltica FIFO entre el working-set (pginas cargadas del proceso) para quitar las pginas ya cargadas. El tamao del working-set se ajusta dinmicamente mediante las polticas del VM manager considerando el comportamiento, los recursos y las necesidades globales de memoria del proceso.

SOLARIS 10
SERVICIOS 9. INTERFAZ DEL USUARIO Tras la instalacin de Solaris con la interfaz grfica de usuario o GUI, el entorno de escritorio presenta al usuario varias funciones inmediatamente reconocibles. El diseo de la estructura es similar a otros sistemas operativos comunes, como Windows de Microsoft o series de Apple OS. Los diseadores de Solaris construyen el entorno de escritorio con el lenguaje de programacin Java (Java Desktop System) y Solaris cuenta con navegadores de Internet, reproductores multimedia y una suite de oficina. 10. OPERACIONES DE ENTRADA Y SALIDA Manejadores y controladores Programa de ms bajo nivel que se encarga de los detalles que son dependientes del dispositivo o elemento electrnico (tarjeta de circuitos impresos) de la unidad de E/S. Una vez que el controlador acepta la orden del canal de E/S, genera una interrupcin y comienza a trabajar en ello. Simultneamente, el sistema operativo rectifica que la operacin vaya siendo realizada correctamente. Bus (Canales de E/S) Registros que forman parte del espacio normal de direcciones de la memoria, en donde las operaciones de entrada y salida escriben rdenes y parmetros. El software de E/S es independiente del dispositivo el cual debe contar con una uniformidad en los nombres de manejo de errores, adems presenta al programador las transferencias sncronas (sncronas bloquean al programa; asncronas no bloquean al programa pero se lleva a cabo una gestin de los dispositivos compartidos) Solaris cuenta con una gestin de las operaciones de E/S por capas, es decir en el SO la capa superior corresponde a los programas de usuario (ya que estn fuera del sistema operativo) y desde esta capa se accede a la capa inferior (correspondiente al SO) mediante la interfaz de llamadas al sistema. La interfaz de una capa debe estar bien definida para que el programador logre prevenir las posibles consecuencias al modificar la capa. En la siguiente figura se ilustra una gestin de dispositivos de entrada y salida por capas.

21

11. MANIPULACIN DE ARCHIVOS El sistema de administracin de archivos de Solaris, permite a los administradores crear, copiar, depurar, reparar y modificar archivos mediante la creacin y eliminacin de cadenas de archivos al nombrar tuberas (pipes |) y manejar volmenes. 12. COMUNICACIONES Solaris ofrece un mecanismo de comunicacin entre procesos (IPC) mediante llamadas a procedimiento remoto (RPC), en los que se llama a un mtodo de una actividad o componente de otra aplicacin, pero se ejecutar de forma remota (en otro proceso), y el resultado devuelto es regresado al proceso que inici la llamada. Esto implica: 1) descomponer la llamada de mtodo a un nivel que el SO pueda entender, 2) transmitir desde el proceso local los datos en el espacio de direcciones del proceso remoto y 3) volver a montar y representar la llamada desde el proceso remoto, luego los valores de retorno son enviados al proceso local. 13. DETECCIN DE ERRORES En el caso de Solaris, ste posee herramientas muy eficaces en la pre-deteccin de errores, anlisis del hardware del sistema y en la recuperacin de datos. Parte de las estrategias utilizadas por Solaris involucra el bloqueo de algunas partes de la memoria para evitar usarlas con el fin de no perder los datos guardados. Por otro lado, Sun ha insertado en el ncleo del SO un sistema conocido como Tecnologa preventiva de auto recuperacin (Predictive Self -Healing - PSH), que permite reducir los riesgos y aumenta la disponibilidad del equipo. Adems PSH toma las medidas

22 necesarias (diagnosticar, aislar o recuperar las fallas existentes tanto en los dispositivos de E/S como en espacios de la memoria) para reducir los daos por futuros peligros que puedan causar problemas en el sistema, es decir reduce los tiempos de cada y por ende tiempo de recursos. Adems Solaris proporciona una llamada al sistema sync, que se llama generalmente cuando se cancela la seal de apagado (shutdown) para vaciar los buffers y evitar inconsistencias. 14. ASIGNACIN DE RECURSOS El administrador de recursos de Solaris tiende a mejorar las funciones de asignacin, supervisin y control de los recursos del sistema. Entre sus funciones destaca en programador de reparto justo (fair share scheduler - FSS) y las agrupaciones de recursos para la particin de los recursos del sistema. 15. PROTECCIN Y SEGURIDAD Solaris cuenta con el accesorio ASET (Automated Security Enhancement Tool) que incrementa la seguridad permitiendo a los administradores de sistemas revisar los archivos del sistema incluyendo sus permisos, pertenencias y el contenido del mismo. Por otro lado, ASET alerta a los usuarios acerca de problemas de seguridad potencial y proporciona las soluciones ms apropiadas. Existe una versin mejorada que adems incluye el intercambio de claves de internet IKE , un Shell seguro y un protocolo ligero de acceso a directorios LDAP. IKE permite a los administradores gestionar un gran nmero de redes redes seguras. El Shell de Solaris permite a los usuarios acceder de forma segura a una red insegura a travs de un sistema remoto. LDAP proporciona los mecanismos de cifrado SSL (TLS) y CRAMMD5 (cifrado avanzado) con un tamao mximo de 128 bits que est disponible de forma predeterminada en algunas funciones. PROCESO DE PLANIFICACIN DE LA CPU Solaris utiliza una cola de varias prioridades, donde la prioridad ms alta es asignada primero (la asignacin de hilos por parte del kernel puede conocerse con el comando ps -etcL), que van de 0 a 169. Del 0 al 59 estn reservados para los threads de tiempo compartido, el sistema de hilos en las prioridades 60 a 99. Del 100 al 159 para los hilos de tiempo real y el resto para las interrupciones de baja prioridad. A diferencia de Linux, cuando un proceso se no se termina en su tiempo asignado, su prioridad cambia y regresa a la cola de espera. En Solaris, el Process Scheduler SCHED es el componente del kernel encargado de controlar el acceso de los procesos al CPU. El SHED divide los procesos en dos categoras: interactivos y de tiempo real. Los procesos de tiempo real RT son considerados prioritarios sobre cualquier otro proceso en el sistema y son manejados por un algoritmo FIFO. Los procesos interactivos son despachados utilizando la planificacin de Round-Robin

23 MECANISMOS DE SINCRONIZACIN DE PROCESOS Solaris proporciona mtex adaptativos, varibles de condicin, semforos, bloqueos (cerrojos lector-escritor) y colas de bloqueo para controlar el acceso a las secciones crticas de los procesos. El mtex adaptativo protege el acceso a todos los elementos de las secciones crticas, en un sistema multiprocesador ste se inicia como un semforo estndar, implementando un cerrojo de bucle sin fin. Este SO utiliza este mecanismo para proteger los datos a los que se accede mediante segmentos de cdigo secreto. Los bloqueos lector-escritor de Solaris, son utilizados para proteger aquellos datos a los que se accede frecuentemente pero que solo se utilizan en modo solo de lectura, por otro lado las colas de bloqueos, que ordenan la lista de hilos en espera de adquirir un mtex adaptativo o un cerrojo, son estructuras que contiene los threads que estn a la espera de un cerrojo MECANISMOS DE PREVENCIN / EVASIN / DETECCIN DE INTERBLOQUEOS Solaris proporciona la herramienta Crash Analysis Tool CAT, que es parte del entorno del sistema y ayuda a analizar los archivos centrales del sistema y la salida del conflicto que se present. CAT genera archivos de salida en los cuales se describen las causas y los factores que provocaron el error. Sin embargo se utiliza el algoritmo del avestruz. GESTIN DE MEMORIA Las primeras versiones slo utilizaban particiones variables sin ningn esquema de memoria virtual (mquinas PDP-11), sin embargo en las implementaciones actuales utilizan una memoria virtual paginada. Solaris es un SO diseado para ser instalado en una gran variedad de computadoras, ya que la gestin de memoria es muy dependiente del hardware disponible. Las nuevas versiones de Solaris proporcionan una memoria virtual con paginacin sobre demanda combinado con el intercambio de procesos. Para cada entrada de la tabla de pginas se considera la direccin fsica del marco de pgina, los bits de proteccin, el bit de validez, de referencia, de pgina modificada y un contador de antigedad (solamente el bit de validez y la direccin fsica deben estar soportados por el hardware), el resto de la informacin puede simularse en el software. Adems de la tabla de pginas, se cuenta con una lista de marcos de pgina que guarda la informacin del estado de la pgina (asignada, libre, cargando, etc.), el nmero de procesos que referencian al marco y el dispositivo que contiene una copia de la gina y el nmero de bloque. El Working-Set (conjunto de pginas asignadas a un proceso); el sistema operativo define en nmero mnimo de marcos libres, si en un momento determinado el lmite es rebasado, el SO entra y envejece las pginas (contador de antigedad) y si la edad alcanza un valor determinado, la pgina se libera. Escritura de pginas en disco por grupos; si el paginador decide liberar una pgina y la pgina se ha modificado, el paginador pone la pgina en una lista de pginas a escribir, cuando el nmero de pginas llega a un nmero determinado, todas las pginas se escriben fsicamente en el disco.

24 Swapping; cuando se presenta mucha demanda de memoria, y el paginador no es capaz de conseguir marcos libres a la velocidad necesaria, y adems no se puede mantener el nmero mnimo de marcos libres, el SO saca un proceso de memoria (el criterio se basa fundamentalmente en el estado del proceso y su prioridad).

ANDROID
SERVICIOS 16. INTERFAZ DEL USUARIO Poco intuitivo, la interfaz es adaptable a pantallas de mayor resolucin como: VGA, biblioteca de grficos 2D, grficos 3D basados en las especificaciones de la OpenGL ES 2.0 y diseo de telfonos tradicionales. La multitarea real est disponible, es decir las aplicaciones que no estn ejecutndose en primer plano, tambin reciben ciclos de reloj. 17. EJECUCIN DE PROGRAMAS La ejecucin de programas de Android es muy similar a la de muchos sistemas Linux, con la nica diferencia de que en Android, cada proceso de cada aplicacin se ejecuta en una mquina virtual, lo que le agrega seguridad al sistema. 18. OPERACIONES DE ENTRADA Y SALIDA Utiliza una gestin de dispositivos de entrada y salida por capas muy similar a Solaris; ver el caso de Solaris. 19. MANIPULACIN DE ARCHIVOS El sistema de administracin de archivos de Android, permite a los administradores crear, copiar, depurar, reparar y modificar archivos de una manera muy similar a otros SO mediante el empleo de directorios. 20. COMUNICACIONES Android ofrece un mecanismo de comunicacin entre procesos (IPC) mediante llamadas a procedimiento remoto (RPC), en los que se llama a un mtodo de una actividad o componente de otra aplicacin, pero se ejecutar de forma remota (en otro proceso), y el resultado devuelto es regresado al proceso que inici la llamada. Esto implica: 1) descomponer la llamada de mtodo a un nivel que el SO pueda entender, 2) transmitir desde el proceso local los datos en el espacio de direcciones del proceso remoto y 3) volver a montar y representar la llamada desde el proceso remoto, luego los valores de retorno son enviados al proceso local. Android proporciona todo el software necesario para realizar estas operaciones de IPC, para que se pueda centrarse en la definicin e implementacin de la interfaz de programacin de RPC. Para que una aplicacin pueda participar en la comunicacin entre procesos debe unirse a un servicio utilizando bindService().

25 21. DETECCIN DE ERRORES La tcnica de deteccin de errores de Windows se basa en recorrer el sistema de ficheros desde la informacin de stos y desde la informacin de los bloques libres, anotando en cada caso el nmero de veces que se checa cada bloque. El sistema de ficheros ser consistente si cada bloque ocupado se accede una sola vez desde los directorios, y si todos los bloques no ocupados aparecen registrados como libres. Las situaciones de inconsistencia se reflejan cuando: a) existen bloques que no se reclaman ni como libres ni como ocupados, b) existen bloques que se reclaman simultneamente como libres y ocupados, y c) los bloques se reclaman ms de una vez como ocupados. El ltimo caso es el ms grave, ya que no es posible tomar automticamente una decisin acerca de a qu fichero corresponde el bloque. 22. ASIGNACIN DE RECURSOS En Android, cada aplicacin abierta es considerada un usuario diferente, por lo que a cada solicitud se le asigna un nico ID de usuario. Este nico ID es utilizado para controlar los permisos de los archivos de una aplicacin para que slo las aplicaciones seleccionadas puedan acceder a los archivos especficos de cada aplicacin. Por otro lado, cada proceso posee una mquina virtual VM, por lo que el cdigo de una aplicacin se ejecuta de forma aislada de otras aplicaciones. Android inicia el proceso cuando cualquiera de los componentes de la aplicacin que se ejecuta y cierra el proceso cuando ya no se necesita o cuando el sistema debe recuperar memoria para otras aplicaciones. De esta manera el sistema operativo implementa el principio de privilegios mnimos, cada aplicacin slo tien acceso a los componentes que necesita para hacer su trabajo, por lo que se genera un entorno muy seguro, en el que una aplicacin no puede acceder a partes del SO para el cual no se le da permiso 23. PROTECCIN Y SEGURIDAD Segn un estudio de Symantec Susceptible al walware de 2013, demuestra que en comparacin con iOS, Android es un sistema menis vulnerable. El estudio en cuestin habla de 13 vulnerabilidades graves para Android, frente a 387 vulnerabilidades para iOS. Adems se habla de los ataque en ambas plataformas, en el caso de Android se queda con 113 ataques nuevos en 2012 a diferencia de iOS que slo tuvo un ataque nuevo. Aun as Google y Apple se empean cada vez ms en hacer sus sistemas operativos ms seguros, incorporando ms seguridad. Algunas de las mejoras disponibles en Android 4.4 son: Android sandbox reinforced with SELinux. SELinux es un sistema de control de acceso obligatorio (mandatory Access control - MAC) en el kernel de Linux que proporciona proteccin adicional contra vulnerabilidades en contra de la seguridad. Per User VNP. En dispositivos multiusuario, un VNP es asignado a cada usuario, permitiendo a cada uno trazar su ruta en la red sin afectar a los dems usuarios. ECDSA Provider support in AndroidKeyStore. Android utiliza los algoritmos de ECDSA y DSA para el almacenamiento de contraseas.

26 PROCESO DE PLANIFICACIN DE LA CPU Android, como un fruto de Linux, utiliza el algoritmo planificador conocido como el Completely Fair Scheduler - CFS que fue desarrollado con el fin de maximizar el uso de la CPU con las diferentes tareas que se lanzan en un sistema Linux, basndose en el Fair Queuing. MECANISMOS DE SINCRONIZACIN DE PROCESOS En Android, los procesos se sincronizan de la siguiente manera: a) slo un proceso puede sincronizarse en modo kernel, b) si el proceso actual est activo en modo kernel, el SO no provoca interrupciones, c) un proceso que se ejecuta en modo kernel puede provocar un cambio en su propio estado, suspendiendo su ejecucin (sleep) y esta suspensin voluntaria se debe generalmente a la espera de un evento. El SO proporciona varios mecanismos que permiten a los procesos sincronizarse en modo kernel mediante bottom-halves, temporizadores, colas de espera y de tareas, y semforos. Las bottom-halves BHs se refieren a un mecanismo de sincronizacin que deja al ltimo los aspectos menos urgentes de rutinas de servicio de las interrupciones. En muchos casos no es conveniente atender a la interrupcin en su totalidad. Los temporizadores en Linux se gestionan en una lista circular doblemente enlazada con el objetivo de poder colocar a los procesos en espera durante un tiempo determinado, los temporizadores a despachar en un futuro prximo se colocan al inicio de la lista. Colas de espera y de tareas. En las ltimas versiones de Android, se crearon unas colas de tareas que permitieran colocar tantas funciones como se quisiera para luego procesarlas todas una tras otra en orden Last In First Out - LIFO (en realidad son pilas de funciones), utilizadas para posponer la ejecucin de una funcin especfica del kernel. Las colas de espera es una lista circular simplemente enlazada de descriptores de procesos esperan la respuesta de algn recurso o evento. Cada descriptor contiene la direccin y un puntero al siguiente elemento de la cola, utilizadas para suspender la ejecucin de un proceso hasta que se produzca una cierta condicin. MECANISMOS DE PREVENCIN / EVASIN / DETECCIN DE INTERBLOQUEOS___ Se utiliza el algoritmo del avestruz; ver el caso de Windows 7. GESTIN DE MEMORIA Debido a que Android es un SO diseado para dispositivos mviles, en algunos casos la cantidad de memoria es muy limitada, sin embargo Android soporta dispositivos con 512 MB de memoria principal (RAM) gracias a sus polticas con respecto a la gestin de memoria. Una peticin directa se da a cabo cuando un proceso o el kernel intenta asignar una pgina de la memoria y adems el kernel tiene en uso toda la memoria disponible, esto forza al kernel a bloquear la asignacin mientras ste libera una pgina, para evitar las peticiones directas, el kernel de Android llama a la instruccin kswapd (background reclaim) que es un thread que trata de liberar las pginas ms viejas para que cuando un nuevo thread intente asignarse a una pgina, lo logre satisfactoriamente.

27 Por otro lado, zRAM (zwap RAM) es una estrategia que incrementa la cantidad de memoria en el sistema mediante la compresin de las pginas de memoria y colocndolas en una memoria zwap dinmica.

CONCLUSIONES
A lo largo de la elaboracin de este trabajo de investigacin nos dedicamos a analizar los tres sistemas operativos seleccionados desde cmo estn programados, qu algoritmos usan para ciertas tareas, cmo administran los recursos y procesos, etc. Cabe destacar que los temas aprendidos en clase quedaron ms claros con este trabajo debido a que aprendimos cmo los conceptos tericos se implementan en la realidad. No solo reforzamos lo aprendido en clase, aprendimos ms conceptos relacionados a la estructura y programacin de un sistema operativo y adems vimos cmo ha ido evolucionando cada uno, como Windows NT 3.1 pas a ser Windows 8, Solaris 2.0 a Solaris 11 y Android 1.0 Apple Pie a Android 4.4 Kitkat, todo esto refleja como los programadores cada vez buscan mejorar el sistema operativo para hacerlo ms eficiente y fcil de manejar por el usuario. Todo esto nos genera expectativas de que esperar en las siguientes versiones de estos sistemas operativos. Algunas de las conclusiones a las que llegamos y podemos resaltar son las siguientes: En la actualidad hay una gran variedad de sistemas operativos, sin mencionar que desde hace ms de 30 aos stos han sufrido cambios por parte de los programadores, y siguen evolucionando. Es evidente que el sistema operativo ms utilizado hoy en da es el correspondiente a Microsoft-Windows. El dilogo entre el usuario y la mquina suele realizarse a travs de una interfaz de lnea de comandos o de una interfaz grfica de usuario. Las interfaces de lnea de comandos exigen que se introduzcan instrucciones breves mediante un teclado. Las GUI emplean ventanas para organizar archivos y aplicaciones con iconos y mens que presentan listas de instrucciones. El uso de las GUI es ms sencillo de utilizar que el de las interfaces de lnea de comandos. Sin embargo, la introduccin de instrucciones con una GUI es ms lenta, por lo que las GUI suelen tener la opcin de emplear un sistema equivalente al de lnea de instrucciones como alternativa rpida para los usuarios ms hbiles en materia de sistemas computacionales. Los tres sistemas operativos analizados anteriormente no compiten directamente entre s en el mercado, esto se debe a que cada uno tiene un propsito y un enfoque en el mercado diferente. Windows est enfocado en las computadoras personales, Solaris en las estaciones de trabajo y servidores mientras que Android en los dispositivos mviles con pantalla tctil.

28

Referencias
Watters, Paul. (2003). Solaris 9: manual de referencia. Mxico, McGraw-Hill Watters, Paul. (2002). Manual de administracin de Solaris. Mxico, McGraw-Hill Universidad Politcnica de Valencia (2011), Android: Programacin de aplicaiones mviles. Recuperado el 12 de noviembre de 2013 de la pgina http://www.androidcurso.com/index.php/tutoriales-android/32-unidad-2-diseno-dela-interfaz-de-usuario-vistas-y-layouts/222-tipos-de-recursos-y-recursos-delsistema Galli, R. (2011, diciembre 7). Android, iOS, tiempos de respuestas y por qu nada es gratis en sistemas informticos. Recuperado el 12 de noviembre de 2013 de la pgina http://gallir.wordpress.com/2011/12/07/android-ios-tiempos-de-respuestasy-por-que-nada-es-gratis-en-sistemas-informaticos/ Princeton University (2011). Enterprise Servers and Storage. Recuperado el 12 de noviembre de 2013 de la pgina http://www.princeton.edu/~unix/Solaris/troubleshoot/schedule.html Bravo, D. (2004, noviembre). Solaris Operating Environment. Recuperado el 14 de

noviembre

de

2013

de

la

pgina

http://artemisa.unicauca.edu.co/~dabravo/solaris_vs_linux.html Ferreiro Fernndez, M. (2010). WINDOWS 7. UN SISTEMA OPERATIVO A SU ALCANCE. Ideaspropias Editorial, Vigo, 2010. 208 pginas. Windows 7. Revisando la nueva interfaz de usuario. (2009, Noviembre 22). Recuperado el 14 de noviembre de 2013 de la pgina http://asereware.blogspot.mx/2009/09/windows-7-revisando-la-nueva-interfaz.html Oscar (2008, noviembre 28). 7 novedades en la interface de Windows 7. Recuperado el 14 de noviembre de 2013 de la pgina http://www.madboxpc.com/la-nueva-interface-de-windows-7/ Microsoft (2013). Iniciar un programa con el comando Ejecutar. Recuperado el 14 de noviembre de 2013 de la pgina http://windows.microsoft.com/es-xl/windows-vista/start-a-program-by-using-the-runcommand

29 Microsoft (2013). Windows 7: administracin y operaciones. Recuperado el 15 de noviembre de 2013 de la pgina http://technet.microsoft.com/es-es/library/dd443490(v=ws.10).aspx Microsoft (2013). Windows 7. Recuperado el 16 de noviembre de 2013 de la pgina http://technet.microsoft.com/en-US/windows/dd361745 Microsoft (2013). Task Manager. Recuperado el 16 de noviembre de 2013 de la pgina http://technet.microsoft.com/en-us/library/cc938567.aspx Seguridad en el Protocolo SSL-TLS. (2011, Noviembre 8). Recuperado el 16 de noviembre de 2013 de la pgina http://www.expresionbinaria.com/seguridad-en-el-protocolo-ssl-tls/ Desfragmentador de disco de Windows. (2013). Recuperado el 16 de noviembre de 2013 de la pgina http://es.wikipedia.org/wiki/Desfragmentador_de_disco_de_Windows Garca Marcelli, M. (2011, mayo 23). Sistema de Archivos. Recuperado el 17 de noviembre de 2013 de la pgina http://es.slideshare.net/garciamarcelli/sistemas-de-archivos-14185226 Sistemas Operativos. Entrada y Salida. (2012, Diciembre). Recuperado el 17 de noviembre de 2013 de la pgina http://www.dc.fi.udc.es/~so-grado/SOEntradaSalida.pdf Bedoya, O. Sistemas Operativos. Recuperado el 17 de noviembre de 2013 de la pgina http://eisc.univalle.edu.co/~oscarbed/SO/clasePlanificacionApropiativa.pdf Buchart, C. (2011). Planificacin de Procesos en Linux. Recuperado el 18 de noviembre

de

2013

de

la

pgina

http://alfa.facyt.uc.edu.ve/computacion/pensum/cs0377/practicas/1/1_planificacion _procesos.pdf Android (2013). Running Android with low RAM. Recuperado el 18 de noviembre de 2013 de la pgina http://source.android.com/devices/low-ram.html#carveouts Universidad Particular Tcnica de Loja (2009, abril 13). Planificacin de procesos en Windows, Linux, Mac, Solaris y AIX. Recuperado el 18 de noviembre de 2013 de la pgina http://blogs.utpl.edu.ec/sistemasoperativos/2009/04/13/planificacion-deprocesos-en-windows-linux-mac-solaris-y-aix/

30

Gestin de memoria en UNIX y SOLARIS. (2013). Recuperado el 18 de noviembre de 2013 de la pgina http://sistemasoperativosm317.wikispaces.com/Gestin+de+memoria+en+UNIX+y +SOLARIS Lpez Vzquez, Y. (2012, diciembre 13). Sistema Operativo Solaris. Recuperado el 18 de noviembre de 2013 de la pgina http://www.slideshare.net/MONSE100/sistema-operativo-solaris-15628229