Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumário
1 - Sistemas Operacionais ................................................................. 6
1.1 - Conceitos básicos....................................................................... 7
1.2 - Tipos de Sistema Operacional .....................................................12
1.3 – Tipos de S.O (Finalidade) ...........................................................15
1.4 – Estrutura de um Sistema Operacional ..........................................17
2 - Processos e Threads................................................................... 19
2.1- Estrutura de um processo ...........................................................20
2.2 - Estados de um processo.............................................................22
2.3 - Compartilhamento de recursos ....................................................24
2.4 – Algoritmos de Escalonamento .....................................................25
2.5 –Deadlocks ou impasses ..............................................................31
2.4 – Processos Independentes, subprocessos e Threads ........................34
3 – Gerenciamento de memória ....................................................... 36
3.1 – Endereçamento ........................................................................37
3.1 – Gerenciamento de espaços livres ................................................40
3.2 – Paginação e Segmentação .........................................................42
3.3 – Algoritmos de alocação de páginas ..............................................46
1 - Sistemas Operacionais
Sistema Operacional
• Programa que gerencia hardware e o software e
faz a interface entre o usuário e os dispositivos.
Hardware
Sistema Operacional
Aplicativos
Usuário
Esquema 2 – Componentes de um sistema computacional.
Gerenciamento de Dispositivos;
Proteção e Segurança.
Kernel ou núcleo
Gerenciamento de processos
Gerenciamento de memória
Gerenciamento de arquivos
Gerenciamento de Dispositivos
Proteção e Segurança
Funções do S.O
Gabarito: Certo.
Número de usuários
• Um usuário • Vários
por vez. usuários
acessando de
forma
concorrente.
Monousuário Multiusuário
Número de tarefas
Monotarefa Multitarefa
Várias
Uma tarefa
tarefas por
por vez
vez
Sem
Com
interação
interação do
com o
usuário
usuário
Gabarito: Certo.
Sistema operacional
•Executados em smartphone, tablets e outros
de computadores dispositivos móveis.
móveis
2 - Processos e Threads
Programa Processo
Passivo Ativo
Conjunto de
Arquivo
recursos
executável
alocados
nome
PID
Registradores: Gerais,
Prioridade
PC, SP, Status
Endereços de memória
principal alocados
ponteiros
Estado do processos
Nome do processo
Prioridade do
processo
Registradores
Limites de memória
Lista de arquivos
abertos
.
.
.
.
Estados do processo
Mudança de estado
Estado
Novo Pronto Execução Bloqueado Finalizado
Novo
Pronto
Em execução
Bloqueado
Finalizado
Esquema 13 – Tabela de transição de estados de um processo.
Tempo Espaço
Esquema 14 – Compartilhamento tempo vs espaço.
Interrupção de entrada/saída;
Política de escalonamento;
Termino da execução do processo.
Já os não-preemptivos são algoritmos não permitem que os
processos sejam interrompidos, cada programa será executado até o
fim, são utilizados exclusivamente em sistemas monoprocessados.
Preemptivos
• Interrompem os processos.
• Causados por interrupções de E/S, politica de escalonamento e
finalização da execução.
não-preemptivos
• Não interrompe o processo.
• Programa executa até o fim.
• Sistemas monoprocessado.
Política de escalonamento
FIFO (First in, first out) ou FCFS (First come, first served), em
português "primeiro que entra, primeiro que sai": algoritmo
não-preemptivos, ou seja, executa o processo do início ao fim
não o interrompe, usa uma única fila, os processos que passam
para o estado de pronto vão para o final da fila e são
escalonados quando chegam no início. Vantagens: o mais
simples entre as políticas de escalonamento. Desvantagens:
Caso processos maiores cheguem primeiro aumentarão o
Inanição ou Starvation
•algoritimo não-preemptivo;
•algoritimo preemptivo;
•algoritimo preemptivo;
• algoritimo preemptivo;
•cada processo tem uma fatia de
Round Robin
tempo(quantum) pra executar, finalizado o
quantum, ou se processo for bloqueado ele sai
da CPU e o próximo da fila obtém acesso.
• algoritimo preemptivo;
Multiplas
•cada processo é colocado em uma fila e cada
fila tem sua politica de escalonamento;
•existem ainda uma politica de escalonamento
filas entre as filas, cada fila tem seu nível de
prioridade.
Gabarito: Certo.
Processo A Processo B
Requista impressora 2
Requista impressora 1
Impressora 1 Impressora 2
Esquema 19 – Deadlock.
Exclusão
mútua
Condições
Espera Retenção e
Circula
para um espera
Deadlock
Inexistencia
de preempção
Gabarito: Certo.
Processo A (Pai)
Programa
----------
----------
----------
----------
----------
----------
Processo E (subprocesso de B)
Processo D (subprocesso de B)
Processo A
Contexto de Software
Thread 3
Thread 1 Thread 2 --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- --------------
Espaço de endereçamento
Esquema 22 – Threads.
3 – Gerenciamento de memória
Registradores
Memória cache
L1 - L2 - L3
Memória secundária;
Disco rígido - Mídias óticas -
Mídias Removiveis
Esquema 23 – Hierarquia de memórias.
3.1 – Endereçamento
O gerenciamento de memória precisa lidar com os vários processos
e permitir que eles utilizem a memória ao mesmo tempo, garantindo que
um não interfira no espaço do outro.
Sendo a memória um recurso finito ele precisa ser dívida para
alocação eficiente dos processos, segundo Tanembaum, um espaço de
endereçamento é um conjunto de endereços que um processo pode
utilizar para endereçar a memória e cada processo vai precisar do seu
próprio espaço na memória.
Em geral, os programas ficam armazenados no disco eles precisam
ser carregados na memória principal para serem executados ocupando
endereços físicos, a CPU por sua vez faz referência a endereços lógicos,
portanto é necessário ser feita uma tradução ou mapeamento entre os
endereços lógicos e físicos que é tarefa da MMU (memory management
unity ou unidade de gerenciamento de memória).
No esquema abaixo temos a representação do processo de tradução
de endereços físicos em endereços lógicos:
Memória
CPU (endereço MMU
lógico) (endereço
(mapeamento)
físco)
Sistema Operacional
Processo2
Processo1
Memória Principal
Memória Secundária
Esquema 25 –Swapping.
Sistema Operacional
Memória Secundária
Memória Principal
Memória Virtual
Swapping
• Técnica que consiste em trazer o processo do disco para
memoria principal.
Memória virtual
• Permitem que usuários executem programas maiores
que o tamanho da memoria física real.
• Combina espaço da memoria principal com a memoria
secundária.
Esquema 27 – Conceitos de swapping e memória virtual.
Paginação
Programa 17 kB
Fragmentação interna
1 3 kB
4kB 4kB 4kB
kB Livre
Memória
Esquema 29 – Paginação
Segmentação
2kB
Segmento 3
Livre
Programa A 17kB
7kB Segmento 2
Fragmentação Externa
Programa B 5kB
3kB
Segmento 1
Livre
10 kB Segmento 0
Memória
Esquema 30 – Segmentação
2Kb
Page 4
2Kb Page 3
10 kB 2Kb Page 2
Segmento 0
2Kb Page 1
2Kb Page 0
Segementação
Paginação Segmentação
com páginas
Objetivo é mitigar a
Causa fragmentação
Causa fragmentação interna. fragmentação interna e
externa.
externa.
Ótimo
•Sistema rótula as páginas de acordo com o numero
de instruções;
•Página de maior rótulo deve ser retirada da memoria.
•Na prática o algoritmo não é implementável..
NRU
•Remove as páginas não recentemente usadas.
•Implementação moderada e desempenho eficiente.
FIFO
•Similiar ao funcionamento de uma fila simples.
•O primeiro a entrar na fila é o primeiro a sair, quem
chega vai pro final da fila.
•Pode descartar páginas importantes.
LRU
•Similar ao funcionamento do algoritimo ótimo.
•Descarta as páginas menos usuadas recetemente.
•Excelente algoritmo mais de dificil implementação.
LFU
•Seleciona as páginas menos acessadas na memoria.
•Utiliza um contador de acesso.
•Causa problemas para as páginas recem carregadas.
WS
•Semelhante a politica do LRU.
•Descarta as páginas menos utilizadas a mais tempo.
•estabelece um tempo máximo que cada página pode
ficar ativa na memória.
4 – Sistemas de Arquivos
4.1 – Arquivos
Segundo Tanembaum, arquivos são unidades lógicas de informação
criadas por processo. Nos sistemas operacionais, os arquivos são
mapeados para dispositivos físicos não voláteis como discos rígidos
magnéticos, discos de tecnologia mais recente SSD e unidades USB.
Os arquivos representam os vários tipos de dados armazenados no
computador desde de dados numéricos, alfanuméricos, binários entre
outros. Possuem uma estrutura especificas, que dependem do seu tipo e
em geral atribuímos um nome amigável (Ex.: Apostila de SO.doc”) que
facilita sua localização, arquivos também possuem um conjunto de
atributos que podem variar entre os diferentes tipos de sistema
operacional, os mais comuns são:
Nome;
Identificador;
Local;
Tipo;
Tamanho;
Proteção;
Data/Hora.
Na figura abaixo temos um exemplo dos atributos de um arquivo texto
armazenado no Sistema operacional Windows 10.
Tipos de arquivos
Significado Extensão
Operações básicas
sobre os arquivos
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
PE PB RN PR SC RS AM PA AP
Esquema 39 – Árvore.
100 GB
C:\ (Partição do S.O)
1 TB
4.4 – Diretórios
Diretórios ou pastas são arquivos especiais que contém
informações sobre a estrutura do sistema de arquivos, na nossa visão de
usuário final ele funciona como um repositório onde conseguimos localizar
os arquivos de acordo com algum tipo de classificação. Exemplo: Em um
diretório chamado “Concursos” você poderia colocar todas as suas aulas do
exponencial em um subdiretório, ou ainda, criar outros subdiretórios por
matéria e colocar suas aulas relacionadas conforme o exemplo da figura abaixo.
A B C
Diretório B Diretório
A C
Sub -
A C
Diretório
C1
C1
C:\Concursos\Exponencial\Aulas de TI\Redes\AulaCamada2.PDF
Caminho absoluto
Redes\AulaCamada2.PDF
Caminho relativo
7 Aula3 8 4
4 5 6 Livre
8 9 10 11
2 3
0 1 Livre Livre
4 7
Livre
5 6 Livre
8 9 10
Livre Livre Livre
11
2 3
0 1 Livre Livre 5 (1, 11)
4 7
Livre
5 6 Livre
8 9
Livre Livre
10 11
6 (0, 10)
Alocação no disco.
•O diretório contém o endereço para o primeiro e
encadeada
último bloco do disco.
•Resolve o problema da alocação contigua mais causa
a fragmentação dos arquivos.
indexada
•cada arquivo contém seu proprio blocos de indices
que é um array de endereços de blocos de disco.
Dispositivo Dispositivo
de Bloco caractere
Envia ou aceita
Armazena
um fluxo de
informações em
caractere
blocos de
tranferindo bytes
tamanho fixo
um a um
Transferencia em
um ou mais Não é
blocos inteiros e endereçavel
consecutivos
Barramento (Bus)
Controlador
Interrupções
Soopoling
Buffer
Cache
Buffer x cache
Buffer Cache
área de memoria região de memoria
principal. rápida.
Programas de usuário
Sistema Operacional
Drive de
Drive de disco
impressora
Controlador de Controlador de
impressora disco
Impressora
Disco
Drivers de dispositivos
6 - Questões Comentadas
Gabarito: Errado.
Thread 3
Thread 1 Thread 2 --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- --------------
Espaço de endereçamento
Gabarito: Certo.
Processo p1 Processo 2
P1 requista recursos 2
Recurso 1 Recurso 2
Retém recursos 3
P3 Requista recurso 1
Recurso 3
Gabarito: Letra B.
7- Risco Exponencial
Sistema Operacional
• Programa que gerencia hardware e o software e
faz a interface entre o usuário e os dispositivos.
Hardware
Sistema Operacional
Aplicativos
Usuário
Interação do Kernel (fonte: Wikipédia)
Funções do S.O
Funções do
S.O
Monousuário vs Multiusuário
• Um usuário • Vários
por vez. usuários
acessando de
forma
concorrente.
Monousuário Multiusuário
Monotarefa Multitarefa
Sem Com
interação com interação do
o usuário usuário
•Utilizados em servidores.
Sistema operacional
•Fornecem serviços a um grande numeros de
de Servidor usuários.
Sistema operacional
•Executados em smartphone, tablets e outros
de computadores dispositivos móveis.
móveis
Programas vs Processos
Programa Processo
Passivo Ativo
Conjunto
Arquivo
de recursos
executável
alocados
Estrutura de um processo
nome
PID
Registradores: Gerais,
Prioridade
PC, SP, Status
Endereços de memória
principal alocados
ponteiros
Estado do processos
Nome do processo
Prioridade do
processo
Registradores
Limites de memória
Lista de arquivos
abertos
.
.
.
.
Estados do processo
Mudança de estado
Estado
Novo Pronto Execução Bloqueado Finalizado
Novo
Pronto
Em execução
Bloqueado
Finalizado
Tempo Espaço
Preemptivos
• Interrompem os processos.
• Causados por interrupções de E/S, politica de escalonamento e
finalização da execução.
não-preemptivos
• Não interrompe o processo.
• Programa executa até o fim.
• Sistemas monoprocessado.
•algoritimo não-preemptivo;
SJF •forma uma fila de processos por
crescente de tempo de execução.
ordem
•algoritimo preemptivo;
•algoritimo preemptivo;
Prioridade •os processos com maior prioridade são
executados primeiro.
• algoritimo preemptivo;
•cada processo tem uma fatia de
Round Robin tempo(quantum) pra executar, finalizado o
quantum, ou se processo for bloqueado ele
sai da CPU e o próximo da fila obtém
acesso.
• algoritimo preemptivo;
•cada processo é colocado em uma fila e
Multiplas cada fila tem sua politica de
escalonamento;
filas •existem ainda uma politica de
escalonamento entre as filas, cada fila
tem seu nível de prioridade.
Deadlock
Processo A Processo B
Requista impressora 2
Requista impressora 1
Impressora 1 Impressora 2
Exclusão
mútua
Condições
Espera Retenção e
Circula
para um espera
Deadlock
Inexistencia
de preempção
Estrutura de subprocessos
Processo A (Pai)
Programa
----------
----------
----------
----------
----------
----------
Processo E (subprocesso de B)
Processo D (subprocesso de B)
Threads
Processo A
Thread 3
Thread 1 Thread 2 --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- -------------- --------------
-------------- --------------
Espaço de endereçamento
Hierarquia de memórias
Registradores
Memória cache
L1 - L2 - L3
Memória secundária;
Disco rígido - Mídias óticas -
Mídias Removiveis
Mapeamento de endereço
Memória
CPU (endereço MMU
lógico) (endereço
(mapeamento)
físco)
Swapping
Sistema Operacional
Processo2
Processo1
Memória Principal
Memória Secundária
Memória virtual
Sistema Operacional
Memória Secundária
Memória Principal
Memória Virtual
Swapping
• Técnica que consiste em trazer o processo do disco para
memoria principal.
Memória virtual
• Permitem que usuários executem programas maiores
que o tamanho da memoria física real.
• Combina espaço da memoria principal com a memoria
secundária.
Paginação
Programa 17 kB
Fragmentação interna
1 3 kB
4kB 4kB 4kB
kB Livre
Memória
Segmentação
Segmento 4
5kB
2kB
Segmento 3
Livre
Programa A 17kB
7kB Segmento 2
Fragmentação Externa
Programa B 5kB
3kB
Segmento 1
Livre
10 kB Segmento 0
Memória
2Kb
Page 4
2Kb Page 3
10 kB 2Kb Page 2
Segmento 0
2Kb Page 1
2Kb Page 0
Segementação
Paginação Segmentação
com páginas
Objetivo é mitigar a
Causa fragmentação
Causa fragmentação interna. fragmentação interna e
externa.
externa.
Ótimo
de instruções;
•Página de maior rótulo deve ser retirada da
memoria.
•Na prática o algoritmo não é implementável..
NRU
•Remove as páginas não recentemente usadas.
•Implementação moderada e desempenho eficiente.
FIFO
•Similiar ao funcionamento de uma fila simples.
•O primeiro a entrar na fila é o primeiro a sair,
quem chega vai pro final da fila.
•Pode descartar páginas importantes.
LRU
•Similar ao funcionamento do algoritimo ótimo.
•Descarta as páginas menos usuadas recetemente.
•Excelente algoritmo mais de dificil implementação.
LFU
memoria.
•Utiliza um contador de acesso.
•Causa problemas para as páginas recem
carregadas.
WS
•Descarta as páginas menos utilizadas a mais
tempo.
•estabelece um tempo máximo que cada página
pode ficar ativa na memória.
Atributos de arquivo
Significado Extensão
Operações básicas
sobre os arquivos
Sequência de bytes
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
1 byte
Sequência em registro
1 registro
Árvore
NE SUL NORTE
PE PB RN PR SC RS AM PA AP
Particionamento Windows
100 GB
C:\ (Partição do S.O)
1 TB
Particionamento Linux
Exemplo de diretório
Diretório
raiz
A B C
Diretório hierárquico
Diretório
raiz
Diretório B Diretório
A C
Sub -
A C
Diretório
C1
C1
Caminho absoluto
C:\Concursos\Exponencial\Aulas de TI\Redes\AulaCamada2.PDF
Caminho absoluto
Caminho relativo
Redes\AulaCamada2.PDF
Caminho relativo
Alocação contigua
Diretório
7 Aula3 8 4
4 5 6 Livre
8 9 10 11
Alocação encadeada
Diretório
2 3
0 1 Livre Livre
4 7
Livre
5 6 Livre
8 9 10
Livre Livre Livre
11
Alocação indexada
Diretório
2 3
0 1 Livre Livre 5 (1, 11)
4 7
Livre
5 6 Livre
8 9
Livre Livre
10 11
6 (0, 10)
encadeada
último bloco do disco.
•Resolve o problema da alocação contigua mais
causa a fragmentação dos arquivos.
Dispositivo Dispositivo
de Bloco caractere
Envia ou aceita
Armazena
um fluxo de
informações em
caractere
blocos de
tranferindo bytes
tamanho fixo
um a um
Transferencia em
um ou mais Não é
blocos inteiros e endereçavel
consecutivos
Buffer vs cache
Buffer Cache
área de memoria região de memoria
principal. rápida.
Camadas de E/S
Programas de usuário
Sistema Operacional
Drive de
Drive de disco
impressora
Controlador de Controlador de
impressora disco
Impressora
Disco
9 - Gabarito
1 Errado 11 E 21 Certo 31 A
2 Certo 12 C 22 D 32 B
3 Certo 13 Errado 23 D 33 B
4 Certo 14 C 24 Errado 34 A
7 Errado 17 Errado 27 A 37 A
9 B 19 B 29 Certo 39 D
10 Certo 20 E 30 A 40 B
10 - Referencial Bibliográfico
Tanembaum, Andrew S. & Bos, Hebert. Sistemas Operacionais Modernos. 4a ed. São Paulo,
Editora Person, 2016 - Editora Person.