Você está na página 1de 8

UNIVERSIDADE FEDERAL DO PARÁ

CAMPUS UNIVERSITÁRIO DE TUCURUÍ


FACULDADE DE ENGENHARIA DE COMPUTAÇÃO

RAÍ MEDEIROS VEIGA (201933840032)

SISTEMA OPERACIONAIS - ATIVIDADE 1

TUCURUÍ
2021
1) EXERCÍCIOS (CAPITULO 1, PÁGINA 10)

1. Quais os dois principais objetivos de um sistema operacional?

Os objetivos básicos de um sistema operacional podem ser sintetizados em dois:


Abstração de recursos, que está ligado à facilidade de acesso de recursos do
sistema e Gerência de recursos, onde cabe ao sistema operacional definir políticas
para gerenciar o uso dos recursos de hardware pelos aplicativos, e resolver eventuais
disputas e conflitos.

2. Por que a abstração de recursos é importante para os desenvolvedores de


aplicações? Ela tem alguma utilidade para os desenvolvedores do próprio
sistema operacional?

Porque a abstração pode prover interfaces de acesso aos dispositivos mais simples
de usar que as interfaces de baixo nível; torna os aplicativos independentes do
hardware e define interfaces de acesso homogêneas para dispositivos com
tecnologias distintas. A abstração é útil, pois minimiza os conflitos no uso de hardware,
por que o acesso se faz através de interfaces simples.

3. A gerência de atividades permite compartilhar o processador, executando


mais de uma aplicação ao mesmo tempo. Identifique as principais vantagens
trazidas por essa funcionalidade e os desafios a resolver para implementá-la.

A principal vantagem é poder realizar várias atividades simultaneamente, sem o


surgimento de conflitos no uso do hardware. Executando os aplicativos
simultaneamente em velocidade adequada, gerando filas de acesso para que não
ocorram conflitos entre processos. O principal desafio ao se implantar essa solução é
impedir que os recursos do sistema sejam utilizados por um só usuário.

4. O que caracteriza um sistema operacional de tempo real? Quais as duas


classificações de sistemas operacionais de tempo real e suas diferenças?
São sistemas nos quais o tempo é essencial. Ao contrário da ideia usual, um sistema
operacional de tempo real não precisa ser necessariamente ultrarrápido; sua
característica essencial é ter um comportamento temporal previsível, ou seja, seu
tempo de resposta deve ser previsível no melhor e no pior caso de operação. Existem
duas classificações de sistema operacionais em tempo real e suas diferenças são:
sistemas de tempo real críticos (hard real-time systems), nos quais a perda de um
prazo pelo sistema pode perturbar seriamente o sistema físico sob seu controle, com
graves consequências humanas, econômicas ou ambientais. E também os sistemas
de tempo real não-críticos (soft real-time systems), onde a perda de um prazo é
perceptível e degrada o serviço prestado, sem maiores consequências.

5. Relacione as afirmações aos respectivos tipos de sistemas operacionais:


distribuído (D), multiusuário (M), desktop (K), servidor (S), embarcado (E) ou de
tempo real (T):

[ T ] Deve ter um comportamento temporal previsível, com prazos de resposta


claramente definidos.

[ S ] Sistema operacional usado por uma empresa para executar seu banco de dados
corporativo.

[ E ] São tipicamente usados em telefones celulares e sistemas eletrônicos dedicados.

[ D ] Neste tipo de sistema, a localização física dos recursos do sistema computacional


é transparente para os usuários.

[ M ] Todos os recursos do sistema têm proprietários e existem regras controlando o


acesso aos mesmos pelos usuários.

[ E ] A gerência de energia é muito importante neste tipo de sistema.

[ K ] Sistema que prioriza a gerência da interface gráfica e a interação com o usuário.

[ S ] Construído para gerenciar de forma eficiente grandes volumes de recursos.

[ K ] O MacOS X é um exemplo típico deste tipo de sistema.

[ E ] São sistemas operacionais compactos, construídos para executar aplicações


específicas sobre plataformas com poucos recursos.
6. Sobre as afirmações a seguir, relativas aos diversos tipos de sistemas
operacionais, indique quais são incorretas, justificando sua resposta:

(a) Em um sistema operacional de tempo real, a rapidez de resposta é menos


importante que a previsibilidade do tempo de resposta.

(b) Um sistema operacional multiusuários associa um proprietário a cada recurso do


sistema e gerencia as permissões de acesso a esses recursos.

(c) Nos sistemas operacionais de rede a localização dos recursos é transparente


para os usuários.

R: Afirmativa incorreta, pois é um Sistema Distribuído que precisa da localização dos


recursos transparente.

(d) Um sistema operacional de tempo real deve priorizar as tarefas que


interagem com o usuário.

R: Afirmativa incorreta, pois em um Desktop é que existe a priorização das tarefas que
interagem com o usuário.

(e) Um sistema operacional embarcado é projetado para operar em hardware com


poucos recursos.

2) DESCREVA A HISTÓRIA DO LINUX E DO GNU/LINUX: CRIAÇÃO,


INSPIRAÇÕES, PREDECESSORES, DESENVOLVIMENTO E ETC...

UNIX

Muito antes do Linux ser criado, existia o sistema operacional UNIX que foi criado em
1969 por Ken Thompson e Dennis Richie. O UNIX era usado nas universidades e
apesar de ser um sistema comercial, o seu código fonte era disponibilizado e esse
código era usado durante aulas de computação, até que o código fonte foi fechado e
não teria mais como analisar a estrutura de um sistema operacional real durante as
aulas.

MINIX
Então o Andrew Tanembaum, professor universitário e escritor de diversos livros
usados como referência em cursos de Ciência da computação, criou o sistema
operacional Minix em 1987. O Minix foi criado inicialmente para uso acadêmico e o
seu código fonte aberto foi impresso no livro Sistemas Operacionais Modernos, do
mesmo autor. Muitas pessoas tinham interesse em adicionar novos recursos no Minix
mas nessa época o seu criador se recusou a adicionar novos recursos para manter o
sistema pequeno.

O KERNEL LINUX

Em 1991 o Linus Torvalds que nessa época era aluno da universidade de Helsinque
na Finlândia, assim como outros alunos dessa época, ele só tinha acesso a um
computador com o sistema UNIX na faculdade porque os computadores que rodavam
o UNIX eram muito caros e os estudantes não tinham condições de comprar um para
usar o UNIX em casa.

Já o Minix que podia ser usado nos computadores baratos que as pessoas tinham em
casa era limitado e o seu criador se recusava a adicionar novas funções. Então o Linus
teve a ideia de criar um novo sistema operacional, o Linux, e registrou na licença GPL,
uma licença que permite que o código fonte seja alterado. O Linux sozinho não poderia
ser usado como um sistema completo por que o Linux é o núcleo do sistema, o que é
chamado de kernel, a parte do sistema que controla o processador, a memória, os
HDs e todo o hardware do sistema. Isso é o Linux. O Linus disponibilizou o código do
Linux na internet e muitas pessoas começaram usar o código, modificar e criar coisas
novas.

GNU/Linux

Para se criar um sistema operacional que realmente pode ser usado, o Linux teve que
ser unido aos softwares do projeto GNU criado pelo Richard Stallman, que muito antes
do Linux ser criado já tinha o projeto de criar um sistema operacional com código
aberto e de fato, vários dos programas que compõem um sistema operacional já
estavam prontos no projeto GNU. Praticamente só faltava o kernel.

Quando o Linux foi criado, o sistema ficou pronto. Por isso algumas pessoas preferem
chamar o sistema de GNU/Linux.

Como o Linux pode ser alterado livremente, com o tempo, muitas pessoas,
organizações sem fins lucrativos e empresas reuniram o Linux e os programas do
projeto GNU com outros softwares em pacotes, esses pacotes são chamados de
distribuições do Linux. As distribuições são diferentes porque cada empresa ou
organização decidiu distribuir o Linux de forma diferente, com aparência, softwares,
suporte, algumas vezes com público alvo diferente.

3) PESQUISE E RESPONDA: O QUE É POSSÍVEL FAZER NO LINUX QUE NÃO


SE PODE FAZER NO WINDOWS?

• O Linux pode ser executado por anos sem ser reiniciado.


• O Linux pode atualizar quase todos os softwares da máquina, incluindo patches
e pequenas atualizações da versão do sistema operacional, sem desligar ou
reiniciar a máquina.
• Linux pode ser confiável. Ele não joga jogos com você, obriga você a atualizar,
corrigir, reiniciar ou fazer qualquer coisa obrigatória, nunca. Você está no
controle total.
• O Linux pode ser completamente livre de portas e rastreadores - porque todo o
processo de desenvolvimento ocorre a céu aberto, examinado por milhares de
pessoas. A cada lançamento, as pessoas podem ver e visualizar todas as
alterações e o funcionamento do sistema operacional como um todo.
• O Linux pode ser modificado, explorado, reescrito e redistribuído com extrema
facilidade, sob uma licença compartilhada que qualquer um pode entender.
• O Linux pode ser adaptado para novos propósitos pelas corporações tão
facilmente quanto por você. Ele roda sua TV, seu DVR, seu roteador, sua torre
de celular, seus trens, seus aviões, controle de tráfego aéreo, provavelmente a
maior parte da rede elétrica, os servidores de quase todos os sites que você já
visitou e muito mais.
• No Linux você pode retirar o HD de seu computador velho, instalar no
computador novo e seguir usando normalmente.
• No Linux você pode manter os seus dados espalhados em diversas partições
(inclusive em vários HDs) com acesso em tempo real, minimizando o risco de
perda em caso de pane.
• Entre outros...
4) PESQUISE NO LIVRO E NA INTERNET E DESCREVA O MECANISMO DE
INTERRUPÇÃO DE HARDWARE E DE EXCEÇÃO. EXEMPLIFIQUE PASSO-A-
PASSO.

A comunicação entre o processador e os dispositivos se dá através do acesso às


portas de entrada/saída, que podem ser lidas e/ou escritas pelo processador. Esse
acesso é feito por iniciativa do processador, quando este precisa ler ou escrever dados
no dispositivo. Entretanto, muitas vezes um dispositivo precisa informar o processador
rapidamente sobre um evento interno, como a chegada de um pacote de rede, um
clique de mouse ou a conclusão de uma operação de disco. Neste caso, o controlador
tem duas alternativas:

• aguardar até que o processador o consulte, o que poderá ser demorado caso
o processador esteja ocupado com outras tarefas (o que geralmente ocorre);
• notificar o processador, enviando a ele uma requisição de interrupção (IRQ –
Interrupt ReQuest) através do barramento de controle.

Ao receber a requisição de interrupção, os circuitos do processador suspendem seu


fluxo de execução corrente e desviam para um endereço pré-definido, onde se
encontra uma rotina de tratamento de interrupção (interrupt handler). Essa rotina é
responsável por tratar a interrupção, ou seja, executar as ações necessárias para
atender o dispositivo que a gerou. Ao final da rotina de tratamento da interrupção, o
processador retoma o código que estava executando quando recebeu a requisição.

Principais passos associados ao tratamento de uma interrupção envolvendo a placa


de rede Ethernet:

1. o processador está executando um programa qualquer (em outras palavras,


um fluxo de execução);
2. um pacote vindo da rede é recebido pela placa Ethernet;
3. o controlador Ethernet envia uma solicitação de interrupção (IRQ) ao
processador;
4. o processamento é desviado do programa em execução para a rotina de
tratamento da interrupção;
5. a rotina de tratamento é executada para interagir com o controlador de rede
(via barramentos de dados e de endereços) para transferir os dados do pacote
de rede do controlador para a memória;
6. a rotina de tratamento da interrupção é finalizada e o processador retorna à
execução do programa que havia sido interrompido.

A maioria das interrupções recebidas pelo processador têm como origem eventos
externos a ele, ocorridos nos dispositivos periféricos e reportados por seus
controladores. Entretanto, alguns eventos gerados pelo próprio processador podem
ocasionar o desvio da execução usando o mesmo mecanismo das interrupções: são
as exceções. Ações como instruções ilegais (inexistentes ou com operandos
inválidos), tentativas de divisão por zero ou outros erros de software disparam
exceções no processador, que resultam na ativação de uma rotina de tratamento de
exceção, usando o mesmo mecanismo das interrupções (e a mesma tabela de
endereços de funções).

Você também pode gostar