O documento discute sistemas operacionais, incluindo Linux, Windows e Mac OS. Apresenta conceitos como processos versus threads, comandos de sistemas operacionais e redes, deadlock e o algoritmo de avestruz. Interface de programação é descrita como uma "matriz" que conecta aplicativos.
3. TÓPICOS
• Estudos de caso
• Interface de programação
• Chamadas de sistema
• Threads e processos
• Comandos SO
• Comandos de rede
• Deadlock
• Algoritmo avestruz
5. LINUX
• Linus Torvalds
• Código fonte aberto
• Distribuições LINUX
• Softwares livres
• KERNEL
• Multiusuário
• Não é vulnerável a vírus de computador
• Utiliza permissões de acesso a arquivos, pastas e programas em
execução na memória RAM
6. WINDOWS
• Multiusuário
• Interface gráfica
• Versões
• Código fonte fechado
• Sistema de arquivo
• Kernel não re-entrante( não permite executar vários processos em
modo kernel simultaneamente
7. MAC OS
• Sistema desenvolvido para seu próprio hardware
• Atualizações gratuitas de SO
• Não possui tantos vírus, o que o torna mais seguro frente há outros
SO´s
• Facil configuração
• KERNEL Unix XNU
• Código fonte aberto
• Softwares de baixo custo
9. CHAMADA DE SISTEMA (System Calls)
API é a “matrix” dos aplicativos, ou seja, uma interface que roda por
trás de tudo: enquanto você usufrui de um aplicativo ou site, a sua
API pode estar conectada a diversos outros sistemas e aplicativos. E
tudo isso acontece sem que você perceba.
Como funciona?
11. CHAMADA DE SISTEMA (System Calls)
Chamadas de sistemas são como funções, porém, são funções
específicas que invocam o sistema operacional para que este faça
algo, como a criação de um processo.
• Chamadas de sistemas para gerenciamento de processos
• Chamadas de sistemas para gerenciamento de arquivos
• Chamadas de sistemas para Sinalização
• Chamadas de Sistema para Gerenciamento de Tempo
• Chamadas de Sistema para Gerenciamento de Diretórios e Sistemas
de Arquivos
23. O QUE É DEADLOCK?
Condições para ocorrências.
1. Exclusão mútua
2. Posse e espera
3. Não preempção
4. Espera circular
Formas de tratamento
1. Ignorar por completo
2. Detecção e recuperação
3. Preempção
4. Restauração do estado
5. Eliminação de processos
6. Evitar dinamicamente
7. Prevenção
8. Exclusão mútua (usar spool em tudo)
9. Posse e espera (requisitar inicialmente todos
os recursos necessários)
10. Não preempção (retornar recursos alocados)
11. Espera circular
12. Algoritmo avestruz
Processo
Executando
Bloqueado Pronto
1 23
4
25. ALGORITMO DE AVESTRUZ
"enfie a cabeça na areia e finja que não há nenhum problema".
É a solução mais utilizada, pois há baixa probabilidade de ocorrência de
deadlock e baixo custo.
27. Cite uma prevenção a DEADLOCK.
Eliminação de processos: a forma mais grosseira, mas a mais simples
de quebrar um DEADLOCK, assim os outros processos conseguirão seus
recursos. Para eliminar o processo, escolha um que possa ser
reexecutado desde o inicio.
28. O que são threads, e quais são suas categorias.
É a forma de processo que divide a si mesma em duas ou mais tarefas. Elas se
subdividem em ULT (Eser Level Thread) e KTL (Kernel Level Thread).
29. Qual a função do comando MKDIR.
É usado em sistemas baseados em UNIX para a criação de novos diretórios.
30. Descreva o algoritmo do avestruz.
É uma estratégia de ignorar problemas potenciais com base no fato de que
eles podem ser extremamente raros. Na linguagem popular significa:
"enfie a cabeça na areia e finja que não há nenhum problema".
31. Qual a importância de uma API.
Esta interface é o conjunto de padrões de programação que permite a construção de
aplicativos e sua utilização de maneira não tão evidente para os usuários.