1 of 27

MC504 Sistemas Operacionais

Prof. Dr. Eng. Isaías Bittencourt Felzmann

isaias@ic.unicamp.br

Campinas, 2s/2026

Apresentação

1/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

2 of 27

Objetivos

2/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

3 of 27

Contatos

    • Página da Disciplina:
      • https://ic.unicamp.br/~isaias/so

    • Professor Isaías:
      • isaias@ic.unicamp.br
      • IC-2 Sala 26 – Segunda-feira 17h45-18h45

    • PED Gabriela:
      • g172599@dac.unicamp.br
      • HUB Santander – Quinta-feira 18h-19h

    • PED Girlana:
      • g295743@dac.unicamp.br
      • LSC IC-3 Sala 361 – Terça-feira 12h-13h

3/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

4 of 27

Calendário

Primeira parte

  • Introdução
  • Processos, threads e sincronização
  • Escalonamento e concorrência

Segunda parte

  • Gerenciamento de Arquivos
  • Gerenciamento de Entrada e Saída
  • Gerenciamento de Memória Virtual

4/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

5 of 27

Bibliografia

Andrew Tanenbaum, Herbert Bos

Sistemas operacionais modernos

4ª edição

Abraham Silberschatz, Peter Galvin, Greg Gagne

Operating Systems Concepts (Fundamentos de Sistemas Operacionais)

10ª edição (9ª edição em Português)

5/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

6 of 27

Avaliação

    • Parte 1 – Prova P1: 50% da nota.
      • P1: 28/set – aula de dúvidas 23/set

    • Parte 2 – Prova P2: 50% da nota.
      • P2: 23/nov – aula de dúvidas 18/nov

    • 2 mini-projetos opcionais para desenvolvimento extra-classe.
      • Poderão valer 2,0–2,5 pontos em cada prova.
      • Detalhes em breve…

    • Atenção para Integridade Acadêmica!

6/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

7 of 27

Recuperação

  • Exame sobre a disciplina inteira em 14/dez.

    • Nota final truncada em 5,0.

    • Requisitos:
      • Ter média das provas entre 2,5 e 5,0.

      • Não ter extrapolado o limite de faltas (25%).

  • ATENÇÃO: A disciplina acaba com a entrega do exame.

7/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

8 of 27

Frequência

  • Horários das aulas:
    • Segundas às 19h
    • Quartas às 21h

  • Necessário 75% de frequência – Máximo 7 faltas.
    • Assinem a lista de chamada!

  • Atrasos e saídas antecipadas:
    • Tolerados em dias de aula normal.
    • Sem entrada após alguém sair em dia de prova.
      • Exceto se (bem) justificado.

8/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

9 of 27

9/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

10 of 27

Aviso Legal

The following set of slides are copyright Silberschatz, Galvin and Gagne, 2018. Modifications were made for their use in conjunction with MC504. The original material is available at os-book.com .

Os direitos autorais do conjunto de slides a seguir pertencem a Silberschatz, Galvin and Gagne, 2018. Foram feitas modificações para seu uso em MC504. O material original está disponível em os-book.com .

Este material foi elaborado com apoio de ferramentas de IA generativa como recurso auxiliar. O conteúdo foi revisado, validado e é de responsabilidade do docente.

10/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

11 of 27

O que é um Sistema Operacional?

  • Um programa que atua como intermediário entre o usuário de um computador e o hardware do computador
  • Objetivos de um sistema operacional:
    • Executar programas de usuário e facilitar a resolução dos problemas do usuário
    • Tornar o sistema computacional conveniente de usar
    • Utilizar o hardware do computador de maneira eficiente

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

11/27

Silberschatz, Galvin and Gagne ©2018

12 of 27

Papel de um Sistema Operacional

  • Depende do ponto de vista
  • Os usuários querem conveniência, facilidade de uso e bom desempenho
    • Não se importam com a utilização de recursos
  • Mas um computador compartilhado, como um mainframe ou minicomputador, deve manter todos os usuários satisfeitos
    • O sistema operacional é um alocador de recursos e um programa de controle que faz uso eficiente do hardware e gerencia a execução dos programas de usuário
  • Usuários de sistemas dedicados, como workstations, têm recursos dedicados, mas frequentemente usam recursos compartilhados de servidores
  • Dispositivos móveis como smartphones e tablets têm poucos recursos, otimizados para usabilidade e duração da bateria
    • Interfaces de usuário móveis como telas sensíveis ao toque e reconhecimento de voz
  • Alguns computadores têm pouca ou nenhuma interface de usuário, como computadores embarcados em dispositivos e automóveis
    • Funcionam principalmente sem intervenção do usuário

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

