Vous êtes sur la page 1sur 18

UNIVERSIDAD NACIONAL ABIERTA Y

ADISTANCIA UNAD
TRABAJO COLABORATIVO 2
SISTEMAS OPERATIVOS

PRESENTADO POR:
NEYI NARVAEZ
GINYER YINETH JARABA
CESAR EDUARDO TAPIERO

GRUPO: 301402_33

PRESENTADO A:
JAIME JOSE VALDES

Noviembre -2014

INTRODUCCION
Los SISTEMAS OPERATIVOS se convierte en una parte fundamental de todos los
sistemas computacionales esto nos lleva a reconocer la importancia del mismo, Las
funciones bsicas del Sistema Operativo son administrar los recursos de la mquina,
coordinar el hardware y organizar archivos y directorios en dispositivos de
almacenamiento. Los Sistemas Operativos ms utilizados son, Windows, Linux y Mac.
Algunos SO ya vienen con un navegador integrado.
En el presente trabajo desarrollaremos unos puntos referentes a procesos concurrentes y
cooperantes de los sistemas operativos poniendo en prctica nuestros conocimientos
como futuros ingenieros de sistemas.
Plantear una estrategia para dar solucin a los inconvenientes que presenta la empresa
Suministros S.A

CONTENIDO
-Portada
-Introduccin
-Desarrollo de la gua
-Conclusiones
-Bibliografa

DESARROLLO DE LA GUIA

Hacer una lista con los que ustedes consideran son procesos reales que
maneja un sistema operativo.

Sistemas monotareas: Solo pueden manejar un solo proceso o que solo pueden
ejecutar las tareas de una en una

Sistema monousuario: Pueden atender a un solo usuario

Sistema multiusuario: Cumplen simultneamente las necesidades de dos o ms


usuarios este tipo de sistemas se emplean especialmente en redes

Sistemas por lotes: Procesan una gran cantidad de trabajos con poca o ninguna
interaccin entre los usuarios y los programas en ejecucin

Sistemas de tiempo real: Son aquellos en los cuales no tiene importancia el


usuario sino los procesos por lo general, estn subutilizados sus recursos con la
finalidad de prestar atencin a los procesos en el momento que requieren. Se
utilizan en entornos donde son procesados un gran nmero de sucesos o eventos.
Muchos sistemas operativos en tiempo real son construidos para aplicaciones
muy especficas como:
control de trfico areo.
Bolsas de valores
Control de refineras
Control de Laminadores
En el ramo automovilstico
En la electrnica de consumo
Control de trenes
Telecomunicaciones
Sistemas de fabricacin integrada
Produccin y distribucin de energa elctrica
Control de edificios
Sistemas multimedias.

Podemos nombrar algunos sistemas operativos en tiempo real.

VxWorks.
Solaris
Lyns OS
Spetra.

Sistemas en tiempo compartido: Permite que el sistema y sus recursos son todos
para cada usuario

De los procesos reales, cuales se comunican entre s y cuales deben esperar el


suceso de algn evento externo.

IPC, del ingls Inter-Process Communication) es una funcin bsica de los sistemas
operativos. Los procesos pueden comunicarse entre s a travs de compartir espacios de
memoria, ya sean variables compartidas o buffers, o a travs de las herramientas
provistas por las rutinas de IPC. La IPC provee un mecanismo que permite a los
procesos comunicarse y sincronizarse entre s, normalmente a travs de un sistema de
bajo nivel de paso de mensajes que ofrece la red subyacente.

TIPOS DE COMUNICACIN

Sncrona

Sncrona o asncrona

Persistente (persistent) o momentnea (transient)

Directa o indirecta

Simtrica o asimtrica

Con uso de buffers explcito o automtico

Envo por copia del mensaje o por referencia

Mensajes de tamao fijo o variable

Quien enva permanece bloqueado esperando a que llegue una


respuesta del receptor antes de realizar cualquier otro ejercicio.

Asncrona

Quien enva contina con su ejecucin inmediatamente despus de

enviar el mensaje al receptor.


Persistente

El receptor no tiene que estar operativo al mismo tiempo que se realiza


la comunicacin, el mensaje se almacena tanto tiempo como sea
necesario para poder ser entregado (Ej.: e-Mail).

Momentnea (transient)

El mensaje se descarta si el receptor no est operativo al tiempo que se


realiza la comunicacin. Por lo tanto no ser entregado.

Directa

Los primitivos enviar y recibir explicitan el nombre del proceso con el


que se comunican. Ejemplo:
enviar (mensaje, A) enva un mensaje al proceso A
Es decir se debe especificar cul va a ser el proceso fuente y cul va a
ser el proceso Destino.
Las operaciones bsicas Send y Receive se definen de la siguiente
manera: Send (P, mensaje); enva un mensaje al proceso P (P es el
proceso destino). Receive (Q, mensaje); espera la recepcin de un
mensaje por parte del proceso Q (Q es el proceso fuente).
Nota: Receive puede esperar de un proceso cualquiera, un mensaje,
pero el Send s debe especificar a quin va dirigido y cul es el
mensaje.

Indirecta

Es aquella donde la comunicacin est basada en una herramienta o


instrumento ya que el emisor y el receptor estn a distancia.

Simtrica

Todos los procesos pueden enviar o recibir. Tambin llamada


bidireccional para el caso de dos procesos.

Asimtrica

Un proceso puede enviar, los dems procesos solo reciben. Tambin


llamada unidireccional. Suele usarse para hospedar servidores en
Internet.

Uso de buffers automtico

El transmisor se bloquea hasta que el receptor recibe el mensaje


(capacidad cero).

Una vez analizada la lista de comunicacin entre procesos, establezca cuales


procesos de esa lista necesitan sincronizacin, es decir cuales necesitan
compartir datos, recursos, entre otros aspectos.
Niveles de planificacin
En los sistemas de planificacin generalmente se identifican tres niveles: el alto, em
medio y el bajo. El nivel alto decide que trabajos (conjunto de procesos) son candidatos
a convertirse en procesos compitiendo por los recursos del sistema; el nivel intermedio
decide que procesos se suspenden o reanudan para lograr ciertas metas de rendimiento
mientras que el planificador de bajo nivel es el que decide qu proceso, de los que ya
estn listos (y que en algn momento paso por los otros dos planificadores) es al que le
toca ahora estar ejecutndose en la unidad central de procesamiento.
Objetivos de la planificacin

Una estrategia de planificacin debe buscar que los procesos obtengan sus turnos de
ejecucin apropiadamente, conjuntamente con un buen rendimiento y minimizacin de
la sobrecarga (overhead) del planificador mismo. En general, se buscan cinco objetivos
principales:

Justicia o Imparcialidad: Todos los procesos son tratados de la misma forma, y en algn
momento obtienen su turno de ejecucin o intervalos de tiempo de ejecucin hasta su
terminacin exitosa.

Maximizar la Produccin: El sistema debe de finalizar el mayor nmero de procesos en


por unidad de tiempo.

Maximizar el Tiempo de Respuesta: Cada usuario o proceso debe observar que el


sistema les responde consistentemente a sus requerimientos.

Evitar el aplazamiento indefinido: Los procesos deben terminar en un plazo finito de


tiempo.

El sistema debe ser predecible: Ante cargas de trabajo ligeras el sistema debe responder
rpido y con cargas pesadas debe ir degradndose paulatinamente. Otro punto de vista
de esto es que si se ejecuta el mismo proceso en cargas similares de todo el sistema, la
respuesta en todos los casos debe ser similar.

Caractersticas a considerar de los procesos

No todos los equipos de cmputo procesan el mismo tipo de trabajos, y un algoritmo de


planificacin que en un sistema funciona excelente puede dar un rendimiento psimo en
otro cuyos procesos tienen caractersticas diferentes. Estas caractersticas pueden ser:

Cantidad de Entrada/Salida: Existen procesos que realizan una gran cantidad de


operaciones de entrada y salida (aplicaciones de bases de datos, por ejemplo).

Cantidad de Uso de CPU: Existen procesos que no realizan muchas operaciones de


entrada y salida, sino que usan intensivamente la unidad central de procesamiento. Por
ejemplo, operaciones con matrices.

Procesos de Lote o Interactivos: Un proceso de lote es ms eficiente en cuanto a la


lectura de datos, ya que generalmente lo hace de archivos, mientras que un programa
interactivo espera mucho tiempo (no es lo mismo el tiempo de lectura de un archivo que
la velocidad en que una persona teclea datos) por las respuestas de los usuarios.

Procesos en Tiempo Real: Si los procesos deben dar respuesta en tiempo real se requiere
que tengan prioridad para los turnos de ejecucin.

Longevidad de los Procesos: Existen procesos que tpicamente requerirn varias horas
para finalizar su labor, mientras que existen otros que solo necesitan algunos segundos.
Como creen ustedes que el sistemas operativos planifica la ejecucin de los
procesos, que herramientas utiliza y como la realiza.

Problemas de Concurrencia
En los sistemas de tiempo compartido (aquellos con varios usuarios, procesos, tareas,
trabajos que reparten el uso de CPU entre estos) se presentan muchos problemas debido
a que los procesos compiten por los recursos del sistema. Imagine que un proceso est
escribiendo en la unidad de cinta y se le termina su turno de ejecucin e inmediatamente
despus el proceso elegido para ejecutarse comienza a escribir sobre la misma cinta. El
resultado es una cinta cuyo contenido es un desastre de datos mezclados. As como la
cinta, existen una multitud de recursos cuyo acceso debe der controlado para evitar los
problemas de la concurrencia.
El sistema operativo debe ofrecer mecanismos para sincronizar la ejecucin de
procesos: semforos, envo de mensajes, 'pipes', etc. Los semforos son rutinas de
software (que en su nivel ms interno se auxilian del hardware) para lograr exclusin
mutua en el uso de recursos. Para entender este y otros mecanismos es importante
entender los problemas generales de concurrencia, los cuales se describen enseguida.

Condiciones de Carrera o Competencia: La condicin de carrera (race condition) ocurre


cuando dos o ms procesos accesan un recurso compartido sin control, de manera que el
resultado combinado de este acceso depende del orden de llegada. Suponga, por
ejemplo, que dos clientes de un banco realizan cada uno una operacin en cajeros
diferentes al mismo tiempo.

El usuario A quiere hacer un depsito. El B un retiro. El usuario A comienza la


transaccin y lee su saldo que es 1000. En ese momento pierde su turno de ejecucin (y
su saldo queda como 1000) y el usuario B inicia el retiro: lee el saldo que es 1000, retira
200 y almacena el nuevo saldo que es 800 y termina. El turno de ejecucin regresa al
usuario A el cual hace su depsito de 100, quedando saldo = saldo + 100 = 1000 + 100
= 1100. Como se ve, el retiro se perdi y eso le encanta al usuario A y B, pero al
banquero no le convino esta transaccin. El error pudo ser al revs, quedando el saldo
final en 800.

Postergacin o Aplazamiento Indefinido(a): Esto se mencion en el apartado anterior y


consiste en el hecho de que uno o varios procesos nunca reciban el suficiente tiempo de
ejecucin para terminar su tarea. Por ejemplo, que un proceso ocupe un recurso y lo
marque como 'ocupado' y que termine sin marcarlo como 'desocupado'. Si algn otro
proceso pide ese recurso, lo ver 'ocupado' y esperar indefinidamente a que se
'desocupe'.

