Está en la página 1de 11

INSTITUTO TECNOLOGICO SUPERIOR DE CINTALAPA

SISTEMAS OPERATIVOS II

19-10-2017 UNIDAD 3

INVESTIGACION DOCUMENTAL

ING. REYNOL ROQUE FARRERA

EQUIPO:
TORRES GONZALES LUIS FABIAN
HERNANDEZ GARCIA LUIS ANTONIO
SALAZAR ENRIQUEZ YENIFFER
GOMEZ CASTELLANOS FCO DE JESUS
RIOS ESPINOZA ANTELMO

5° SEMESTRE GRUPO “E”

CINTALAPA DE FIGUEROA, CHIAPAS


Introducción

Un Proceso es algo que te resulta bastante familiar. Si lanzas Microsoft Word y VFP,
entonces tienes dos procesos separados que están corriendo al mismo tiempo,
aunque sólo tengas una CPU. El sistema operativo asigna tiempo a cada uno de los
procesos y pasa de uno a otro según le interesa. En un sistema multitarea no-
preemptivo (una tarea es sinónimo de un proceso) tal como Windows 3.1, un
proceso puede paralizar la ejecución de otro proceso, pues el sistema operativo
pasa un mensaje a cada proceso y este lo interpreta, mientras un proceso interpreta
un mensaje los demás procesos están detenidos. En un sistema multitarea
preemptivo, la CPU realiza un reparto del tiempo de ejecución entre las
instrucciones de todos procesos. Una arquitectura de aplicación basada en un sólo
proceso no funciona bien en un servidor de aplicaciones Web. Un usuario con un
Browser en Hawái hace un hit en tu Web y tu servidor Web empieza a procesar la
petición. Al mismo tiempo viene otro usuario de Nueva Zelanda, y tiene que esperar
hasta que la primera petición ha finalizado. Una posible solución a este problema
es tener múltiples procesos sirviendo a estas peticiones, de forma que puedan ser
respondidas de forma más o menos simultánea. Esto es lo que hacen los CGI. (cada
CGI crea un nuevo proceso que crea una página y a continuación termina.) Sin
embargo, esto conlleva un uso intensivo en recursos y es ineficiente. Una mejor
solución es tener muchos threads (hilos) dentro de un solo proceso capaz de
procesar las peticiones de la Web. Cada proceso tiene un thread principal, pero
puede crear muchos threads privados para su propio uso. El sistema operativo no
sólo es perfectamente feliz haciendo eso y saltando de un thread a otro dentro del
mismo proceso, sino que no asigna necesariamente un espacio de memoria a cada
uno de los threats privados, mejorando considerablemente el uso de los recursos.
Por esta razón los threads gozan de mucha eficiencia. La arquitectura ISAPI se basa
en múltiples threads. Cada hit en la web usa uno de un pool de threads para
responder a las peticiones.
Concepto de procesos y procesadores
Procesos
Un proceso es un conjunto de actividades planificadas que implican la participación
de un número de personas y de recursos materiales coordinados para conseguir un
objetivo previamente identificado. Se estudia la forma en que el Servicio diseña,
gestiona y mejora sus procesos (acciones) para apoyar su política y estrategia y
para satisfacer plenamente a sus clientes y otros grupos de interés.

Existen varios tipos de procesos:

En ejecución: El proceso ocupa la CPU actualmente, es decir, se está ejecutando.


Listo o preparado: El proceso dispone de todos los recursos para su ejecución, sólo
le falta la CPU.
Bloqueado: Al proceso le falta algún recurso para poder seguir ejecutándose,
además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El
proceso necesita que ocurra algún evento que le permita poder proseguir su
ejecución.
Procesadores
El objetivo principal de un procesador es el de ejecutar los distintos pasos de una
tarea. Debe también conseguir funcionar lo más rápidamente posible, consumiendo
la mínima potencia y evitando errores y paradas. Para ello, el procesador utiliza una
serie de operaciones elementales, a partir de las cuales se pueden resolver tareas
más complejas. Cada una de las operaciones elementales tiene un código binario y
puede tener uno, o varios operando sobre los que actuar.

El procesador dispone habitualmente de un conjunto reducido de posiciones de


memoria internas, que se conocen como registros, y que le permiten almacenar los
datos y los resultados con los que está trabajando en ese momento. El procesador,
o CPU, consta básicamente de dos partes: La unidad aritmética-lógica (ALU, es
decir aritmetic-logic unit) y la unidad de control (CU o control unit). Ambas las
veremos a continuación con más detalle.
Hilos tareas y procesos
Un hilo es una unidad básica de utilización de CPU, la cual contiene un id de hilo,
su propio program counter, un conjunto de registros, y una pila; que se representa
a nivel del sistema operativo con una estructura llamada TCB (thread control block).
Los hilos comparten con otros hilos que pertenecen al mismo proceso la sección de
código, la sección de datos, entre otras cosas. Si un proceso tiene múltiples hilos,
puede realizar más de una tarea a la vez (esto es real cuando se posee más de un
CPU).

