Sei sulla pagina 1di 23

Transcripcin de Comunicacin y Sincronizacin de los

Sistemas Operativos

Comunicacin y Sincronizacin

Es la coordinacin y cooperacin de un conjunto de procesos


para asegurar la comparacin de recursos de cmputo. La
sincronizacin entre procesos es necesaria para prevenir y/o
corregir errores de sincronizacin debidos al acceso concurrente
a recursos compartidos, tales como estructuras de datos o
dispositivos de E/S, de procesos contendientes.
contendientes

Transcripcin de Comunicacin y Sincronizacin de los


Sistemas Operativos

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.

Almacenamiento y archivos compartidos

En informtica, se conoce como sistema de almacenamiento distribuido


todo aquel que permite almacenar ficheros online. Su principal
caracterstica es la poder guardar archivos (documentos, imgenes,
vdeos, etc.) en la red.

Son programas que utilizan los servicios bsicos del


sistema operativo (dependen de este) y realizan una
gestin concreta y especializada.
Aplicaciones ms usadas:
Tratamiento de textos
Edicin de imgenes
Gestin de hojas de clculo
Gestin de hojas de contabilidad entre otras.

Procesos concurrentes (I)




Modelos




Multiprogramacin en un nico procesador


Multiprocesador
Multicomputador (proceso
proceso distribuido)

Razones






Compartir recursos fsicos


Compartir recursos lgicos
Acelerar los clculos
Modularidad
Comodidad

CONCEPTOS FUNDAMENTALES DEL


NIVEL DEL SISTEMA OPERATIVO




Definicin y objetivos del sistema operativo


Estructura, componentes y servicios de un
S.O






Llamadas al sistema
Procesos
Ficheros
Intrprete de comandos
Distintas estructuras de S.O

Definicin y objetivos de un S.O




Conjunto de programas que se


encargan de:


Ocultar toda la complejidad del hardware


al programador
Presenta un conjunto de funciones ms
fcil de programar que el hardware.
ej:: LEER BLOQUE DE FICHERO
Presenta al usuario una mquina virtual

HD

SO

Administrar los recursos de la mquina


Asigna los recursos (procesadores
procesadores,
memorias, dispositivos de entrada/salida)
de forma ordenada
Lleva la cuenta de quin emplea los
recursos, contabiliza su utilizacin y
decide la concesin a diferentes
programas o usuarios en caso de
conflicto

PAplicacin

Estructura, componentes y
servicios de un sistema operativo


Dividido en mdulos, cada uno con una funcin y una


interfaz concreta

Los programas de usuario se comunican con el S.O y


requieren sus servicios mediante llamadas al sistema

Llamadas al sistema

A cada llamada al sistema le corresponde un procedimiento


que el programa de usuario puede llamar

El procedimiento se encarga de iniciar la llamada al sistema


(mediante un TRAP)

Son distintas en cada sistema

ej: count = read (file, buffer, nbytes);


nbytes
7

Procesos


Programa en ejecucin:












Cdigo ejecutable del programa


Datos
Pila del programa
Contador de programa
Puntero a la pila y otros registros
Toda la informacin necesaria para ejecutar el
programa

Tabla de procesos
Estructura en rbol de los procesos
Seales
uid

F
8

Ficheros







Para almacenar informacin


Se agrupan en directorios
Sistema de ficheros: Estructura jerarquizada

Ruta absoluta y ruta relativa


Mecanismo de proteccin

/
usr
Pepe

soft
Martn

editor

comp

vi

cc
9

Ficheros


Ficheros especiales



Descriptores de ficheros




De bloques: para representar dispositivos de


bloques
De caracteres: para representar dispositivos de
caracteres
0: entrada estndar
1: salida estndar
2: salida estndar de errores

Tubos (pipes)

tubo

10

Intrprete de comandos






No es parte del S.O


Constituye la interfaz entre el S.O y el
usuario
Un shell se arranca por cada usuario que
entra en el sistema
Por cada orden, el shell crea un proceso hijo
Redireccin de E/S y pipes:




date > fichero


sort < f1 > f2
cat f1 f2 f3 | sort > f4

Procesos en backgroung : &

11

Componentes del Sistema


Operativo


Administrador de procesos




Crear y eliminar procesos


Suspender y reanudar la ejecucin de los
procesos
Proporcionar mecanismos:
de sincronizacin
para la comunicacin
para el manejo de bloqueos

Administrador de la memoria principal






Controlar las zonas de memoria utilizadas y quin


las utiliza
Decidir qu procesos se cargarn en memoria si
queda espacio disponible
Asignar y recuperar espacio

12

Componentes del Sistema


Operativo


Administrador del sistema de E/S





Manejadores para dispositivos hardware


especfico
Presentar una interfaz general con los
manejadores

Administrador de archivos






Gestin del espacio en disco


Gestin de ficheros (crear y borrar)
Gestin de directorios
Correspondencia entre archivos y almacenamiento
secundario
Gestin de copias de seguridad

13

Componentes del Sistema


Operativo


Sistema de proteccin


Controlar el acceso a los recursos

Sistema de comunicacin




Gestionar los accesos a la red


Conexin a travs de la red de los distintos
procesadores
Acceso a los recursos compartidos

14

Servicios del Sistema Operativo




Los servicios son los suministrados por los


componentes anteriores

15

Distintas Estructuras de Sistemas


Operativos





Sistemas monolticos
Sistemas en niveles
Mquinas virtuales
Modelo cliente-servidor
servidor

16

Sistemas Monolticos


(1)






No hay una estructura


bien definida
Conjunto de
procedimientos
Modo de
funcionamiento

Cambia la mquina de modo


usuario a modo privilegiado
Transfiere el control al S.O

(2)


Llamada al ncleo

Programa
usuario

4
1


3
Procedimiento
de servicio

El S.O. determina el n del


servicio requerido,
examinando los parmetros

(3)


Se dejan los parmetros de


la llamada en lugares
previamente definidos
(ej:registros,pila)
Se ejecuta la inst. TRAP
(llamada al ncleo o llamada
al supervisor)

El S.O. lee de la posicin k


un puntero al procedimiento
que implementa la llamada y
lo llama

(4)


Devuelve el control al
programa de usuario

Tabla de distribucin

17

Sistemas monolticos


Arquitectura bsica

Procedimiento principal

Procedimientos
de servicio

Ej: MS-DOS
Procedimientos
auxiliares

18

Sistemas en Niveles



Jerarqua de niveles
S.O. The (Dijkstra 1968)

5 El operador
4 Programas de usuario
3

Gestin de Entrada/Salida

2 Comunicacin operador-procesos
procesos
1 Gestin de la memoria principal y secundaria
0 asignacin del procesador y multiprogramacin

19

Mquinas virtuales
Llamadas
al sistema
CMS

Se separan:






VM/370

Instrucciones
de E/S

hardware del 370

Multiprogramacin
Se ejecuta directamente sobre el hardware
Ofrece varias mquinas virtuales

CMS (conversational Monitor System)





CMS

VM (Virtual Machine)


Multiprogramacin
Mquina virtual

CMS

Cada mquina virtual puede tener cualquier S.O


Tiene instrucciones normales para operaciones de
E/S

No es sencillo de simular

20

Modelo Cliente-Servidor
Cliente


Ncleo mnimo:



Gestin de las comunicaciones entre clientes y


servidores
Acceso directo al hardware

Cliente

Servidor

....

Servidor

Ncleo

Servidor:


Cliente Servidor

Proceso que espera peticiones de los clientes

Es sencilla la adaptacin a sistemas


distribuidos

Cliente

Servidor

Servidor

Cliente

Ncleo

Ncleo

Ncleo

Ncleo
Red de
Comunicaciones
21

Funcionamiento del modelo C/S










El proceso servidor comienza


Se va a dormir en espera de una peticin
El proceso cliente comienza
El cliente enva una peticin
El servidor procesa la peticin
El servidor se va de nuevo a dormir
Ej de servicios que proporcionan los
servidores:






Hora del da
Imprimir un fichero
Leer o escribir en su sistema de ficheros
Ejecutar una orden para el cliente en el sistema
del servidor
Dibujar algo en la pantalla servida por el servidor

22

Tipos de servidores


Iterativos




El servidor maneja la peticin


La peticin del cliente puede ser atendida por el
servidor en un tiempo conocido y corto
Ej: Servidor de la hora

Concurrentes




El servidor invoca a otro proceso que da el servicio


mientras el servidor duerme esperando otro cliente
Arranca un nuevo proceso por cada cliente que
llega
No se sabe el tiempo que llevar servir la peticin,
ya que la cantidad de tiempo requerido, depende
de la peticin.

23

Potrebbero piacerti anche