Taller de Sistemas Operativos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

CORPORACIÓN UNIVERSITARIA RAFAEL NÚÑEZ

TEC.EN DESARROLLO DE SISTEMA Y PROGRAMACIÓN DE

SOFTWARE

SEMESTRE IV

SISTEMAS OPERATIVO I

DOCENTE:

MARCOS SOTO BERROCAL

Estudiante:

Isaac yamith Guzmán Paternina


Modelo de proceso

En los modelo de proceso se basa en administrar los complejo esquema que forma un

programa al ejecutarse.

Un proceso se basa y forma . Las instrucciones de un programa destinadas a ser ejecutadas

por el micro procesador, a su estado de ejecución en un momento dado, esto es, los valores de los

registros de la CPU para dicho programa ,su memoria de trabajo, es decir, la memoria que ha

reservado y sus contenidos, otra información que permite al sistema operativo su planificación

Un modelo proceso se basa en varios conceptos aparte cuyo objetivos seria identificar y

mostrar la información del programa al ejecutarse;

Los concentos serian

• Hilo de ejecución (Thread). Cuyo objetivo se basa en una secuencia de ejecución de

instrucciones dentro del proceso. Donde Todos los procesos tienen al menos un estado con el

apuntador a la instrucción y el estado de los registros del procesador.

• Programa. Constituye a la secuencia de instrucciones ordenadas en un lenguaje regular,

que implementa el algoritmo para que cumpla un propósito particular

Los procesamiento que forma la computadora cabe recalcar que existe varios procesos pero

no todos se basan en un mismo modelos de procesos. Principalmente, los dispositivos de entrada

y de salida pueden incluir considerables capacidades de procesamiento que operen al margen de

este modelo, en virtud de servir a propósitos particulares y por ello no restan validez al modelo.
Ya que los procesos no son descripciones de programa que se pueda ejecutarse

inmediatamente se crea a partir de un ciclo de creación , ejecución y la terminación de los

procesos para si formar un modelo claro.

La creación se basa de un paso a paso para el proceso:

• Reservar los recursos que le serán asignados.

• Asignar los elementos en la planificación de procesos para atenderlo.

• Preparar un estado inicial en el procesador y la memoria que incluya cargar el código del

programa a la memoria antes de llevar a cabo las instrucciones del programa.

durante la ejecución :

su objetivo es la administración de procesos al realizar las tareas para los programas que

fueron desarrollados. Ahora bien, cuando los recursos son escasos, se puede atender un proceso

a la vez, dedicando todos los recursos del equipo y minimizando el consumo de estos en tareas

administrativas. Para atender múltiples procesos con un procesador, o varios, se debe establecer

turnos de ejecución que duren un tiempo determinado, los cuales permitan que la atención del

procesador se alterne entre los diversos programas que deben ser atendidos.

Terminación de la ejecución

Se debe tomar en cuenta que todos los algoritmos que se diseñen deben considerar las

condiciones necesarias para que se concluya las tarea en ejecución. Lo cual significa que los

procesos deben terminar en algún momento, por lo que se debe vigilar los recursos del equipo

para que sean recuperados para atender las necesidades de otros procesos, a fin de que el

sistema operativo pueda seguir operando durante periodos prolongados

Implementación de procesos
La administración de procesos requiere de diversos mecanismos para mantener bajo control la

información de todos los procesos presentes en el sistema durante su operación, así como para

almacenar aquella información que representa el estado de los procesos que se mantienen

inactivos, con el fin de poder cargarla y ejecutarla cuando se le asigne su turno de ejecución.
1. Para que conozcas más acerca de las capacidades de procesamiento de los dispositivos de
entrada y de salida, realiza una investigación acerca de una tecnología en particular (por
ejemplo, las tarjetas aceleradoras de video orientadas a juegos o al diseño gráfico incorporan
grandes capacidades de multiprocesamiento que pueden servir al procesamiento general del
equipo
con protocolos como OpenGL, o el uso de procesamiento en l os dispositivos de

almacenamiento masivo que permiten asegurar la información en la norma SMART).

2. Con la información que obtuviste responde las siguientes preguntas:

•  ¿Cómo se mide la capacidad de procesamiento de uno de estos dispositivos?

•  ¿Cómo se compara con la capacidad de los procesadores principales del equipo?

•  ¿Cómo se realiza un programa que aproveche esa capacidad?

3. En equipo, recopilen información acerca de las posibles aplicaciones de uso cotidiano que

podrían mejorarse, con el fin de que puedan ser aprovechadas al máximo. Comenten en clase,

con sus compañeros, si sería rentable en términos de costo-beneficio.


1 Cascos de Realidad Virtual.

Estos aparatos se colocan en la cabeza para simular una presencia real en un entorno virtual,

emitiendo un mundo virtual en los visores dispuestos delante de nuestros ojos (salida) y

recibiendo respuestas de nuestro comportamiento al mover la cabeza (entrada) en un proceso de

retroalimentación que puede verse perfectamente en los videojuegos.

Según reproduzcan las imágenes sobre un ojo o sobre los dos, los HMD pueden ser:
Monocular: las imágenes sólo se reproducen sobre un ojo. Técnicamente es un HMD pero no es
para realidad virtual. Es el caso de las Google Glass.
Binocular: las imágenes se reproducen sobre los dos ojos, obteniendo así una imagen
estereoscópica.
Por otro lado, cabe distinguir también:
Cascos o gafas de realidad virtual propiamente dicha: ocupan el campo de visión del usuario de
modo que no tiene percepción del entorno que lo rodea, permitiendo así la completa inmersión
de éste en una realidad virtual, ya que sólo percibirá las imágenes creadas por ordenador y
reproducidas sobre la pantalla.
Cascos o gafas de realidad aumentada o realidad mixta: permiten al usuario ver todo el entorno
que lo rodea e introducen en éste objetos virtuales, produciendo así lo que se conoce como
realidad aumentada o realidad mixta.
según su operatividad, se pueden distinguir:
Carcasas de realidad virtual: son las que no tienen pantalla propia sino que están preparadas
para albergar un teléfono móvil, en el cual se reproducirán las imágenes. Ejemplos: Samsung
Gear VR, Google Cardboard y muchas otras de distintos fabricantes.
Gafas de realidad virtual sin procesador: incluyen pantalla propia y sensores pero se conectan a
un aparato externo (típicamente un ordenador personal) para recibir las imágenes. Ejemplos:
Oculus Rift, PlayStation VR, HTC Vive...
Gafas de realidad virtual autónomas (o todo-en-uno): son las que incluyen todo: carcasa,
pantalla, sensores y procesador. Ejemplos: Microsoft HoloLens|Microsoft Hololens.

2 ¿Cómo se mide la capacidad de procesamiento de uno de estos dispositivos? Debido a su


proximidad con los ojos el casco de realidad virtual consigue que las imágenes visualizadas
resulten mucho mayores que las percibidas por pantallas normales, y permiten incluso englobar
todo el campo de visión del usuario. Gracias a que el casco se encuentra sujeto a la cabeza, éste
puede seguir los movimientos del usuario

¿Cómo se compara con la capacidad de los procesadores principales del equipo?. Una de las

principales razones es que el casco clásico, como Oculus Rift o HTC Vive, sólo sirven como un

dispositivo de salida de imagen, mientras que todo el procesamiento tiene lugar en el ordenador

externo, que debe ser lo suficientemente potente. Además, el cable que conecta el casco con la

computadora puede interferir con el usuario durante los juegos en los que necesita moverse

activamente.

  ¿Cómo se realiza un programa que aproveche esa capacidad? Educación y formación a pasos

agigantados avanza en el ámbito de la educación, aunque aún queda mucho por hacer. Las

posibilidades de la realidad virtual y la educación son infinitas y traen muchas ventajas a los

alumnos de todas las edades. Formación o entrenamiento el uso de la realidad virtual permite

entrenar a los profesionales militares en un entorno virtual donde pueden mejorar sus

habilidades sin la consecuencia de entrenar en un campo de batalla. Medicina el personal médico

se forma a través de realidad virtual para hacer frente a una mayor variedad de lesiones. Un

experimento se realizó en dieciséis residentes de cirugía, donde ocho de ellos fue a través de la

colecistectomía laparoscópica a través de entrenamiento virtual.


1. Identifica los diversos procesos de diferentes sistemas operativos que sean iniciados con los