los hilos son mini procesos o procesos ligeros dentro de un proceso en donde cada
proceso tiene un solo hilo de control, esto ayuda a que un proceso
al descomponerse en hilos, el modelo de programación se simplifica.
Un hilo de ejecución, en sistemas operativos, es una característica que permite a
una aplicación realizar varias tareas a la vez.

— Cada hilo:
*Se ejecuta en forma estrictamente secuencial.
*Tiene su propio contador de programa y una pila para llevar un registro de su
posición.
*Los hilos comparten la cpu de la misma forma que lo hacen los procesos
*Los hilos pueden crear hilos hijos.
*Mientras un hilo está bloqueado se puede ejecutar otro hilo del mismo proceso.

— Los hilos son generados a partir de la creación de un proceso, podemos decir


que un proceso es un hilo de ejecución, conocido como Monohilo. Pero las ventajas
de los hilos se dan cuando hablamos de Multihilos, que es cuando un proceso tiene
múltiples hilos de ejecución los cuales realizan actividades distintas, que pueden o
no ser cooperativas entre sí. Los beneficios de los hilos se derivan de las
implicaciones de rendimiento.

Los sistemas operativos generalmente implementan hilos de dos maneras:


Multihilo apropiativo: permite al sistema operativo determinar cuándo debe haber un
cambio de contexto. La desventaja de esto es que el sistema puede hacer un
cambio de contexto en un momento inadecuado, causando un fenómeno conocido
como inversión de prioridades y otros problemas.
Multihilo cooperativo: depende del mismo hilo abandonar el control cuando llega a
un punto de detención, lo cual puede traer problemas cuando el hilo espera la
disponibilidad de un recurso.

Modelos de procesadores
En un sistema distribuido con varios procesadores un aspecto fundamental en el
diseño es como se utiliza a los procesadores que se pueden organizar.

 Estación de trabajo

Este sistema consta de computadoras dispersas conectadas entre si mediante una


red de área local puede contar o no con disco duro en cada una de ellas, los usuarios
tienen una cantidad fija de poder de cómputo y un alto grado de autonomía para
asignar sus recursos locales.

La idea consiste en ordenar realmente la ejecución de procesos en estaciones de


trabajo inactivas.

 Pilas de procesadores

Este método consiste en construir una pila de procesadores, repleta de CPU, en un


cuarto de máquinas, los cuales se pueden asignar de manera dinámica a los
usuarios según la demanda.

A cada usuario se le da una terminal gráfica de alta rendimiento, como las terminales
X, incluso se pueden utilizar terminales ASCII. El modelo de pila de procesadores
es una forma más limpia de obtener poder de cómputo adicional que la búsqueda
de estaciones inactivas. Ningún procesador pertenece a alguien, no hay máquina
origen, no hay peligro de que el poseedor regrese.
Seleccionar pila de procesadores o estaciones de trabajo inactivas va a depender
del trabajo que se desarrolle.

 Procesador hibrido

Se puede establecer una mediación al proporcionar a cada usuario una “estación


de trabajo” personal y además tener una pila de procesadores. Aunque esta
solución es más cara.

Para procesos interactivos sería mejor utilizar estaciones de trabajo, con una
respuesta garantizada. Sin embargo, las estaciones inactivas no se utilizan, lo cual
hace más sencillo al diseño del sistema. Solo se dejan sin utilizar. En vez de esto
todos los interactivos se ejecutan en la pila de procesadores, así como todo el
cómputo pesado en general. Este modelo proporciona una respuesta interactiva
más rápida, un uso eficiente de los recursos y un diseño sencillo.

La coplanificación
La coplanificación se basa en el concepto de planificación de un conjunto de tareas
afines, llamado cuerpo de tareas. Los elementos individuales de un cuerpo de tareas
tienden a ser pequeños y son, por lo tanto, parecidos a la idea de hilo.

El término planificación por grupos se ha aplicado a la planificación simultánea de


hilos que forman parte de un único proceso. Es necesaria para aplicaciones
paralelas de grano medio a fino cuyo rendimiento se degrada seriamente cuando
alguna parte de la aplicación no se está ejecutando mientras otras partes están
listas para ejecutarse. Es también beneficiosa para cualquier aplicación paralela,
incluso para aquellas que no son lo bastante sensibles al rendimiento. La necesidad
de planificación por grupos está muy reconocida y existen implementaciones en una
gran variedad de sistemas operativos de multiprocesadores.

Se emplea una matriz conceptual donde:


*las filas son espacios de tiempo.
*las columnas son las tablas de procesos de los procesadores.
Cada procesador debe utilizar un algoritmo de planificacion round robin:
*todos los procesadores ejecutan el proceso en el espacio “0” durante un cierto
periodo fijo.
*todos los procesadores ejecutan el proceso en el espacio “1” durante un cierto
periodo fijo, etc.
*Se deben mantener sincronizados los intervalos de tiempo.
*Todos los miembros de un grupo se deben colocar en el mismo n° de espacio de
tiempo pero en procesadores distintos.
tolerancia a fallos nivel proceso y nivel almacenamiento.

La tolerancia a fallos requiere para su implementación que el sistema de


almacenamiento guarde la misma información en más de un componente de
hardware o en una máquina o dispositivo externos a modo de respaldo. De esta
forma, si se produce alguna falla con una consecuente pérdida de datos, el sistema
debe ser capaz de acceder a toda la información recuperando los datos faltantes
desde algún respaldo disponible.

 nivel de procesos.

Un nivel de proceso no puede ser espejeado ni duplicado, entonces requiere un


enfoque distinto. Principalmente buscamos la transparencia, de tal suerte que un
fallo en un proceso sea invisible para el usuario. Para lograrlo es indispensable que
haya buena comunicación y coordinación entre procesos.

 nivel de almacenamiento.

Que el sistema de archivos sea tolerante a fallos implica que el Sistema de Archivos
tenga un sistema de recuperación de transacciones, además de guardar varias
copias de los archivos en distintas máquinas para garantizar la disponibilidad en
caso de fallo del servidor principal. Además, se ha de aplicar un algoritmo que nos
permita mantener todas las copias actualizadas de forma consistente, o un método
alternativo que sólo nos permita acceder al archivo actualizado.
esquema de seguridad en sistemas distribuidos

El tema de la seguridad es un asunto de interés mayor para los sistemas PC, y de


alguna manera el hecho de que los S.O.D. son un ámbito de software en que las
especificaciones son mucho más especializadas y extensas, además la información
resulta menos atractiva para el delincuente informático común, aunque siempre
existe el riesgo de ataques a la propiedad industrial, que es otra escala de
delincuencia mayor.

Sistemas operativos distribuidos en tiempo real

Un sistema de tiempo real es un sistema informático que interacciona con su


entorno, sobre el que realiza acciones de control que se producen dentro de
intervalos de tiempo bien definidos. Podemos decir que los sistemas en tiempo real
son sistemas de cómputo donde la corrección de los cálculos depende no solamente
de los resultados lógicos de dichos cálculos, sino también del tiempo en que se
producen los mismos.

Los sistemas en tiempo real deben tener una serie de características básicas, de
manera que les permita soportar algunas aplicaciones críticas. Entre ellas esta, que
los resultados deben ser correctos no sólo en su valor sino también en el dominio
del tiempo.

CARACTERÍSTICAS.

*Se activan por evento o por tiempo.


*Su comportamiento debe ser predecible.
*Deben ser tolerantes a fallas.
*La comunicación en los sistemas distribuidos de tiempo real debe de alto
desempeño.

CLASIFICACIÓN.

Los sistemas de tiempo real se clasifican en general en dos tipos dependiendo de


lo serio de sus tiempos límite y de las consecuencias de omitir uno de ellos. Estos
son:

*Sistema de tiempo real suave.


*Sistema de tiempo real duro.
*El tiempo real suave significa que no existe problema si se rebasa un tiempo límite.
Un sistema de tiempo real duro es aquel en el que un tiempo límite no cumplido
puede resultar catastrófico.

Ejemplo de sistema de tiempo real suave.


Conmutador telefónico.

Ejemplo de sistema de tiempo real duro.


Alarma sísmica.

Conclusión

El proceso en sistemas operativos se ve como una característica que permite a una


aplicación realizar varias tareas concurrentemente.
Los distintos hilos de ejecución comparten una serie de recursos tales como el
espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta
técnica permite simplificar el diseño de una aplicación que debe llevar a cabo
distintas funciones simultáneamente.
Los hilos de ejecución que comparten los mismos recursos, sumados a estos
recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de
ejecución de un mismo proceso compartan los recursos hace que cualquiera de
estos hilos pueda modificar éstos. Cuando un hilo modifica un dato en la memoria,
los otros hilos acceden e ese dato modificado inmediatamente.
Referencias

 BEEKMAN, George: Introducción a la Informática.- Ed. Pearson, Madrid,


2005
 ROIG, Albert, “L’ avaluació de la qualitat a la Gestió Documental”, Lligall.
Revista catalana d’arxivistica, Barcelona, 1998, nº 12 pp. 219-229.
 J. Carretero et al. Sistemas Operativos: Una Visión Aplicada. McGrawHill.
2001. Capítulo 3
 [Stankovic 2004] STANKOVIC, John A., Real-Time and Embedded Systems.
In Computer Science Handbook, Ed. Allen B. Tucker, Jr., CHAPMAN &
HALL/CRC Press, pp. 83-1 a 83-15, 2004.
 [Tanenbaum 1996] Andrew S. TANENBAUM, Sistemas Operativos
Distribuidos. Prentice Hall Hispanoamericana, S.A., México, 1996.
 http://iinfequipo3.es.tl/3-.-7-.--Esquemas-de-seguridad-en-sistemas-
distribuidos-.-.htm
 GRUPO DE COMPUTADORES Y TIEMPO REAL © J. Javier Gutiérrez 1
FACULTAD DE CIENCIAS 4/abr/13

También podría gustarte