7.1 / visão geral
Visão geral
O nível do Sistema Operacional contém as instruções de nível ISA e adiciona um conjunto de serviços disponíveis aos programas de aplicação, especialmente por meio das chamadas de sistema.
O nível do sistema operacional é sempre interpretado. Seus principais objetivos são:
ConveniênciaTornar o uso do computador mais conveniente.
EficiênciaPermitir a utilização eficiente dos recursos do sistema.
Os principais elementos do Sistema Operacional são:
- Núcleo ou kernel;
- Código de inicialização ou boot code;
- Drivers;
- Programas utilitários.
7.2 / elementos do SO
Elementos do Sistema Operacional
Núcleo do Sistema Operacional
O kernel é o componente central do sistema operacional. Ele gerencia recursos do sistema e facilita a interação entre hardware e software.
ProcessosCriação, escalonamento e término de processos.
MemóriaAlocação, desalocação, paginação, segmentação e memória virtual.
DispositivosComunicação com hardware por meio de drivers.
ArquivosOrganização, leitura, escrita e exclusão de arquivos.
SegurançaControle de acesso a arquivos, memória e dispositivos.
Tipos de kernel
- Monolítico: componentes integrados em um grande bloco de código executável.
- Micronúcleo: reduz o código executado em modo kernel, deslocando serviços para o espaço do usuário.
- Híbrido: combina características dos modelos monolítico e micronúcleo.
Código de inicialização
O código de inicialização prepara o ambiente para que o sistema operacional seja carregado. O bootloader localiza o kernel, carrega-o na memória e transfere o controle para ele.
- Carregar o kernel;
- Configurar o ambiente inicial;
- Transferir o controle ao sistema operacional.
UEFI e BIOS
A UEFI substitui gradualmente o BIOS tradicional, oferecendo suporte a interface gráfica, discos maiores, inicialização mais rápida e recursos como Secure Boot.
| Característica | UEFI | BIOS |
| Interface | Gráfica, com suporte a mouse | Texto, teclado apenas |
| Discos | GPT, discos maiores que 2 TB | MBR, até 2 TB |
| Partições | Mais de quatro | Até quatro |
| Boot | Mais rápido | Mais lento |
| Segurança | Secure Boot | Sem Secure Boot |
Drivers
Drivers são programas que permitem ao sistema operacional comunicar-se com hardware específico. Eles atuam como intermediários, abstraem detalhes de hardware e gerenciam a transferência de dados.
- Drivers de dispositivo;
- Drivers de kernel;
- Drivers de usuário.
Programas utilitários
Programas utilitários complementam o sistema operacional, apoiando manutenção, diagnóstico, segurança, gerenciamento de arquivos, backup e recuperação.
7.3 / self-test
Self-Test — POST
O Power-On Self-Test é um conjunto de testes executados pelo firmware, BIOS ou UEFI, durante a inicialização do computador.
- Verifica componentes de hardware, como memória RAM, processador, armazenamento e periféricos.
- Indica falhas por mensagens, códigos de erro ou sinais sonoros.
- Prepara o sistema para o carregamento do bootloader.
7.4 / chamadas de sistema
Chamadas de Sistema
Chamadas de sistema são interfaces programadas no kernel. Elas permitem que programas de usuário solicitem serviços ao sistema operacional com segurança e controle.
Em uma chamada de sistema, a execução passa do modo usuário para o modo kernel, permitindo o acesso privilegiado a recursos de hardware e estruturas internas do sistema.
Processosfork(), exit(), wait(), exec()
Arquivosopen(), close(), read(), write()
Dispositivosioctl(), read(), write()
Comunicaçãopipe(), shmget(), signal(), kill()
Sistemagetpid(), alarm(), sleep()
Exemplo típico: uma aplicação executa read(); o controle passa ao kernel; o kernel lê os dados do sistema de arquivos; o resultado retorna ao modo usuário.
7.5 / áreas do SO
Áreas do Sistema Operacional
As áreas típicas do sistema operacional incluem gestão de processos, memória, arquivos, comunicação, dispositivos e gestão do sistema.
Gestão de processos
Um processo é uma unidade de contexto e um contêiner de recursos usados por uma ou mais tarefas. Uma forma clássica de modelá-lo é o modelo de cinco estados.
NovoProcesso criado e ainda não pronto.
ProntoAguardando seleção pelo escalonador.
ExecutandoUsando o processador.
EsperandoAguardando evento ou E/S.
TerminadoExecução concluída ou finalizada.
Bloco de Controle de Processo — PCB
O PCB reúne informações essenciais do processo.
- Identificador;
- Estado;
- Contexto dos registradores e contador de programa;
- Estado de E/S;
- Informações de contabilidade.
Escalonamento
- Longo prazo: decide acrescentar novo processo ao conjunto de processos.
- Médio prazo: decide manter processos parcial ou totalmente carregados na memória.
- Curto prazo: decide qual processo disponível será executado pelo processador.
Gerência de memória
- Memória virtual: uso de disco como memória lógica.
- Paginação: divisão em páginas de tamanho fixo.
- Segmentação: múltiplos espaços de endereçamento independentes.
Gerência de dispositivos
- Interrupções: comunicação controlador-processador por requisições de interrupção.
- Drivers: módulos de código para acessar dispositivos físicos.
Gerência de arquivos
Um arquivo é uma sequência de bytes armazenada em dispositivo físico não volátil.
- Criar, abrir, ler, escrever, fechar, remover e alterar atributos;
- Metadados: nome, tipo, tamanho, datas, proprietário, permissões e localização.