Skip to content

GSD

Sections
Personal tools
You are here: Home » Teaching » Sistemas Operativos II » 5306O2 - Sistemas Operativos II (2006 - 2007) » Guiões das Aulas Práticas » #05 - Interface de sincronização de Threads POSIX: Exclusão mútua

#05 - Interface de sincronização de Threads POSIX: Exclusão mútua

Document Actions

Objectivos

Apresentação das primitivas básicas de sincronização por exclusão mútua da interface de Threads Posix. Realização de um exercício em que se simula a gestão de uma base de dados bancária num ambiente multi-threaded.

Novas chamadas ao sistema

    #include <pthread.h>

    int pthread_mutex_init(pthread_mutex_t *mutex, 
            const pthread_mutexattr_t *mutexattr);
    int pthread_mutex_destroy(pthread_mutex_t *mutex);

    int pthread_mutex_lock(pthread_mutex_t *mutex));
    int pthread_mutex_unlock(pthread_mutex_t *mutex);
    int pthread_mutex_trylock(pthread_mutex_t *mutex);

Exercícios propostos

  1. Implemente um programa de gestão de uma base de dados de contas bancárias. As contas são compostas por nome do titular e saldo corrente e são identificadas por um número. As operações disponíveis deverão ser a consulta e o lançamento de valores numa conta especificada. Assuma que o número de contas é fixo (não haverá criação nem encerramento de contas). As operações disponíveis deverão ser pensadas de forma a que possam ser utilizadas num cenário multi-threaded.
  2. Modifique o programa anterior de forma a disponibilizar a operação de transferência entre contas.
  3. Modifique o progama anterior de forma a suportar as operações de criação e encerramento de contas.
Created by gsd
Last modified 2007-03-27 04:58 PM
« February 2015 »
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
 
 

Powered by Plone

This site conforms to the following standards: