Podcast
Questions and Answers
Qual é a função principal da gestão de processos em um sistema operativo?
Qual é a função principal da gestão de processos em um sistema operativo?
Qual é o estado em que um processo espera pela atribuição do processador?
Qual é o estado em que um processo espera pela atribuição do processador?
Como se cria um processo em Java?
Como se cria um processo em Java?
O que representa o estado 'Terminado' de um processo?
O que representa o estado 'Terminado' de um processo?
Signup and view all the answers
Qual das seguintes aplicações pode ser considerada um processo?
Qual das seguintes aplicações pode ser considerada um processo?
Signup and view all the answers
Qual é a função do método start() na classe ProcessBuilder?
Qual é a função do método start() na classe ProcessBuilder?
Signup and view all the answers
No diagrama de estados de um processo, o que acontece durante a 'Inicialização'?
No diagrama de estados de um processo, o que acontece durante a 'Inicialização'?
Signup and view all the answers
O que significa um processo estar em estado de 'Espera'?
O que significa um processo estar em estado de 'Espera'?
Signup and view all the answers
Qual é a função do método start() no processo de execução em Java?
Qual é a função do método start() no processo de execução em Java?
Signup and view all the answers
O que deve ser verificado antes de chamar o método waitFor()?
O que deve ser verificado antes de chamar o método waitFor()?
Signup and view all the answers
Qual é o primeiro passo para criar um arquivo JAR executável em Eclipse?
Qual é o primeiro passo para criar um arquivo JAR executável em Eclipse?
Signup and view all the answers
Qual é a finalidade do método lancarProcessoWin32 na classe lancarEsperarProcessoWin32?
Qual é a finalidade do método lancarProcessoWin32 na classe lancarEsperarProcessoWin32?
Signup and view all the answers
Qual é o tipo do objeto retornado pelo método start()?
Qual é o tipo do objeto retornado pelo método start()?
Signup and view all the answers
O que acontece se ocorrer uma IOException ao iniciar um processo?
O que acontece se ocorrer uma IOException ao iniciar um processo?
Signup and view all the answers
Qual é a extensão correta para um arquivo JAR executável em Java?
Qual é a extensão correta para um arquivo JAR executável em Java?
Signup and view all the answers
Após definir a Launch configuration, qual é o próximo passo na criação de um arquivo JAR executável?
Após definir a Launch configuration, qual é o próximo passo na criação de um arquivo JAR executável?
Signup and view all the answers
Qual é o propósito do código apresentado na classe 'lancarEEsperarProcessoJAVA'?
Qual é o propósito do código apresentado na classe 'lancarEEsperarProcessoJAVA'?
Signup and view all the answers
Quais tecnologias podem ser usadas para comunicação entre processos independentes na mesma máquina?
Quais tecnologias podem ser usadas para comunicação entre processos independentes na mesma máquina?
Signup and view all the answers
Qual é a ordem de grandeza do tempo para comunicação via TCP com 1 core de CPU?
Qual é a ordem de grandeza do tempo para comunicação via TCP com 1 core de CPU?
Signup and view all the answers
Qual técnica de comunicação em JAVA é considerada eficiente para processos independentes?
Qual técnica de comunicação em JAVA é considerada eficiente para processos independentes?
Signup and view all the answers
Quais são os tempos aproximados para comunicação via UDP com mais de 1 core de CPU?
Quais são os tempos aproximados para comunicação via UDP com mais de 1 core de CPU?
Signup and view all the answers
Em situações de comunicação entre máquinas diferentes, qual tecnologia não é utilizada?
Em situações de comunicação entre máquinas diferentes, qual tecnologia não é utilizada?
Signup and view all the answers
Qual é a alternativa correta sobre a execução de processos em JAVA?
Qual é a alternativa correta sobre a execução de processos em JAVA?
Signup and view all the answers
No código apresentado, o que acontece se a variável 'p' for nula?
No código apresentado, o que acontece se a variável 'p' for nula?
Signup and view all the answers
Qual é a finalidade do método abrirCanal()?
Qual é a finalidade do método abrirCanal()?
Signup and view all the answers
O que o método receberMensagem() retorna?
O que o método receberMensagem() retorna?
Signup and view all the answers
O que acontece se o ficheiro comunicacao.dat não for encontrado ao abrir o canal?
O que acontece se o ficheiro comunicacao.dat não for encontrado ao abrir o canal?
Signup and view all the answers
Qual é a função do método fecharCanal()?
Qual é a função do método fecharCanal()?
Signup and view all the answers
O que o método enviarMensagem(String msg) faz?
O que o método enviarMensagem(String msg) faz?
Signup and view all the answers
Qual é o tipo de retorno do método abrirCanal()?
Qual é o tipo de retorno do método abrirCanal()?
Signup and view all the answers
Qual é o papel do buffer no contexto da comunicação?
Qual é o papel do buffer no contexto da comunicação?
Signup and view all the answers
Que tipo de exceções os métodos do canal podem lançar, baseando-se na lógica apresentada?
Que tipo de exceções os métodos do canal podem lançar, baseando-se na lógica apresentada?
Signup and view all the answers
O que indica o caractere '
ull' no método receberMensagem()?
O que indica o caractere ' ull' no método receberMensagem()?
Signup and view all the answers
O método canalComunicacao() é responsável por:
O método canalComunicacao() é responsável por:
Signup and view all the answers
Qual a função principal do semáforo em um sistema de exclusão mútua?
Qual a função principal do semáforo em um sistema de exclusão mútua?
Signup and view all the answers
Por que a execução das tarefas Tarefa 1 e Tarefa 2 deve ser feita em exclusão mútua?
Por que a execução das tarefas Tarefa 1 e Tarefa 2 deve ser feita em exclusão mútua?
Signup and view all the answers
Qual é o resultado de chamar a função getAndSet(semaforo) em relação ao semáforo?
Qual é o resultado de chamar a função getAndSet(semaforo) em relação ao semáforo?
Signup and view all the answers
Qual foi a contribuição de Dijkstra para a comunicação entre processos?
Qual foi a contribuição de Dijkstra para a comunicação entre processos?
Signup and view all the answers
Qual é a operação correspondente ao incremento do valor de um semáforo em Java?
Qual é a operação correspondente ao incremento do valor de um semáforo em Java?
Signup and view all the answers
O que caracteriza um recurso não partilhável?
O que caracteriza um recurso não partilhável?
Signup and view all the answers
Por que o canal bluetooth é considerado um recurso não partilhável?
Por que o canal bluetooth é considerado um recurso não partilhável?
Signup and view all the answers
Qual é um exemplo de recurso não partilhável, conforme mencionado?
Qual é um exemplo de recurso não partilhável, conforme mencionado?
Signup and view all the answers
Qual é o resultado da execução de dois processos que adquirem semáforos em ordem inversa?
Qual é o resultado da execução de dois processos que adquirem semáforos em ordem inversa?
Signup and view all the answers
Qual é a função do método 'acquire()' em um semáforo?
Qual é a função do método 'acquire()' em um semáforo?
Signup and view all the answers
Qual é a consequência de um semáforo com valor unitário?
Qual é a consequência de um semáforo com valor unitário?
Signup and view all the answers
O que acontece quando um semáforo é adquirido e não é liberado?
O que acontece quando um semáforo é adquirido e não é liberado?
Signup and view all the answers
Como a sequência incorreta de chamadas 'acquire()' pode levar a deadlock?
Como a sequência incorreta de chamadas 'acquire()' pode levar a deadlock?
Signup and view all the answers
O que deve ser feito após a utilização de um semáforo para evitar deadlocks?
O que deve ser feito após a utilização de um semáforo para evitar deadlocks?
Signup and view all the answers
Qual dos seguintes enunciados é verdadeiro sobre a partilha de semáforos?
Qual dos seguintes enunciados é verdadeiro sobre a partilha de semáforos?
Signup and view all the answers
Qual é a estrutura utilizada para implementar a classe 'Tarefa' que exemplifica um sistema com semáforos?
Qual é a estrutura utilizada para implementar a classe 'Tarefa' que exemplifica um sistema com semáforos?
Signup and view all the answers
Study Notes
Fundamentos de Sistemas Operativos
- O sistema operativo é o programa mais utilizado em computadores.
- É usado em todas as áreas de utilização do computador, desde jogos a programação de sistemas.
- Sistemas operativos conhecidos: UNIX, Linux, OSX, e Windows.
- Um computador é uma arquitetura hardware com microprocessador, memória e portas de entrada/saída.
- A programação em linguagem máquina é complexa e demorada para configuração e gestão de hardware.
- O sistema operativo cria uma camada de abstração (máquina virtual) facilitando a utilização do hardware.
- Esta abstração simplifica a manipulação de dispositivos hardware para os utilizadores.
Tipos de Sistemas Operativos
- Mono-utilizador: Sistemas usados em computadores pessoais nos anos 80 como CPM e MS-DOS. Eram simples e tornaram os computadores acessíveis para um público mais amplo.
- Multi-utilizador: Sistemas como o Unix foram os primeiros sistemas operativos multi-utilizador com grande divulgação. O modelo open-source do Linux permitiu o desenvolvimento de muitas aplicações inovadoras. Windows 3.1 utilizou um modelo gráfico semelhante a do MS-DOS, mas evoluiu para modelos multi-processo e multi-utilizador, como Windows 95,98, XP, Vista, 7, 8 e 10.
Estudo de um Sistema Operativo
- O Sistema Operativo é composto por camadas funcionais que gerenciam os recursos de hardware.
- As camadas não são completamente independentes, mas estruturam a maneira modular de funcionar o sistema.
Gestão de Processos e Tarefas
- A gestão de processos permite a partilha do hardware por programas.
- Um processo executa uma tarefa específica no computador
- Um processo tem vários estados, incluindo inicialização, pronto, execução e espera.
- O diagrama de estados de um processo é ilustrado na figura 3.2
Comunicação entre processos em Java
- A comunicação entre processos (IPC) em Java pode ser feita usando memória partilhada ou sockets.
- Memória partilhada é mais rápida que sockets quando ambos os processos estão no mesmo sistema.
- Existem várias tecnologias para comunicação entre processos (exclusão mútua).
Comunicação entre processos com Memória Partilhada
- A memória mapeada em Java permite que um processo mapeie o conteúdo de um ficheiro para uma área da memória virtual, facilitando o acesso e a manipulação dos dados.
- As instâncias do tipo MappedByteBuffer são acessíveis a diferentes processos.
- A manipulação do MappedByteBuffer é igual à de um Buffer comum.
Processos Leves ou Tarefas
- Processos leves são partes de um processo-pai.
- Eles cooperam para executar tarefas em pseudo-paralelismo ou paralelismo.
- Eles compartilham os recursos do processador-pai.
- O contexto de memória para cada tarefa é ilustrado na figura 3.2.1
Tarefa em Java
- As tarefas em Java derivam da classe Thread.
- Existem formas de definir uma classe como Thread.
Sincronização entre Tarefas
- A sincronização é importante quando múltiplas tarefas acessam os mesmos recursos.
- Exclusão mútua é uma técnica para garantir que apenas uma tarefa acessa um recurso específico de cada vez
Monitores versus Semáforos
- Semáforos permitem acesso simultâneo, enquanto monitores garantem exclusão mútua.
- Utilização de monitores para aceder a recursos de forma controlada.
Sistema de Ficheiros
- Os ficheiros são entidades geridas pelo sistema de ficheiros.
- O acesso a ficheiros pode ser feito utilizando o modelo “Abrir-Ler/Escrever-Fechar”.
- Os ficheiros são organizados em blocos (clusters) de dados em suportes físicos como discos rígidos.
- O sistema de ficheiros gerencia a organização e proteção dos ficheiros.
Volumes
- Volumes são um conjunto organizado de clusters.
- A estrutura de uma partição (como o MASTER BOOT RECORD) organiza dados em discos.
- Volumes agrupam clusters de informação.
Estrutura duma Diretoria
- Diretórias contêm informação sobre os ficheiros, nomes, atributos etc.
- Cada diretoria tem campos específicos, para armazenar os dados do ficheiro.
Estrutura duma FAT
- A FAT é uma tabela que descreve a alocação dos clusters em um volume.
- A FAT permite encontrar clusters livres ou ocupados.
Manipulação de Ficheiros em Java
- As streams em Java permitem a manipulação de dados (leitura e escrita) em ficheiros e dispositivos de entrada/saída.
- Existem classes para leitura e escrita de caracteres ou bytes com base na hierarquia.
Diagramas de Atividade e Autómatos
- Diagramas de atividades e autómatos são usados para modelar aplicações multiprocessos.
- Swimlanes ilustram diferentes processos e sincronização.
- Fork/Join é utilizado para sincronizar a execução de tarefas.
Robot NXT e EV3
- Descrição das características e funcionalidades do Lego NXT.
- Modelos computador-robot (detalhes de comunicação e comandos para movimentos e sensores).
- Descrição de comandos do Robot EV3 e dos seus sensores, e formas de comunicação com os sistemas de apoio.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Este quiz explora conceitos fundamentais da gestão de processos em sistemas operativos, incluindo a criação de processos em Java e diferentes estados dos processos. Teste seus conhecimentos sobre o funcionamento interno de processos e suas interações no ambiente de execução.