mecanismos antes mencionados (por ejemplo, Time-Share, UNIX y embebido como

Androide).

2. Busca información acerca de las facilidades correspondientes en tiempo real, como

RTLinux y Wind River Linux

3. En sistemas de tiempo compartido o interactivos, como UNIX, ¿cuáles son los procesos que

se inician directamente al arrancar el SO?, ¿cómo lo contrasta con los procesos que inician

mediante init.d?

4. Ejecuta un programa desde su intérprete de comandos y desde la interfaz gráfica de su

sistema operativo, y responde las siguientes preguntas:

•  ¿Cómo te informa el sistema operativo que el proceso ha iniciado?

•  ¿Cuál es el identificador del proceso?

•  ¿Cómo puedes solicitar la terminación del proceso directamente al sistema operativo?

5. Para iniciar un proceso desde otro podemos usar en nuestro programa la llamada al

sistema fork()del sistema operativo UNIX. Realiza un programa que genere una copia de sí

mismo con esta función y observa el comportamiento de ambos.

6. Ejecutar un archivo de ejecución por lote en un sistema Time share solo es una forma más

de iniciar un proceso desde otro proceso; no obstante, algunas aplicaciones han sido

desarrolladas para llenar el nicho de automatizar la ejecución de procesos. Revisa la

funcionalidad que ofrece crond y analiza cómo se distingue esta funcionalidad del procesamiento

en un sistema Batch.

Solución
1. UNIX, conlleva a un multiproceso que permite a un usuario ejecutar varios procesos
simultáneamente desde una misma terminal.

UNIX distribuye el tiempo de procesador entre todos los procesos que estén ubicados en la
cola de procesos activos, teniendo en cuenta la prioridad de cada uno de ellos, que son ocupadas
por los diferentes procesos según una política de asignación. El multiproceso da origen a las
políticas de bloqueo, según las cuales se pueden bloquear recursos con el fin de evitar problemas
En general un proceso consta de varias zonas:

 Código
 Datos
 Pila
 Registro
 Información general

La shell o intérprete de comandos es un programa o proceso que lee los comandos


introducidos por el usuario, busca el programa correspondiente en memoria o disco y lo carga en
memoria.

En UNIX existen unos proceso, en el cual se encarga de una misión que son los que permiten
el perfecto funcionamiento del sistema. Se trata de los demonios (daemon). Estos procesos a su
vez pueden arrancar otros procesos o demonios con tareas más específicas.

Los demonios son procesos que arrancan cuando se inicializa el sistema y no finalizan nunca,
salvo que se les envíe una señal de finalización, la cual, en circunstancias normales no se envía
más que cuando se va a parar el sistema.

Android

Es conocido como , un sistema operativo diseñado para dispositivos móviles, su


funcionamiento está basado en el uso de aplicaciones, las cuales pueden llamar una o varias
funcionalidades básicas de dicho dispositivo. 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.

Se derivan en .

-Procesos en Primer Plano (Active Process): los procesos activos o procesos en primer plano,
son aquellos en donde existe una interacción con el usuario, en términos técnicos se define asi:

-Procesos visibles (visible process): son las actividades visibles, pero no son en primer plano
y no responden a eventos de usuarios.

· -Procesos de Servicio (startedServiceProcess): este tipo de procesos no son visibles y


suelen ser importantes para el usuario, por ejemplo conexión con servidores y reproducción de
música.
· -Procesos en segundo plano (BackGroundProcess): incluye aquellas actividades que no
son visibles y están en ejecución, generalmente hay muchos tipo de este proceso en el sistema,
por lo que el sistema mantiene una lista para asegurarse que el último proceso visto por el
usuario sea el último en eliminarse en caso de necesitar memoria.

-Procesos vacíos ( EMPTYPROCESS): es un proceso que no aloja ningún componente, se


utilizan para mejorar el rendimiento general del sistema, además de tener una cache disponible
de la aplicación para su próxima activación.

2 RTLinux es un tiempo real estricto sistema operativo en tiempo real microkernel que
recorre toda la Linux sistema operativo como totalmente preferente proceso. La propiedad dura
en tiempo real hace posible controlar robots, sistemas de adquisición de datos, plantas de
fabricación y otros instrumentos y máquinas sensibles al tiempo desde aplicaciones RTLinux.
Incluso con un nombre similar, no está relacionado con el proyecto Real-Time Linux de la
Fundación Linux.

