Podcast
Questions and Answers
O primeiro sistema operativo multi-utilizador com grande divulgação foi o ______.
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.
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 ______.
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 ______.
Os sistemas operativos multi-utilizador são importantes por desmistificar o uso dos ______.
Signup and view all the answers
Na disciplina de Fundamentos de Sistemas Operativos, utiliza-se a linguagem ______ para o desenvolvimento.
Na disciplina de Fundamentos de Sistemas Operativos, utiliza-se a linguagem ______ para o desenvolvimento.
Signup and view all the answers
Um sistema operativo pode ser decomposto em ______ funcionais.
Um sistema operativo pode ser decomposto em ______ funcionais.
Signup and view all the answers
Os sistemas operativos propostos são ______, multi-processo e multi-programados.
Os sistemas operativos propostos são ______, multi-processo e multi-programados.
Signup and view all the answers
Em Java, um processo é lançado utilizando o método ______.
Em Java, um processo é lançado utilizando o método ______.
Signup and view all the answers
Para executar um programa Java a partir do sistema operativo, é necessário um ficheiro com extensão ______.
Para executar um programa Java a partir do sistema operativo, é necessário um ficheiro com extensão ______.
Signup and view all the answers
No Eclipse, a produção do ficheiro JAR é realizada através do comando ______.
No Eclipse, a produção do ficheiro JAR é realizada através do comando ______.
Signup and view all the answers
A classe 'lancarEEsperarProcessoJAVA' é utilizada para executar um ou mais ______.
A classe 'lancarEEsperarProcessoJAVA' é utilizada para executar um ou mais ______.
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.
O método ______() serve como a base da aplicação para converter um programa Java em um ficheiro JAR executável.
Signup and view all the answers
Para esperar o fim de um processo, o método ______() é utilizado.
Para esperar o fim de um processo, o método ______() é utilizado.
Signup and view all the answers
Na classe 'lancarEsperarProcessoWin32', a variável 'p' é do tipo ______.
Na classe 'lancarEsperarProcessoWin32', a variável 'p' é do tipo ______.
Signup and view all the answers
Para executar um processo Windows, é necessário fornecer o caminho do executável, como 'c:\Windows\system32______'.
Para executar um processo Windows, é necessário fornecer o caminho do executável, como 'c:\Windows\system32______'.
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 ______.
Uma das técnicas para proibir o acesso simultâneo a um recurso físico é a técnica chamada de ______.
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.
Quando duas ou mais tarefas acedem a recursos não partilháveis, esses dispositivos devem ser protegidos do acesso ______ das várias tarefas.
Signup and view all the answers
Para haver cooperação eficiente entre as tarefas, é preciso haver pontos de ______ nas atividades.
Para haver cooperação eficiente entre as tarefas, é preciso haver pontos de ______ nas atividades.
Signup and view all the answers
O acesso ao robot utiliza o canal de comunicação ______, que é um recurso único no computador.
O acesso ao robot utiliza o canal de comunicação ______, que é um recurso único no computador.
Signup and view all the answers
As tarefas executam-se de forma ______, o que significa que o tempo de processamento é imprevisível.
As tarefas executam-se de forma ______, o que significa que o tempo de processamento é imprevisível.
Signup and view all the answers
A comunicação em JAVA entre processos independentes é chamada de ______.
A comunicação em JAVA entre processos independentes é chamada de ______.
Signup and view all the answers
A memória partilhada em JAVA é designada por memória ______.
A memória partilhada em JAVA é designada por memória ______.
Signup and view all the answers
Um exemplo de tecnologia para comunicação entre processos é o ______ por TCP.
Um exemplo de tecnologia para comunicação entre processos é o ______ por TCP.
Signup and view all the answers
O tempo de comunicação via UDP e 1 core de CPU é de aproximadamente ______.
O tempo de comunicação via UDP e 1 core de CPU é de aproximadamente ______.
Signup and view all the answers
A classe em Java para lançar processos JAVA deve usar o método ______.
A classe em Java para lançar processos JAVA deve usar o método ______.
Signup and view all the answers
Para esperar pelo fim do processo, utiliza-se o método ______.
Para esperar pelo fim do processo, utiliza-se o método ______.
Signup and view all the answers
Na comunicação via TCP e mais de 1 core de CPU, o tempo é de ______ microsegundos.
Na comunicação via TCP e mais de 1 core de CPU, o tempo é de ______ microsegundos.
Signup and view all the answers
Um dos métodos de comunicação entre máquinas diferentes é feito por ______ por UDP.
Um dos métodos de comunicação entre máquinas diferentes é feito por ______ por UDP.
Signup and view all the answers
O comando para executar um JAR em Java começa com a palavra ______.
O comando para executar um JAR em Java começa com a palavra ______.
Signup and view all the answers
A classe executa o T1 e imprime que o mesmo está ______.
A classe executa o T1 e imprime que o mesmo está ______.
Signup and view all the answers
A memória partilhada em JAVA é uma memória mapeada de um ______.
A memória partilhada em JAVA é uma memória mapeada de um ______.
Signup and view all the answers
Na classe canalComunicacao, o canal que liga o conteúdo do ficheiro ao ______ é essencial.
Na classe canalComunicacao, o canal que liga o conteúdo do ficheiro ao ______ é essencial.
Signup and view all the answers
A classe canalComunicacao tem uma dimensão máxima em bytes do ______ chamada BUFFER_MAX.
A classe canalComunicacao tem uma dimensão máxima em bytes do ______ chamada BUFFER_MAX.
Signup and view all the answers
O tipo de canal utilizado para comunicação entre processos é o ______.
O tipo de canal utilizado para comunicação entre processos é o ______.
Signup and view all the answers
A comunicação entre processos utilizando Memória Partilhada é possível através do ______.
A comunicação entre processos utilizando Memória Partilhada é possível através do ______.
Signup and view all the answers
O constructor da classe canalComunicacao é denominado ______.
O constructor da classe canalComunicacao é denominado ______.
Signup and view all the answers
Cada processo acessa a memória partilhada através do ______ e nome do ficheiro.
Cada processo acessa a memória partilhada através do ______ e nome do ficheiro.
Signup and view all the answers
Na comunicação entre processos, a operação de ______ é uma das funções principais.
Na comunicação entre processos, a operação de ______ é uma das funções principais.
Signup and view all the answers
A classe canalComunicacao deve incluir operações de ______ e leitura.
A classe canalComunicacao deve incluir operações de ______ e leitura.
Signup and view all the answers
O nível utilizador é responsável pelas operações de ______ em processos.
O nível utilizador é responsável pelas operações de ______ em processos.
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
ejoin
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.
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.