Fundamentos de Sistemas Operativos
40 Questions
0 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

O primeiro sistema operativo multi-utilizador com grande divulgação foi o ______.

Unix

O sistema operativo ______ começou como uma evolução gráfica do MS/DOS.

Windows 3.1

O Linux foi desenvolvido como um sistema operativo open source para imitar o ______.

Unix

Os sistemas operativos multi-utilizador são importantes por desmistificar o uso dos ______.

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

Na disciplina de Fundamentos de Sistemas Operativos, utiliza-se a linguagem ______ para o desenvolvimento.

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

Um sistema operativo pode ser decomposto em ______ funcionais.

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

Os sistemas operativos propostos são ______, multi-processo e multi-programados.

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

Em Java, um processo é lançado utilizando o método ______.

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

Para executar um programa Java a partir do sistema operativo, é necessário um ficheiro com extensão ______.

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

No Eclipse, a produção do ficheiro JAR é realizada através do comando ______.

<p>File-&gt; Export-&gt;Runnable JAR file</p> Signup and view all the answers

A classe 'lancarEEsperarProcessoJAVA' é utilizada para executar um ou mais ______.

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

O método ______() serve como a base da aplicação para converter um programa Java em um ficheiro JAR executável.

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

Para esperar o fim de um processo, o método ______() é utilizado.

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

Na classe 'lancarEsperarProcessoWin32', a variável 'p' é do tipo ______.

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

Para executar um processo Windows, é necessário fornecer o caminho do executável, como 'c:\Windows\system32______'.

<p>mspaint.exe</p> Signup and view all the answers

Uma das técnicas para proibir o acesso simultâneo a um recurso físico é a técnica chamada de ______.

<p>exclusão mútua</p> Signup and view all the answers

Quando duas ou mais tarefas acedem a recursos não partilháveis, esses dispositivos devem ser protegidos do acesso ______ das várias tarefas.

<p>simultâneo</p> Signup and view all the answers

Para haver cooperação eficiente entre as tarefas, é preciso haver pontos de ______ nas atividades.

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

O acesso ao robot utiliza o canal de comunicação ______, que é um recurso único no computador.

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

As tarefas executam-se de forma ______, o que significa que o tempo de processamento é imprevisível.

<p>assíncrona</p> Signup and view all the answers

A comunicação em JAVA entre processos independentes é chamada de ______.

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

A memória partilhada em JAVA é designada por memória ______.

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

Um exemplo de tecnologia para comunicação entre processos é o ______ por TCP.

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

O tempo de comunicação via UDP e 1 core de CPU é de aproximadamente ______.

<p>5 microsegundos</p> Signup and view all the answers

A classe em Java para lançar processos JAVA deve usar o método ______.

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

Para esperar pelo fim do processo, utiliza-se o método ______.

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

Na comunicação via TCP e mais de 1 core de CPU, o tempo é de ______ microsegundos.

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

Um dos métodos de comunicação entre máquinas diferentes é feito por ______ por UDP.

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

O comando para executar um JAR em Java começa com a palavra ______.

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

A classe executa o T1 e imprime que o mesmo está ______.

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

A memória partilhada em JAVA é uma memória mapeada de um ______.

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

Na classe canalComunicacao, o canal que liga o conteúdo do ficheiro ao ______ é essencial.

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

A classe canalComunicacao tem uma dimensão máxima em bytes do ______ chamada BUFFER_MAX.

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

O tipo de canal utilizado para comunicação entre processos é o ______.

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

A comunicação entre processos utilizando Memória Partilhada é possível através do ______.

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

O constructor da classe canalComunicacao é denominado ______.

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

Cada processo acessa a memória partilhada através do ______ e nome do ficheiro.

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

Na comunicação entre processos, a operação de ______ é uma das funções principais.

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

A classe canalComunicacao deve incluir operações de ______ e leitura.

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

O nível utilizador é responsável pelas operações de ______ em processos.

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

Study Notes