El objetivo clave del diseño de RTLinux era agregar capacidades en tiempo real a un sistema
operativo básico para facilitar el desarrollo de programas de control complejos con ambas
capacidades. Por ejemplo, uno podría querer desarrollar un controlador de motor en tiempo real
que usara una base de datos de productos básicos y exportara una interfaz de operador web. El
objetivo clave del diseño de RTLinux es que el sistema sea transparente, modular y extensible. La
transparencia significa que no hay cajas negras que no se puedan abrir y el costo de cualquier
operación debe ser determinable. La modularidad significa que es posible omitir la funcionalidad
y el gasto de esa funcionalidad si no es necesaria. Y la extensibilidad significa que los
programadores deberían poder agregar módulos y adaptar el sistema a sus requisitos.

Los sistemas operativos Wind River ® son la base del software para la construcción de
dispositivos, máquinas y sistemas para la Internet de las cosas.

Wind River® Linux es la plataforma de desarrollo de Linux integrado más avanzada de la


industria, con un conjunto completo de productos, herramientas y servicios de ciclo de vida para
construir y soportar dispositivos de borde inteligentes.

El producto Linux de Wind River es un código fuente y un sistema de compilación que genera
imágenes en tiempo de ejecución adecuadas para dispositivos integrados. Es compatible con una
variedad de arquitecturas, incluidas ARM , MIPS , PowerPC , IA32 y SPARC .

En 2004, Wind River anunció una asociación con Red Hat para crear una nueva distribución
basada en Linux para dispositivos integrados. [33] Desde entonces, Wind River ha terminado su
asociación con Red Hat y ahora envía su propia distribución de Linux optimizada para el
desarrollo de Linux integrado.

3 En UNIX el servicio individual más importante es provisto por init. el cual es el primer
proceso que se inicia en todo sistema UNIX, siendo la última acción que el núcleo realiza al
arrancar. Cuando init comienza su ejecución, continúa con el proce La lista exacta de cosas que
init realiza depende del sistema tipo UNIX con el que estemos trabajando; existen varios para
elegir. init normalmente proporciona el concepto de modo de usuario individual (single user
mode), en el cual nadie puede iniciar una sesión y root utiliza un intérprete de comandos en la
consola; el modo usual es llamado modo multiusuario (multiuser mode). Algunos sistemas
UNIX generalizan esto como niveles de ejecución (run levels). Así, los modos individuales y
multiusuario son considerados dos niveles de ejecución, y pueden existir otros niveles
adicionales para, por ejemplo, ejecutar X-Windows en la consola.so de arranque del sistema,
realizando varias tareas de inicio

•  ¿Cómo te informa el sistema operativo que el proceso ha iniciado. El sistema muestra una
imagen de arranque que indica que el programa se está ejecutando para activarse

•  ¿Cuál es el identificador del proceso? Una imagen que representa que el programa está
arrancando

•  ¿Cómo puedes solicitar la terminación del proceso directamente al sistema operativo? En


mi opinión el sistema se ejecuta solo si uno pide la terminación del proceso seria por motivo de
demora o malware

Cuando utilizamos la llamada al sistema fork, el proceso hijo crea una copia exacta del padre
(salvo por el PID y la memoria que ocupa). Al proceso hijo se le facilita una copia de las variables
del proceso padre y de los descriptores de fichero. Es importante destacar que las variables del
proceso hijo son una copia de las del padre (no se refieren físicamente a la misma variable), por
lo que modificar una variable en uno de los procesos no se refleja en el otro.

En UNIX los procesos se crean a través haciendo una llamada fork al sistema. El nuevo
proceso que se crea recibe una copia del espacio de direcciones del padre. Los dos procesos
continúan su ejecución en la instrucción

Esta funcionalidad tiene el objetivo de registrar el procesamiento batch, que podrá ser
utilizado en otras rutinas del sistema. Rutinas como: Verificación de correo electrónico,
Verificación de la hora del servidor, Distribución automática de Tickets con balance de carga de
trabajo

