Você está na página 1de 6

Sistemas Operacionais – Trabalho AF

Aluno: Natanael Costa de Lima

As respostas estão todas preenchidas na cor verde!, todas as


questões encontram-se respondidas!
Parte 1

1. Faça um diagrama completo dos 5 estados possíveis de um Processo e das possibilidades de


transição entre eles.

Obs.: não copie uma figura da internet! Se você usar uma imagem da internet, sua questão será
anulada. Sua figura deve ser única, feita por você. Faça sua própria figura no computador ou então
num papel (batendo a foto deste).
Obs.: você deve citar suas fontes para as informações que usou ao fazer sua figura.

RESPOSTA:

Fonte: caderno com anotaçoes em sala feitas pelo professor

2. Um sistema de 64 MB de memória com blocos de 2 MB possui 32 blocos. Portanto:


(marque V ou F)

a) (Verdadeiro (V)) Para indicar um desses blocos seriam necessários 5 bits (25 = 32 opções).

b) (Verdadeiro (V)) Para indicar o offset dentro do bloco seriam necessários 10 bits (210 =
1024 opções, 0...1023).
3. No exemplo abaixo, quantos “A” serão escritos?
print("D")
os.fork()
print("C")
os.fork()
print("B")
os.fork()
print("A")

Será escrito 8 vezes a letra A


Fonte: exemplos de fork no caderno

4. Sobre o Sistema Operacional (SO), escreva o valor do somatório dos itens abaixo que são
verdadeiros.

(Peso 1). O SO provê uma base com abstrações mais convenientes para as aplicações do
usuário.

(Peso 2). O SO é um programa especial que executa de modo não privilegiado na máquina e
administra os recursos do sistema para os demais programas usarem.

(Peso 4). O SO é o programa especial que fica entre o hardware e os demais programas do
usuário.

(Peso 8). A CPU no modo kernel permite executar código com mais privilégios; por isso,
tipicamente as aplicações executam no modo kernel e o SO no modo usuário.

Resposta: somatório = 5.

(Ex.: você considera que apenas os itens de peso (2) e peso (4) são verdadeiros; então sua resposta
deverá ser 6, pois 2+4 = 6).

5. Considere um programa com 2 threads e um semáforo inicializado com zero. Insira comandos de
Down ou Up no código abaixo para fazer com que a tarefa B comece apenas depois da tarefa C
concluir. Responda reescrevendo o código abaixo junto com os comandos que você inseriu.

Thread 1: Thread 2:
Faz tarefa A… Faz tarefa C…
Down Up
Faz tarefa B… Faz tarefa D…
Parte 2

Se sua matrícula termina em um dígito ímpar, responda somente as questões (6) e (8) abaixo. Se
termina em um dígito par, responda somente as questões (7) e (9) abaixo.

Sua matrícula: 20211135000227

Termina em dígito: ( ) Par (X) Ímpar

(6) Qual a diferença entre Sistema Operacional de Rede e Sistema Operacional Distribuído?
Pesquise e responda citando suas fontes.
Algumas de suas principais diferenças são que:

O principal objetivo do sistema operacional de rede é fornecer serviços locais ao cliente remoto. Por
outro lado, o objetivo do sistema operacional distribuído é fornecer o gerenciamento de recursos de
hardware.

Os sistemas operacionais de rede são chamados de sistemas fracamente acoplados e são usados em
computadores heterogêneos. Em contrapartida, o sistema operacional distribuído é considerado como
sistemas fortemente acoplados, usados principalmente em multiprocessadores ou computadores
homogêneos.

O sistema operacional de rede possui arquitetura cliente / servidor de duas camadas, enquanto a
arquitetura de n camadas é empregada no sistema operacional distribuído.

A transparência no sistema operacional de rede é baixa. Por outro lado, o sistema operacional
distribuído tem alta transparência e oculta a utilização de recursos.

No sistema operacional distribuído, a comunicação entre os computadores (nós) é obtida pela


memória compartilhada ou pelo envio de mensagens. Pelo contrário, o sistema operacional de rede
envia arquivos para se comunicar com outros nós.

O sistema operacional de rede gerencia os recursos em cada nó, enquanto no sistema operacional
distribuído, os recursos são gerenciados globalmente, seja centralizado ou distribuído.

O sistema operacional de rede é facilmente implementado em comparação com o sistema operacional


distribuído.

A escalabilidade do sistema operacional de rede é maior que o sistema operacional distribuído e


também é mais aberta ao usuário.

No sistema operacional de rede, o sistema operacional instalado nos computadores pode variar,
embora não seja o caso no sistema operacional distribuído.

O sistema operacional de rede é mais autônomo que o sistema operacional distribuído. Em contraste,
o sistema operacional distribuído é mais tolerante a falhas.

Ou seja, O sistema operacional de rede e o sistema operacional distribuído se distinguem pelas


características que têm, como o sistema operacional de rede em que cada sistema executa seu
próprio sistema operacional, enquanto o sistema operacional distribuído executa um sistema
operacional global em todo o sistema.
Fonte: https://pt.gadget-info.com/difference-between-network-operating-system

(7) Comente brevemente, citando suas fontes, sobre os sistemas Multics e Unix.
(mínimo de um parágrafo ou 4 linhas para cada um deles).

(8) Comente brevemente, citando suas fontes, sobre os sistemas Minix e Linux.
(mínimo de um parágrafo ou 4 linhas para cada um deles).

MINIX:

O Minix é um sistema operacional gratuito desenvolvido por Andrew


Tanenbaum para compensar a proibição da AT&T contra o estudo de SO
baseado no código UNIX e prover uma ferramenta de ensino para seus alunos.
Originalmente foi projetado para ser compatível com a versão 7 do UNIX e em
seguida passou a ser desenvolvido baseado no padrão POSIX. O Minix foi
escrito a partir do zero e mesmo sendo compatível com UNIX, não contém
código AT&T possibilitando sua distribuição livremente.

Fonte: https://www.inf.ufrgs.br/~johann/sisop1/minixpage/index.html

LINUX:

O Linux é o coração do sistema operacional, responsável pelos programas


executados em seu computador, e permite a comunicação entre hardware
(impressoras, monitores, mouses, teclados) e software (aplicativos em
geral). A coleção de kernels e outros programas responsáveis por interagir
com ele é o que chamamos de sistema operacional. O kernel é o coração do
sistema.

Fonte: https://www.vivaolinux.com.br/linux/

(9) Comente brevemente, citando suas fontes, sobre Multiprogramação e Time


Sharing. (mínimo de um parágrafo ou 4 linhas para cada um deles).

Parte 3
10. Considere a seguinte sequência de acessos à páginas:

123421542123763212345

Informe quantos page faults irão acontecer em LRU com 4 quadros na RAM.
Irão acontecer 11 page faults
Fonte utilizada: http://enviartrabalho.rf.gd/demos/page_repl/?i=1

11. Escolha 5 chamadas de sistema (syscalls) e explique brevemente cada uma. Você pode usar
os materiais e trabalhos da disciplina ao longo do semestre. Obs.: escolha apenas 5.
close --> Fecha um arquivo
exit --> Termina o processo atual, passando um resultado (status)
getcwd --> Obtém o diretório atual de trabalho (current working dir)
fork --> Duplica o processo atual, gerando um processo filho
chdir --> Muda o diretório atual de trabalho
fonte: trabalho de comandos no qual eu enviei pelo classroom (atividade passada)

Você também pode gostar