Revisão 1SO Avaliacao
Revisão 1SO Avaliacao
Revisão 1SO Avaliacao
https://t.me/+UMuAPubmn
aQ_8cTM
https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Superman_S_symbol.svg/1200px-
Superman_S_symbol.svg.png
Unidade 1
Software Aplicativo
Software de
Sistema Suporte
Operacional
Hardware
Unidade 1
Definição e conceitos dos sistemas
operacionais
◦ Segundo Tanenbaum (2003), o sistema
operacional é parte essencial de qualquer
sistema computacional. Se eles não
existissem, os sistemas computacionais
funcionariam, porém, o usuário teria que
saber os detalhes de hardware para
utilizar o computador, o que seria bem
complexo.
Unidade 1
Um sistema computacional é
composto por hardware e software.
◦ Os hardwares são os componentes
físicos do computador. Já o software são
programas (conjunto de instruções)
instalados no hardware para executar uma
determinada tarefa.
Unidade 1
◦ O sistema operacional é um software
responsável por controlar o computador e
tem por objetivo gerenciar os recursos
de hardware (processador, memória,
periféricos do computador como
teclado, mouse e impressora, dados,
dentre outros) e fazer a interação entre o
hardware e o software, além de ser o
responsável por conectar o hardware e o
usuário do computador.
Unidade 1
Breve histórico dos sistemas
operacionais
◦ Segundo Tanenbaum (2003), a evolução dos
sistemas operacionais caminhou em
conjunto com a evolução da arquitetura
dos computadores.
Unidade 1
◦ A primeira geração de computadores se deu
entre 1945 a 1955 (válvulas e painéis de
programação). As máquinas eram
enormes, lentas e compostas por
válvulas, ocupando salas inteiras, e as
atividades eram realizadas por uma
pessoa por meio de painéis de
programação. Naquela época, não
existiam sistemas operacionais e nem
linguagens de programação, e as máquinas
basicamente realizavam cálculos matemáticos
como logaritmos, sendo usadas para fins
militares.
Unidade 1
◦ Segundo Tanenbaum (2003), a segunda geração de
computadores foi entre 1955 a 1965
(Transistores e sistema em Lote, ou Batch,
em inglês). Nessa época, surgiram os
computadores de grande porte, os mainframes,
porém somente grandes instituições como
bancos e universidades tinham acesso,
devido ao alto custo. Os computadores eram
utilizados para cálculos científicos como
equações diferenciais presentes na física e na
engenharia.
◦ Outro fato é o surgimento das primeiras
linguagens de programação Fortran e
Assembly.
Unidade 1
◦ Segundo Tanenbaum (2003), a terceira geração de
computadores compreendeu o período entre
1965 a 1980 (Circuitos Integrados e
Multiprogramação). Nesta geração, os
fabricantes de computadores ofereciam duas
linhas de produtos: os computadores
científicos de grande escala orientados a
palavras, usados para cálculos numéricos
na ciência e na engenharia e os
computadores comerciais orientados a
caracteres, usados por bancos e companhia
de seguros.
Unidade 1
◦ Segundo Tanenbaum (2003), uma das técnicas
desenvolvidas nesta geração foi a
multiprogramação, cujo objetivo era permitir
que vários programas executassem ao
mesmo tempo, compartilhando os
recursos de memória.
Unidade 1
◦ Nesta época, foi desenvolvido um sistema
operacional que suportasse vários usuários
conectados ao mesmo tempo, conhecido com
Multics.
O projeto do Multics inseriu conceitos inovadores,
porém somente nos anos seguintes foi criado o
Unix, que é multitarefa e multiusuário.
Unidade 1
◦ A quarta geração de computadores
compreende desde de 1980 até a presente
data (computadores pessoais). Com o
desenvolvimento acelerado dos circuitos
integrados ou microchip (circuito eletrônico),
foi iniciada a era dos computadores de uso
pessoal. Os sistemas operacionais usados
nesta geração foram o MS-DOS e o Unix,
quando se iniciou a interface gráfica, sendo o
MS-DOS a base da evolução para o
conhecido Windows.
Unidade 1
Principais funções dos sistemas
operacionais
◦ As funções dos sistemas operacionais são:
estender a máquina e gerenciar os recursos
(TANENBAUM, 2003).
Estender a máquina (ou máquina virtual):
Unidade 1
◦ A função do sistema operacional como uma
máquina estendida é esconder a
complexidade do hardware do
programador, conhecida também como
abstração.
Por exemplo, o sistema operacional trata cada
dispositivo físico como um arquivo e esses
arquivos, ao serem manipulados emitindo os
comandos de leitura/escrita ou de
abrir/fechar.
Unidade 1
◦ Gerenciar os recursos:
1. Controlar de forma ordenada e compartilhada os
recursos do computador, como a memória, o
processador e os dispositivos de E/S para os
processos (programas) que estão aguardando por
eles.
2. Controlar quem está usando qual recurso,
garantindo suas requisições de recursos e
mediando os conflitos entre programas e usuário.
Unidade 1
3. O gerenciamento de recursos controla o
compartilhamento de recursos de duas formas: no
tempo e no espaço. Quando um recurso é
compartilhado no tempo, vários programas
aguardam a sua vez de usá-lo. O sistema
operacional é quem decide qual programa irá
utilizar o recurso e por quanto tempo.
Unidade 1
◦ O sistema operacional é composto por um
conjunto de rotinas chamado kernel ou
núcleo do sistema operacional. O kernel é o
principal componente dos sistemas
operacionais, pois ele é quem faz o
gerenciamento dos recursos do computador
(MACHADO;MAIA, 2007). Quando o
computador é ligado, o kernel executa
programas que inicializam o computador e o
conjunto de rotinas é executado ao mesmo
tempo sem uma ordem pré-definida.
Unidade 1
◦ As principais funções do núcleo são
(SIQUEIRA, 2018):
Tratamento de interrupções e exceções.
Gerenciamento, sincronização, comunicação e
escalonamento de processos e threads.
Gerenciamento da memória.
Gerenciamento dos sistemas de arquivos.
Gerenciamento dos dispositivos de entrada/saída.
Auditoria e segurança do sistema.
Unidade 1
◦ Os modos de acesso são
realizados de duas formas:
usuário e kernel
https://www.oficinadanet.com.br/media/p
(núcleo).
ost/13858/330/kernel.png
No modo usuário, os
programas podem executar
ações sem privilégios, como
leitura de um arquivo.
No modo kernel, o acesso
pode ser realizado em modo
usuário ou em modo com
privilégio total no computador,
como acesso ao disco.
Unidade 1
◦ Quando um programa é executado, o kernel é
consultado para saber se o acesso será
realizado em modo usuário ou kernel. Os
acessos aos serviços do núcleo são realizados
através de chamadas ao sistema ou system
call. As chamadas ao sistema fazem a
interface entre o sistema operacional e os
programas dos usuários, além de
poderem solicitar serviços de acesso ao
disco rígido ou para a criação e execução
de processos, por exemplo.
Unidade 1
A estrutura do sistema operacional, ou seja, a
maneira como o código do sistema é
organizado e o inter-relacionamento entre
seus diversos componentes podem variar
conforme a concepção do projeto. Veremos nesta
seção os modelos das principais arquiteturas dos
sistemas operacionais, os quais, segundo
Tanenbaum (2003), são:
◦ Sistemas Monolíticos.
◦ Sistemas em Camadas.
◦ Máquinas Virtuais.
◦ Modelo Cliente-Servidor.
Unidade 1
Sistemas em camadas
O sistema em camadas organiza o sistema
operacional como uma hierarquia de
camadas construídas umas sobre as
outras. Cada camada oferece um conjunto
de funções que podem ser utilizadas pelas
camadas superiores (TANENBAUM,
2003).
Unidade 1
◦ A camada 0 faz a alocação do processador
alternando entre os processos e realizando a
multiprogramação.
◦ A camada 1 gerencia a memória, alocando espaço
na memória principal e em um tambor (meio
magnético de armazenamento de dados).
◦ A camada 2 gerencia a comunicação entre o
processo e o console (componentes de entrada
(teclado) e saída (monitor) de dados) do
operador.
◦ A camada 3 gerencia os dispositivos de
entrada/saída.
◦ Na camada 4 estão os programas de usuários e
na camada 5 está o processo do operador do
sistema.
Unidade 1
Máquinas Virtuais
◦ Uma máquina virtual (VM) é similar a uma
máquina real. Assim, um nível intermediário é
criado entre o sistema operacional e o
hardware. Esse nível intermediário cria várias
máquinas virtuais independentes, cada qual
possuindo uma cópia virtual do hardware. Em
um mesmo hardware e em plataformas diferentes
podem rodar mais de uma máquina virtual
(MACHADO; MAIA, 2007). As principais
vantagens das máquinas virtuais são o
aproveitamento dos recursos das máquinas, a
garantia da segurança e confiabilidade, pois
se acontecer um problema com uma
máquina virtual, as demais não serão impactadas,
além de facilitar a recuperação de dados e backups.
Pausa Respirem
Vamos Entender um pouco melhor esse
conceito de
Maquina Real X Maquina Virtual.
Unidade 2
Classificação dos sistemas
operacionais
◦ Segundo Machado e Maia (2007), os
sistemas operacionais podem ser
classificados em:
1. Monoprogramáveis/monotarefa.
2. Multiprogramáveis/multitarefa.
3. Sistemas com múltiplos processadores.
Unidade 2
1. Sistemas
Monoprogramáveis/monotarefa
◦ Segundo Machado e Maia (2007), os sistemas
operacionais monoprogramáveis/monotarefa
referem-se aos primeiros computadores
pessoais criados em 1960. Os sistemas
monoprogramáveis/monotarefa executam um
único programa por vez e todos os recursos
da máquina são alocados exclusivamente
para o programa em execução, mesmo
que não esteja utilizando o recurso.
Unidade 2
1. Sistemas
Monoprogramáveis/monotarefa
◦A implementação de sistemas
monoprogramáveis/monotarefa é simples
porque não é necessário se preocupar
com a concorrência de recurso. Um
exemplo de monoprogramáveis/monotarefa foi
o MS-DOS.
Unidade 2
2. Sistemas
Multiprogramáveis/multitarefa
◦ Os sistemas operacionais
multiprogramáveis/multitarefa dividem os
recursos do computador com os demais
programas e, com isso, a CPU não fica
ociosa como no caso de sistemas
operacionais monoprogramáveis/monotarefa
(MACHADO; MAIA, 2007).
Por exemplo, você pode atualizar uma planilha
eletrônica e utilizar um editor texto ao mesmo
tempo.
Unidade 2
Os sistemas multiprogramáveis podem ser
classificados pela maneira com que as
aplicações são gerenciadas e pelo
número de usuários que utilizam o sistema.
Os sistemas multiprogramáveis em relação
ao número de usuários que os utilizam são:
◦ Monousuários: somente um usuário utilizando os
recursos da máquina.
◦ Multiusuários: vários usuários logados utilizando
os recursos da máquina.
Unidade 2
Sistemas batch
◦ Os sistemas batch foram os primeiros
sistemas operacionais
multiprogramáveis e o processamento era
realizado por meio de grupos de
registros (lote). Os programas, conhecidos
como jobs, eram executados através de
cartões perfurados, e armazenados em
disco ou fitas, onde aguardavam para
serem processados.
Unidade 2
Sistemas batch
◦ Nos sistemas batch não havia interação do
usuário com a aplicação. Backups, cálculos
numéricos e compilações são exemplos de
processamento batch.
Unidade 2
Sistemas batch
Unidade 2
Sistemas de tempo compartilhado
(time-sharing)
É um programa em execução.
65
Multiprogramação - processo
Conceito de processo:
66
https://ejep.com.br/wp-content/uploads/2020/06/processo_generico.jpg
Multiprogramação - processo
Conceito de processo:
68
Processo
Sistem a O p er a ci o n a l
Pr o cesso A Pr o cesso B
execu ta n d o
Sa l va r eg istra d o r es d o
Pr o cesso A
execu ta n d o
Sa l va r eg istra d o r es d o
Pr o cesso B
execu ta n d o
Processo