El servicio crond es proporcionado por el paquete cronie, el cual es un proyecto derivado de


vixie y que incluye mejoras en la configuración y en la seguridad, como la capacidad de utilizar
PAM y SELinux

Crond es un servicio del sistema encargado de ejecutar programas en horarios determinados.


Estos programas pueden definirse en el archivo de configuración /etc/crontab. Se puede utilizar
además el directorio /etc/cron.d, el cual sirve para almacenar archivos con el mismo formato del
archivo /etc/crontab.
Todos los mecanismos de terminación contemplan que los programas implementen todos los
pasos necesarios para liberar los recursos que se reservaron antes de ser terminados. Pero si un
programa no libera todos los recursos que reservó se habla de “fuga de recursos”; una de las
formas más

comunes es la fuga de memoria.

1. Investiga la definición y diferentes ejemplos de fugas de memoria o fugas de conexión a base


de

datos.

2. Con base en la información que recabaste mediante tu investigación, realiza lo que se te pide a

continuación.

¿Cómo afectan estos problemas al usuario final?

•  Cita un caso donde ese tipo de efectos negativos (fugas de memoria o fugas de conexión) se

presenten en la operación cotidiana del software que usas como apoyo en tus clases diarias.

3. Recopilen los ejemplos de todo el grupo y comenten acerca del nivel de calidad de los diversos

productos usados y su impacto en la operación

1Qué es una fuga de memoria

Cuando ejecutamos una aplicación, esta hace una petición de recursos que se conoce como
llamada al sistema, en el caso de la RAM esta reserva un bloque de memoria para que la
aplicación lo use durante su funcionamiento. Cuando terminas de trabajar con la aplicación y la
cierras, esos bloques de memoria se supone que se tienen que liberar para poder volver a ser
utilizado por otro programa. El problema que se produce con las fugas de memorias es que el
programa falla al comunicar que la memoria reservada debe ser liberada por el sistema por lo
que se queda reservada sin ser utilizada. Por ejemplo, cuando un programa crea nuevas tareas
constantemente sin liberar la que ya ha finalizado haciendo que se desborde la RAM

Este ejemplo, escrito en pseudocódigo , pretende mostrar cómo puede producirse una fuga de
memoria y sus efectos, sin necesidad de conocimientos de programación.
When a button is pressed:
Get some memory, which will be used to remember the floor number
Put the floor number into the memory
Are we already on the target floor?
If so, we have nothing to do: finished
Otherwise:
Wait until the lift is idle
Go to the required floor
Release the memory we used to remember the floor number

2
¿Cómo afectan estos problemas al usuario final?

Una pérdida de memoria reduce el rendimiento de la computadora al reducir la cantidad de


memoria disponible. Con el tiempo, en el peor de los casos, se puede asignar demasiada
memoria disponible y todo o parte del sistema o dispositivo deja de funcionar correctamente, la
aplicación falla o el sistema se ralentiza enormemente debido a la paliza .

 donde el programa se ejecuta durante un tiempo prolongado y consume memoria


adicional con el tiempo, como tareas en segundo plano en servidores, pero especialmente
en dispositivos integrados que pueden dejarse en funcionamiento durante muchos años
 donde se asigna nueva memoria con frecuencia para tareas únicas, como cuando se
procesan los fotogramas de un juego de computadora o un video animado
 donde el programa puede solicitar memoria, como memoria compartida , que no se
libera, incluso cuando el programa termina
 donde la memoria es muy limitada, como en un sistema integrado o dispositivo portátil
Referencias bibliográficas:

http://www.pulso.uniovi.es/wiki/index.php/Casco_de_Realidad_Virtual

ldp.org/pub/Linux/docs/ldp-archived/system-admin

guide/translations/es/html/ch03s03.html#:~:text=init%20es%20el%20primer

%20proceso,iniciar%20demonios%2C%20etc.).

http://www.lsi.us.es/docencia/get.php?id=1697

agar.es/unix/procesos.htm#:~:text=Un%20proceso%20se%20puede%20definir,lanzar

%20algunos%20en%20segundo%20plano.

http://sistemaoperativoandroidudo.blogspot.com/2017/11/gestion-de-procesos-en-

android.html

https://es.qwe.wiki/wiki/RTLinux

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy