Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante   Click to listen highlighted text! Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante

Sistemas Operacionais Desktop – Aula 01 (Semana 01)

Semana 1: Introdução aos Sistemas Operacionais

Objetivo

Apresentar os conceitos fundamentais, funções e objetivos dos sistemas operacionais.

Introdução aos Sistemas Operacionais

Os sistemas operacionais (SOs) são um dos componentes mais fundamentais da computação moderna, atuando como uma interface essencial entre o hardware de um sistema computacional e os programas de aplicação utilizados pelos usuários. Eles gerenciam recursos computacionais, como memória, processador, dispositivos de entrada e saída, além de fornecerem serviços e abstrações que permitem a execução eficiente de software.

Foto de Lisa Fotios: https://www.pexels.com/pt-br/foto/homem-usando-computadores-1334093/

Ao longo da evolução da computação, os sistemas operacionais passaram por diversas transformações, desde os primeiros sistemas monoprogramáveis até os modernos sistemas multitarefa e distribuídos. Inicialmente, os computadores operavam sem um sistema operacional, sendo programados diretamente por meio de linguagens de baixo nível e exigindo interação manual para a execução de cada tarefa. Com o avanço tecnológico e o aumento da complexidade dos computadores, tornou-se necessário o desenvolvimento de software especializado para gerenciar os recursos computacionais de maneira automática e eficiente, dando origem aos primeiros sistemas operacionais.

Atualmente, os sistemas operacionais desempenham um papel central não apenas em computadores pessoais, mas também em servidores, dispositivos móveis, sistemas embarcados e ambientes de computação em nuvem. Entre suas funções essenciais, destacam-se o gerenciamento de processos, memória, armazenamento e dispositivos de hardware, além da implementação de mecanismos de segurança, controle de acesso e interfaces de interação com o usuário.

Neste módulo, exploraremos em detalhes a definição de sistemas operacionais, sua evolução histórica, suas principais funções e os diferentes tipos existentes, como sistemas operacionais de tempo real, sistemas distribuídos, monolíticos e microkernel. Além disso, abordaremos os principais SOs utilizados na atualidade, incluindo Windows, Linux, macOS, Android e iOS, analisando suas arquiteturas e características distintas.

Compreender os sistemas operacionais é essencial para qualquer profissional da área de computação, pois eles formam a base sobre a qual todo o software moderno é executado. Aprofundar-se nesse tema permite não apenas utilizar melhor as tecnologias existentes, mas também projetar e otimizar sistemas para diferentes necessidades computacionais.

Definição de Sistema Operacional

Um sistema operacional (SO) é um software essencial responsável por atuar como intermediário entre o hardware de um computador e os programas executados pelos usuários. Ele é composto por um conjunto de programas e rotinas que gerenciam de maneira eficiente os recursos computacionais, garantindo que múltiplos processos possam ser executados de forma coordenada e segura.

Foto de Vladimir Srajber: https://www.pexels.com/pt-br/foto/mesa-balcao-computador-tela-12509206/

História e Evolução dos Sistemas Operacionais

Os sistemas operacionais evoluíram significativamente desde os primeiros computadores. Inicialmente, os computadores eram operados manualmente, sem um software intermediário. Com o passar do tempo, surgiram sistemas que automatizaram a execução de tarefas e permitiram a interatividade com os usuários.

Foto de panumas nikhomkhai: https://www.pexels.com/pt-br/foto/tecnologia-linha-fila-reta-17489151/

Principais Marcos Históricos

  1. Anos 1950 – Sistemas de lote: Os primeiros computadores utilizavam sistemas de lote, onde várias tarefas eram agrupadas e processadas sequencialmente.
  2. Anos 1960 – Sistemas multiprogramáveis: Introdução de sistemas que permitiam a execução simultânea de múltiplos programas.
  3. Anos 1970 – Unix: O Unix foi um dos primeiros sistemas operacionais portáteis e baseados em múltiplos usuários.
  4. Anos 1980 – Interface Gráfica: Surgimento de sistemas como o Mac OS e o Windows, que popularizaram a interface gráfica.
  5. Anos 1990 e 2000 – Popularização de sistemas operacionais modernos, como Linux e Windows NT.

Funções Principais dos Sistemas Operacionais

Os sistemas operacionais têm diversas funções essenciais:

  • Gerenciamento de Processos: Controla a execução de programas e distribui o tempo de CPU.
  • Gerenciamento de Memória: Administra a alocação e liberação da memória RAM.
  • Gerenciamento de Armazenamento: Organiza o sistema de arquivos e gerência o armazenamento em disco.
  • Gerenciamento de Dispositivos: Controla os periféricos conectados ao computador.
  • Interface com o Usuário: Fornece um ambiente interativo para que os usuários possam operar o sistema.
Foto de Pixabay: https://www.pexels.com/pt-br/foto/vista-do-aeroporto-247791/

Aqui está uma explicação detalhada de cada uma das funções essenciais dos sistemas operacionais, com exemplos práticos para melhor compreensão:


1. Gerenciamento de Processos

O gerenciamento de processos é responsável por criar, agendar e encerrar processos em um sistema operacional. Um processo é um programa em execução, e o sistema operacional deve garantir que ele receba os recursos necessários, como tempo de CPU e memória, além de gerenciar sua comunicação com outros processos.

Conheça os erros mais comuns no gerenciamento de processos – CQH

Exemplos:

  • Multitarefa no Windows/Linux: Quando um usuário abre o navegador e um editor de texto ao mesmo tempo, o sistema operacional precisa alternar rapidamente entre os processos, garantindo que ambos funcionem simultaneamente.
  • Gerenciador de Tarefas no Windows: Permite visualizar os processos em execução e finalizar aqueles que não estão respondendo.
  • Escalonamento de Processos: Em servidores web, como o Apache, o SO aloca tempo de CPU para cada requisição de usuário, garantindo que múltiplas conexões possam ser atendidas simultaneamente.

2. Gerenciamento de Memória

A memória RAM é um recurso limitado, e o sistema operacional gerencia sua alocação para garantir que os programas tenham o espaço necessário para execução. Esse gerenciamento inclui a alocação de espaço para processos ativos e a liberação da memória quando o processo termina.

Programação Orientada a Objetos Interface de Classes

Exemplos:

  • Memória Virtual: Se um computador não possui memória RAM suficiente, o SO pode usar parte do disco rígido como uma extensão da RAM (swap no Linux, pagefile no Windows).
  • Proteção de Memória: Em sistemas como Linux e Windows, um processo não pode acessar diretamente a memória de outro, evitando falhas e vulnerabilidades.
  • Alocação Dinâmica: Quando um navegador da web abre várias abas, o SO gerencia dinamicamente a memória para cada aba, garantindo que elas funcionem sem interferir umas nas outras.

3. Gerenciamento de Armazenamento

O sistema operacional organiza os arquivos e diretórios no armazenamento físico do computador, garantindo acesso eficiente e seguro aos dados.

Interface Holográfica Futurista Gerenciador Arquivos Estrutura Pastas Com  Documentos Digitalização — Foto © lucadp #658810624

Exemplos:

  • Sistemas de Arquivos (NTFS, EXT4, FAT32): Windows usa NTFS como padrão, enquanto Linux usa EXT4. Cada sistema de arquivos tem regras específicas para organização e permissões de arquivos.
  • Cache de Disco: O SO armazena temporariamente arquivos frequentemente acessados na memória para acelerar a leitura e escrita.
  • Journaling em Sistemas de Arquivos: O recurso de journaling, presente no EXT4 e NTFS, protege contra perda de dados ao registrar alterações antes de escrevê-las permanentemente.

4. Gerenciamento de Dispositivos

O sistema operacional deve se comunicar com periféricos como teclados, mouses, impressoras e discos rígidos. Isso é feito por meio de drivers, que traduzem os comandos do SO para um formato compreensível pelo hardware.

Soluções em Gerenciamento de Equipamentos Móveis | Xtech Solutions

Exemplos:

  • Plug and Play: No Windows, ao conectar um pendrive, o SO detecta automaticamente o dispositivo e instala o driver necessário.
  • Gerenciamento de Impressoras: O SO armazena arquivos em uma fila de impressão e envia os trabalhos na ordem correta para a impressora.
  • Drivers de Vídeo: Para rodar jogos ou aplicativos gráficos avançados, o SO utiliza drivers da NVIDIA ou AMD para otimizar o desempenho gráfico.

5. Interface com o Usuário

A interface do sistema operacional permite que o usuário interaja com o computador por meio de interfaces gráficas (GUI) ou interfaces de linha de comando (CLI).

CLI vs GUI - Which one is better? | TablePlus

Exemplos:

  • Ambiente Gráfico (GUI): No Windows, o usuário pode clicar em ícones e janelas para executar programas, enquanto no Linux o GNOME e KDE oferecem interfaces similares.
  • Linha de Comando (CLI): Administradores de sistemas utilizam o Terminal do Linux ou o Prompt de Comando do Windows para executar tarefas avançadas, como gerenciamento de usuários e arquivos.
  • Assistentes Virtuais: Em sistemas modernos, assistentes como Cortana (Windows) ou Siri (macOS) utilizam comandos de voz para facilitar a interação do usuário com o SO.

Essas funções formam a base do funcionamento de qualquer sistema operacional, garantindo que os recursos sejam utilizados de forma eficiente e organizada.

https://www.freepik.com/free-photo/business-office-daytime-with-many-computer-screens-map-wall_9694565.htm#fromView=search&page=1&position=1&uuid=c59534e6-0868-401e-b069-fc5a164b80b1&query=a+lot+of+computers

Tipos de Sistemas Operacionais

Os sistemas operacionais podem ser classificados de acordo com suas funcionalidades e formas de operação:

  1. Monotarefa: Executa apenas um processo por vez (ex.: MS-DOS).
  2. Multitarefa: Suporta a execução simultânea de múltiplas tarefas (ex.: Windows, Linux, macOS).
  3. Tempo Real: Projetado para fornecer respostas em tempo determinístico (ex.: sistemas embarcados).
  4. Multiprogramável: Permite que vários programas compartilhem recursos do sistema.
  5. Distribuído: Executado em múltiplos computadores interconectados.

Principais características dos Sistemas Operacionais de acordo com  Tanenbaum | ANDRÉ PRZYBYSZ

Ainda podemos usar outra divisão muito importante sobre sistemas operacionais. A divisão que classifica os sistemas operacionais em modo real e modo protegido.

Modo Real e Modo Protegido nos Sistemas Operacionais

Introdução

Os sistemas operacionais modernos utilizam diferentes modos de operação para garantir eficiência, segurança e controle sobre o hardware. Dois desses modos são o Modo Real e o Modo Protegido, que fazem parte da evolução da arquitetura dos processadores x86. Esses modos determinam como a CPU acessa a memória, gerencia os processos e interage com os periféricos.

Aula de Sistemas Operacionais - Modos do Kernel

Modo Real

Definição

O Modo Real (Real Mode) é o modo de operação original dos processadores Intel x86, introduzido com o Intel 8086 e utilizado por sistemas operacionais antigos, como o MS-DOS. Nesse modo, a CPU opera de maneira simples, sem suporte a multitarefa, proteção de memória ou controle avançado de acesso ao hardware.

Características Principais

  • Acesso Direto ao Hardware: O sistema operacional e os programas podem acessar diretamente os dispositivos periféricos e a memória RAM sem restrições.
  • Segmentação Simples: A memória é organizada em segmentos de 64 KB, e o processador pode acessar até 1 MB de memória (com o Intel 8086).
  • Ausência de Proteção de Memória: Qualquer programa pode sobrescrever qualquer região da memória, o que pode levar a falhas e instabilidade.
  • Monotarefa: Apenas um programa pode ser executado por vez, pois não há suporte nativo para multitarefa.
  • Baixa Segurança: Como não há proteção entre processos, qualquer erro pode travar todo o sistema.

Exemplos de Uso

  • MS-DOS e programas que rodavam diretamente sobre ele.
  • Jogos e aplicativos antigos baseados em DOS.
  • Sistemas embarcados simplificados que não precisam de proteção de memória.

Limitações

O Modo Real se tornou inadequado para sistemas modernos devido às suas restrições de segurança e gerenciamento de memória. A falta de suporte à multitarefa e à memória protegida levou ao desenvolvimento de arquiteturas mais avançadas, como o Modo Protegido.


Modo Protegido

Definição

O Modo Protegido (Protected Mode) foi introduzido com os processadores Intel 80286 para superar as limitações do Modo Real. Esse modo permite que o sistema operacional implemente recursos avançados, como proteção de memória, multitarefa e gerenciamento de privilégios.

Características Principais

  • Acesso Expandido à Memória: Pode endereçar muito mais memória que os 1 MB do Modo Real. O Intel 80286 suporta até 16 MB, e o Intel 80386 e superiores podem acessar até 4 GB de memória RAM.
  • Proteção de Memória: Cada processo opera dentro de seu próprio espaço de memória, impedindo que um programa afete a execução de outro. Isso melhora a segurança e a estabilidade do sistema.
  • Multitarefa Verdadeira: Permite que múltiplos processos sejam executados simultaneamente, com controle eficiente da CPU.
  • Modo de Privilégio (Ring Levels): Implementa diferentes níveis de privilégio (Ring 0 a Ring 3), onde o sistema operacional roda com privilégios máximos (Ring 0), enquanto os aplicativos do usuário rodam em níveis inferiores (Ring 3), impedindo acessos não autorizados ao hardware.
  • Suporte a Memória Virtual: O sistema pode mapear a memória física para diferentes espaços de endereçamento lógico, otimizando a alocação de recursos.

Exemplos de Uso

  • Sistemas operacionais modernos como Windows, Linux e macOS.
  • Ambientes que requerem multitarefa eficiente e segurança, como servidores e sistemas empresariais.

Vantagens do Modo Protegido sobre o Modo Real

Característica

Modo Real

Modo Protegido

Acesso à memória

Até 1 MB

Até 4 GB (ou mais com PAE)

Proteção de memória

Não

Sim

Multitarefa

Não

Sim

Segurança

Baixa

Alta

Controle de privilégios

Não

Sim


O avanço dos sistemas operacionais e das arquiteturas de hardware fez com que o Modo Real se tornasse obsoleto para aplicações modernas. O Modo Protegido trouxe melhorias significativas em segurança, gerenciamento de memória e suporte a múltiplos processos, tornando-se o padrão para os sistemas operacionais contemporâneos.


Principais Sistemas Operacionais de Desktop

Atualmente, os sistemas operacionais mais comuns para computadores pessoais são:

Windows

Desenvolvido pela Microsoft, o Windows é amplamente utilizado devido à sua compatibilidade com diversos softwares e sua interface amigável.

  • Vantagens: Suporte a uma vasta gama de hardwares, compatibilidade com muitos aplicativos.
  • Desvantagens: Maior vulnerabilidade a malware, consumo elevado de recursos.

Linux

O Linux é um sistema operacional de código aberto baseado no Unix. Existem diversas distribuições populares, como Ubuntu, Fedora e Debian.

  • Vantagens: Estabilidade, segurança e flexibilidade.
  • Desvantagens: Pode ter uma curva de aprendizado mais acentuada para novos usuários.

macOS

O macOS é o sistema operacional desenvolvido pela Apple para os computadores Mac. Ele é baseado no Unix e é conhecido por sua estabilidade e segurança.

  • Vantagens: Integração com o ecossistema Apple, alta estabilidade.
  • Desvantagens: Restrito a hardwares da Apple, custo elevado.

Referências:

  • VON HAGEN, W. Ubuntu Linux Bible. Wiley, 2020.
  • MICROSOFT. Windows Internals. Pearson, 2019.
  • TANENBAUM, A. S.; BOS, H. Sistemas Operacionais Modernos. 5ª Edição. Pearson, 2024.
  • SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Fundamentos de Sistemas Operacionais. 9ª Edição. LTC, 2019.
  • STALLINGS, W. Operating Systems: Internals and Design Principles. 9ª Edição. Pearson, 2017.
  • DEITEL, M. H.; DEITEL, P. J.; CHOFFNES, D. R. Sistemas Operacionais. 3ª Edição. Pearson, 2005.

Conclusão

O estudo dos sistemas operacionais é essencial para qualquer profissional de TI. Entender como eles funcionam permite otimizar sua utilização e solucionar problemas de forma eficiente. Neste módulo, abordamos os conceitos fundamentais, a evolução histórica, as funções principais e os diferentes tipos de sistemas operacionais.

Recursos Complementares

Click to listen highlighted text!