LABORATÓRIO 2 Abra o Netbeans no seu computador e descreva o contexto de software do processo. -Nome: - PID: -UID Execute os seguintes passos:
1. Execute o simulador SOsim e identifique as quatro janelas que são abertas na inicialização. Para esta experiência você pode fechar ou minimizar a janela da Gerência de Memória
2. Crie um processo: janela Gerência de Processos / Criar. Analise o seguinte:
1. Na janela Gerência de Processos, observe algumas informações sobre o contexto de software do processo como PID, prioridade, estado do processo e tempo de processador.
2. Na janela Gerência de Processador, observe o processo transicionando entre estados.
3. Na janela Gerência de Processador, movimente a barra de Clock de UCP e observe as variações ocorridas. Tendo feito isto, você seria capaz de responder, com base na observação do comportamento do processo criado, se o processo é I/O-bound ou CPU-bound? Justifique a resposta. ____________________________________________________________________________________________________ ____________________________________________________________________________________________________ ____________________________________________________________________________________________________ ____________________________________________________________________________________________________ Execute os seguintes passos:
1. Reinicialize o simulador.
2. Crie um processo do tipo CPU-bound: janela Gerência de Processos / Criar | janela Criação de Processos / Criar (tipo de processo deve ser CPU-bound).
3. Crie outro processo do tipo I/O-bound: janela Gerência de Processos / Criar | janela Criação de Processos / Criar (tipo de processo deve ser I/O-bound).
Analise o seguinte:
1. Na janela Gerência de Processos, observe as mudanças de estado dos dois processos.
2. Na janela Gerência de Processador, observe o comportamento dos processos e as mudanças de contexto em função do tipo I/O-bound e CPU-bound.
3. Na janela Gerência de Processos, compare a taxa de crescimento do tempo de processador dos dois processos. Tendo feito isto, você seria capaz de analisar os efeitos gerados no caso de redução do tempo gasto na operação de E/S pelo processo I/O-bound. ____________________________________________________________________________________________________ ____________________________________________________________________________________________________ Melhore esta experiência refazendo-a com mais um processo, que seja misto, tanto CPU-Bound como IO-Bound.
Mostrando postagens com marcador SISTEMAS OPERACIONAIS. Mostrar todas as postagens
Mostrando postagens com marcador SISTEMAS OPERACIONAIS. Mostrar todas as postagens
quarta-feira, 18 de setembro de 2019
sexta-feira, 6 de setembro de 2019
ATIVIDADE DE INTERRUPÇÃO E EXCEÇÃO
#include <iostream>
using namespace std;
float divide(float x, float y) {
if (y == 0) {
throw 1;
} else {
return x/y;
}
}
int main() {
int a, b;
cout << "Digite os valores: ";
cin >> a >> b;
try {
cout << divide(a, b);
} catch(int erro) {
if (erro == 1) {
cout << "Erro de divisao por zero" << endl;
}
}
return 0;
}
quarta-feira, 4 de setembro de 2019
MINI TRABALHO 1
https://docs.google.com/document/d/11WM4KxOAFs7SrsC93cbKnnzfDsoeA0gFxrMHVJlSuAM/edit?usp=sharing
quarta-feira, 5 de junho de 2019
EXERCÍCIO SOBRE GERENCIAMENTO DE ARQUIVO
1) Sobre a gerência de arquivos podemos afirmar que:
a) os arquivos são um conjunto de programas armazenados na memória principal.
b) os arquivos representam dados que são apenas programas.
c) uma característica importante da gerência de arquivos é que o SO deve ser capaz reconhecer a quase totalidade dos tipos de arquivos.
d) os arquivos podem ser apenas de tipo alfa-numérico.
e) mesmo sem reconhecer um tipo de arquivo o SO pode oferecer suporte a ele.
2) Qual desses elementos não é um atributo de arquivo?
a) Tamanho.
b) Dono.
c) Data de criação.
d) Hora de criação.
e) Fechamento.
3) Sobre gerência de espaço livre podemos afirmar que:
a) a criação de arquivos não exige um controle dos blocos dos discos livres.
b) quando um arquivo é eliminado, o espaço livre é removido da estrutura para que não seja reutilizado.
c) o modo mais simples de implementar o controle de espaço livre é por listas encadeadas.
d) outra solução para a gerência de espaço livre é que faz uso de uma tabela de blocos livres.
e) uma das desvantagens em mapas de bits é o consumo de espaço em disco para armazenamento do caminho de acesso.
4) Qual das ações abaixo não faz parte do gerenciador de arquivos?
a) Alocar e desalocar espaço na memória.
b) Criar e excluir arquivos.
c) Criar e excluir diretórios.
d) Mapear arquivos no armazenamento secundário.
e) Permitir Backup.
5) Sobre as técnicas de alocação de espaço em disco, podemos afirmar que:
a) na alocação contígua, cada bloco do arquivo pode estar armazenado em um setor distinto da unidade de disco.
b)na alocação não-contígua, o armazenamento físico não corresponde à organização lógica do arquivo.
c) na alocação contígua, o armazenamento físico não corresponde à organização lógica do arquivo.
d) na alocação não-contígua, os dados são organizados de maneira que o primeiro bloco de dados ocupa o primeiro setor alocado e assim sucessivamente.
e) na alocação contígua existe um elemento de controle chamado bloco de índice.
b) quando um arquivo é eliminado, o espaço livre é removido da estrutura para que não seja reutilizado.
c) o modo mais simples de implementar o controle de espaço livre é por listas encadeadas.
d) outra solução para a gerência de espaço livre é que faz uso de uma tabela de blocos livres.
e) uma das desvantagens em mapas de bits é o consumo de espaço em disco para armazenamento do caminho de acesso.
4) Qual das ações abaixo não faz parte do gerenciador de arquivos?
a) Alocar e desalocar espaço na memória.
b) Criar e excluir arquivos.
c) Criar e excluir diretórios.
d) Mapear arquivos no armazenamento secundário.
e) Permitir Backup.
5) Sobre as técnicas de alocação de espaço em disco, podemos afirmar que:
a) na alocação contígua, cada bloco do arquivo pode estar armazenado em um setor distinto da unidade de disco.
b)na alocação não-contígua, o armazenamento físico não corresponde à organização lógica do arquivo.
c) na alocação contígua, o armazenamento físico não corresponde à organização lógica do arquivo.
d) na alocação não-contígua, os dados são organizados de maneira que o primeiro bloco de dados ocupa o primeiro setor alocado e assim sucessivamente.
e) na alocação contígua existe um elemento de controle chamado bloco de índice.
quarta-feira, 22 de maio de 2019
EXERCÍCIOS SOBRE GERENCIAMENTO DE MEMÓRIA
1) Qual a relação entre endereço físico e virtual ? Quem Gerencia?
Considerando que estarão alocadas 4 molduras para este processo e
que este sistema utiliza a estratégia FIFO (primeiro que entra é o primeiro que sai)
Qual a quantidade de page fault (falha de página) para esta execução?
2) Qual o tipo de fragmentação apresentado pelos métodos de gerência de
memória baseados em partições fixas e por partições variáveis?
3)Explique o que é a atividade de swapping e diga como ela pode
prejudicar o desempenho do sistema computacional.
4) Qual a importância do gerenciamento de memória para o programador,
avaliando o aspecto da programação utilizando sub-rotinas?
5) Em um sistema com gerenciamento de memória paginado o
endereço é composto por 32 bits, sendo 10 reservados para a
identificação da página. Cada endereço ocupa 16 bits.
Qual o tamanho máximo do processo?
identificação da página. Cada endereço ocupa 16 bits.
Qual o tamanho máximo do processo?
6) (MEC 2008) Existem ferramentas para monitoramento e
diagnóstico de ambientes computacionais.
diagnóstico de ambientes computacionais.
O monitoramento de memória pode ser realizado por meio de
estatísticas que possibilitam medir o fluxo de páginas da
memória do sistema para os dispositivos de armazenamento
de massa anexos.
estatísticas que possibilitam medir o fluxo de páginas da
memória do sistema para os dispositivos de armazenamento
de massa anexos.
Taxas altas podem significar que o sistema tem pouca memória
e está com problemas, gastando mais recursos do sistema para mover
páginas para dentro e para fora da memória do que rodar aplicações.
e está com problemas, gastando mais recursos do sistema para mover
páginas para dentro e para fora da memória do que rodar aplicações.
Esse problema é denominado:
7) Ao dividir a memória física em blocos de tamanho fixo (quadros)
e dividir a memória lógica (espaço de endereçamento de processos)
em blocos do mesmo tamanho (páginas) e permitir que as páginas
sejam carregadas em quaisquer quadro disponíveis, estaremos implementando:
e dividir a memória lógica (espaço de endereçamento de processos)
em blocos do mesmo tamanho (páginas) e permitir que as páginas
sejam carregadas em quaisquer quadro disponíveis, estaremos implementando:
Itens:
a) Paginação de memória
b) Alocação de memória
c) Memória virtual
d) Segmentação de memória
8) Um processo referencia 5 páginas, A, B, C, D e E na
seguinte ordem:
seguinte ordem:
A - B -C -D - A - B -E -A -B -C -D -E
Considerando que estarão alocadas 4 molduras para este processo e
que este sistema utiliza a estratégia FIFO (primeiro que entra é o primeiro que sai)
Qual a quantidade de page fault (falha de página) para esta execução?
quarta-feira, 8 de maio de 2019
Laboratório Deadlock- Sincronização de Procesos
public class TestThread {
public static Object Lock1 = new Object();
public static Object Lock2 = new Object();
public static void main(String args[]) {
ThreadDemo1 T1 = new ThreadDemo1();
ThreadDemo2 T2 = new ThreadDemo2();
T1.start();
T2.start();
}
private static class ThreadDemo1 extends Thread {
public void run() {
synchronized (Lock1) {
System.out.println("Thread 1: Adquirindo lock 1...");
try { Thread.sleep(10); }
catch (InterruptedException e) {}
System.out.println("Thread 1: Esperando for lock 2...");
synchronized (Lock2) {
System.out.println("Thread 1: Adquirindo lock 1 & 2...");
}
}
}
}
private static class ThreadDemo2 extends Thread {
public void run() {
synchronized (Lock2) {
System.out.println("Thread 2: Adquirindo lock 2...");
try { Thread.sleep(10); }
catch (InterruptedException e) {}
System.out.println("Thread 2: Esperando for lock 1...");
synchronized (Lock1) {
System.out.println("Thread 2: Adquirindo lock 1 & 2...");
}
}
}
}
}
Assinar:
Postagens (Atom)
