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 ______.
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.
Um sistema operativo pode ser decomposto em ______ funcionais.
Um sistema operativo pode ser decomposto em ______ funcionais.
Os sistemas operativos propostos são ______, multi-processo e multi-programados.
Os sistemas operativos propostos são ______, multi-processo e multi-programados.
Em Java, um processo é lançado utilizando o método ______.
Em Java, um processo é lançado utilizando o método ______.
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 ______.
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 ______.
A classe 'lancarEEsperarProcessoJAVA' é utilizada para executar um ou mais ______.
A classe 'lancarEEsperarProcessoJAVA' é utilizada para executar um ou mais ______.
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.
Para esperar o fim de um processo, o método ______() é utilizado.
Para esperar o fim de um processo, o método ______() é utilizado.
Na classe 'lancarEsperarProcessoWin32', a variável 'p' é do tipo ______.
Na classe 'lancarEsperarProcessoWin32', a variável 'p' é do tipo ______.
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______'.
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 ______.
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.
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.
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.
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.
A comunicação em JAVA entre processos independentes é chamada de ______.
A comunicação em JAVA entre processos independentes é chamada de ______.
A memória partilhada em JAVA é designada por memória ______.
A memória partilhada em JAVA é designada por memória ______.
Um exemplo de tecnologia para comunicação entre processos é o ______ por TCP.
Um exemplo de tecnologia para comunicação entre processos é o ______ por TCP.
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 ______.
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 ______.
Para esperar pelo fim do processo, utiliza-se o método ______.
Para esperar pelo fim do processo, utiliza-se o método ______.
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.
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.
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 ______.
A classe executa o T1 e imprime que o mesmo está ______.
A classe executa o T1 e imprime que o mesmo está ______.
A memória partilhada em JAVA é uma memória mapeada de um ______.
A memória partilhada em JAVA é uma memória mapeada de um ______.
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.
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.
O tipo de canal utilizado para comunicação entre processos é o ______.
O tipo de canal utilizado para comunicação entre processos é o ______.
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 ______.
O constructor da classe canalComunicacao é denominado ______.
O constructor da classe canalComunicacao é denominado ______.
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.
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.
A classe canalComunicacao deve incluir operações de ______ e leitura.
A classe canalComunicacao deve incluir operações de ______ e leitura.
O nível utilizador é responsável pelas operações de ______ em processos.
O nível utilizador é responsável pelas operações de ______ em processos.
Flashcards
lancarEEsperarProcessoWin32
lancarEEsperarProcessoWin32
Uma classe em Java para executar um ou mais processos do sistema operacional.
Process
Process
Um objeto que representa um processo em Java. É criado usando a classe ProcessBuilder.
ProcessBuilder
ProcessBuilder
Classe usada para criar um processo a partir de um comando. Aceita o nome do programa como um argumento.
start() (método ProcessBuilder)
start() (método ProcessBuilder)
Signup and view all the flashcards
waitFor() (método Process)
waitFor() (método Process)
Signup and view all the flashcards
Arquivo JAR
Arquivo JAR
Signup and view all the flashcards
Executar programas Java
Executar programas Java
Signup and view all the flashcards
Método main()
Método main()
Signup and view all the flashcards
Criando um arquivo JAR no Eclipse
Criando um arquivo JAR no Eclipse
Signup and view all the flashcards
Sistemas Operativos Simples
Sistemas Operativos Simples
Signup and view all the flashcards
Sistema Operativo Multi-Utilizador
Sistema Operativo Multi-Utilizador
Signup and view all the flashcards
Sistema Operativo Multi-Processador
Sistema Operativo Multi-Processador
Signup and view all the flashcards
Sistema Operativo Multi-Programado
Sistema Operativo Multi-Programado
Signup and view all the flashcards
Gestão de Processos e Tarefas
Gestão de Processos e Tarefas
Signup and view all the flashcards
Gestão de Memória
Gestão de Memória
Signup and view all the flashcards
Comunicação
Comunicação
Signup and view all the flashcards
Memória Partilhada (Java)
Memória Partilhada (Java)
Signup and view all the flashcards
Lançar um processo Java
Lançar um processo Java
Signup and view all the flashcards
Classe Process
(Java)
Classe Process
(Java)
Signup and view all the flashcards
Método waitFor()
(Java)
Método waitFor()
(Java)
Signup and view all the flashcards
Sockets TCP (Java)
Sockets TCP (Java)
Signup and view all the flashcards
Sockets UDP (Java)
Sockets UDP (Java)
Signup and view all the flashcards
Memória Mapeada (Java)
Memória Mapeada (Java)
Signup and view all the flashcards
Comunicação Inter-Processos (IPC) em Java
Comunicação Inter-Processos (IPC) em Java
Signup and view all the flashcards
Tempo de Comunicação IPC (Java)
Tempo de Comunicação IPC (Java)
Signup and view all the flashcards
Técnicas de Comunicação entre Processos
Técnicas de Comunicação entre Processos
Signup and view all the flashcards
Memória Partilhada
Memória Partilhada
Signup and view all the flashcards
Memória Mapeada
Memória Mapeada
Signup and view all the flashcards
canalComunicacao
canalComunicacao
Signup and view all the flashcards
Ficheiro
Ficheiro
Signup and view all the flashcards
FileChannel
FileChannel
Signup and view all the flashcards
MappedByteBuffer
MappedByteBuffer
Signup and view all the flashcards
BUFFER_MAX
BUFFER_MAX
Signup and view all the flashcards
Nível Sistémico
Nível Sistémico
Signup and view all the flashcards
Nível Utilizador
Nível Utilizador
Signup and view all the flashcards
Construtor
Construtor
Signup and view all the flashcards
Exclusão Mútua
Exclusão Mútua
Signup and view all the flashcards
Recurso Não Partilhável
Recurso Não Partilhável
Signup and view all the flashcards
Ponto de Sincronização
Ponto de Sincronização
Signup and view all the flashcards
Método run()
Método run()
Signup and view all the flashcards
Criar uma Thread
Criar uma Thread
Signup and view all the flashcards
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.