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?
- Executar atualizações de software automaticamente.
- Gerenciar o armazenamento de arquivos.
- Partilhar a máquina física entre programas independentes ou interdependentes. (correct)
- Controlar acessos de usuários ao sistema.
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?
- Pronto. (correct)
- Terminado.
- Execução.
- Inicialização.
Como se cria um processo em Java?
Como se cria um processo em Java?
- Usando a classe ProcessBuilder e chamando o método start(). (correct)
- Utilizando comandos do sistema operativo diretamente.
- Instanciando a classe Runtime diretamente.
- Usando a classe ProcessExecutor.
O que representa o estado 'Terminado' de um processo?
O que representa o estado 'Terminado' de um processo?
Qual das seguintes aplicações pode ser considerada um processo?
Qual das seguintes aplicações pode ser considerada um processo?
Qual é a função do método start() na classe ProcessBuilder?
Qual é a função do método start() na classe ProcessBuilder?
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'?
O que significa um processo estar em estado de 'Espera'?
O que significa um processo estar em estado de 'Espera'?
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?
O que deve ser verificado antes de chamar o método waitFor()?
O que deve ser verificado antes de chamar o método waitFor()?
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?
Qual é a finalidade do método lancarProcessoWin32 na classe lancarEsperarProcessoWin32?
Qual é a finalidade do método lancarProcessoWin32 na classe lancarEsperarProcessoWin32?
Qual é o tipo do objeto retornado pelo método start()?
Qual é o tipo do objeto retornado pelo método start()?
O que acontece se ocorrer uma IOException ao iniciar um processo?
O que acontece se ocorrer uma IOException ao iniciar um processo?
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?
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?
Qual é o propósito do código apresentado na classe 'lancarEEsperarProcessoJAVA'?
Qual é o propósito do código apresentado na classe 'lancarEEsperarProcessoJAVA'?
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?
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?
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?
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?
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?
Qual é a alternativa correta sobre a execução de processos em JAVA?
Qual é a alternativa correta sobre a execução de processos em JAVA?
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?
Qual é a finalidade do método abrirCanal()?
Qual é a finalidade do método abrirCanal()?
O que o método receberMensagem() retorna?
O que o método receberMensagem() retorna?
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?
Qual é a função do método fecharCanal()?
Qual é a função do método fecharCanal()?
O que o método enviarMensagem(String msg) faz?
O que o método enviarMensagem(String msg) faz?
Qual é o tipo de retorno do método abrirCanal()?
Qual é o tipo de retorno do método abrirCanal()?
Qual é o papel do buffer no contexto da comunicação?
Qual é o papel do buffer no contexto da comunicação?
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?
O que indica o caractere '
ull' no método receberMensagem()?
O que indica o caractere ' ull' no método receberMensagem()?
O método canalComunicacao() é responsável por:
O método canalComunicacao() é responsável por:
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?
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?
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?
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?
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?
O que caracteriza um recurso não partilhável?
O que caracteriza um recurso não partilhável?
Por que o canal bluetooth é considerado um recurso não partilhável?
Por que o canal bluetooth é considerado um recurso não partilhável?
Qual é um exemplo de recurso não partilhável, conforme mencionado?
Qual é um exemplo de recurso não partilhável, conforme mencionado?
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?
Qual é a função do método 'acquire()' em um semáforo?
Qual é a função do método 'acquire()' em um semáforo?
Qual é a consequência de um semáforo com valor unitário?
Qual é a consequência de um semáforo com valor unitário?
O que acontece quando um semáforo é adquirido e não é liberado?
O que acontece quando um semáforo é adquirido e não é liberado?
Como a sequência incorreta de chamadas 'acquire()' pode levar a deadlock?
Como a sequência incorreta de chamadas 'acquire()' pode levar a deadlock?
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?
Qual dos seguintes enunciados é verdadeiro sobre a partilha de semáforos?
Qual dos seguintes enunciados é verdadeiro sobre a partilha de semáforos?
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?
Flashcards
Processo
Processo
Um programa que pode ser executado pelo sistema operativo e realiza uma atividade específica no computador.
Gestão de Processos
Gestão de Processos
A forma como o sistema operativo partilha a máquina física entre vários programas que estão a ser executados.
Inicialização
Inicialização
O estado em que um processo foi criado, mas ainda não recebeu recursos para começar a executar.
Pronto
Pronto
Signup and view all the flashcards
Execução
Execução
Signup and view all the flashcards
Espera
Espera
Signup and view all the flashcards
Terminado
Terminado
Signup and view all the flashcards
Criar um Processo em Java
Criar um Processo em Java
Signup and view all the flashcards
Início de um processo em Java
Início de um processo em Java
Signup and view all the flashcards
Classe ProcessBuilder
Classe ProcessBuilder
Signup and view all the flashcards
Método waitFor()
Método waitFor()
Signup and view all the flashcards
Comando java -jar
Comando java -jar
Signup and view all the flashcards
Arquivo JAR
Arquivo JAR
Signup and view all the flashcards
Método main()
Método main()
Signup and view all the flashcards
Exceção IOException
Exceção IOException
Signup and view all the flashcards
Criação de um arquivo JAR
Criação de um arquivo JAR
Signup and view all the flashcards
Lançamento e Espera de Processos em Java
Lançamento e Espera de Processos em Java
Signup and view all the flashcards
Classe Process
Classe Process
Signup and view all the flashcards
Comunicação Inter-Processos (IPC)
Comunicação Inter-Processos (IPC)
Signup and view all the flashcards
Memória Compartilhada
Memória Compartilhada
Signup and view all the flashcards
Sockets TCP
Sockets TCP
Signup and view all the flashcards
Sockets UDP
Sockets UDP
Signup and view all the flashcards
Memória Mapeada
Memória Mapeada
Signup and view all the flashcards
abrirCanal()
abrirCanal()
Signup and view all the flashcards
receberMensagem()
receberMensagem()
Signup and view all the flashcards
enviarMensagem(String msg)
enviarMensagem(String msg)
Signup and view all the flashcards
fecharCanal()
fecharCanal()
Signup and view all the flashcards
ficheiro
ficheiro
Signup and view all the flashcards
canal
canal
Signup and view all the flashcards
buffer
buffer
Signup and view all the flashcards
char
char
Signup and view all the flashcards
BUFFER_MAX
BUFFER_MAX
Signup and view all the flashcards
RandomAccessFile
RandomAccessFile
Signup and view all the flashcards
Recurso não partilhável
Recurso não partilhável
Signup and view all the flashcards
Exclusão Mútua
Exclusão Mútua
Signup and view all the flashcards
Semáforo
Semáforo
Signup and view all the flashcards
getAndSet
getAndSet
Signup and view all the flashcards
Semáforo
Semáforo
Signup and view all the flashcards
Release
Release
Signup and view all the flashcards
Sincronização
Sincronização
Signup and view all the flashcards
Acesso Concorrente a Recursos
Acesso Concorrente a Recursos
Signup and view all the flashcards
O que é um Semáforo?
O que é um Semáforo?
Signup and view all the flashcards
O que faz o método acquire()?
O que faz o método acquire()?
Signup and view all the flashcards
O que faz o método release()?
O que faz o método release()?
Signup and view all the flashcards
O que é Deadlock?
O que é Deadlock?
Signup and view all the flashcards
Como Deadlock pode ocorrer?
Como Deadlock pode ocorrer?
Signup and view all the flashcards
O que é Concorrência?
O que é Concorrência?
Signup and view all the flashcards
Como o valor inicial de um semáforo influencia a partilha de recursos?
Como o valor inicial de um semáforo influencia a partilha de recursos?
Signup and view all the flashcards
Qual o impacto da ordem de acquire e release em semáforos?
Qual o impacto da ordem de acquire e release em semáforos?
Signup and view all the flashcards
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.