Gestion de Procesos PDF

Title Gestion de Procesos
Author jordy celi
Course Sistemas Operativos
Institution Universidad Nacional de Loja
Pages 9
File Size 199.3 KB
File Type PDF
Total Downloads 81
Total Views 129

Summary

Gestion de procesos en Android...


Description

MODALIDAD PRESENCIAL

ÁREA TÉCNICA

SISTEMAS INFORMÁTICOS Y COMPUTACIÓN

INFORME :Gestion de Procesos .

Componente: Sistemas Operativos

NOMBRE DEL ESTUDIANTE: Jordy Alexander Celi Mancheno FECHA: 22/05/2019

Introducción. Android es un software de uso libre, por lo cual este sistema operativo está basado en Linux por lo que su funcionamiento interno tiene un parecido al de Linux, cuando Android tiene varios procesos o aplicaciones ejecutándose. El sistema Android trata de mantener un proceso de una aplicación por el mayor tiempo posible, pero con el tiempo necesario para eliminar los antiguos procesos y así poder ganar memoria, para lo procesos más importantes o los procesos nuevos que están ejecutándose. Nos ha pasado que cuando nosotros instalamos una aplicación en muchos de los casos se da que estas se quedan abiertas en un segundo plano cuando debería de cerrarse para poder abrirse de nuevo, tenemos una aplicación que están ejecutándose en segundo plano que estas son propias del sistema Android como son Gmail, Google, Google maps, estas aplicaciones por lo general se quedan ejecutándose en segundo plano por lo cual consumen memoria. Por este motivo Android utiliza una planificación de procesos, así como esto lo conlleva a tener algoritmos de planificación de procesos,

Desarrollo. Planificación de procesos. Android es un sistema operativo basado en el kernel de Linux para la determinación de la planificación de sus procesos debido a esto algunos procesos en Android 8 son nativos, pero la mayoría de procesos se ejecutan en una maquina virtual de java; en la mayoría de los casos Android 8 al ejecutar una aplicación lo hace en su propio proceso Linux, se crea un proceso para la aplicación cuando se ejecuta esta aplicación y los seguirá ejecutando hasta que el sistema reclame recursos de otros procesos hasta que sea necesario y pueda asignarle a esta aplicaciones. Android tiene políticas de planificación de procesos las cuales son las siguientes: SCHED_OTHER: El estándar de operación por turnos de tiempo compartido de las políticas. SCHED_BATCH: Lo utiliza para realizar una ejecución “lote” es decir requiere que el programa, datos y ordenes al sistema operativo sean remitidos todos juntos al estilo de los procesos. SCHED_IDLE: La utiliza para ejecutar trabajaos o aplicaciones de muy baja prioridad en un segundo plano.

Estados de un proceso en Android. El sistema operativo Android 8.0 utiliza estados de procesos para saber que procesos eliminar primero ante un escenario para ello Android asigna prioridades a cada uno de los procesos utilizando el siguiente orden. Foreground Process: En este estado va la aplicación que contiene una actividad ejecutada en primer plano en la pantalla del usuario y con la que esta interactuando en el momento.

Visible Process: Este proceso ocupa una actividad que no esta ejecutándose en primer plano es decir el método pausa ha sido llamado por esta actividad. Service Process. Estos procesos se inician cuando un service ha sido llamado. Background process. Es un proceso que contiene una actividad que el usuario no puede verla y que ya no tiene demasiada importancia es de baja prioridad. Empty process.

Este es un estado de proceso que no está alojando ningún tipo de componente. La razón por lo que existe este estado es el de tener una cache disponible para la próxima aplicación que ejecute el usuario. Algoritmos de planificación. EN Android 8 básicamente se utilizan dos algoritmos de planificación que son el denominado SJF y el round robin. SJF: Android 8 utiliza algoritmos de planificación SJF debido a que este algoritmo da prioridad a los procesos mas cortos a la hora de ejecución y los va colocando en una cola, selecciona al proceso con el próximo tiempo de ejecución mas corto y lo ejecuta hasta que este proceso termine. Round Robin: Este algoritmo también lo utiliza el Android 8 debido a que este proceso consiste en asignar un intervalo de tiempo de ejecución, a este intervalo se lo denomina cuanto, por lo cual, si el proceso agota su cuanto, este va a elegir otro proceso para que ocupe la CPU.

Sincronización de procesos: Cuando una aplicación en Android 8 se ejecuta o se inicia y la aplicación no tiene ningún otro componente en su funcionamiento. El sistema Android 8 realizara un nuevo proceso de Linux para esta aplicación con un solo hilo de ejecución. De forma que todos los componentes iniciados con la aplicación se ejecuten en el mismo proceso. Si un

