Está en la página 1de 14

UNIVERSIDAD ESTATAL A DISTANCIA

ESCUELA DE CIENCIAS EXACTAS Y NATURALES


CATEDRA DESARROLLO DE SISTEMAS

Centro Universitario de Heredia

Asignatura: Sistemas Operativos

Tarea 1

Procesamiento de hilos en los sistemas operativos y su gestión

Código: 00881

Nombre del Estudiante: Abraham Sánchez Soto

Número de Cédula: 401840862

Grupo: 01

III CUATRIMESTRE 2022

1
Contenido
Introducción.......................................................................................................................................3
Parte 1................................................................................................................................................4
Procesamiento de hilos en los sistemas operativos y su gestión....................................................4
Diagrama sobre el modelo y gestión de proceso...........................................................................5
Gestión de procesos para Android y iOS........................................................................................7
Conclusión........................................................................................................................................12
Referencia Bibliográfica....................................................................................................................13

2
Introducción
En la siguiente investigación se estará realizando un estudio a fondo sobre algunos conceptos,
gestiones y procesos correspondientes los sistemas operativos por lo cual motivo al lector a ir mas
a fondo sobre este interesante tema y así lograr adquirir mas conocimiento que ayudará a reforzar
todo aquel ya adquirido, el propósito es lograr comprender aún más el maravilloso mundo de las
computadoras, su tecnología y funcionamiento. Dicho esto, uno de los conceptos principales que
debemos saber es sobre el proceso, este es un programa en estado de ejecución gracias a una
serie de instrucciones y es por medio de dicho proceso que se logra ejecutar y realizar la tarea que
le ha sido solicitada por medio de una serie de ordenes dando paso a lo antes mencionado (el
proceso). Para que esto se cumpla se requiere de una gestión la cual asigna los recursos y también
de hilos que logran la intercomunicación entre las partes por medio de subprocesos que permiten
la ejecución del proceso principal
También podremos observar un diagrama de cómo se lleva a cabo la gestión de un proceso por
medio de un desglose, como realiza su recorrido desde su creación, como el estado del mismo
cambia y como realiza la terminación hasta que se completa. Dado por comprendido esto se
realiza una comparación sobre los sistemas Android Y Apple de como maneja los procesos estos
dos sistemas móviles como administran la memoria virtual y cual es su comportamiento al realizar
tareas múltiples logrando mantener su funcionamiento. A su vez hemos tomando en cuenta la
administración en temas de seguridad y la protección de datos sensibles protegiendo de este
modo a los usuarios, de que forma se realiza la encriptación en cada uno de ellos.
Finalmente, en el tema de la encriptación se explica como cada una de estos dos sistemas
operativos tienen sus medios de protección ante un intento de violación para evadir la seguridad y
acceder a la información que tiene el usuario en su móvil o en su cuenta de usuario.

Parte 1
Procesamiento de hilos en los sistemas operativos y su gestión

3
Para empezar a entender el procesamiento de hilos lo primero que debemos saber es que un
proceso se refiere a un programa en ejecución dentro de estas ejecuciones cada uno de los
procesos tiene hilos que podríamos verlos como un CPU virtual. Dado que cada proceso posee su
contador de programa (program counter) este avanza cuando cada proceso tiene asignado el
recurso y a su vez se le asigna un número que lo identifica (process id). “ Un programa: Es una
entidad pasiva compuesta únicamente por un código y unos datos, es decir, tiene un listado fijo. Un
proceso: Es una entidad activa, es el programa en ejecución” (Molina, 2017, p.1).
En el caso de los hilos son subprocesos y cada hilo se ejecuta de forma secuencia, este posee su
propio contador y una pila que lleva el registro y la posición sin dejar de compartir el resto de los
recursos asignados al proceso. Esto quiere decir que para comprender que es la gestión en un
sistema operativo debemos saber que corresponde a la asignación de recursos hacia los procesos
y que estos deben permitir el intercambio de información entre ellos de este modo los recursos
quedan asignados del resto, pero permite la utilización de otros recursos la sincronización entre
ellos.

4
Diagrama sobre el modelo y gestión de proceso

Según lo ilustrado en el diagrama el modelo y gestión de procesos no muestra primeramente que


este requiere de un detonante para que el mismo pueda ser creado, dentro de estos detonantes
desde el inicio de un sistema operativo o el funcionamiento de una aplicación se da ocurre dicho
inicio, en el caso de los correspondientes a un usuario o por medio de una instrucción programada
el proceso se pone en curso según las instrucciones recibidas.

5
¿Pero qué sucede cuando dicho desencadenante se hace presente? El estado nuevo nos dice que
este corresponde a la creación del proceso, pueden estar en l memoria, pero no están
consumiendo recursos hasta que este se pone en curso. Para este punto pasa a estado preparado
siendo cargado y listo para ser usado, se encuentra en un punto medio donde aún no ha pasado a
estado activo.
Cuando pasa a estado activo entra en asignación de recursos y este se está ejecutando dentro de
esto procesos activos también encontraremos los hilos que apoyan al proceso. ¿Pero qué sucede si
este llega a estado bloqueado? Simplemente quiere decir que el proceso no ha logrado obtener
ningún recurso de los que estaban dispuestos para su ejecución, de ser así y de no recibir ningún
evento se verá obligado a regresar a estado preparado.
En caso contrario y de lograr llegar a estado terminado, el proceso termina y se elimina.
Para poder explicar la implementación de un proceso se requiere de una tabla o arreglo de
estructura conocida como tabla de procesos la cual posee una entrada por proceso. Esta entrada
posee la información del estado del proceso, el contador del programa, el apuntador de la pila, la
asignación de memoria, el estado de los archivos abiertos y demás.
Adjunto un cuadro de ejemplo:

6
Gestión de procesos para Android y iOS

Para llevar a cabo la gestión de un proceso, en el caso de Android utiliza una máquina virtual
(DALVIK), que se ejecuta por medio de un control de ciclos utilizando un manejo de memoria de
un nivel alto permitiendo que cada aplicación pueda ejecutar su propio proceso en memoria y que
estos se ejecuten solo cuando están siendo utilizados ya que los dispositivos Android poseen un
espacio reducido de memoria RAM.
Cada aplicación de Android corre en su propio proceso el cual es creado por la aplicación
cuando se ejecuta y permanece hasta que la aplicación deja de trabajar o el sistema
necesite memoria para otras aplicaciones. Android sitúa cada proceso en una jerarquía de
importancia donde prioriza los procesos existentes en el sistema y decide cuales van a ser
eliminados con el objetivo de liberar recursos (Anónimo, 2017, p.1).

Para iOS lo que hace la gestión de procesos es por medio de una cola de prioridades y aunque
cada uno de ellos recibe una asignación con su propio espacio de memoria, otros pueden acceder
con libertad a este, en el caso de que varios de ellos accedan, la prioridad de ejecución se ira
realizando en orden conforme van llegando.

“iOS denomina las prioridades de la siguiente manera que va desde los procesos de alta prioridad,
los normales, modo kernel, hasta los de más baja prioridad” (Anónimo, 2017, p.1).

Si comparamos la administración de memoria virtual en ambos sistemas operativos, en el caso de


Android por medio de la máquina virtual y un entorno de ejecución gestiona la aplicación y los
tiempos de proceso a su vez detiene los procesos que impiden la fluidez liberando los recursos
para las aplicaciones con más prioridad.

La memoria virtual asigna los datos de la aplicación a una ubicación en la memoria RAM
física de su teléfono.

El problema es que las aplicaciones no saben dónde se cargarán en la RAM. Entonces, si el


programa espera que la dirección 12048, por ejemplo, se use como contador, entonces
debe ser la dirección exacta. Pero la aplicación puede cargarse en otra parte de la memoria
y la dirección 12048 puede ser utilizada por otra aplicación.

7
La solución es dar direcciones virtuales a todas las aplicaciones, desde 0 hasta 4GB (o más
en algunos casos). Luego, cada aplicación puede usar cualquier dirección que necesite,
incluida la 12048. Cada aplicación tiene su propio espacio de direcciones único pero virtual,
y nunca tiene que preocuparse por lo que hacen otras aplicaciones. Estas direcciones
virtuales se asignan a direcciones físicas reales en algún lugar de la RAM. El trabajo del
kernel de Linux es administrar todas las asignaciones de direcciones virtuales a direcciones
físicas (Blanco, 2022, p1).

Para iOS el proceso de gestión de memoria utiliza una herramienta llamada Xcode permitiendo
una mayor eficiencia utilizando la ARC (Automatic Reference Counting) que proporcionan
referencias automáticas para Objetive-Cy Swift.

Cuando se crea una nueva instancia de una clase, ARC asigna una porción de memoria para
almacenar información sobre esa instancia. Esta memoria contiene información sobre el
tipo de la instancia, junto con los valores de las propiedades almacenadas asociadas a esa
instancia. ARC libera la memoria utilizada por esa instancia para que la memoria se pueda
usar para otros fines. Esto ayuda que las instancias de clase no ocupen espacio en la
memoria cuando ya no sean necesarias (Anónimo, 2017, p.1).

Estos procesos de la ARC se ejecutan por medio de strong y weak, donde strong libera la memoria
por medio de contadores que llegan a 0. En el caso de la weak realiza el proceso por medio de un
ciclo, esto se da ya que strong indica que los objetos son suyos, pero para evitar inconvenientes la
weak trabaja más bien con los objetos que no le pertenecen es ahí donde crea el ciclo se envía a
nil y nil devuelve 0 evitando problemas. Esto quiere decir que la ARC se encarga de retener y
liberarla información en la memoria según su estado de uso

Cuando hablamos de realiza multitasking en ambos sistemas operativos, Android pensó desde su
inicio dentro de su sistema operativo el multitasking para esto se requirió de incluir una gestión
que permitiera la localidad temporal, siendo muy similar a la memoria cache ya existente, quiere
decir que el uso de aplicaciones mantiene el proceso en segundo plano si es necesario y si aún
posee memoria la aplicación regresa a primer plano en el momento que el usuario lo requiere , en
caso contrario que el dispositivo requiera esa memoria dicha aplicación será suspendida.

La multitarea es un punto que diferencia a Android del resto de sistemas operativos


móviles. Su funcionamiento no se limita a dejar en «reposo» las aplicaciones que no

8
estamos usando, como hacen algunos otros sistemas, sino que nos permite realmente
estar usando varias aplicaciones a la vez (Miquel, 2014, p.1).

Si hablamos de iOS el multitasking tiende a manejar diferente el proceso en segundo plano, la


mayoría de estas no van a permanecer en segundo plano, aunque pudiésemos ver su última
imagen de uso ya iPhone las cerró. Al abrir dicha aplicación lo que realmente hace es ejecutarse de
nuevo sin conservar el ultimo contenido mostrado en la imagen, además el no cerrar las
aplicaciones afecta el consumo de batería. A diferencia de Android el proceso de tener que cerrar
la aplicación va a mejorar la fluidez de las nuevas aplicaciones abiertas.

La Multitarea para iPhone y iPad es un sistema diseñado por los desarrolladores de Apple
para que los usuarios puedan tener la capacidad de abrir e interaccionar con dos (o más)
aplicaciones al mismo tiempo. En el caso de iOS la Multitarea se basa únicamente en la
funcionalidad Picture-in-Picture, que permite reproducir vídeos en miniatura en primer
plano mientras que en segundo plano se efectúan otras labores (Ortiz, 2021, p.3).

Para las versiones 15 y superiores el uso de Slide Over permite que por medio de un tercer botón
se puedan utilizar varias aplicaciones por lo cual se espera que la multitarea sea mejorada
logrando competir con Android.

Si comparamos el tipo de seguridad y de encriptación que poseen dichos sistemas operativos,


debemos comprender que es la seguridad y encriptación corresponde a un método utilizado para
proteger los datos almacenados en un dispositivo ante posible pérdida o robo.

En el caso de Android ha implementado dentro de su seguridad aun cuando el teléfono no está en


uso, el Google Play Protect ya que nos permite tener protección de las aplicaciones desconocidas,
navegación web, archivos maliciosos o malware ya que nos advierte sobre el mal funcionamiento
o acciones sospechosas manteniéndonos informados, además la privacidad ofrecida protege tus
datos mediate la encriptación y la configuración de límites de acceso incluso cuando las
aplicaciones estén funcionado en segundo plano. Lo principal al hablar de la seguridad Android es
el tema de la utilización de la cuenta Google para proteger todo acceso al móvil. A pesar de los
esfuerzos la versatilidad de utilizar Android en diferentes fabricantes hace que este mas expuesto
a malware debido al retraso en las actualizaciones.

9
Las actualizaciones rápidas son ahora más importantes que nunca porque las brechas de
seguridad son cada vez más graves. Android está atrasado en el mundo de las
actualizaciones, a menos que tenga un dispositivo Android de última generación, por lo
que es menos seguro. Debido a que millones de teléfonos con Android todavía ejecutan
software que tienen años de antigüedad, pueden ser vulnerables a ataques graves como
Heartbleed y Stagefright (Matus, 2022 p.1).

