Please enable JavaScript.
Coggle requires JavaScript to display documents.
ESTRUTURAS DO SISTEMA OPERACIONAL, MAPA MENTAL 2 DISCIPLINA: SO 2025/2 …
ESTRUTURAS DO SISTEMA OPERACIONAL
2.1. SERVIÇOS DO SO
Para o Usuário
Interface Usuário
CLI (Bash, PowerShell, CMD)
GUI (Windows Explorer, macOS Finder)
Touch (iOS, Android)
Execução Programas
Operações E/S
Manipulação Sistema Arquivos
Comunicações
Detecção Erro
Para o Sistema
Alocação Recursos
Contabilidade
Proteção/Segurança
2.2 Interface entre o Usuário e o Sistema Operacional
Interpretador Comandos (CLI)
Shell: Interface kernel
Comandos: Manipular arquivos
Implementação: Kernel ou programa especial
Interface Gráfica Usuário (GUI)
Metáfora Desktop
Mouse, teclado, monitor
Ícones: Arquivos, programas
Interface Tela Sensível Toque
Dispositivos Menores
Toques e Gestos
Memória Muscular
2.3 Chamadas de Sistema (System Calls)
Interface Programação
API Alto Nível
Windows API
POSIX API
Java API
Vantagens APIs
Portabilidade: Mesmo programa, SOs diferentes
Simplificação: Abstrai detalhes SO
Funcionamento
Número Associado: Cada system call
Tabela Indexada: Interface mantém
Biblioteca Run-time: Gerencia detalhes
Exemplo: printf() → write()
2.4 Tipos de Chamadas de Sistema
Controle Processos
Gerenciamento Arquivos
Gerenciamento Dispositivos
Manutenção Informações
Comunicações
2.5 Programas do Sistema
Tipos
Manipulação Arquivo
Informação Status
Modificação Arquivo
Suporte Linguagem
Carga/Execução
Comunicações
Importância
Visão SO: Usuários veem programas sistema
Não System Calls: Interface mais abstrata
2.6 Por que Aplicações são Específicas para um SO?
Incompatibilidade
System Calls Únicas: Cada SO diferente
Exemplo: CreateFile() (Windows) vs open() (Linux)
Quebra Compatibilidade: .exe não roda Linux
Soluções Compatibilidade
Linguagens Interpretadas
Python, JavaScript
Interpretador traduz tempo real
Perda performance
Máquinas Virtuais
Java (JVM), C# (.NET)
Bytecode intermediário
"Write once, run anywhere"
APIs Padrão
C/C++ bibliotecas padrão
Recompilação cada SO
OpenGL multiplataforma
2.7 Projeto e Implementação do Sistema Operacional
Problema Não Solucionável
Não existe algoritmo definitivo
Técnicas bem-sucedidas existem
Objetivos
Usuário: Conveniente, fácil, confiável, rápido
Sistema: Fácil projetar/implementar, flexível, eficiente
Princípio Importante
Política: O que fazer (prioridades)
Mecanismo: Como fazer (algoritmos)
Separação: Permite flexibilidade mudanças
Implementação
Linguagens: C/C++ (Windows, Linux)
Assembly: Partes críticas, drivers
Vantagem: Portabilidade, facilidade
2.8 Estrutura do Sistema Operacional
2.8.1 Estrutura Monolítica
Tudo no kernel, espaço único
Exemplos: Unix, Linux kernel
Vantagem: Performance
Desvantagem: Difícil manutenção
2.8.2 Enfoque em Camadas
Hierarquia camadas (0=hardware, N=usuário)
Vantagem: Simplicidade debug
Desvantagem: Overhead chamadas
Sucesso: Redes TCP/IP
2.8.3 Microkernels
Kernel mínimo + user space
Exemplo: Mach (macOS base)
Vantagem: Confiabilidade, portabilidade
Desvantagem: Sobrecarga de comunicação
2.8.4 Módulos
LKM - Loadable Kernel Modules
Núcleo + extensões dinâmicas
Exemplo: Linux drivers (lsmod)
Une vantagens de outras abordagens
Lego
2.8.5 Hibridos
Mistura diferentes abordagens para problemas especificos
Linux: Basicamente monolítico, mas com módulos carregáveis
Windows: Principalmente monolítico, mas com alguns aspectos de microkernel
macOS: Microkernel (Mach) + Unix (BSD) + módulos
2.9 Geração do Sistema Operacional
SYSGEN: Configuração específica
Informações Coletadas
CPU, instruções, quantidade CPUs
Memória disponível
Dispositivos, partições
Personalização: SO para máquina específica
2.10 Inicialização (Boot) do Sistema
Bootstrap: Código pequeno
Localiza/Carrega Kernel
Processo Duas Etapas
Bloco boot local fixo
Carrega bootstrap
Firmware: BIOS/UEFI
Exemplo: GRUB (Linux)
Execução: Local fixo memória
MAPA MENTAL 2
DISCIPLINA: SO 2025/2
ALUNO(A): Raquel Nascimento