Podcast
Questions and Answers
Qual das opções abaixo descreve melhor uma 'tarefa' em um processo?
Qual das opções abaixo descreve melhor uma 'tarefa' em um processo?
Uma classe que deriva da classe Thread deve implementar o método run() para funcionar corretamente.
Uma classe que deriva da classe Thread deve implementar o método run() para funcionar corretamente.
True
Qual biblioteca é utilizada para acessar a classe Thread em Java?
Qual biblioteca é utilizada para acessar a classe Thread em Java?
java.lang.Thread
Uma tarefa em Java é implementada como uma classe que herda da classe __________.
Uma tarefa em Java é implementada como uma classe que herda da classe __________.
Signup and view all the answers
Associe as definições às suas respectivas classes/métodos em Java:
Associe as definições às suas respectivas classes/métodos em Java:
Signup and view all the answers
Qual dos seguintes sistemas operativos é conhecido por seu uso em computadores pessoais na década de 80?
Qual dos seguintes sistemas operativos é conhecido por seu uso em computadores pessoais na década de 80?
Signup and view all the answers
Os sistemas operativos mono-utilizador permitem o uso simultâneo de vários utilizadores.
Os sistemas operativos mono-utilizador permitem o uso simultâneo de vários utilizadores.
Signup and view all the answers
Quais são os principais componentes de um computador, segundo a introdução sobre sistemas operativos?
Quais são os principais componentes de um computador, segundo a introdução sobre sistemas operativos?
Signup and view all the answers
O programa que mais utilização tem em qualquer computador é o __________.
O programa que mais utilização tem em qualquer computador é o __________.
Signup and view all the answers
Associe os seguintes sistemas operativos com sua característica principal:
Associe os seguintes sistemas operativos com sua característica principal:
Signup and view all the answers
Qual é o objetivo principal de um sistema operativo?
Qual é o objetivo principal de um sistema operativo?
Signup and view all the answers
O que é uma máquina virtual no contexto dos sistemas operativos?
O que é uma máquina virtual no contexto dos sistemas operativos?
Signup and view all the answers
Qual foi o primeiro sistema operativo multi-utilizador amplamente divulgado?
Qual foi o primeiro sistema operativo multi-utilizador amplamente divulgado?
Signup and view all the answers
O Linux é um sistema operativo proprietário.
O Linux é um sistema operativo proprietário.
Signup and view all the answers
Quais versões do Windows são mencionadas como evoluções do MS-DOS?
Quais versões do Windows são mencionadas como evoluções do MS-DOS?
Signup and view all the answers
O sistema operativo Unix serviu de suporte a aplicações de _____ como a edição de notícias.
O sistema operativo Unix serviu de suporte a aplicações de _____ como a edição de notícias.
Signup and view all the answers
Associe os sistemas operativos às suas características principais:
Associe os sistemas operativos às suas características principais:
Signup and view all the answers
Qual das seguintes opções não é um sistema operativo mencionado?
Qual das seguintes opções não é um sistema operativo mencionado?
Signup and view all the answers
A abordagem modular de um sistema operativo é composta por camadas funcionais que podem ser inteiramente disjuntas.
A abordagem modular de um sistema operativo é composta por camadas funcionais que podem ser inteiramente disjuntas.
Signup and view all the answers
Qual é a linguagem de programação utilizada para o desenvolvimento de aplicações na disciplina de Fundamentos de Sistemas Operativos?
Qual é a linguagem de programação utilizada para o desenvolvimento de aplicações na disciplina de Fundamentos de Sistemas Operativos?
Signup and view all the answers
Um sistema operativo é decomposto em camadas funcionais que gerenciam recursos _____ da máquina hardware.
Um sistema operativo é decomposto em camadas funcionais que gerenciam recursos _____ da máquina hardware.
Signup and view all the answers
Qual é a principal característica da linguagem Java em relação à portabilidade?
Qual é a principal característica da linguagem Java em relação à portabilidade?
Signup and view all the answers
Um processo em Java pode ser criado sem o uso da classe ProcessBuilder.
Um processo em Java pode ser criado sem o uso da classe ProcessBuilder.
Signup and view all the answers
O que significa o estado 'Pronto' em um processo?
O que significa o estado 'Pronto' em um processo?
Signup and view all the answers
Um processo em Java é criado chamando o método ______ da classe ProcessBuilder.
Um processo em Java é criado chamando o método ______ da classe ProcessBuilder.
Signup and view all the answers
Associe os tipos de aplicações com suas respectivas categorias:
Associe os tipos de aplicações com suas respectivas categorias:
Signup and view all the answers
Qual dos seguintes estados representa um processo que está aguardando algum evento ou comunicação?
Qual dos seguintes estados representa um processo que está aguardando algum evento ou comunicação?
Signup and view all the answers
Os editores de texto, como o Word, são considerados processos que partilham recursos físicos de uma máquina.
Os editores de texto, como o Word, são considerados processos que partilham recursos físicos de uma máquina.
Signup and view all the answers
O que acontece com um processo quando a sua execução termina?
O que acontece com um processo quando a sua execução termina?
Signup and view all the answers
Um processo no estado 'Inicialização' está esperando pela ______ de recursos.
Um processo no estado 'Inicialização' está esperando pela ______ de recursos.
Signup and view all the answers
Qual é o uso da classe ProcessBuilder em Java?
Qual é o uso da classe ProcessBuilder em Java?
Signup and view all the answers
Qual a principal finalidade da classe canalComunicacao
em Java?
Qual a principal finalidade da classe canalComunicacao
em Java?
Signup and view all the answers
A memória partilhada em Java é uma memória mapeada de um arquivo.
A memória partilhada em Java é uma memória mapeada de um arquivo.
Signup and view all the answers
Qual é a dimensão máxima em bytes do buffer utilizada na classe canalComunicacao
?
Qual é a dimensão máxima em bytes do buffer utilizada na classe canalComunicacao
?
Signup and view all the answers
A comunicação entre processos utiliza o ________ para mapear o buffer.
A comunicação entre processos utiliza o ________ para mapear o buffer.
Signup and view all the answers
Associe os componentes da comunicação entre processos com suas funções:
Associe os componentes da comunicação entre processos com suas funções:
Signup and view all the answers
Qual é um dos atributos privados da classe canalComunicacao
?
Qual é um dos atributos privados da classe canalComunicacao
?
Signup and view all the answers
O código da classe canalComunicacao
não contém um construtor.
O código da classe canalComunicacao
não contém um construtor.
Signup and view all the answers
Quais são as operações principais que podem ser realizadas no nível sistêmico na comunicação entre processos?
Quais são as operações principais que podem ser realizadas no nível sistêmico na comunicação entre processos?
Signup and view all the answers
A classe canalComunicacao
é construída para funcionar em ________ onde os processos estão localizados.
A classe canalComunicacao
é construída para funcionar em ________ onde os processos estão localizados.
Signup and view all the answers
Qual é a principal característica de um MappedByteBuffer
?
Qual é a principal característica de um MappedByteBuffer
?
Signup and view all the answers
Qual é a principal função de um autómato não bloqueante com estado final?
Qual é a principal função de um autómato não bloqueante com estado final?
Signup and view all the answers
A estrutura de um autómato não bloqueante é igual à de um autómato não bloqueante com estado final.
A estrutura de um autómato não bloqueante é igual à de um autómato não bloqueante com estado final.
Signup and view all the answers
Qual é a linguagem de programação utilizada para implementar a função de um autómato não bloqueante com estado final?
Qual é a linguagem de programação utilizada para implementar a função de um autómato não bloqueante com estado final?
Signup and view all the answers
O robot lego-mindstorms suporta até _____ sensores e pode ter _____ atuadores.
O robot lego-mindstorms suporta até _____ sensores e pode ter _____ atuadores.
Signup and view all the answers
Associe as partes do robot lego-mindstorms com suas características:
Associe as partes do robot lego-mindstorms com suas características:
Signup and view all the answers
Qual o método utilizado para listar os ficheiros da diretoria corrente em Java?
Qual o método utilizado para listar os ficheiros da diretoria corrente em Java?
Signup and view all the answers
O método Dir(String nome) verifica se um ficheiro existe antes de apresentar sua leitura.
O método Dir(String nome) verifica se um ficheiro existe antes de apresentar sua leitura.
Signup and view all the answers
O que deve fazer o método DirAll(String pathname)?
O que deve fazer o método DirAll(String pathname)?
Signup and view all the answers
Se o ficheiro não pode ser lido, a mensagem exibida é: 'O ________ não aceita leitura.'
Se o ficheiro não pode ser lido, a mensagem exibida é: 'O ________ não aceita leitura.'
Signup and view all the answers
Associa os métodos aos seus objetivos:
Associa os métodos aos seus objetivos:
Signup and view all the answers
Qual o primeiro passo do método Dir(String nome) após receber o parâmetro?
Qual o primeiro passo do método Dir(String nome) após receber o parâmetro?
Signup and view all the answers
O método BufferedReader é usado para escrever dados em um ficheiro na classe ListarDiretorias.
O método BufferedReader é usado para escrever dados em um ficheiro na classe ListarDiretorias.
Signup and view all the answers
Qual é uma vantagem da utilização de uma linguagem gráfica como a UML na modelação de aplicações multi-processo?
Qual é uma vantagem da utilização de uma linguagem gráfica como a UML na modelação de aplicações multi-processo?
Signup and view all the answers
Os diagramas de atividade da UML são usados apenas para representar processos orientados a objetos.
Os diagramas de atividade da UML são usados apenas para representar processos orientados a objetos.
Signup and view all the answers
O que representa a seta entre duas atividades em um diagrama de atividade?
O que representa a seta entre duas atividades em um diagrama de atividade?
Signup and view all the answers
Os diagramas de atividade contêm dois tipos de atividade: atividades de ação e atividades de __________.
Os diagramas de atividade contêm dois tipos de atividade: atividades de ação e atividades de __________.
Signup and view all the answers
Associe os tipos de diagramas da UML com suas funções:
Associe os tipos de diagramas da UML com suas funções:
Signup and view all the answers
Qual dos seguintes assuntos é abordado nos diagramas de atividade?
Qual dos seguintes assuntos é abordado nos diagramas de atividade?
Signup and view all the answers
Uma atividade em um diagrama de atividade pode representam operações e a transferência de objetos.
Uma atividade em um diagrama de atividade pode representam operações e a transferência de objetos.
Signup and view all the answers
Os diagramas de atividades da UML foram desenhados para representar um __________ de atividades.
Os diagramas de atividades da UML foram desenhados para representar um __________ de atividades.
Signup and view all the answers
Qual linguagem é utilizada para modelar aplicações multi-processo neste contexto?
Qual linguagem é utilizada para modelar aplicações multi-processo neste contexto?
Signup and view all the answers
Qual atividade é executada quando o estado é ATIVIDADE2?
Qual atividade é executada quando o estado é ATIVIDADE2?
Signup and view all the answers
O autômato bloqueante permite transições entre atividades sem condições.
O autômato bloqueante permite transições entre atividades sem condições.
Signup and view all the answers
Qual é a condição para transitar da ATIVIDADE1 para a ATIVIDADE2?
Qual é a condição para transitar da ATIVIDADE1 para a ATIVIDADE2?
Signup and view all the answers
Na estrutura do autômato, o estado inicial é ______________.
Na estrutura do autômato, o estado inicial é ______________.
Signup and view all the answers
Qual é o propósito da função 'açãoTransiçãoAtividade1ParaAtividade2'?
Qual é o propósito da função 'açãoTransiçãoAtividade1ParaAtividade2'?
Signup and view all the answers
O autômato utiliza um loop infinito (while true) para gerenciar os estados.
O autômato utiliza um loop infinito (while true) para gerenciar os estados.
Signup and view all the answers
Qual atividade é chamada quando o estado é ATIVIDADE3?
Qual atividade é chamada quando o estado é ATIVIDADE3?
Signup and view all the answers
A transição do estado ATIVIDADE3 de volta para ATIVIDADE1 é ativada pela condição ____________.
A transição do estado ATIVIDADE3 de volta para ATIVIDADE1 é ativada pela condição ____________.
Signup and view all the answers
Associe os estados do autômato com suas respectivas ações.
Associe os estados do autômato com suas respectivas ações.
Signup and view all the answers
Qual das seguintes opções descreve corretamente o que acontece quando as condições de transição não são atendidas?
Qual das seguintes opções descreve corretamente o que acontece quando as condições de transição não são atendidas?
Signup and view all the answers
Qual é a função de um 'join' em um fluxo de ações concorrentes?
Qual é a função de um 'join' em um fluxo de ações concorrentes?
Signup and view all the answers
A aplicação termina se houver sucesso no estabelecimento da comunicação com o robô.
A aplicação termina se houver sucesso no estabelecimento da comunicação com o robô.
Signup and view all the answers
Quais comportamentos são lançados após o sucesso na comunicação com o robô?
Quais comportamentos são lançados após o sucesso na comunicação com o robô?
Signup and view all the answers
Um ponto de comunicação entre tarefas diferentes é representado pelas __________.
Um ponto de comunicação entre tarefas diferentes é representado pelas __________.
Signup and view all the answers
Associe os comportamentos robóticos aos seus objetivos:
Associe os comportamentos robóticos aos seus objetivos:
Signup and view all the answers
Qual é o resultado de um insucesso na comunicação com o robô?
Qual é o resultado de um insucesso na comunicação com o robô?
Signup and view all the answers
As swimlanes têm apenas uma forma de partição em uma aplicação.
As swimlanes têm apenas uma forma de partição em uma aplicação.
Signup and view all the answers
Como as swimlanes são utilizadas em sistemas distribuídos?
Como as swimlanes são utilizadas em sistemas distribuídos?
Signup and view all the answers
Após a conclusão dos comportamentos de um robô, a aplicação deve __________ a comunicação.
Após a conclusão dos comportamentos de um robô, a aplicação deve __________ a comunicação.
Signup and view all the answers
O que acontece quando todos os fluxos concorrentes têm suas atividades concluídas?
O que acontece quando todos os fluxos concorrentes têm suas atividades concluídas?
Signup and view all the answers
Qual é a função do método acquire() no contexto de um semáforo?
Qual é a função do método acquire() no contexto de um semáforo?
Signup and view all the answers
Um semáforo deve ser iniciado com o valor 0 para evitar deadlock em processos concorrentes.
Um semáforo deve ser iniciado com o valor 0 para evitar deadlock em processos concorrentes.
Signup and view all the answers
O que ocorre quando dois processos tentam acessar um recurso simultaneamente e não há liberdade do recurso?
O que ocorre quando dois processos tentam acessar um recurso simultaneamente e não há liberdade do recurso?
Signup and view all the answers
Em Java, o código de inicialização de um semáforo deve ter um valor inicial de ________ para evitar deadlock.
Em Java, o código de inicialização de um semáforo deve ter um valor inicial de ________ para evitar deadlock.
Signup and view all the answers
Associe os termos associados ao semáforo com suas descrições:
Associe os termos associados ao semáforo com suas descrições:
Signup and view all the answers
Qual é a principal característica dos processos em Java?
Qual é a principal característica dos processos em Java?
Signup and view all the answers
Um processo no estado 'Executando' está à espera de interrupção de I/O ou evento.
Um processo no estado 'Executando' está à espera de interrupção de I/O ou evento.
Signup and view all the answers
O que é necessário para que um processo em Java seja iniciado?
O que é necessário para que um processo em Java seja iniciado?
Signup and view all the answers
Um processo aguardando a atribuição do processador está no estado __________.
Um processo aguardando a atribuição do processador está no estado __________.
Signup and view all the answers
Associe os estados de um processo com suas definições:
Associe os estados de um processo com suas definições:
Signup and view all the answers
Qual a função da classe ProcessBuilder em Java?
Qual a função da classe ProcessBuilder em Java?
Signup and view all the answers
Os editores de texto são considerados processos que compartilham recursos de uma máquina.
Os editores de texto são considerados processos que compartilham recursos de uma máquina.
Signup and view all the answers
Quais das seguintes opções são formas de comunicação entre processos independentes em Java?
Quais das seguintes opções são formas de comunicação entre processos independentes em Java?
Signup and view all the answers
A comunicação entre processos com TCP é realizada apenas em máquinas diferentes.
A comunicação entre processos com TCP é realizada apenas em máquinas diferentes.
Signup and view all the answers
Qual é o tempo de comunicação utilizando memória partilhada em um core de CPU?
Qual é o tempo de comunicação utilizando memória partilhada em um core de CPU?
Signup and view all the answers
A técnica de comunicação entre processos que utiliza ________ é considerada eficiente e é designada em Java como memória mapeada.
A técnica de comunicação entre processos que utiliza ________ é considerada eficiente e é designada em Java como memória mapeada.
Signup and view all the answers
Associe os seguintes tempos de comunicação com a técnica correspondente:
Associe os seguintes tempos de comunicação com a técnica correspondente:
Signup and view all the answers
Qual comando é utilizado para lançar um processo Java a partir do código apresentado?
Qual comando é utilizado para lançar um processo Java a partir do código apresentado?
Signup and view all the answers
O tempo de comunicação utilizando UDP é sempre menor que o tempo utilizando TCP.
O tempo de comunicação utilizando UDP é sempre menor que o tempo utilizando TCP.
Signup and view all the answers
Qual é a saída esperada após um processo T1 terminar na execução do código apresentado?
Qual é a saída esperada após um processo T1 terminar na execução do código apresentado?
Signup and view all the answers
A classe em Java para lançar processos é chamada de ________.
A classe em Java para lançar processos é chamada de ________.
Signup and view all the answers
Qual das seguintes opções descreve a principal finalidade da classe canalComunicacao em Java?
Qual das seguintes opções descreve a principal finalidade da classe canalComunicacao em Java?
Signup and view all the answers
A dimensão máxima em bytes do buffer utilizada na classe canalComunicacao é 50.
A dimensão máxima em bytes do buffer utilizada na classe canalComunicacao é 50.
Signup and view all the answers
Qual é o tipo de memória utilizada para a comunicação entre processos em Java?
Qual é o tipo de memória utilizada para a comunicação entre processos em Java?
Signup and view all the answers
A classe canalComunicacao utiliza um ______ para conectar o conteúdo do arquivo ao buffer.
A classe canalComunicacao utiliza um ______ para conectar o conteúdo do arquivo ao buffer.
Signup and view all the answers
Associe os componentes da classe canalComunicacao com suas funções:
Associe os componentes da classe canalComunicacao com suas funções:
Signup and view all the answers
Qual dos seguintes atributos privados não faz parte da classe canalComunicacao?
Qual dos seguintes atributos privados não faz parte da classe canalComunicacao?
Signup and view all the answers
O construtor da classe canalComunicacao é vazio e não realiza nenhuma inicialização.
O construtor da classe canalComunicacao é vazio e não realiza nenhuma inicialização.
Signup and view all the answers
Quantos processos podem utilizar a memória partilhada através da classe canalComunicacao?
Quantos processos podem utilizar a memória partilhada através da classe canalComunicacao?
Signup and view all the answers
A comunicação entre processos via memória partilhada é realizada utilizando ______.
A comunicação entre processos via memória partilhada é realizada utilizando ______.
Signup and view all the answers
Qual é o valor máximo da constante BUFFER_MAX definida na classe canalComunicacao?
Qual é o valor máximo da constante BUFFER_MAX definida na classe canalComunicacao?
Signup and view all the answers
Qual das seguintes opções descreve a maneira de iniciar uma tarefa em Java?
Qual das seguintes opções descreve a maneira de iniciar uma tarefa em Java?
Signup and view all the answers
Uma tarefa em Java pode ser implementada como uma classe que herda da classe Runnable.
Uma tarefa em Java pode ser implementada como uma classe que herda da classe Runnable.
Signup and view all the answers
Qual é a declaração necessária para uma classe que extende a classe Thread em Java?
Qual é a declaração necessária para uma classe que extende a classe Thread em Java?
Signup and view all the answers
Para criar uma instância da classe controlarRobot1, usa-se a seguinte linha de código: ________ cr1 = new controlarRobot1();
Para criar uma instância da classe controlarRobot1, usa-se a seguinte linha de código: ________ cr1 = new controlarRobot1();
Signup and view all the answers
Qual é o método que deve ser implementado na classe que herda de Thread?
Qual é o método que deve ser implementado na classe que herda de Thread?
Signup and view all the answers
Associe os componentes de um processo com suas características:
Associe os componentes de um processo com suas características:
Signup and view all the answers
A máquina virtual Java permite a execução de apenas uma única tarefa dentro de um processo.
A máquina virtual Java permite a execução de apenas uma única tarefa dentro de um processo.
Signup and view all the answers
As tarefas em Java são instâncias de classes que herdam da classe Thread e devem implementar o método ________.
As tarefas em Java são instâncias de classes que herdam da classe Thread e devem implementar o método ________.
Signup and view all the answers
Que estrutura de dados é utilizada pela classe controlarRobot1 para armazenar comandos?
Que estrutura de dados é utilizada pela classe controlarRobot1 para armazenar comandos?
Signup and view all the answers
Qual dos seguintes é um passo fundamental para iniciar uma tarefa em Java?
Qual dos seguintes é um passo fundamental para iniciar uma tarefa em Java?
Signup and view all the answers
Study Notes
Fundamentos de Sistemas Operativos - 2024-2025
- O sistema operativo é o programa mais utilizado em qualquer computador, utilizado para todas as áreas de funcionalidade.
- Os sistemas operativos mais conhecidos são: UNIX, Linux, OSX e Microsoft Windows.
- Um computador é uma arquitetura hardware que engloba microprocessador, memória e portos de entrada/saída.
- Um exemplo de arquitetura é o Arduino, um microsistema já trabalhado em Computação Física.
- A programação ao nível da linguagem máquina de um microprocessador é complexa e consume muito tempo.
- O principal objetivo do sistema operativo é facilitar a gestão dos recursos hardware, criando um nível de abstração para o utilizador (máquina virtual).
- A máquina virtual permite uma forma mais intuitiva de manipular os dispositivos hardware.
Tipos de Sistemas Operativos
- Sistemas Operativos Mono-Utilizador - Foram os primeiros sistemas utilizados em computadores pessoais (anos 80), como CPM ou MS-DOS.
- Sistemas Operativos Multi-Utilizador - São utilizados em computadores de médio porte, onde várias pessoas podem utilizar um mesmo computador. Um exemplo é Unix e Linux, considerados os precursores dos sistemas modernos.
- Windows 3.1, 95, 98, XP, Vista, 7, 8 e 10 são exemplos de sistemas multi-utilizador e multi-processos.
Estudo de um Sistema Operativo
- Um sistema operativo pode ser decomposto em camadas funcionais, cada uma gerindo um recurso do hardware.
- As camadas não são inteiramente disjuntas, mas complementares.
- As camadas são estudadas de forma modular.
- Processos e tarefas são estudados numa linguagem Java, usando APIs, como a Java Virtual Machine, para facilitar a acessibilidade do código para vários hardware.
- Gestão de processos e tarefas envolve a partilha de recursos, como editores de textos, compiladores, outros programas, e dispositivos de entrada/saída.
Comunicação entre Processos em Java
- Comunicação entre processos em JAVA pode ser realizada por memória partilhada, ou sockets TCP (Transfer Control Protocol) ou UDP (User Datagram Protocol).
- A memória partilhada em JAVA é mapeada para uma área de memória virtual do conteúdo de um ficheiro.
- A troca de dados entre processos é mais rápida utilizando Memória partilhada.
- Os tempos de acesso para troca de dados utilizando memória partilhada e um core de CPU, são de 1,5 microsegundos e mais de 1 core de CPU são de 0,7 microsegundos.
- Os tempos de acesso utilizando TCP e um core de CPU são de 30 microsegundos e mais de 1 core de CPU são de 22 microsegundos.
- Os tempos de acesso utilizando UDP e um core de CPU são de 5 microsegundos e mais de 1 core de CPU são de 8 microsegundos.
Comunicação entre processos com Memória Partilhada
- Há um buffer de acesso direto com conteúdo igual ao de um ficheiro, permitindo acesso simultâneo.
- Qualquer processo Java pode alterar o conteúdo do buffer.
- Se um processo fecha ou trunca o buffer, outros processos deixam de ter acesso, gerando um erro de acesso.
- A manipulação de um buffer mapeado é semelhante à de um buffer convencional.
- As funções 'force()', 'isLoaded()' e 'load()' são específicas para buffers mapeados e permitem controlar o acesso à memória principal.
Comunicação entre Processos em Java (utilizando Memória Partilhada)
- Um programa Java pode executar um ficheiro .JAR.
- O método main() é a base de uma aplicação Java.
- As classes para execução de processos em Java são: lançarEEsperarProcessoWin32 e lancarEEsperarProcessoJAVA. Estas classes facilitam a criação e gestão de processos.
Tarefa em Java
- Um processo pode conter múltiplas tarefas (threads).
- Uma tarefa em Java é uma classe que deriva da classe Thread (e implementa Runnable).
- Várias tarefas podem ser executadas dentro do mesmo processo, permitindo concorrência.
- A classe ControlarRobot1 e ControlarRobot2 demonstram como criar e lançar tarefas em Java usando threads para executar diferentes ações.
Sincronização entre Tarefas
- A comunicação entre tarefas requer sincronização, devido ao processamento ser imprevisível em tempo real.
- A exclusão mútua garante que apenas uma tarefa aceda a um determinado recurso em simultâneo.
- Semáforos são um mecanismo para controlar o acesso concorrente, prevenindo problemas como o deadlock. É fundamental para impedir acessos simultâneos que poderiam gerar incoerências.
- A declaração e o uso adequado de semáforos são essenciais para prevenir deadlock e garantir consistência.
Monitores
- As tarefas são sincronizadas usando monitores, oferecendo exclusão mútua dentro da própria linguagem Java.
- Monitores geridos pela linguagem Java, onde cada objeto possui um monitor.
- O acesso aos monitores é controlado pela diretiva synchronized, garantindo exclusão mútua.
- Sincronização ao método - Permite que um processo aceda ao método somente quando seu monitor é desbloqueado (terminando sua execução ou usando wait()).
- Sincronização ao bloco - Limita o uso de
synchronized
dentro de um bloco específico, protegendovariáveis
.
Sistema de Ficheiros
- O sistema de ficheiros organiza os ficheiros numa estrutura hierárquica (árvore de subdiretoria), com diretoria raiz.
- O
Open-Read/Write-Close
é um padrão de modelo de acesso a ficheiros, onde o utilizador abre, lê/escreve e fecha o ficheiro. - Os ficheiros são estruturados em blocos (clusters) de dados.
- Usam uma tabela (FAT) que descreve o uso de cada bloco, incluindo cluster estragados, clusters livres e clusters usados, além de outras informações como tempo de criação, data e hora de acesso, e proteção.
- Um volume (disco) é dividido em partições com diferentes tipos (FAT, etc) e estrutura física, com o setor de inicialização, tabelas de alocação, e blocos de dados.
- O Master Boot Record (MBR) contém o código de arranque e informações sobre a partição e o sistema operacional.
Manipulação de Ficheiros em Java com Streams
- As classes
java.io.Reader
ejava.io.Writer
são usadas para manipulação de caracteres. - As classes
java.io.InputStream
ejava.io.OutputStream
são usadas para manipulação de bytes. - Classes como
BufferedReader
,BufferedWriter
,FileReader
,FileWriter
,FileInputStream
,FileOutputStream
facilitam a leitura e escrita de ficheiros de forma eficiente e gerenciando fluxos de dados com grande eficiência.
Diagramas de Atividade
- Os diagramas de atividade modelam fluxos de controlo concorrentes, especialmente importantes em aplicações multi-thread.
- Eles descrevem atividades, transições entre atividades, e condições (eventos) disparando as transiçoes.
- As swimlanes organizam atividades dentro de diferentes participantes (processos ou threads), facilitando a visualização clara da colaboração entre eles.
- Usados para representar fluxos de trabalho em aplicações multi-thread.
Outros Anexos
- Os anexos descrevem robôs (Lego NXT e EV3), seus componentes (computador, sensores, atuadores), e a interação entre o robô e o ambiente através de interfaces de programação, como a comunicação USB e Bluetooth, e consideram os tempos de processamento mínimos. Também detalham o modelo computadorn-robô.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Descubra os conceitos fundamentais dos sistemas operativos e suas aplicações em computação. Este quiz cobre arquiteturas de hardware, tipos de sistemas operativos e a importância da máquina virtual na gestão de recursos. Teste seu conhecimento sobre sistemas conhecidos como UNIX, Linux e Windows.