Resumo Sistemas Operacionais
Resumo Sistemas Operacionais
Resumo Sistemas Operacionais
Criação de processos - Há quatro eventos principais que fazem com que processos sejam
criados:
1. Início do sistema.
2. Execução de uma chamada de sistema de criação de processo por um processo em
execução.
3. Uma requisição do usuário para criar um processo.
4. Início de uma tarefa em lote (batch job).
Daemons - Processos que ficam em background com a finalidade de lidar com alguma
atividade como mensagem eletrônica, páginas da Web, notícias, impressão, entre outros
Hierarquias de processos - Em alguns sistemas, quando um processo cria outro, o processo pai
e o processo filho continuam, de certa maneira, associados. O próprio processo filho pode
gerar mais processos, formando uma hierarquia de processos.
Estados de processos
Threads - Uma thread é uma linha de execução de código que executa em paralelo com
outras linhas do mesmo processo, compartilhando seu espaço de memória. Na prática
uma thread é equivalente a um “mini-processo” dentro de um processo. Isto permite que
várias ações sejam executadas em paralelo por um mesmo processo
Memória Virtual: programa usa uma parte da memória e outra parte dele carrega em disco.
PAGINAÇÃO
Endereços gerados pelo programa: endereços virtuais, constituem o espaço de
endereçamento virtual.
Computadores sem memória virtual: endereço virtual = endereço físico. Para ler ou escrever
na memória a informação é colocada diretamente no barramento de memória.
Computadores com Memória Virtual: endereço virtual não é colocado no barramento de
memória, mas sim na MMU – memory management Unity, que mapeia endereços virtuais em
físicos.
Tamanho do bloco
Saber qual deverá ser o tamanho de cada bloco. Pelo fato de os discos serem organizados por
setores, trilhas e cilindros, temos que ter em mente que a decisão errada pode comprometer
muito a capacidade do ambiente.
Em uma tabela alocada na memória principal estão contidos os atributos de todos os arquivos
que estão abertos no sistema. Toda vez que um usuário abre um arquivo, o atributo de
determinado proprietário do arquivo passa a fazer parte dessa tabela de controle dos arquivos
abertos versus proprietário. Qualquer acréscimo no tamanho do arquivo será
proporcionalmente decrescido à quantidade restante de cota disponível para o usuário do
sistema. Uma segunda tabela registra as informações de cota para cada usuário que tenha algum
arquivo aberto. Sempre que um bloco é adicionado a um arquivo, o número total de blocos é
incrementado no controle de cotas do usuário, e os limites flexíveis e estritos são checados. O
limite flexível permite que um usuário exceda o treashold previamente estabelecido, entretanto
o usuário só terá essa facilidade durante uma sessão.
É tarefa do sistema operacional enviar sinais, informando as ações que o usuário espera que o
dispositivo realize; tratar as interrupções e erros gerados pelos dispositivos.
Controladores de dispositivos
Tratamento de erros - De maneira geral, espera-se que os erros, como de leitura por exemplo,
sejam tratados em níveis mais baixos, o mais próximo do hardware.
Software de E/S
O principal objetivo do software gerenciador de E/S é padronizar ao máximo o acesso e controle
dos dispositivos, permitindo a inserção de novos dispositivos no sistema computacional sem a
necessidade de um outro software auxiliar.
Utilização de buffer - O buffer pode ser utilizado em momentos em que os dados não podem
ser armazenadas em seu destino final - como acontece com os pacotes que são recebidos pela
rede e que precisam ser examinados.
Dispositivos compartilhados vs dedicados - Alguns dispositivos, como discos, podem ser usados
por vários usuários simultaneamente. Outros, como dispositivos de fita, devem ser dedicados a
um usuário até que este termine suas tarefas. O Sistema Operacional deve ser capaz de tratar
ambos, de forma a evitar problemas.
Pedido de Interrupção (IRQ) - forma pela qual componentes de hardware requisitam tempo
computacional da CPU. Um IRQ é a sinalização de um pedido de interrupção de hardware.
Acesso Direto à Memória (DMA) - é uma das técnicas utilizadas para otimizar o uso de memória
por dispositivos. O DMA é um componente de hardware que permite a transferência direta de
dados entre dispositivos periféricos e a memória principal, tornando assim dispensável a
participação da CPU neste processo.
Drivers - é uma camada de software que faz a comunicação do sistema operacional com o
controlador do hardware que por sua vez faz a interface com o hardware. Drivers escondem as
diferenças entre os diversos dispositivos, através de uma interface de programação única.