Para iOS la prioridad de seguridad es muy diferente, su enfoque se dirige al control de la seguridad
con su touchID o faceID, también a la constante supervisión de las aplicaciones por lo cual es más
seguro a la hora de realizar actualizaciones. “Apple prioriza la privacidad del usuario, por lo que
puedes sentirte seguro al saber que Apple no almacena ni lee tus datos personales. Todo está
encriptado. Por su parte, Android también cifra algunos datos, aunque tu privacidad está menos
protegida” (Matus, 2022 p.1).

Otra de las ventajas es que la información se mantiene en la nube gracias a la cuenta de iCloud,
dando acceso solamente al propietario de dicha cuenta y con l ventaja que esta permite bloquear
el dispositivo para evitar extracción de información.

Una de las principales diferencias entre Android y iOS es su integración con el hardware del
teléfono. iOS está diseñado específicamente para funcionar con el hardware de Apple,
y solo con el hardware de Apple. Esto significa que está completamente blindado desde su
misma concepción para evitar ‘fisuras’ que permitan a aplicaciones maliciosas hacerse con
el control del hardware durante el arranque del dispositivo. Android, en cambio, está
diseñado en términos mucho más flexibles porque necesita funcionar en una variedad de
teléfonos cada vez mayor, así que esta seguridad es algo más difícil de garantizar. En este
aspecto, entonces, iOS está un escalón por encima de Android (Markuson, 2019, p.1).

En relación a encriptación de datos y aunque parezca que iOS es superior, en este punto Android
lleva la ventaja.

Se ha mostrado como usando una herramienta llamada UFED 4PC, que se usa para


acceder a los datos de teléfonos, en un par de modelos de iPhone ha sido posible extraer
una gran cantidad de información. Se han podido tener datos de GPS, mensajes, las
llamadas e incluso algunos datos en aplicaciones como Twitter, LinkedIn, Snapchat,
Instagram o Pinterest. Muchos datos, por tanto.

10
Por otro lado, se han analizado los Google Pixel 2 XL, Galaxy S9 y Huawei P20 Pro. No se
obtuvieron tales datos y lo más interesante es que el teléfono de Huawei fue declarado
como imposible de hackear, no se pudo sacar ningún dato del mismo (Ferreño, 2020, p.1).

Para comprender sobre la criptografía a nivel de celulares debemos saber que su función es de dar
seguridad por medio de la escritura protegida o de clave a la hora de dar información o escribir
datos que solo el receptor pueda leerla, pueden utilizarse caracteres de transposición o sustitución
para que el mensaje original no pueda ser leído. También podemos verlo en el cifrado como por
ejemplo WhatsApp o Telegram, de este modo si el teléfono sufre un ataque el mensaje no podrá
ser leído.

En el caso de Android la encriptación solicitara una contraseña cada vez que se reinicie el teléfono
y permite proteger cuentas, aplicaciones, configuraciones, archivos, tarjeta sd y contraseñas
cifrando las particiones del usuario.

Los dispositivos de Apple usan una clave de 256 bits única (UID o identificador de usuario)
almacenada en el hardware del dispositivo, cifrando la información por defecto. Este UID
se mezcla con el código de acceso para generar una nueva clave de acceso, asegurando y
resguardando los datos en el equipo. La diferencia con Android es que esta clave UID no
puede ser extraída del dispositivo, por lo que deniega los intentos de fuerza bruta para
conseguir la contraseña (Anónimo, 2014, p.1).

Adicionalmente con el apple_id el acceso a la información se vuelve altamente segura ya


que al estar administrada por el servidor de Apple solamente el usuario por medio de su
contraseña podrá acceder a la información guardada en la nube y aunque el dispositivo sea
conectado a un computador no podrá leer la información.

11
Conclusión
Según lo realizado en la anterior investigación se cuenta con la información necesaria para poder
comprender el funcionamiento de los diferentes procesos y el recorrido que realizan desde su
inicio hasta su final, tanto para las aplicaciones Android y iOS lograremos comprender como
funciona un proceso, que diferencias existen entre ellos y cuál es el objetivo de este a la hora de
que un sistema u otro ente solicite una acción. A su vez es de suma importancia comprender que
los subprocesos (hilos) permiten la distribución de los recursos y la comunicación entre ellos para
poder completar la solicitud y a la vez no agotar su capacidad y funcionamiento.
Cada proceso lleva a cabo una gestión ya sea por maquina virtual o por organización en cola logra
organizarse para la correcta ejecución de los programas, aplicaciones y demás. Parte de este
propósito de la administración de memoria y recursos viene acompañado de lo conocido como
multitasking o multitarea, debido a la demanda de los mismos usuarios se ha vuelto necesario el
rápido acceso a más de una función o aplicación por lo cual los dispositivos móviles requieren de
procesos de rápido acceso, por ende se puede cambiar por ejemplo de un reproductor de música a
un diccionario, juego entre otros sin perder la información que esta siendo utilizada en otra
aplicación y permitiendo la permanencia temporal en segundo plano-
Otro punto de alto interés corresponde a que cada usuario conserva en su dispositivo un alto
volumen de información y de información como música, archivos o información sensible como
cuentas de correo o datos personales que requieren ser protegidos, en el caso de Google con
Google Play Protect o de IPhone con su ICloud y la posibilidad de guardar información en el
servidor aparte de todos los medios de protección interno con lo que los móviles ya cuentan como
claves, contraseñas, reconocimiento facial o de huella. Para estos casos de protección de
contraseñas y de datos sensibles se desarrollo el proceso de encriptación, gracias a esto se evita el
robo o violación de información ya que las claves y demás son codificadas por medio de la
escritura protegida, a esto se le llama criptografía y lo vemos presente incluso desde el momento
en que encendemos nuestro celular, accedemos a nuestra cuenta de correo o registramos nuestro
usuario y luego accedemos a él. Ambos dispositivos poseen su propia forma de administrar todos
estos procesos, pero ya como productos terminados es lo que podemos ver hoy por hoy en
nuestros dispositivos móviles. En este punto queda a gusto de cada usuario lo que se ajusta
mejor a sus necesidades y que así cada equipo cumpla la función para la que fue creado, como se
dice popularmente para gustos los colores.

12
Referencia Bibliográfica
Anónimo. (2017). SISTEMA OPERATIVO ANDROID. Recuperado de
http://sistemaoperativoandroidudo.blogspot.com/2017/11/gestion-de-procesos-en-
android.html

Anónimo. (2017). GESTION DE MEMORIA: IOS. Recuperado de


http://sistema-ios.blogspot.com/2017/11/gestion-de-memoria-ios.html

Blanco, E. (2022). Explicación de la memoria virtual: cómo Android mantiene sus aplicaciones
funcionando sin problemas. Recuperado de https://crast.net/22145/virtual-memory-
explained-how-android-keeps-your-apps-running-smoothly/

Ferreño, E. (2020). Android tiene una encriptación de datos más segura que la de Apple.
Recuperado de https://www.profesionalreview.com/2020/01/31/android-tiene-una-
encriptacion-de-datos-mas-segura-que-la-de-apple/

Miquel, T. (2014). Multitasking, la aplicación que aprovecha al máximo las capacidades multitarea
de Android. Recuperado de
https://www.elespanol.com/elandroidelibre/aplicaciones/20140324/multitasking-
aplicacion-aprovecha-maximo-capacidades-multitarea-android/3000009_0.html

Matus, D. (2022). Android vs. iOS: comparamos a fondo ambos sistemas operativos. Recuperado
de https://es.digitaltrends.com/celular/sistemas-ios-y-android/#:~:text=Apple%20prioriza
%20la%20privacidad%20del,tu%20privacidad%20est%C3%A1%20menos%20protegida.

Markuson, D. (2019). Android vs. iOS. Cuál es más seguro y por qué. Recuperado de
https://nordvpn.com/es/blog/android-vs-ios/

13
Molina, B. (2017). Gestión de Procesos. Concepto. Concepto y criterios de planificación. Utilización
del procesador Recuperado de https://docplayer.es/48405240-Gestion-de-procesos-
concepto-concepto-y-criterios-de-planificacion-utilizacion-del-procesador.html

Ortiz, S. (2021). Cómo activar la Multitarea de iOS y iPadOS 15 en tu iPhone y iPad. Recuperado de
https://ipadizate.com/apple/poco-queda-ya-de-la-apple-de-steve-jobs-los-ipad-son-una-
prueba-de-ello

Tanenbaum, A. (2009). Procesamiento de hilos en los sistemas operativos y su gestión. Pearson


Educacion

14

También podría gustarte