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

Flashcards

lancarEEsperarProcessoWin32

Uma classe em Java para executar um ou mais processos do sistema operacional.

Process

Um objeto que representa um processo em Java. É criado usando a classe 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)

Método usado para iniciar um processo. Retorna um objeto Process. Lança IOException se o processo não puder ser iniciado.

Signup and view all the flashcards

waitFor() (método Process)

Método usado para esperar até que o processo termine sua execução. Lança InterruptedException se o thread for interrompido antes do término do processo.

Signup and view all the flashcards

Arquivo JAR

Um programa Java é convertido em um arquivo executável com extensão JAR.

Signup and view all the flashcards

Executar programas Java

Um programa Java é executado a partir do sistema operacional ao ser convertido em um arquivo executável JAR.

Signup and view all the flashcards

Método main()

A base de uma aplicação Java é um método chamado main(). Ele é o ponto de entrada para o programa.

Signup and view all the flashcards

Criando um arquivo JAR no Eclipse

Sequência de passos para criar um arquivo JAR executável no ambiente Eclipse.

Signup and view all the flashcards

Sistemas Operativos Simples

Os primeiros sistemas operativos que permitiram a utilização de computadores por utilizadores diversos, abrindo as portas para um uso mais generalizado.

Signup and view all the flashcards

Sistema Operativo Multi-Utilizador

Um sistema operativo que permite a utilização simultânea por múltiplos utilizadores, cada um com sua própria sessão e ambiente.

Signup and view all the flashcards

Sistema Operativo Multi-Processador

Um sistema operativo que permite a execução de vários programas ao mesmo tempo, interrompendo a execução de um programa para executar outro.

Signup and view all the flashcards

Sistema Operativo Multi-Programado

Um sistema operativo que possibilita a gestão simultânea de diversos programas e processos de forma organizada.

Signup and view all the flashcards

Gestão de Processos e Tarefas

Parte de um sistema operativo que permite a organização e gerenciamento eficaz dos processos em execução, garantindo que cada processo tenha a chance de utilizar o processador.

Signup and view all the flashcards

Gestão de Memória

Parte de um sistema operativo responsável pela organização e gerenciamento da memória do computador, garantindo que os programas tenham acesso à memória necessária para executar suas funções.

Signup and view all the flashcards

Comunicação

Parte de um sistema operativo que permite a comunicação entre diferentes processos, garantindo que estes possam trocar informações de forma organizada.

Signup and view all the flashcards

Memória Partilhada (Java)

A técnica de comunicação entre processos independentes na mesma máquina que permite partilhar dados entre os processos.

Signup and view all the flashcards

Lançar um processo Java

Uma forma de executar um processo Java a partir de outro programa Java, utilizando a classe Runtime.

Signup and view all the flashcards

Classe Process (Java)

A classe Process representa um processo em execução.

Signup and view all the flashcards

Método waitFor() (Java)

Método da classe Process que espera pelo término do processo.

Signup and view all the flashcards

Sockets TCP (Java)

Uma técnica de comunicação entre processos que utiliza a rede TCP para transmitir dados entre diferentes processos.

Signup and view all the flashcards

Sockets UDP (Java)

Uma técnica de comunicação entre processos que utiliza a rede UDP para transmitir dados entre diferentes processos.

Signup and view all the flashcards

Memória Mapeada (Java)

A forma mais eficiente de comunicação entre processos na mesma máquina utilizando memória partilhada.

Signup and view all the flashcards

Comunicação Inter-Processos (IPC) em Java

A técnica de comunicação entre processos que permite comunicação rápida e eficiente na mesma máquina.

Signup and view all the flashcards

Tempo de Comunicação IPC (Java)

A velocidade da comunicação entre processos varia com o mecanismo utilizado e o número de núcleos de CPU.

Signup and view all the flashcards

Técnicas de Comunicação entre Processos

A comunicação entre processos independentes na mesma máquina pode ser realizada através de diferentes tecnologias.

Signup and view all the flashcards

Memória Partilhada

Um tipo de memória que permite que vários processos no mesmo computador acessem os mesmos dados.

Signup and view all the flashcards

Memória Mapeada

Uma região de memória que é mapeada para um ficheiro, permitindo que os dados do ficheiro sejam tratados diretamente na memória.

Signup and view all the flashcards

canalComunicacao

Uma classe em Java que fornece um canal de comunicação entre processos usando um ficheiro.

Signup and view all the flashcards

Ficheiro

Arquivo que contém os dados compartilhados entre processos.

Signup and view all the flashcards

FileChannel

Objeto que permite a leitura e escrita em um ficheiro.

Signup and view all the flashcards

MappedByteBuffer

Objeto que representa um buffer em memória.

Signup and view all the flashcards

BUFFER_MAX

Um valor que define o tamanho máximo do buffer em bytes.

Signup and view all the flashcards

Nível Sistémico

Estrutura em que um processo pode ler ou escrever dados de ou para um ficheiro, utilizando o FileChannel e o MappedByteBuffer.

Signup and view all the flashcards

Nível Utilizador

Estrutura onde um processo pode ler ou escrever dados de ou para um objeto, utilizando o MappedByteBuffer.

Signup and view all the flashcards

Construtor

O processo de criar um canal de comunicação usando a classe canalComunicacao.

Signup and view all the flashcards

Exclusão Mútua

Uma técnica de programação que garante que apenas uma tarefa pode aceder a um recurso compartilhado por vez, evitando conflitos e garantindo a integridade dos dados.

Signup and view all the flashcards

Recurso Não Partilhável

Um recurso compartilhado, como um dispositivo de entrada/saída (ex: bluetooth), canal de comunicação, arquivo ou dados na memória, que não pode ser acessado simultaneamente por várias tarefas sem causar erros.

Signup and view all the flashcards

Ponto de Sincronização

Um ponto no código onde uma tarefa espera por outra para sincronizar as suas atividades, garantindo a ordem correta de execução e evitando erros em operações que dependem da conclusão de tarefas prévias.

Signup and view all the flashcards

Método run()

Um conjunto de instruções que a tarefa irá executar quando for requisitada pelo sistema operacional. Define o comportamento da tarefa.

Signup and view all the flashcards

Criar uma Thread

Um mecanismo que permite que uma tarefa seja executada independentemente da tarefa principal, permitindo que a tarefa principal continue a executar outras ações enquanto a tarefa secundária é executada.

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 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
Java Concurrency and Multithreading
10 questions
Android Development Basics
6 questions
Use Quizgecko on...
Browser
Browser