12/27

Silberschatz, Galvin and Gagne ©2018

13 of 27

Definição de Sistema Operacional

  • Não há uma definição universalmente aceita
  • “Tudo o que um fornecedor entrega quando você compra um sistema operacional” é uma boa aproximação
    • Mas varia enormemente
  • “O único programa em execução o tempo todo no computador” é o kernel, parte do sistema operacional
  • Todo o restante é ou
    • Um programa de sistema (fornecido com o sistema operacional, mas não parte do kernel), ou
    • Um programa aplicativos, todos os programas não associados ao sistema operacional
  • Os sistemas operacionais atuais para computação de propósito geral e móvel também incluem middleware – um conjunto de frameworks de software que fornecem serviços adicionais aos desenvolvedores de aplicações, como bancos de dados, multimídia e gráficos

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

13/27

Silberschatz, Galvin and Gagne ©2018

14 of 27

Estrutura do Sistema Computacional

  • Um sistema computacional pode ser dividido em quatro componentes:
    • Hardware – fornece os recursos básicos de computação
      • CPU, memória, dispositivos de Entrada/Saída (I/O)
    • Sistema operacional
      • Controla e coordena o uso do hardware entre as diversas aplicações e usuários
    • Programas aplicativos – definem as maneiras pelas quais os recursos do sistema são usados para resolver os problemas computacionais dos usuários
      • Processadores de texto, compiladores, navegadores web, sistemas de banco de dados, videogames
    • Usuários
      • Pessoas, máquinas, outros computadores

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

14/27

Silberschatz, Galvin and Gagne ©2018

15 of 27

Visão Abstrata dos Componentes de um Computador

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

15/27

Silberschatz, Galvin and Gagne ©2018

16 of 27

Como Funciona um Computador Moderno

Arquitetura de von Neumann

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

16/27

Silberschatz, Galvin and Gagne ©2018

17 of 27

Operação em Modo Dual

  • A operação em modo dual permite que o SO proteja a si mesmo e outros componentes do sistema
    • Modo usuário e modo kernel
  • Bit de modo fornecido pelo hardware
    • Fornece a capacidade de distinguir quando o sistema está executando código de usuário ou código do kernel.
    • Quando um usuário está em execução 🢡 o bit de modo é “usuário”
    • Quando código do kernel está em execução 🢡 o bit de modo é “kernel”
  • Como garantimos que o usuário não defina explicitamente o bit de modo como “kernel”?
    • Uma chamada de sistema muda o modo para kernel; o retorno da chamada o redefine para usuário
  • Algumas instruções são designadas como privilegiadas, executáveis apenas no modo kernel

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

17/27

Silberschatz, Galvin and Gagne ©2018

18 of 27

Transição do Modo Usuário para o Modo Kernel

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

18/27

Silberschatz, Galvin and Gagne ©2018

19 of 27

Gerenciamento de Processos

  • Um processo é um programa em execução. É uma unidade de trabalho dentro do sistema. O programa é uma entidade passiva; o processo é uma entidade ativa.
  • O processo precisa de recursos para realizar sua tarefa
    • CPU, memória, I/O, arquivos
    • Dados de inicialização
  • O término do processo requer a recuperação de quaisquer recursos reutilizáveis
  • Um processo de thread única tem um contador de programa que especifica a localização da próxima instrução a ser executada
    • O processo executa as instruções sequencialmente, uma de cada vez, até a conclusão
  • Um processo multithread tem um contador de programa por thread
  • Normalmente o sistema tem muitos processos, alguns de usuário, outros do sistema operacional, executando concorrentemente em uma ou mais CPUs
    • Concorrência por meio da multiplexação das CPUs entre os processos / threads

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

19/27

Silberschatz, Galvin and Gagne ©2018

20 of 27

Gerenciamento de Memória

  • Para executar um programa, as instruções devem estar na memória
  • Todos os dados necessários ao programa devem estar na memória
  • O gerenciamento de memória determina o que está na memória e quando
    • Otimizando a utilização da CPU e a resposta do computador aos usuários
  • Atividades de gerenciamento de memória
    • Acompanhar quais partes da memória estão sendo usadas no momento e por quem
    • Decidir quais processos (ou partes deles) e dados mover para dentro e para fora da memória
    • Alocar e desalocar espaço de memória conforme necessário

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

