Uma proposta para estender o sistema Pascal UCSD à processamento concorrente - Barbosa, Valmir Carneiro. (UFRJ, 1982)
[PT]Este trabalho apresenta uma proposta para estender a linguagem Pascal UCSD a programação concorrente. Inicialmente, o Sistema Pascal UCSD e apresentado em sua versão original como sistema mono-usuário para desenvolvimento de programas seqüenciais e é feita uma revisão das principais técnicas de programação concorrente encontradas na literatura. A extensão proposta sobre o Pascal UCSD baseia-se em uma arquitetura a multiprocessadores fortemente conectados e inclui os seguintes pontos principais: (i) possibilidade de associar processos concorrentes a rotinas; (ii) adoção de comandos estruturados para a especificação da concorrência entre processos em tempo de execução; (iii) adoção de semáforos binários e filas de eventos como instrumentos para a sincronização de processos concorrentes, permitindo tratar problemas de exclusão mútua e sinalização entre processos. Uma característica importante dessa extensão é a flexibilidade advinda do nível de abstração relativamente baixo das ferramentas de sincronismo incorporadas e da possibilidade de explicitar prioridades em tempo de execução para todas as Q perações de escalonamento do Sistema. É também proposto um núcleo que realize as funções do processamento concorrente introduzido na linguagem Pascal UCSD.[EN]This work presents a proposal to extend the UCSD Pascal language to concurrent programming. The UCSD Pascal System is initially presented in its original form as a single - user system for the development of sequential programs. In addition the main concurrent programming techniques found in the literature are surveyed. The extension proposed over the UCSD Pascal is based on a tightly connected multiprocessor architecture, and comprises the following main points: (i) possibility of associating concurrent processes to routinesi (ii) adoption of structured commands for the runtime specification of the concurrency among processes (iii) adoption of binary semaphores and event queues as concurrent process synchronizing mechanisms, allowing to tackle problems of mutual exclusion and signal exchange among processes. An important feature of the proposed extension is the flexibility resulting from the relatively low leveI of abstrac tion of the embedded synchronizing tools, and from the possib! lity of explicitly assigning priorities during runtime in all scheduling operations of the System. A kernel to implement the concurrent processing intro duced in the UCSD Pascal language is also proposed.