Está en la página 1de 11

TRABAJO INDIVIDUAL DOS SISTEMAS OPERATIVOS

DIANA MARCELA CASAS CRISTANCHO


COD: 20928432

Tutor:
Jaime José Valdés

GRUPO: 301402A_363

Universidad Nacional Abierta y a Distancia


INGENERIA DE SISTEMAS
Bogotá, octubre de 2017
INTRODUCCION

Un Sistema Operativo es un software del sistema, un conjunto de


programas de computación destinadas a realizar múltiples tareas y una
de la más importante es la administración de los dispositivos
periféricos. 

Los Sistemas Operativos los podemos encontrar en la mayoría de los


aparatos electrónicos que utilizan microprocesadores para funcionar, ya
que gracias a esto nos podemos entender con la máquina y está haga
sus funciones.
TRABAJO INDIVIDUAL

1. Haga una lista con lo que usted considera son proceso que
maneja un sistema operativo. El cuadro debe tener dos
columnas el proceso y la descripción del proceso.

TIPOS DE PROCESOS DESCRIPCION

Según su diseño Se cargan en memoria cada vez que se usan. Los


Reutilizables: programas de usuario suelen ser de este tipo.

Según su diseño Se carga una sola copia del código en memoria.


Reentrantes: Cada vez que se usan se crea un nuevo proceso
con su zona de datos propia, pero compartiendo el
código

Según su acceso a CPU y Acceden a los recursos y sólo los abandonan de


recursos Apropiativos: forma voluntaria (mediante instrucción CPU).

Según su acceso a CPU y permiten a otros procesos apropiarse de los


recursos No apropiativos: recursos que ahora poseen

Según su permanencia en Tienen que permanecer en memoria durante toda


memoria Residentes: su evolución (desde creación hasta terminación).

Según su permanencia en Es lo más normal. El SO puede decidir llevarlos a


memoria Intercambiables disco a lo largo de su evolución.
(swappable):

Según su nivel de privilegio Se ejecutan en modo supervisor.


(no en todos los SO):
Privilegiados:

Según su nivel de Los que normalmente ejecuta el usuario.


privilegio (no en todos los
SO) No privilegiados:
Según su propietario: Son los diseñados por los usuarios. Se ejecutan
Procesos de usuario: en modo no protegido
Según su propietario: Son los que forman parte del SO (de E/S, de
Procesos del sistema: planificación de otros procesos, etc.).
2. Definir los estados y las clasificaciones de un proceso.
Un proceso es un conjunto de actividades planificadas en sistemas
operativos es un software ejecutable de un computador, lo que a
menudo incluye al sistema operativo, está organizado en una serie del
proceso secuenciales, o simplemente procesos.
La idea clave aquí es que un proceso es una actividad de algún tipo:
tiene programa, entrada, salida y un estado. Se puede compartir un
procesador entre varios procesos, usando algún algoritmo de
planificación para determinar cuándo debe de trabajar en un proceso
para atender a uno distinto. 
Un proceso es un concepto manejado por el sistema operativo que

consiste en el conjunto formado por:

 Las instrucciones de un programa destinadas a ser ejecutadas por


el microprocesador.
 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

Definición de los estados:

 Nuevo: El proceso se acaba de crear, pero aún no ha sido


admitido en el grupo de procesos ejecutables por el sistema
operativo. Habitualmente en un sistema operativo multitarea
como Windows, nada más que un proceso se crea, éste
resulta admitido, pasando al estado listo. Sin embargo, esto
no tiene por qué ser siempre así. Por ejemplo, en una
situación de sobrecarga temporal del sistema, el SO puede
decidir retardar la admisión de los procesos nuevos. Así se
alivia la carga del sistema, ya que hasta que un proceso no
es admitido, éste no compite por los recursos del sistema.

 Listo: El proceso está esperando ser asignado al procesador


para su ejecución. Una CPU clásica (con un solo núcleo) solo
se puede dedicar en cada momento a un proceso. Los
procesos que están preparados para ejecutarse permanecen
en estado listo hasta que se les concede la CPU. Entonces
pasan al estado “En ejecución”.
 En ejecución: El proceso tiene la CPU y ésta ejecuta sus
instrucciones.

 En espera: El proceso está esperando a que ocurra algún


suceso, como por ejemplo la terminación de una operación
de E/S.

 Terminado: El proceso ha sido sacado del grupo de procesos


ejecutables por el sistema operativo. Después de que un
proceso es marcado como terminado se liberarán los
recursos utilizados por ese proceso

Los estados de los procesos se pueden dividir en dos tipos: activos e


inactivos.

A. Estados activos

Son aquellos que compiten con el procesador o están en condiciones de


hacerlo. Se dividen en: 

 Ejecución: Estado en el que se encuentra un proceso cuando tiene


el control del procesador. En un sistema monoprocesador este
estado sólo lo puede tener un proceso.
 Preparado: Aquellos procesos que están dispuestos para ser
ejecutados, pero no están en ejecución por alguna causa
(Interrupción, haber entrado en cola estando otro proceso en
ejecución, etc.).
 Bloqueado: Son los procesos que no pueden ejecutarse de
momento por necesitar algún recurso no disponible (generalmente
recursos de entrada/salida). 

B. Estados inactivos

Son aquellos que no pueden competir por el procesador, pero que


pueden volver a hacerlo por medio de ciertas operaciones. En estos
estados se mantiene el bloque de control de proceso aparcado hasta que
vuelva a ser activado. Se trata de procesos que no han terminado su
trabajo que lo han impedido y que pueden volver a activarse desde el
punto en que se quedaron sin que tengan que volver a ejecutarse desde
el principio. 

Son de dos tipos:


 Suspendido bloqueado: Es el proceso que fue suspendido en
espera de un evento, sin que hayan desaparecido las causas de su
bloqueo. 
 Suspendido programado: Es el proceso que han sido suspendido,
pero no tiene causa parta estar bloqueado.

Procesos pesados y livianos

 Procesos Pesados (proceso Unix): Los procesos no comparten


ninguna porción de la memoria. Cada proceso se ejecuta en su
propio procesador virtual con CPU y memoria. Todos los procesos
sí comparten el mismo espacio de almacenamiento permanente
(el disco).
 Procesos Livianos o threads: Los threads comparten toda la
memoria y el espacio de almacenamiento permanente.

El primer tipo de procesos se dice pesado porque el costo de


implementación en tiempo de CPU y memoria es mucho más elevado
que el de los procesos livianos. Además la implementación de procesos
pesados requiere de una MMU o Unidad de Manejo de la Memoria. Esta
componente de hardware del procesador se encarga de la traducción de
direcciones virtuales a reales. La implementación en software de esta
traducción sería demasiado costosa en tiempo de CPU, puesto que para
garantizar una verdadera protección habría que recurrir a un intérprete
del lenguaje de máquina.

Unix estándar sólo ofrece procesos pesados, pero como veremos existen
extensiones que implementan procesos livianos para Unix. Un ejemplo
de sistema de procesos livianos es el que implementaba el sistema
operativo de los computadores Commodore Amiga, que no tenía la MMU
necesaria para implementar procesos pesados.

La ventaja de los procesos pesados es que garantizan protección. Si un


proceso falla, los demás procesos continúan sin problemas. En cambio sí
un thread falla, esto causa la falla de todos los demás threads que
comparten el mismo procesador.

La ventaja de los threads es que pueden comunicarse eficientemente a


través de la memoria que comparten. Si se necesita que un thread
comunique información a otro thread basta que le envíe un puntero a
esa información. En cambio los procesos pesados necesitan enviar toda
la información a otro procesos pesado usando pipes, mensajes o
archivos en disco, lo que resulta ser más costoso que enviar tan solo un
puntero.
3. Con sus propias palabras defina como se realiza la
comunicación y sincronización entre procesos en un
sistema operativo.

COMUNICACIÓN ENTRE PROCESOS EN UN S.O

La comunicación entre dos o más procesos establecen una


comunicación entre ellos por medio de un protocolo -un conjunto
de reglas que deben ser observadas por los participantes en la
comunicación de los datos- acordado por los procesos.
Para representar los procesos, un sistema operativo
multiprogramado debe almacenar información en base a la cual:

o Identificar cada proceso. Se utiliza un identificador del


