O documento apresenta um curso sobre sistemas operacionais, abordando tópicos como gerenciamento de processos, memória, arquivos, entrada e saída, bibliografia e system calls.
2. Programa do Curso
Bibliografia
Funções do SO
Componentes do Sistema
System Calls
Eduardo Nicola F Zagari
2
Sistemas Operacionais
3. Gerência de Processos: compartilhamento de recursos,
comunicação e sincronização entre processos e algoritmos de
escalonamento.
Gerência de memória: alocação, proteção, memória virtual,
paginação e segmentação.
Sistemas de Arquivos.
Camada de Entrada e Saída.
Laboratório: Estudos de Casos
Eduardo Nicola F Zagari
3
Sistemas Operacionais
4. F. Machado; L. Maia - “Arquitetura de Sistemas Operacionais”,
LTC, 3a Edição, 2002
G. Gagne, A. Silberschatz; P. Galvin - ”Sistemas Operacionais –
com Java" - Campus, 2004
A. Tanenbaum - “Sistemas Operacionais Modernos”, Pearson
Brasil, 2003
A. Tanenbaum; A. Woodhull - “Sistemas Operacionais: Projeto e
Implementação”, Bookman, 2a edição, 2000
Eduardo Nicola F Zagari
4
Sistemas Operacionais
5. Um SO é uma “interface” entre o hardware e os processos, que
o usuário desenvolve, ou mesmo entre o hardware e o usuário
Um SO objetiva a utilização conveniente e eficiente dos recursos
da máquina
Eduardo Nicola F Zagari
5
Sistemas Operacionais
6. Função de apresentar ao usuário uma máquina com
características:
Facilidade de Operação
Interface de programação mais amigável
– Escrita em disco flexível
Extensão das Capacidades da Máquina
Múltiplos usuários e sistemas de proteção de acesso
Eduardo Nicola F Zagari
6
Sistemas Operacionais
7. Função de controlar (ou gerenciar) a utilização de
todos os recursos fornecidos pelo hardware e a sua
distribuição entre os diversos programas que
competem por ele de forma a garantir:
a execução correta dos diversos programas
alta eficiência na utilização dos recursos
Dentro deste ponto de vista, então, ao S.O. compete:
cuidar de quem está usando que recurso,
aceitar (ordenadamente) requisições de um dado recurso,
realizar a contagem de utilização de recursos,
mediar conflitos nos pedidos de recursos por vários programas.
Eduardo Nicola F Zagari
7
Sistemas Operacionais
8. Gerência de Processos
Gerência da Memória Principal
Gerência de Arquivos
Gerência do Sistema de I/O
Gerência de Armazenamento Secundário
Rede
Sistema de Proteção
Sistema Interpretador de Comandos
Eduardo Nicola F Zagari
8
Sistemas Operacionais
9. Um processo é um programa em execução
Um processo necessita de certos recursos, incluindo tempo
de CPU, memória, arquivos e dispositivos de I/O para
realizar sua tarefa
O sistema operacional é responsável pelas seguintes
atividades em relação à gerência de processos:
Criar e excluir processos
Suspender e retomar processos
Fornecer mecanismos para:
Sincronização de processos
Comunicação de processos
Eduardo Nicola F Zagari
9
Sistemas Operacionais
10. A Memória é um grande vetor de bytes ou palavras
(words), cada um com seu próprio endereço
É um repositório de dados rapidamente acessíveis
compartilhados pela CPU e pelos dispositivos de I/O
O sistema operacional é responsável pelas seguintes
atividades em relação à gerência de memória:
Manter registro de quais partes da memória que estão
sendo usados no momento e por quem
Decidir que processos deverão ser carregados na memória
quando houver espaço disponível
Alocar e desalocar espaço na memória, conforme
necessário
Eduardo Nicola F Zagari
10
Sistemas Operacionais
11. Um arquivo é uma coleção de informações relacionadas
definidas por seu criador
Normalmente, arquivos representam programas (fonte e objeto) e
dados
O sistema operacional é responsável pelas seguintes atividades
em relação à gerência de arquivos:
Criar e excluir arquivos
Criar e excluir diretórios
Fornecer suporte a primitivas para manipular arquivos e diretórios
Mapear arquivos no armazenamento secundário
Fazer backup de arquivos em meios de armazenamento estáveis
(não-voláteis)
Eduardo Nicola F Zagari
11
Sistemas Operacionais
12. O sistema de I/O consiste de:
Um componente de gerência de memória que inclui buffering,
armazenamento em cache e spooling
Uma interface geral de driver de dispositivo
Drivers para dispositivos de hardware específicos
Eduardo Nicola F Zagari
12
Sistemas Operacionais
13. Como a memória principal (armazenamento primário) é
volátil e pequena demais para acomodar todos os dados
e programas permanentemente, o sistema de
computação deve fornecer armazenamento secundário
para dar suporte à memória principal
A maioria dos sistemas de computação modernos usam
discos como o principal meio de armazenamento on-line,
para programas e para dados
O sistema operacional é responsável pelas seguintes
atividades em relação à gerência de disco:
Gerência de espaço livre
Alocação de espaço (armazenamento)
Escalonamento de disco
Eduardo Nicola F Zagari
13
Sistemas Operacionais
14. Um sistema distribuído é uma coleção de processadores que
não compartilham memória ou um clock
Cada processador tem sua própria memória local
Os processadores no sistema são conectados através de uma
rede de comunicação
A comunicação se faz usando-se um protocolo
Um sistema distribuído fornece ao usuário acesso a vários
recursos do sistema
Acesso a recursos compartilhados permite:
Maior velocidade de computação
Aumento da disponibilidade de dados
Melhor confiabilidade
Eduardo Nicola F Zagari
14
Sistemas Operacionais
15. Proteção se refere a um mecanismo para controle de acesso de
programas, processos ou usuários aos recursos do sistema de
computação
O mecanismo de proteção deve:
Distinguir entre uso autorizado e não-autorizado
Especificar os controles a serem impostos
Fornecer meios para o cumprimento dos controles
Eduardo Nicola F Zagari
15
Sistemas Operacionais
16. Muitos comandos são dados ao sistema operacional através de
instruções de controle que lidam com:
Criação e gerência de processos
Tratamento de I/O
Gerência de armazenamento secundário
Gerência de memória principal
Acesso ao sistema de arquivos
Proteção
Rede
Eduardo Nicola F Zagari
16
Sistemas Operacionais
17. O programa que lê e interpreta instruções de controle é chamado
de:
Interpretador de linha de comando
shell (no UNIX)
Sua função é obter e executar a próxima instrução de comando
Eduardo Nicola F Zagari
17
Sistemas Operacionais
18. System calls (ou Chamadas de Sistema) fornecem a interface
entre um programa em execução e o sistema operacional
Normalmente disponível como instruções em linguagens de
montagem
Linguagen definidas para substituir linguagens de montagem para
programação de sistemas permitem as chamadas de sistema
serem feitas diretamente (p.ex., C, C++)
Três métodos são usados para se passar parâmetros entre um
programa em execução e o sistema operacional
Passagem de parâmetros em registradores
Armazenamento de parâmetros em uma tabela dentro da memória
e o endereço da tabela é passado como um parâmetro dentro do
registrador
Push (armazenamento) de parâmetros na pilha pelo programa e
pop (recuperação) da pilha pelo sistema operacional
Eduardo Nicola F Zagari
18
Sistemas Operacionais
20. Controle de processo
Gerenciamento de arquivos
Gerenciamento de dispositivos
Manutenção de informação
Comunicações
Eduardo Nicola F Zagari
20
Sistemas Operacionais