20/27

Silberschatz, Galvin and Gagne ©2018

21 of 27

Gerenciamento do Sistema de Arquivos

  • O SO fornece uma visão lógica e uniforme do armazenamento de informações
    • Abstrai as propriedades físicas em uma unidade lógica de armazenamento – o arquivo
    • Cada meio é controlado por um dispositivo (por exemplo, unidade de disco, unidade de fita)
      • As propriedades variáveis incluem velocidade de acesso, capacidade, taxa de transferência de dados, método de acesso (sequencial ou aleatório)

  • Gerenciamento do sistema de arquivos
    • Os arquivos geralmente são organizados em diretórios
    • Controle de acesso na maioria dos sistemas para determinar quem pode acessar o quê
    • As atividades do SO incluem
      • Criar e excluir arquivos e diretórios
      • Primitivas para manipular arquivos e diretórios
      • Mapear arquivos no armazenamento secundário
      • Fazer backup de arquivos em mídias de armazenamento estáveis (não voláteis)

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

21/27

Silberschatz, Galvin and Gagne ©2018

22 of 27

Subsistema de Entrada/Saída

  • Um dos propósitos do SO é ocultar do usuário as peculiaridades dos dispositivos de hardware
  • O subsistema de E/S é responsável por
    • Gerenciamento de memória de E/S, incluindo buffering (armazenar dados temporariamente enquanto são transferidos), caching (armazenar partes dos dados em uma memória mais rápida para desempenho), spooling (a sobreposição da saída de um trabalho com a entrada de outros trabalhos)
    • Interface geral de driver de dispositivo
    • Drivers para dispositivos de hardware específicos

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

22/27

Silberschatz, Galvin and Gagne ©2018

23 of 27

Proteção e Segurança

  • Proteção – qualquer mecanismo para controlar o acesso de processos ou usuários aos recursos definidos pelo SO
  • Segurança – defesa do sistema contra ataques internos e externos
    • Ampla variedade, incluindo negação de serviço, worms, vírus, roubo de identidade, roubo de serviço
  • Os sistemas geralmente primeiro distinguem entre os usuários, para determinar quem pode fazer o quê
    • As identidades de usuário (IDs de usuário, IDs de segurança) incluem nome e número associado, um por usuário
    • O ID de usuário é então associado a todos os arquivos e processos desse usuário para determinar o controle de acesso
    • O identificador de grupo (ID de grupo) permite definir um conjunto de usuários e gerenciar os controles, sendo também associado a cada processo e arquivo
    • Privilege escalation permite que o usuário mude para um ID com mais direitos

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

23/27

Silberschatz, Galvin and Gagne ©2018

24 of 27

Virtualização

  • Permite que sistemas operacionais executem aplicações dentro de outros SOs
    • Indústria vasta e em crescimento
  • A emulação é usada quando o tipo de CPU de origem é diferente do tipo de destino (por exemplo, PowerPC para Intel x86)
    • Geralmente o método mais lento
    • Quando a linguagem de computador não é compilada para código nativo – Interpretação
  • Virtualização – SO compilado nativamente para a CPU, executando SOs convidados também compilados nativamente
    • Considere o VMware executando convidados Windows, cada um executando aplicações, todos sobre um SO hospedeiro Windows nativo
    • O VMM (gerenciador de máquina virtual) fornece os serviços de virtualização

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

24/27

Silberschatz, Galvin and Gagne ©2018

25 of 27

Virtualização (cont.)

  • Os casos de uso envolvem laptops e desktops executando múltiplos SOs para exploração ou compatibilidade
    • Laptop Apple executando o hospedeiro Mac OS X, com Windows como convidado
    • Desenvolver aplicações para múltiplos SOs sem ter vários sistemas
    • Testes de garantia de qualidade de aplicações sem ter vários sistemas
    • Executar e gerenciar ambientes de computação dentro de data centers
  • O VMM pode ser executado nativamente, caso em que também é o hospedeiro
    • Nesse caso, não há um hospedeiro de propósito geral (VMware ESX e Citrix XenServer)

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

25/27

Silberschatz, Galvin and Gagne ©2018

26 of 27

Ambientes de Computação - Virtualização

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais

Operating System Concepts – 10th Edition

26/27

Silberschatz, Galvin and Gagne ©2018

27 of 27

Bibliografia

Capítulo 1.

Capítulo 1.

27/27

rev. 2s/2026

IC/UNICAMP – MC504 Sistemas Operacionais