Fundamentos de Sistemas Operativos - 2024-2025
123 Questions
2 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual das opções abaixo descreve melhor uma 'tarefa' em um processo?

  • Uma implementação de uma atividade dentro de um processo. (correct)
  • Um processo que não pode ser encerrado.
  • Uma estrutura de dados que não é acessada por outros processos.
  • Uma classe que não possui dependência de código.
  • 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?

    java.lang.Thread

    Uma tarefa em Java é implementada como uma classe que herda da classe __________.

    <p>Thread</p> Signup and view all the answers

    Associe as definições às suas respectivas classes/métodos em Java:

    <p>ArrayList = Uma estrutura de dados que armazena uma lista de elementos. start() = Método usado para iniciar a execução de uma tarefa. run() = Método que contém o código a ser executado na tarefa. Thread = Classe base para a criação de tarefas em Java.</p> Signup and view all the answers

    Qual dos seguintes sistemas operativos é conhecido por seu uso em computadores pessoais na década de 80?

    <p>MS/DOS</p> Signup and view all the answers

    Os sistemas operativos mono-utilizador permitem o uso simultâneo de vários utilizadores.

    <p>False</p> Signup and view all the answers

    Quais são os principais componentes de um computador, segundo a introdução sobre sistemas operativos?

    <p>Microprocessador, memória e portos de entrada e saída.</p> Signup and view all the answers

    O programa que mais utilização tem em qualquer computador é o __________.

    <p>sistema operativo</p> Signup and view all the answers

    Associe os seguintes sistemas operativos com sua característica principal:

    <p>Unix = Sistema operacional para servidores Linux = Sistema operacional de código aberto OSX = Sistema operacional da Apple MS/DOS = Sistema operacional mono-utilizador</p> Signup and view all the answers

    Qual é o objetivo principal de um sistema operativo?

    <p>Facilitar a gestão dos recursos hardware</p> Signup and view all the answers

    O que é uma máquina virtual no contexto dos sistemas operativos?

    <p>Uma abstração que permite manipular dispositivos hardware de forma simples e intuitiva.</p> Signup and view all the answers

    Qual foi o primeiro sistema operativo multi-utilizador amplamente divulgado?

    <p>Unix</p> Signup and view all the answers

    O Linux é um sistema operativo proprietário.

    <p>False</p> Signup and view all the answers

    Quais versões do Windows são mencionadas como evoluções do MS-DOS?

    <p>Windows 95, Windows 98, Windows XP, Windows Vista, Windows 7, Windows 8 e Windows 10</p> Signup and view all the answers

    O sistema operativo Unix serviu de suporte a aplicações de _____ como a edição de notícias.

    <p>multi-utilizador</p> Signup and view all the answers

    Associe os sistemas operativos às suas características principais:

    <p>Unix = Proprietário e multi-utilizador Linux = Open source e inovador Windows 3.1 = Evolução gráfica do MS-DOS Java = Linguagem utilizada para desenvolvimento de aplicações no estudo dos sistemas operativos</p> Signup and view all the answers

    Qual das seguintes opções não é um sistema operativo mencionado?

    <p>MacOS</p> Signup and view all the answers

    A abordagem modular de um sistema operativo é composta por camadas funcionais que podem ser inteiramente disjuntas.

    <p>False</p> 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?

    <p>Java</p> Signup and view all the answers

    Um sistema operativo é decomposto em camadas funcionais que gerenciam recursos _____ da máquina hardware.

    <p>físicos</p> Signup and view all the answers

    Qual é a principal característica da linguagem Java em relação à portabilidade?

    <p>É executada na Java Virtual Machine, permitindo portabilidade.</p> Signup and view all the answers

    Um processo em Java pode ser criado sem o uso da classe ProcessBuilder.

    <p>False</p> Signup and view all the answers

    O que significa o estado 'Pronto' em um processo?

    <p>O processo está esperando a atribuição do processador.</p> Signup and view all the answers

    Um processo em Java é criado chamando o método ______ da classe ProcessBuilder.

    <p>start()</p> Signup and view all the answers

    Associe os tipos de aplicações com suas respectivas categorias:

    <p>Word = Editor de texto Photoshop = Editor de imagem Messenger = Programa de comunicação C++, Java = Compiladores de linguagens de programação</p> Signup and view all the answers

    Qual dos seguintes estados representa um processo que está aguardando algum evento ou comunicação?

    <p>Espera</p> 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.

    <p>True</p> Signup and view all the answers

    O que acontece com um processo quando a sua execução termina?

    <p>O processo entra no estado 'Terminado'.</p> Signup and view all the answers

    Um processo no estado 'Inicialização' está esperando pela ______ de recursos.

    <p>atribuição</p> Signup and view all the answers

    Qual é o uso da classe ProcessBuilder em Java?

    <p>Gerenciar processos e executar comandos do sistema.</p> Signup and view all the answers

    Qual a principal finalidade da classe canalComunicacao em Java?

    <p>Permitir a comunicação por memória partilhada entre processos.</p> Signup and view all the answers

    A memória partilhada em Java é uma memória mapeada de um arquivo.

    <p>True</p> Signup and view all the answers

    Qual é a dimensão máxima em bytes do buffer utilizada na classe canalComunicacao?

    <p>30</p> Signup and view all the answers

    A comunicação entre processos utiliza o ________ para mapear o buffer.

    <p>MappedByteBuffer</p> Signup and view all the answers

    Associe os componentes da comunicação entre processos com suas funções:

    <p>File Channel = Conecta o arquivo ao buffer. MappedByteBuffer = Mapeia a memória para processos. File = Armazena os dados utilizados para a comunicação. canalComunicacao = Classe responsável pela comunicação.</p> Signup and view all the answers

    Qual é um dos atributos privados da classe canalComunicacao?

    <p>FileChannel canal</p> Signup and view all the answers

    O código da classe canalComunicacao não contém um construtor.

    <p>False</p> 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?

    <p>Leitura e Escrita</p> Signup and view all the answers

    A classe canalComunicacao é construída para funcionar em ________ onde os processos estão localizados.

    <p>um mesmo computador</p> Signup and view all the answers

    Qual é a principal característica de um MappedByteBuffer?

    <p>Ele permite o acesso direto à memória e sincronização com um arquivo.</p> Signup and view all the answers

    Qual é a principal função de um autómato não bloqueante com estado final?

    <p>Retornar informações sobre o término ou não da atividade</p> 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.

    <p>False</p> 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?

    <p>Java</p> Signup and view all the answers

    O robot lego-mindstorms suporta até _____ sensores e pode ter _____ atuadores.

    <p>4; 3</p> Signup and view all the answers

    Associe as partes do robot lego-mindstorms com suas características:

    <p>Rodas de tração = Independentes e na frente Roda traseira = Independente e livre Sensores = Até 4 suportados Atuadores = Até 3 suportados</p> Signup and view all the answers

    Qual o método utilizado para listar os ficheiros da diretoria corrente em Java?

    <p>Dir()</p> Signup and view all the answers

    O método Dir(String nome) verifica se um ficheiro existe antes de apresentar sua leitura.

    <p>True</p> Signup and view all the answers

    O que deve fazer o método DirAll(String pathname)?

    <p>Listar todos os ficheiros dentro da diretoria e os ficheiros dentro das subdiretorias.</p> Signup and view all the answers

    Se o ficheiro não pode ser lido, a mensagem exibida é: 'O ________ não aceita leitura.'

    <p>ficheiro</p> Signup and view all the answers

    Associa os métodos aos seus objetivos:

    <p>Dir() = Lista ficheiros da diretoria corrente DirAll(String pathname) = Lista todos os ficheiros e subdiretorias isDirectory() = Verifica se é uma diretoria exists() = Verifica se o ficheiro existe</p> Signup and view all the answers

    Qual o primeiro passo do método Dir(String nome) após receber o parâmetro?

    <p>Criar um novo objeto File.</p> Signup and view all the answers

    O método BufferedReader é usado para escrever dados em um ficheiro na classe ListarDiretorias.

    <p>False</p> 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?

    <p>Facilitar a descrição do modelo para investigadores com formações diversas</p> Signup and view all the answers

    Os diagramas de atividade da UML são usados apenas para representar processos orientados a objetos.

    <p>False</p> Signup and view all the answers

    O que representa a seta entre duas atividades em um diagrama de atividade?

    <p>Uma transição condicional ou incondicional.</p> Signup and view all the answers

    Os diagramas de atividade contêm dois tipos de atividade: atividades de ação e atividades de __________.

    <p>subatividade</p> Signup and view all the answers

    Associe os tipos de diagramas da UML com suas funções:

    <p>Diagramas de atividade = Modelar um fluxo de atividades Diagramas de estado = Representar estados de um sistema Swimlanes = Descrever a sincronização entre processos Diagramas de classes = Modelar a estrutura de classes</p> Signup and view all the answers

    Qual dos seguintes assuntos é abordado nos diagramas de atividade?

    <p>Sincronização entre processos</p> Signup and view all the answers

    Uma atividade em um diagrama de atividade pode representam operações e a transferência de objetos.

    <p>True</p> Signup and view all the answers

    Os diagramas de atividades da UML foram desenhados para representar um __________ de atividades.

    <p>fluxo</p> Signup and view all the answers

    Qual linguagem é utilizada para modelar aplicações multi-processo neste contexto?

    <p>Unified Modelling Language (UML)</p> Signup and view all the answers

    Qual atividade é executada quando o estado é ATIVIDADE2?

    <p>atividade2()</p> Signup and view all the answers

    O autômato bloqueante permite transições entre atividades sem condições.

    <p>False</p> Signup and view all the answers

    Qual é a condição para transitar da ATIVIDADE1 para a ATIVIDADE2?

    <p>condiçãoAtividade1ParaAtividade2</p> Signup and view all the answers

    Na estrutura do autômato, o estado inicial é ______________.

    <p>ATIVIDADE1</p> Signup and view all the answers

    Qual é o propósito da função 'açãoTransiçãoAtividade1ParaAtividade2'?

    <p>Alterar o estado para ATIVIDADE2</p> Signup and view all the answers

    O autômato utiliza um loop infinito (while true) para gerenciar os estados.

    <p>True</p> Signup and view all the answers

    Qual atividade é chamada quando o estado é ATIVIDADE3?

    <p>atividade3()</p> Signup and view all the answers

    A transição do estado ATIVIDADE3 de volta para ATIVIDADE1 é ativada pela condição ____________.

    <p>condiçãoAtividade3ParaAtividade1</p> Signup and view all the answers

    Associe os estados do autômato com suas respectivas ações.

    <p>ATIVIDADE1 = atividade1() ATIVIDADE2 = atividade2() ATIVIDADE3 = atividade3()</p> 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?

    <p>O autômato permanece no mesmo estado</p> Signup and view all the answers

    Qual é a função de um 'join' em um fluxo de ações concorrentes?

    <p>Sincronizar a execução de múltiplos fluxos</p> Signup and view all the answers

    A aplicação termina se houver sucesso no estabelecimento da comunicação com o robô.

    <p>False</p> Signup and view all the answers

    Quais comportamentos são lançados após o sucesso na comunicação com o robô?

    <p>Vaguear, Perseguir, Evitar</p> Signup and view all the answers

    Um ponto de comunicação entre tarefas diferentes é representado pelas __________.

    <p>swimlanes</p> Signup and view all the answers

    Associe os comportamentos robóticos aos seus objetivos:

    <p>Vaguear = Exploração do ambiente Perseguir = Aproximar-se de um alvo Evitar = Desviar de obstáculos Finalizar = Encerrar a comunicação</p> Signup and view all the answers

    Qual é o resultado de um insucesso na comunicação com o robô?

    <p>A aplicação termina</p> Signup and view all the answers

    As swimlanes têm apenas uma forma de partição em uma aplicação.

    <p>False</p> Signup and view all the answers

    Como as swimlanes são utilizadas em sistemas distribuídos?

    <p>Para definir o modelo de distribuição de processos através de diferentes computadores.</p> Signup and view all the answers

    Após a conclusão dos comportamentos de um robô, a aplicação deve __________ a comunicação.

    <p>finalizar</p> Signup and view all the answers

    O que acontece quando todos os fluxos concorrentes têm suas atividades concluídas?

    <p>A aplicação será finalizada</p> Signup and view all the answers

    Qual é a função do método acquire() no contexto de um semáforo?

    <p>Permite que um processo acesse o recurso.</p> Signup and view all the answers

    Um semáforo deve ser iniciado com o valor 0 para evitar deadlock em processos concorrentes.

    <p>False</p> Signup and view all the answers

    O que ocorre quando dois processos tentam acessar um recurso simultaneamente e não há liberdade do recurso?

    <p>deadlock</p> 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.

    <p>1</p> Signup and view all the answers

    Associe os termos associados ao semáforo com suas descrições:

    <p>P(s) = Operação de teste para decremento. wait(s) = Sinônimo de acquire() em terminologia anglo-saxônica. release() = Operação que libera o recurso. acquire() = Método que solicita acesso ao recurso.</p> Signup and view all the answers

    Qual é a principal característica dos processos em Java?

    <p>Processos são criados utilizando a classe ProcessBuilder.</p> Signup and view all the answers

    Um processo no estado 'Executando' está à espera de interrupção de I/O ou evento.

    <p>False</p> Signup and view all the answers

    O que é necessário para que um processo em Java seja iniciado?

    <p>Chamar o método start() da classe ProcessBuilder.</p> Signup and view all the answers

    Um processo aguardando a atribuição do processador está no estado __________.

    <p>Pronto</p> Signup and view all the answers

    Associe os estados de um processo com suas definições:

    <p>Inicialização = O processo foi criado mas aguarda recursos. Executando = O processo está em uso pelo processador. Espera = O processo aguarda I/O ou evento. Terminado = A execução do processo foi concluída.</p> Signup and view all the answers

    Qual a função da classe ProcessBuilder em Java?

    <p>Criar e gerenciar processos executáveis.</p> Signup and view all the answers

    Os editores de texto são considerados processos que compartilham recursos de uma máquina.

    <p>True</p> Signup and view all the answers

    Quais das seguintes opções são formas de comunicação entre processos independentes em Java?

    <p>Sockets por TCP</p> Signup and view all the answers

    A comunicação entre processos com TCP é realizada apenas em máquinas diferentes.

    <p>False</p> Signup and view all the answers

    Qual é o tempo de comunicação utilizando memória partilhada em um core de CPU?

    <p>1,5 microsegundos</p> 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.

    <p>memória partilhada</p> Signup and view all the answers

    Associe os seguintes tempos de comunicação com a técnica correspondente:

    <p>Memória partilhada e 1 core de CPU = 1,5 microsegundos TCP e mais de 1 core de CPU = 22 microsegundos UDP e 1 core de CPU = 5 microsegundos Memória partilhada e mais de 1 core de CPU = 0,7 microsegundos</p> Signup and view all the answers

    Qual comando é utilizado para lançar um processo Java a partir do código apresentado?

    <p>Runtime.getRuntime().exec()</p> Signup and view all the answers

    O tempo de comunicação utilizando UDP é sempre menor que o tempo utilizando TCP.

    <p>False</p> Signup and view all the answers

    Qual é a saída esperada após um processo T1 terminar na execução do código apresentado?

    <p>T1 terminou.</p> Signup and view all the answers

    A classe em Java para lançar processos é chamada de ________.

    <p>Runtime</p> Signup and view all the answers

    Qual das seguintes opções descreve a principal finalidade da classe canalComunicacao em Java?

    <p>Implementar a comunicação por meio de memória partilhada.</p> Signup and view all the answers

    A dimensão máxima em bytes do buffer utilizada na classe canalComunicacao é 50.

    <p>False</p> Signup and view all the answers

    Qual é o tipo de memória utilizada para a comunicação entre processos em Java?

    <p>Memória mapeada de um arquivo</p> Signup and view all the answers

    A classe canalComunicacao utiliza um ______ para conectar o conteúdo do arquivo ao buffer.

    <p>FileChannel</p> Signup and view all the answers

    Associe os componentes da classe canalComunicacao com suas funções:

    <p>File = Armazenar dados em disco FileChannel = Conectar arquivo ao buffer MappedByteBuffer = Proporcionar acesso à memória mapeada BUFFER_MAX = Definir a capacidade máxima do buffer</p> Signup and view all the answers

    Qual dos seguintes atributos privados não faz parte da classe canalComunicacao?

    <p>String nome</p> Signup and view all the answers

    O construtor da classe canalComunicacao é vazio e não realiza nenhuma inicialização.

    <p>True</p> Signup and view all the answers

    Quantos processos podem utilizar a memória partilhada através da classe canalComunicacao?

    <p>Vários processos</p> Signup and view all the answers

    A comunicação entre processos via memória partilhada é realizada utilizando ______.

    <p>MappedByteBuffer</p> Signup and view all the answers

    Qual é o valor máximo da constante BUFFER_MAX definida na classe canalComunicacao?

    <p>30</p> Signup and view all the answers

    Qual das seguintes opções descreve a maneira de iniciar uma tarefa em Java?

    <p>cr1.start();</p> Signup and view all the answers

    Uma tarefa em Java pode ser implementada como uma classe que herda da classe Runnable.

    <p>False</p> Signup and view all the answers

    Qual é a declaração necessária para uma classe que extende a classe Thread em Java?

    <p>public class NomeDaClasse extends Thread</p> 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();

    <p>controlarRobot1</p> Signup and view all the answers

    Qual é o método que deve ser implementado na classe que herda de Thread?

    <p>run()</p> Signup and view all the answers

    Associe os componentes de um processo com suas características:

    <p>Processo-pai = Contém múltiplas tarefas Tarefa = Implementação de uma atividade independente Heap = Memória dinâmica utilizada por um processo Stack = Armazena informações locais da função</p> Signup and view all the answers

    A máquina virtual Java permite a execução de apenas uma única tarefa dentro de um processo.

    <p>False</p> 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 ________.

    <p>run()</p> Signup and view all the answers

    Que estrutura de dados é utilizada pela classe controlarRobot1 para armazenar comandos?

    <p>ArrayList</p> Signup and view all the answers

    Qual dos seguintes é um passo fundamental para iniciar uma tarefa em Java?

    <p>Usar o método start() na instância da Thread.</p> 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, protegendo variá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 e java.io.Writer são usadas para manipulação de caracteres.
    • As classes java.io.InputStream e java.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.

    Quiz Team

    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.

    More Like This

    Operating Systems Overview
    8 questions

    Operating Systems Overview

    ImpeccableMaclaurin avatar
    ImpeccableMaclaurin
    Operating System Concepts Chapter 1
    8 questions
    Computer Systems Architecture Quiz
    40 questions
    Use Quizgecko on...
    Browser
    Browser