Monolítico: Conjunto de instruções, onde uma pode chamar outras quando necessário
Camadas: Cada módulo oferece um conjunto de funções que podem ser usados por outros módulos.
MicroKernel: núcleo menor, sem componentes não essenciais
Máq. virtuais: cópia exata do HW, executando um SO diretamente nele.
Tarefas
Monotarefas: Todo o HW exclusivo para apenas uma tarefa.
Multitarefas: recursos de HW compartilhados com diversas tarefas
Batch: Funções executadas em sequência, sem interação com o usuário.
Tempo compartilhado: o processador determina fatia de tempo para cada tarefa.
Tempo real: é o programa que determina sua execução
Usuário
Monousuário: Todos usuários tratados como um só logado
Multiusuario: Vários usuarios usando os recursos do HW.
Múltiplos processadores
Fortemente acoplados: Várias CPU, com 1 memoria e 1 SO
Fracamente acoplados (rede) CPU independentes ligados em rede com um mesmo SO.
Fracamente acoplados (distribuídos) sistemas espalhados, SO e HW independente.
Estrutura
CPU: Principal componente onde são processadas os programas.
Memória: Rom, RAM, cache, registradores
Entrada e Saída: espera ocupada, interrupção, chip DMA
Barramento:tráfego de informações
Inicialização do sistema: BIOS
Conceito Geral
É um aplicativo que atua como intermediário entre o usuário e o hardware de um computador.
Seu objetivo é gerenciar todos os recursos do computador para que o usuário tenha a execução dos seus aplicativos de forma eficiente, previsível e flexível.
Primeiro computador - Charles Babage. 1950: Transistores. 1960: circuitos integrados. 1980: interface gráfica.
Tipos de SO
SO de grande porte:Processa rotinas sem a presença do usuário. Processam gde qtdade de pequenas informações. Múltiplos usuários remotamente
SO servidores: Multiplos usuários simultâneos em rede, compartilhando HW e SW
SO Multiprocessadores: Multiplas CPUs em um unico sistema
SO pessoais: Boa interface para um usuário
SO portáteis: computadores de bolso, smatphone, tablet
SO embarcados: não necessitam da intervenção do usuário, tv, carro
SO tempo real: Tem o tempo como parâmetro, exército, robôs.
Processos
Threads: Multiprocessos dentro de um processo. ou linha de execução concorrentes.
Responsabilidade do SO gerenciar e alternar a execução das instruções de cada programa
Inicialização do sistema, processo solicita outro processo, requisição do usuário, início tarefa em lote
saída normal, saída por erro (voluntário), erro fatal, cancelamento por outro processo (involuntário)
em execução (Usando CPU no momento); pronto (para dando lugar a outro processo); Bloqueado (espera evento externo)