componente de aplicación se inicia y que ya existe un proceso para dicha aplicación (porque otro componente de la aplicación existe), entonces el componente se inicia dentro de ese proceso y usa el mismo hilo de ejecución. Android 8 podrá decidir si cerrar un proceso en cualquier momento. El sistema Android 8 cuando queda poca memoria y requeridos por otros procesos que están más directamente al servicio del usuario. Componentes de aplicaciones que se ejecutan en el proceso que ha matado en consecuencia destruido. Un proceso que se inicia de nuevo por esos componentes cuando hay más trabajo que hacer para ellos. Al decidir qué procesos de matar, el sistema Android pesa su importancia relativa para el usuario. El sistema operativo Android 8 es un sistema multiusuario basado en Linux en el cual cada aplicación actúa como un usuario diferente, el sistema Android 8 asigna a cada solicitud un único id. Los procesos en Android 8 tienen su propia maquina virtual por lo que cada código de las aplicaciones se ejecuta de forma aislada de otras aplicaciones. Cuando el sistema operativo inicia un nuevo proceso cuando la aplicación se ejecuta, después, este se cierra cuando el proceso ya no se necesita o cuando el proceso requiere memoria para ejecutar otras aplicaciones. Dado esto, el sistema Android 8 implementa el principio de privilegios mínimos, es decir, cada aplicación sólo va a tener acceso a los componentes que necesita para realizar su trabajo y no para otras cosas. Debido a esto Android 8 crea un entorno muy seguro, en el que una aplicación no podrá acceder a partes del sistema para el cual no se le dará el permiso que requiere.

Android es un sistema operativo en auge, esto debido al uso de Smartphone y otros dispositivos en cuyo funcionamiento se presenta un ambiente de concurrencia, multihilos y despacho de eventos asíncronos, donde se presentan situaciones que no determinan la programación más compleja y requieren de mecanismos de sincronización. Por lo cual Android utiliza la implementación de semáforos debido a que los semáforos se basan en el principio de otorgar permisos, por medio de la generación de señales que permiten la sincronización de procesos preservando el principio de exclusión mutua y evitando el interbloqueo. Interbloqueos. Android 8 para evitar interbloqueos ha implementado Dimmunix el cual es un sector modificado de Dalvik VM esto le sirve al sistema para que nunca pueda caer en un interbloqueo debido a que este detecta el interbloque y realiza una prevención para poder evitarlo sin necesidad que el usuario interactúe, Android Dimmunix cuando detecta un interbloqueo lo guarda en un historial de interbloqueos así puede evitar que se den otros interbloqueos. Conclusiones. Después de haber realizado una investigación con los temas revisados en clases y luego de analizar diferentes consultas sobre los temas tratados, he llegado a las siguientes conclusiones sobre las consultas realizadas en base al sistema operativo elegido que ha sido Android 8 a continuación muestro las conclusiones sobre los temas analizados.



La utilización de semáforos por parte del sistema Android 8 para sincronizar los procesos debido a que este otorga permisos y generan señales para sincronizar los procesos y poder evitar interbloqueos en el sistema operativo.



Android 8 ocupa un software para poder evitar los interbloqueos aparte de la utilización de semáforos este software le permite al sistema detectar y prevenir el interbloqueo directamente sin que el usuario intervenga optando por un algoritmo de solución de interbloqueo.



Android 8 está basado en el kernel de Linux para identificar la planificación de sus procesos,



La mayoría de los procesos en Android 8 se ejecutan en una máquina virtual.



Un algoritmo de planificación que utiliza Android 8 es Round Robin; debido a que el sistema operativo, hace una selección cuál será el siguiente proceso a ejecutar. A cada proceso se le asigna un tiempo máximo de ejecución: el cuanto (o quantum). Si al proceso se le acaba el cuanto, el sistema operativo se apropia de la CPU.



Android 8 también utiliza SFJ porque realiza una cola de procesos analizando los menores tiempos de ejecución, es decir da prioridad a los procesos más cortos.

Bibliografía. 

prezi.com. (2019). PLANIFICACION DE PROCESOS EN ANDROID. [online] Available at: https://prezi.com/kk9uqlopehuv/planificacion-de-procesos-en-android/ [Accessed 22 May 2019].



Jtech.ua.es. (2019). [online] Available at: http://www.jtech.ua.es/dadm/20112012/restringido/android-av/wholesite.pdf [Accessed 22 May 2019].



Android Developers. (2019). Procesos y subprocesos | Android Developers. [online] Available at: https://developer.android.com/guide/components/processesand-threads?hl=es-419 [Accessed 22 May 2019].



Tanenbaum A, “Sistemas Operativos Modernos”, Ámsterdam: Pearson Educación 2009 3ra Ed[Accessed 22 May 2019]..



Scribd. (2019). Algoritmos de planificación que utilizan los sistemas operativos Linux. [online] Available at: https://es.scribd.com/doc/163293809/Algoritmos-deplanificacion-que-utilizan-los-sistemas-operativos-Linux [Accessed 22 May 2019].



Sistemaoperativoandroidudo.blogspot.com. (2019). Gestión de Procesos en Android. [online] Available at: http://sistemaoperativoandroidudo.blogspot.com/2017/11/gestion-de-procesos-enandroid.html [Accessed 22 May 2019]....


Similar Free PDFs