Condicin de Espera Circular: Esto ocurre cuando dos o ms procesos forman una
cadena de espera que los involucra a todos. Por ejemplo, suponga que el proceso A tiene
asignado el recurso 'cinta' y el proceso B tiene asignado el recurso 'disco'. En ese
momento al proceso A se le ocurre pedir el recurso 'disco' y al proceso B el recurso
'cinta'. Ahi se forma una espera circular entre esos dos procesos que se puede evitar
quitndole a la fuerza un recurso a cualquiera de los dos procesos.

Condicin de No Apropiacin: Esta condicin no resulta precisamente de la


concurrencia, pero juega un papel importante en este ambiente. Esta condicin
especifica que si un proceso tiene asignado un recurso, dicho recurso no puede
arrebatrsele por ningn motivo, y estar disponible hasta que el proceso lo 'suelte' por
su voluntad.

Condicin de Espera Ocupada: Esta condicin consiste en que un proceso pide un


recurso que ya est asignado a otro proceso y la condicin de no apropiacin se debe
cumplir. Entonces el proceso estar gastando el resto de su time slice checando si el
recurso fue liberado. Es decir, desperdicia su tiempo de ejecucin en esperar. La

solucin ms comn a este problema consiste en que el sistema operativo se d cuenta


de esta situacin y mande a una cola de espera al proceso, otorgndole inmediatamente
el turno de ejecucin a otro proceso.

Condicin de Exclusin Mutua: Cuando un proceso usa un recurso del sistema realiza
una serie de operaciones sobre el recurso y despus lo deja de usar. A la seccin de
cdigo que usa ese recurso se le llama 'regin crtica'. La condicin de exclusin mutua
establece que solamente se permite a un proceso estar dentro de la misma regin crtica.
Esto es, que en cualquier momento solamente un proceso puede usar un recurso a la
vez. Para lograr la exclusin mutua se ideo tambin el concepto de 'regin crtica'. Para
logar la exclusin mutua generalmente se usan algunas tcnicas para lograr entrar a la
regin crtica: semforos, monitores, el algoritmo de Dekker y Peterson, los 'candados'.
Para ver una descripcin de estos algoritmos consulte

Condicin de Ocupar y Esperar un Recurso: Consiste en que un proceso pide un recurso


y se le asigna. Antes de soltarlo, pide otro recurso que otro proceso ya tiene asignado.
Los problemas descritos son todos importantes para el sistema operativo, ya que debe
ser capaz de prevenir o corregirlos. Tal vez el problema ms serio que se puede
presentar en un ambiente de concurrencia es el 'abrazo mortal', tambin llamado
'trabazn' y en ingls deadlock. El deadlock es una condicin que ningn sistema o
conjunto de procesos quisiera exhibir, ya que consiste en que se presentan al mismo
tiempo cuatro condiciones necesarias: La condicin de no apropiacin, la condicin de
espera circular, la condicin de exclusin mutua y la condicin de ocupar y esperar un
recurso. Ante esto, si el deadlock involucra a todos los procesos del sistema, el sistema
ya no podr hacer algo productivo. Si el deadlock involucra algunos procesos, stos
quedarn congelados para siempre.
En el rea de la informtica, el problema del deadlock ha provocado y producido una
serie de estudios y tcnicas muy tiles, ya que ste puede surgir en una sola mquina o
como consecuencia de compartir recursos en una red.
En el rea de las bases de datos y sistemas distribuidos han surgido tcnicas como el
'two phase locking' y el 'two phase commit' que van ms all de este trabajo. Sin
embargo, el inters principal sobre este problema se centra en generar tcnicas para
detectar, prevenir o corregir el deadlock.

Las tcnicas para prevenir el deadlock consisten en proveer mecanismos para evitar que
se presente una o varias de las cuatro condiciones necesarias del deadlock. Algunas de
ellas son:

Asignar recursos en orden lineal: Esto significa que todos los recursos estn etiquetados
con un valor diferente y los procesos solo pueden hacer peticiones de recursos 'hacia
adelante'. Esto es, que si un proceso tiene el recurso con etiqueta '5' no puede pedir
recursos cuya etiqueta sea menor que '5'. Con esto se evita la condicin de ocupar y
esperar un recurso.

Asignar todo o nada: Este mecanismo consiste en que el proceso pida todos los recursos
que va a necesitar de una vez y el sistema se los da solamente si puede drselos todos, si
no, no le da nada y lo bloquea.

Algoritmo del banquero: Este algoritmo usa una tabla de recursos para saber cuntos
recursos tiene de todo tipo. Tambin requiere que los procesos informen del mximo de
recursos que va a usar de cada tipo. Cuando un proceso pide un recurso, el algoritmo
verifica si asignndole ese recurso todava le quedan otros del mismo tipo para que
alguno de los procesos en el sistema todava se le pueda dar hasta su mximo. Si la
respuesta es afirmativa, el sistema se dice que est en 'estado seguro' y se otorga el
recurso. Si la respuesta es negativa, se dice que el sistema est en estado inseguro y se
hace esperar a ese proceso.
Para detectar un deadlock, se puede usar el mismo algoritmo del banquero, que aunque
no dice que hay un deadlock, s dice cundo se est en estado inseguro que es la antesala
del deadlock. Sin embargo, para detectar el deadlock se pueden usar las 'grficas de
recursos'. En ellas se pueden usar cuadrados para indicar procesos y crculos para los
recursos, y flechas para indicar si un recurso ya est asignado a un proceso o si un
proceso est esperando un recurso. El deadlock es detectado cuando se puede hacer un
viaje de ida y vuelta desde un proceso o recurso. Por ejemplo, suponga los siguientes
eventos:
evento 1: Proceso A pide recurso 1 y se le asigna.
evento 2: Proceso A termina su time slice.
evento 3: Proceso B pide recurso 2 y se le asigna.
evento 4: Proceso B termina su time slice.
evento 5: Proceso C pide recurso 3 y se le asigna.
evento 6: Proceso C pide recurso 1 y como lo est ocupando el proceso A, espera.

evento 7: Proceso B pide recurso 3 y se bloquea porque lo ocupa el proceso C.


evento 8: Proceso A pide recurso 2 y se bloquea porque lo ocupa el proceso B.
En la figura 5.1 se observa como el 'resource graph' fue evolucionando hasta que se
present el deadlock, el cual significa que se puede viajar por las flechas desde un
proceso o recurso hasta regresar al punto de partida. En el deadlock estn involucrados
los procesos A, B y C.
Una vez que un deadlock se detecta, es obvio que el sistema est en problemas y lo
nico que resta por hacer es una de dos cosas: tener algn mecanismo de suspensin o
reanudacin [Deitel93] que permita copiar todo el contexto de un proceso incluyendo
valores de memoria y aspecto de los perifricos que est usando para reanudarlo otro
da, o simplemente eliminar un proceso o arrebatarle el recurso, causando para ese
proceso la prdida de datos y tiempo.

Realice una lista de todos los dispositivos que considere que hacen parte de un
sistema computacional, y para cada uno de ellos diga si es dispositivo de
entrada o de salida al sistema.
Hardware: Parte fsica del computador
Software: software parte lgica de la computadora

Hardware se divide en elementos de entrada y salida


Entrada: dispositivos que se utilizan para ingresar informacin
dentro de sistema
-

Teclado

Micrfono

Scanner

Mouse

Salida: dispositivos que se utilizan para acceder a la informacin.


-

Monitor

Impresora

Parlantes

Audfonos

Software: se divide en:


-

Software bsico: programa necesario para que la computadora


Funcione. Sistema operativo, Windows, Linux

Software de aplicacin: programas que realizan una tarea


especfica. Word, Excel. Photoshop.

Teniendo en cuenta el estudio de la organizacin interna del sistema operativo


para manejar la estructura de archivos y directorios, realizar un cuadro
sinptico en donde resuma los tipos de estructuras de archivos y qu sistemas
operativos los manejan.

Atributos:

Coleccin de
Archivos

Unidad lgica de
Almacenamiento

Nombre
Tipo
Tamao
Localizacin
Proteccin
Tiempo, fecha,
Identificacin de
usuario

Operaciones bsicas
sobre Archivos
Crear
Escribir
Leer
Reposicionar
Eliminar
- Truncar

FAT 16

Dos
Windows 95
Windows 95 OSR2
Windows 98
Windows 2000/XP
Linux Swap (FAT16)

Windows 95 OSR2
Windows 98
ESTRUCTURA
DE ARCHIVOS

Sistemas
de
Archivos

windows 2000/XP

FAT32

Linux Swap

Operaciones sobre directorios

Estructura de
directorios

Tabla de contenido
de volmenes.

Estructura de
Bsqueda de archivos directorios
Crear archivos
Borrar archivos
Un Nivel
Ver directorios
Dos Niveles
Nombrar un archivo
Arboles
Navegar por un sistema
Grafos A
de archivos
cclicos
D

NTFS4

Windows 2000/XP
Linux
Windows NT4

NTFS5

Windows 2000/XP

Describa cmo ser un sistema de seguridad y proteccin ideal para un sistema


operativo, teniendo en cuenta que tienen que proteger el sistema operativo contra
alguien o algo.
Esta tecnologa consiste en disponer de varias unidades de disco, conectadas entre s, por
medio de controladoras, software o combinacin de ambas; de manera que cuando una
unidad fsica de disco falle o se venga abajo, los datos que se encontrarn en dicha unidad no
se pierdan sino que se reconstruyan usando la paridad de los mismos.
El Raid 1 es una ventaja para que en caso de error de uno de los disco se recuperan todos los
datos. Es la arquitectura ms rpida que presenta tolerancia a fallos. Con un mnimo de dos
discos es suficiente.
Creacin de imgenes de recuperacin, creacin de discos de arranque del sistema.
Uso de password, huellas digitales,
Despus de haber respondido los puntos anteriores, ustedes como ingeniero deben
de plantear una solucin bien argumentada donde le den respuesta a los dos
problemas comunes de interacciones que se presentan en la empresa

Interacciones de dos tipos

Esta situacin aparece en los distintos tipos de procesos


anteriormente comentados. Por ejemplo, dos procesos totalmente
Interacciones motivadas

independientes pueden competir por el acceso a disco. En este

porque los procesos

caso, el sistema operativo deber encargarse de que los dos

comparten o compiten por el procesos accedan ordenadamente sin que se cree ningn conflicto.
acceso a recursos fsicos o

Esta situacin tambin aparece cuando varios procesos desean

lgicos.

modificar el contenido de un registro de una base de datos. Aqu es


el gestor de la base de datos el que se tendr que encargar de
ordenar los distintos accesos al registro.

Un compilador se puede construir mediante dos procesos:


Interaccin motivada porque

los procesos se comunican y

Entre s para alcanzar un


objetivo comn.

generar cdigo ensamblador,

sincronizan

El compilador propiamente dicho, que se encarga de

El proceso ensamblador, que obtiene cdigo en lenguaje


mquina a partir del ensamblador.

En este ejemplo puede apreciarse la necesidad de comunicar y


sincronizar a los dos procesos.

Estos dos tipos de interacciones obligan al sistema operativo a incluir mecanismo y servicios que
permitan la comunicacin y la sincronizacin
entre procesos

CONCLUSIONES
Gracias al desarrollo del trabajo logramos obtener ms conocimientos respecto a procesos
concurrentes y cooperantes de los sistemas operativos y tambin poner en prctica nuestros
conocimientos referentes a sistemas operativos, plantear una solucin a una empresa en este caso
a la empresa Suministros S.A.

BIBLIOGRAFA
Modulo sistemas operativos
http://www.monografias.com/trabajos15/sist-operativos/sistoperativos2.shtml#COMUNIC#ixzz3G30ucH8P