Fundamentos de Sistemas Operativos (2024-2025) - Jorge Pais

  • O sistema operativo é o programa mais utilizado em qualquer computador.
  • Todos os utilizadores, desde os que usam computadores para lazer a programadores de sistemas, usam sistemas operativos.
  • Os sistemas operativos mais conhecidos são UNIX, Linux, OSX e Windows.
  • Um computador é uma arquitetura hardware que inclui: microprocessador, memória e portas de entrada/saída (Figura 1.1).
  • A programação de baixo nível (máquina) é complexa.
  • O sistema operativo fornece uma camada de abstração, chamada máquina virtual, para facilitar a interação com o hardware. (Figura 1.2)
  • Existem sistemas operativos mono-utilizador (primeiros computadores pessoais, CPM e MS-DOS) e multi-utilizador (Unix e Linux, e versões posteriores do Windows).
  • Os sistemas operativos multi-utilizador permitem que múltiplos utilizadores acessem simultaneamente os recursos do computador.
  • Os sistemas operativos Windows (3.1, 95, 98, XP, Vista, 7, 8 e 10) evoluíram a partir do MS-DOS e tornaram-se multi-utilizador e multi-processo.
  • Existe um estudo modular de um Sistema Operativo (Figura 3.1).
  • O sistema operativo é composto por camadas funcionais.
  • Cada camada é responsável pela gestão de um recurso físico do hardware.
  • A gestão de processos e tarefas permite partilhar os recursos da máquina entre diferentes programas (Figura 3.2).
  • Em Java, um processo pode ser criado usando a classe ProcessBuilder, especificando o caminho para o ficheiro executável.
  • Os processos têm diferentes estados (inicialização, pronto, execução, espera, terminado, Figura 3.2)
  • A comunicação entre processos em Java pode ser feita através de memória partilhada (MappedByteBuffer).
  • Memória partilhada é uma área de memória na memória virtual que reflete os dados de um ficheiro, que está disponível a vários processos (Figura 3.1.1.1).
  • Os tempos de diferentes técnicas de comunicação entre processos (memória partilhada, TCP, UDP) dependem da quantidade de cores de CPU.
  • Para a comunicação entre processos utilizando o conceito de memória partilhada, a classe Java MappedByteBuffer permite aceder diretamente aos dados de um ficheiro armazenado em memória.
  • Criar ficheiros .jar executáveis em Java.
  • Comunicação entre processos em Java: memória partilhada (Figura 3.1.3.1).
  • Exclusão mútua (uso do FileLock para bloquear o acesso ao recurso) permite manipular a memória partilhada evitando problemas de dados inconsistentes. (Figura 3.1.4)
  • Protocolo de comunicação: conjunto de campos que são definidos previamente para a comunicação entre processos (estrutura da mensagem, Figura 3.1.5).
  • Processos leves ou Tarefas: são partes de um único processo-pai que os lança e executa, partilhando recursos de um único processador (Figura 3.2).
  • As tarefas em Java são implementadas pela classe Thread (Figura 3.2.1).
  • As tarefas são executadas e devem comunicar entre si para garantir consistência, o que pode ser feito com exclusão mútua.
  • Monitor para controlar o acesso aos recursos (Figura 3.2.2).
  • Semáforos (estrutura de apoio para a exclusão mútua de vários processos).
  • Estrutura de um Sistema de Ficheiros (Boot, FAT1, FAT2, Diretoria Root e Clusters).
  • Manipulação de ficheiros em Java com Streams (I/O) (Figura 4.7)
  • Utilização de classes para manipulação de ficheiros (java.io.Reader, java.io.Writer, etc)
  • Conceitos de Volumes (Pistas, Setores, Partições (MBR, Extended, etc)): Organização física do dados num disco (Figura 4.3).
  • Estrutura da Diretória (Nome, Extensão, Atributo): Conceitos para organização de ficheiros na partição Root (Figura 4.5).
  • Estrutura da FAT (File Allocation Table): Descrição dos clusters e sua ocupação (Figura 4.6).
  • Tipos de classes java para leitura e escrita em ficheiros e em dispositivos de I/O (InputStream, OutputStream, FileReader, FileWriter, etc).
  • Diagramas de atividade e autómatos para modelagem de aplicações multi-processo (Figura 5.1, 5.2, 5.3 e 5.4).
  • Diagramas de atividades com fork e join para modelagem de fluxos concorrentes (Figura 5.1.5).
  • O uso de swimlanes para representar a comunicação de objetos entre tarefas (Figura 5.1.6).
  • Exemplo de um autómato bloqueante para implementar um diagrama de atividade com sincronização (Figura 5.2)
  • Exemplo de um autómato não bloqueante para implementar um diagrama de atividades sem estado final (Figura 5.3).
  • Robots Lego NXT e EV3 e seus comandos. (Figura 6.1 e 6.2, exemplos de implementação com comandos de movimento e sensores).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Teste seus conhecimentos sobre os Fundamentos de Sistemas Operativos. Este quiz aborda tópicos como sistemas operativos multi-utilizador, comandos em Java e desenvolvimento em ambientes gráficos. Prepare-se para responder perguntas que vão testar sua compreensão desses conceitos fundamentais.

More Like This

Java Programming
10 questions

Java Programming

CreativeTrust6309 avatar
CreativeTrust6309
Android Development Basics
6 questions
Use Quizgecko on...
Browser
Browser