proceso,
o Representar el estado de cada proceso para mantener el
grafo de transición de estados. Normalmente los estados se
representan mediante colas de procesos
o Planificar el siguiente proceso que va en la CPU
o Se requiere información que permita aplicar los criterios de
planificación (prioridad, requerimiento etc.).
o hay un reloj que contabiliza el uso de recursos por el
proceso (tiempo consumido de CPU, tiempo de ejecución del
proceso, tiempos máximos asignados, identificador de
usuario). Parte de esta información puede ser útil para la
planificación.
o Por cada proceso hay que almacenar el estado del
procesador, de la pila y de los otros recursos (memoria y
entrada/salida
o Gestionar la memoria. Punteros a tablas de páginas y otra
información de la que hablaremos en su momento.
o Soportar la entrada/salida. Peticiones pendientes,
dispositivos asignados, tabla de canales, etc.

Un proceso puede ser emisor en determinados puntos durante el


Protocolo y receptor en otros. Cuando la comunicación es desde
un proceso a únicamente a otro proceso, el modelo de
comunicación entre procesos se dice que es unidifusión o unicast.
Cuando la comunicación es desde un proceso con un grupo de
procesos, el mecanismo de comunicación se denomina
multidifusión o multicast.

SINCRONIZACIÓN ENTRE PROCESOS EN UN S.O

 Los procesos se reúnen para realizar tareas en conjunto, a este tipo de


relación se le llama procesos cooperativos. Para lograr la comunicación,
los procesos deben sincronizarse, de no ser así pueden ocurrir
problemas no deseados. La sincronización es la transmisión y recepción
de señales que tiene por objeto llevar a cabo el trabajo de un grupo de
procesos cooperativos.

La sincronización entre procesos es necesaria para prevenir o corregir


errores de sincronización debidos al acceso concurrente a recursos
compartidos, tales como estructuras de datos o dispositivos de E/S, de
procesos contendientes..

Para que los procesos puedan sincronizarse es necesario disponer de


servicios que permitan bloquear o suspender bajo determinadas
circunstancias la ejecución de un proceso. Los principales mecanismos
de sincronización que ofrecen los sistemas operativos son:

 Señales
 Canal(es)
 Semáforos
 variables condicionales
 Paso de mensajes

4. Como cree usted que el sistema operativo planifica la


ejecución de los procesos, que herramientas utiliza y como
lo realiza.

Para facilitar la comunicación entre procesos. Para ello se necesitan


cuatro primitivas básicas. Los detalles acerca de estas operaciones.
Estas operaciones son:
 Enviar: Esta operación empieza por el proceso emisor con el
propósito de transmitir datos al proceso receptor. La operación
debe permitir al proceso emisor identificar al proceso receptor y
especificar los datos a transmitir
 Recibir: Esta operación empieza por el proceso receptor con el
objetivo de aceptar datos de un proceso emisor. La operación
debe permitir al proceso receptor identificar al proceso emisor así
como especificar el área de memoria que permitirá almacenar el
mensaje
 Conectar: Para mecanismos de comunicación orientados a
conexión deben existir operaciones que permitan establecer una
conexión lógica entre el proceso que lo invoca y otro proceso
determinado: un proceso invoca una operación de solicitar-
conexión
 Desconectar: Para mecanismos de comunicación orientados a
conexión, esta operación permite que una conexión lógica,
previamente establecida, sea liberada en ambos extremos de la
comunicación.
CONCLUSIONES

 Lo procesos son creados y destruidos por el sistema operativo, así


como también este se debe hacer cargo de la comunicación entre
procesos.
 El mecanismo por el cual un proceso crea otro proceso se
denomina bifurcación.
 El sistema operativo es el responsable de determinar las pautas de
intercalado y asignación de recursos a cada proceso.
 Si existe un esquema con diferentes niveles de prioridad de
procesos es conveniente mantener varias colas de procesos listos,
una para cada nivel de prioridad, lo que ayuda a determinar cuál
es el proceso que más conviene ejecutar a continuación.
 La sincronización explícita entre procesos es un caso particular del
estado "bloqueado". En este caso, el suceso que permite
desbloquear un proceso no es una operación de entrada/salida,
sino una señal generada a propósito por el programador desde
otro proceso

También podría gustarte