Conceitos Essenciais de Sistemas Operacionais e Hardware
Classificado em Computação
Escrito em em português com um tamanho de 4,88 KB
Interação Hardware-Software e Arquiteturas
Componentes e Controle de Dispositivos
- Chipset: Conjunto de chips conectado à placa-mãe que controla os dispositivos físicos, aceitando comandos do Sistema Operacional (SO).
- Driver: Interface por meio da qual o controle dos dispositivos é realizado.
Manipulação de Controladores pelo Sistema Operacional
- O Sistema Operacional manipula os controladores, carregando comandos especiais nos registradores das controladoras.
- Sinais elétricos acionam os dispositivos.
Acesso Direto à Memória (DMA)
- DMA (Acesso Direto à Memória): Permite a troca de dados entre a memória e os dispositivos físicos sem a intervenção do processador.
Arquiteturas de Conjunto de Instruções
- RISC (Reduced Instruction Set Computer): Possui poucas instruções de máquina que são executadas diretamente pelo hardware.
- CISC (Complex Instruction Set Computer): Possui instruções complexas que são executadas por microprogramas. Para cada instrução, existe um microprograma associado.
Ferramentas de Desenvolvimento e Execução
Interpretador
- Não gera módulo-objeto.
- Traduz cada comando e o executa.
- Desvantagem: Tempo na tradução.
- Vantagem: Suporte a dados dinâmicos.
Linker (ou Editor de Ligações)
- Linker (ou Editor de Ligações): Junta os módulos-objeto e bibliotecas em um programa executável, resolvendo todas as referências simbólicas existentes entre os módulos.
Loader (Carregador)
- Loader (Carregador): Carrega um programa na memória principal para ser executado.
- Loader Absoluto: Carrega o programa em uma posição fixa na memória.
- Loader Relocável: Permite que o programa seja carregado em qualquer posição da memória.
Depurador
- Depurador: Permite acompanhar a execução de um programa e detectar erros.
- Funcionalidades comuns:
- Visualização e alteração de variáveis.
- Breakpoints (pontos de interrupção).
- Watchpoints (pontos de observação).
Sistema Operacional: Interação e Gerenciamento
Interpretador de Comandos (Shell)
- O Interpretador de Comandos, também conhecido como Shell, permite ao usuário interagir com o sistema operacional.
Concorrência e Multiprogramação
- A concorrência entre os processos é o princípio básico da multiprogramação nos Sistemas Operacionais.
- A concorrência deve permitir que o processo interrompido retorne ao seu estado original após o período de interrupção.
Interrupções e Exceções
- Para tratar uma interrupção, existe um vetor com o endereço do início de cada rotina de tratamento.
- As interrupções podem ocorrer a qualquer momento, inclusive durante o tratamento de outra interrupção.
- Uma exceção é semelhante a uma interrupção, sendo a principal diferença o motivo do disparo. A exceção é o resultado da execução de uma instrução do programa, como divisão por zero ou overflow.
Funções Essenciais do Kernel
- Tratamento de interrupções e exceções.
- Criação e eliminação de processos e threads.
- Escalonamento e controle dos processos e threads.
Gerenciamento de Processos e Threads
System Calls (Chamadas de Sistema)
- System Calls podem ser entendidas como portas de acesso ao núcleo do sistema operacional e seus serviços, que usuários ou aplicações utilizam para chamar suas rotinas.
Processos
- Um processo é um conjunto de instruções sendo executadas, em conjunto com informações como os valores correntes do contador de programas, seus registradores e variáveis.
- Um processo possui o contexto de software, de hardware e o espaço de armazenamento.
- Identificação (PID): Cada processo recebe uma identificação única, o PID (Process Identification), representado por um número.
- Quotas: São os limites de recursos que o processo pode alocar.
Threads
- Uma thread pode ser definida como uma sub-rotina que pode ser executada paralelamente ao programa chamador.
- Um processo pode ter diversas partes de seu código sendo executadas em paralelo por meio de threads.