Skip to content

Sistemas Operacionais - Implementação prática de algoritmos de escalonamento, sincronização de threads e análise de desempenho de SO.

Notifications You must be signed in to change notification settings

Vinii225/SO-AtividadeIntegradora

Repository files navigation

🚀 Atividade Integradora - Sistemas Operacionais

🎓 Disciplina: Sistemas Operacionais

👨‍🏫 Professor: André Luís de Lucena Torres

📅 Iniciado: Feito durante o mês de Julho e Agosto e entregue em até 25 de Agosto

Descrição: Esta atividade integradora abrange desde os conceitos fundamentais até implementações práticas.

Divisor roxo

📚 Módulos & Tópicos Abordados

🎯 Etapa 1: Ambiente de Trabalho

  • Configurar VirtualBox, VMware ou Vagrant (Máquina virtual Linux)
  • Criar um usuário não-root (Configuração do ambiente)
  • Análise de arquivos de sistema (cat /etc/os-release, lsb_release, etc.)
  • Configurar compilador (Por scripting em C)
  • Arquivar espaços em disco (Comandos de sistema de arquivos)

🔧 Etapa 2: Introdução ao SO

  • Criar relatório para identificar e descrever tipos de arquitetura, estrutura de I/O
  • Analisar características do Linux/Windows (Kernel, estrutura, versões, instalação)
  • Identificar elementos da arquitetura (CPU, memória, dispositivos)
  • Analisar funções do sistema operacional (Alocar recursos, proteger dados)

🚀 Etapa 3: Gerenciamento de Processos

  • Criar uma simulação em Python, C ou PowerShell (Algoritmos de escalonamento: FCFS e SJF)
  • Simular políticas para filas (Análise de desempenho)
  • Comparar resultados obtidos (Qual seria mais adequado para o SO educacional)
  • Explicar parâmetros de debug (Tempo, utilização, throughput)

🧵 Etapa 4: Threads e Concorrência

  • Desenvolver um programa com threads (Python ou C para simular dois processos concorrentes)
  • Implementar mutexes, semáforos (Aplicar em problema produtor-consumidor)
  • Realizar o modelo de threading (Utilizando bibliotecas nativas)
  • Demonstrar sincronização (Semáforos, mutex ou outro recurso)

💾 Etapa 5: Gerenciamento de Memória

  • Verificar o uso da memória (Comandos de sistema)
  • Analisar estatísticas (Free, /proc/meminfo, ps, top)
  • Explicar as colunas (used / buff / available)
  • Analisar estatísticas de memória (Informações detalhadas de memória em tempo real)

Legenda: ✅ = Concluído | 🔄 = Em Progresso | ❌ = Não Iniciado

Divisor roxo

📁 Estrutura do Repositório

📦 SO-AtividadeIntegradora
├── 📂 GerenciamentoProcessos/
│   ├── 🐍 FCFS.py – Algoritmo First Come First Served
│   ├── 🐍 SJF.py – Algoritmo Shortest Job First  
│   └── 🐍 processos.py – Classe e estrutura de processos
│    
├── 📂 ThreadsConcorrencia/
│   ├── 🐍 SimulacaoSemSinc.py – Algoritmo Simulaçao de Threads sem Sincronização
│   ├── 🐍 SimulacaoComSinc.py – Algoritmo Simulaçao de Threads com Sincronização
│   └── 🐍 processos.py – Classe e estrutura de processos
│    
├── 📄 PassoAPassoAtividade.pdf – Atividade
├── 📄 ViniciusAres + MariaLaura - AtividadeIntegradoraProjetoSO.pdf – Atividade
├── 📄 README.md – Guia principal do projeto
│
└── 📄 .gitignore

Divisor roxo

🎯 Objetivos de Aprendizagem

  • Desenvolver um projeto prático que integre os principais conceitos teóricos e práticas abordadas na disciplina de Sistemas Operacionais
  • Simular o funcionamento de um sistema operacional educacional com uso de software livre
  • Utilizar VirtualBox, VMware ou Vagrant para configurar uma máquina virtual com Linux (Ubuntu ou Debian)
  • Realizar análises de arquivos de sistema e comparar diferentes algoritmos
  • Implementar programas com threads, semáforos, mutex e outros recursos de sincronização
  • Analisar desempenho de sistemas operacionais através de ferramentas e comandos específicos

Divisor roxo

💡 O Que Estou Desenvolvendo

  • Simulador de Escalonamento FCFS e SJF em Python
  • Programas de Sincronização com threads, mutexes e semáforos
  • Análises de Desempenho de memória e processos em tempo real
  • Relatórios Comparativos entre diferentes arquiteturas e sistemas operacionais

Divisor roxo

📌 Observações

  • Todas as etapas incluem documentação detalhada.

Divisor roxo

Sistemas Operacionais não são apenas sobre gerenciamento de recursos, são sobre eficiência, confiabilidade

About

Sistemas Operacionais - Implementação prática de algoritmos de escalonamento, sincronização de threads e análise de desempenho de SO.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages