Você está na página 1de 52

FUNDAMENTOS DE

TI
Profª MSc. Geisla Melo
Tópicos

■ Fundamentos de Sistemas Operacionais


– Definição
– Evolução
– Função
– Tipos e características (classificação, estrutura e componente)
Fundamentos de Sistemas
Operacionais - Definição
■ O sistema operacional é uma camada de software que opera entre o hardware e os
programas aplicativos voltados ao usuário final.
■ O sistema operacional é uma estrutura de software ampla, muitas vezes complexa,
que incorpora aspectos de baixo nível (como drivers de dispositivos e gerência de
memória física) e de alto nível (como programas utilitários e a própria interface
gráfica).
– Software especial que acorda a máquina e faz com que ele reconheça a CPU,
a memória, o teclado, o sistema de vídeo e as unidades de discos
– Oferece ao usuário a facilidade de se comunicar com o computador
Fundamentos de Sistemas
Operacionais - Definição

Figura 1 - Estrutura de um sistema de computação típico. Fonte: MAZIERO, 2011


Fundamentos de Sistemas
Operacionais - Definição

■ Núcleo do mecanismo que faz o computador funcionar


■ Intermediário entre as solicitações dos usuários e dos programas
■ Gerencia e orienta o hardware do computador e as transferências de dados de e
para as unidades de disco
Fundamentos de Sistemas
Operacionais - Definição
■ Objetivos básicos de um SO:
– Abstração de recursos
– Gerência de Recursos
Fundamentos de Sistemas
Operacionais - Definição
■ Abstração de Recursos:
■ Acessar os recursos de hardware de um sistema de computação pode ser uma tarefa complexa,
devido às características específicas de cada dispositivo físico e a complexidade de suas
interfaces. Por exemplo, a sequência a seguir apresenta os principais passos envolvidos na
abertura de um arquivo (operação open) em um leitor de disquete:
– 1. verificar se os parâmetros informados estão corretos (nome do arquivo, identificador do
leitor de disquete, buffer de leitura, etc);
– 2. verificar se o leitor de disquetes está disponível;
– 3. verificar se o leitor contém um disquete;
– 4. ligar o motor do leitor e aguardar atingir a velocidade de rotação correta;
– 5. posicionar a cabeça de leitura sobre a trilha onde está a tabela de diretório;
– 6. ler a tabela de diretório e localizar o arquivo ou subdiretório desejado;
– 7. mover a cabeça de leitura para a posição do bloco inicial do arquivo;
– 8. ler o bloco inicial do arquivo e depositá-lo em um buffer de memória.
Fundamentos de Sistemas
Operacionais - Definição
■ Abstração de Recursos:
■ Assim, o sistema operacional deve definir interfaces abstratas para os recursos do
hardware, visando atender os seguintes objetivos:
■ Prover interfaces de acesso aos dispositivos, mais simples de usar que as interface de
baixo nível, para simplificar a construção de programas aplicativos.
– Ex: Ler arquivos do HD, abstração Arquivo (open, read, close)
■ Tornar os aplicativos independentes do hardware.
– Através da interface abstrata, o SO desacopla o hardware dos softwares.
■ Definir interfaces de acesso homogêneas para dispositivos com tecnologias distintas.
– Através das abstrações, o SO permite aos aplicativos usar a mesma interface para
dispositivos diversos. Ex: um aplicativo acessa dados em disco através de arquivos
e diretórios sem se preocupar com a estrutura real de armazenamento (CD,
pendrive, HD externo...)
Fundamentos de Sistemas
Operacionais - Definição
■ Gerência de Recursos:
■ Em um sistema com várias atividades simultâneas, podem surgir conflitos no uso do
hardware, quando dois ou mais aplicativos precisam dos mesmos recursos para poder
executar. Cabe ao sistema operacional definir políticas para gerenciar o uso dos recursos
de hardware pelos aplicativos, e resolver eventuais disputas e conflitos.
■ Exemplos:
– Processador e Memória RAM: seu uso processador deve ser distribuído entre os
aplicativos do sistema, sem prejudicar os outros;
– A impressora é um recurso cujo acesso deve ser efetuado de forma mutuamente
exclusiva (apenas um aplicativo por vez) - PrintJobs (FIFO);
– Ataques de negação de serviço (DoS – Denial of Service) são comuns na Internet. O
SO do servidor deve detectar tais situações e gerenciar o uso dos recursos.
Fundamentos de Sistemas
Operacionais - Definição
■ QUEM DESENVOLVE SISTEMAS OPERACIONAIS ?

Unix, Linux, MAC OS e Microsoft Windows

Os computadores Apple Macintoch só rodam o sistema operacional da


Apple (Mac OS)
Fundamentos de Sistemas
Operacionais - Definição
■ O QUE É PLATAFORMA?
■ Refere-se a uma combinação de hardware de computador e sistema operacional;
■ A plataforma de microcomputador mais comum compõe-se do sistema operacional
Windows em execução em um PC com processador Intel, muitas vezes chamada de
Wintel;
■ Geralmente, os softwares aplicativos podem ser executados somente em uma
plataforma; são desenvolvidos ou selecionados de acordo com a plataforma;
■ x86, AMD64 (x86-64, x64)
Fundamentos de Sistemas
Operacionais - Definição
■ CARACTERÍSTICAS DESEJÁVEIS DE UM S.O
■ Eficiência:
– Baixo tempo de resposta, pouca ociosidade da UCP e alta taxa de processamento.
■ Confiabilidade
– Pouca incidência de falhas e exatidão dos dados computados.
■ Mantenabilidade
– Facilidade de correção ou incorporação de novas características.
■ Pequena dimensão
– Simplicidade e baixa ocupação da memória;
■ Concorrência
– Capacidade de manutenção de tarefas concorrentes
■ Compartilhamento de recursos
– Gerencia de recursos de hardware e software compartilhados
Fundamentos de Sistemas
Operacionais - Evolução
■ Evolução dos Sistemas Operacionais
Fundamentos de Sistemas
Operacionais - Evolução
■ MS-DOS DOS (Disk Operating System)
■ Usa uma interface de linha de comando:
– A tela apresenta prompt ao usuário
– C:\ que aparece na tela quando o computador é iniciado, refere-se à unidade
de disco
– > é o prompt, um símbolo que indica que o sistema está à espera de alguma
instrução
■ O usuário digita comandos
■ Amplamente substituído pelas interfaces gráficas Não é amigável (user-friendly)
Fundamentos de Sistemas
Operacionais - Evolução
■ MS DOS
Fundamentos de Sistemas
Operacionais - Evolução
■ MICROSOFT WINDOWS
– Padrão de ambiente operacional para computadores com processadores Intel;
– Iniciou-se como um ambiente operacional para o MSDOS e não era um
sistema operacional completo;
– Agora é uma família completa de sistemas operacionais;
– Usa uma interface gráfica colorida que facilita o acesso ao sistema
operacional;
– Os usuários podem usar os comandos e a
interface do DOS;
Fundamentos de Sistemas
Operacionais - Evolução
■ Versões anteriores do Windows, culminando no
Windows 3.1 eram shells do MS-DOS
■ Uma camada adicionada “por cima” do DOS separa o
sistema operacional do usuário;
■ Torna o sistema operacional WINDOWS 3.X Torna o
sistema operacional mais fácil de usar;
Fundamentos de Sistemas
Operacionais - Evolução
■ WINDOWS 95
– Sistema multitarefas compatível com o MS-DOS e versões do MS-Windows 3.x
– Tornou-se um sistema operacional independente
– Object Linking and Embedding (OLE): Permite ao usuário incorporar ou
vincular um documento em outro
– Interface gráfica (GUI)
– Usa menus para ativar comandos;
– Nomes de arquivos extensos (255 caracteres)
Fundamentos de Sistemas
Operacionais - Evolução
■ WINDOWS 98
– Atende ao mercado de consumidores domésticos;
– Capacidade para navegação na Internet e Intranet
(Internet Explorer);
– Suporte para hardware de última geração,
inclusive DVD e multimídia;
– Suporte para unidades de disco de grande
capacidade;
– Assistente de instalação: software passo a passo
para instalar, configurar e usar software;
Fundamentos de Sistemas
Operacionais - Evolução
■ WINDOWS ME
– Suporte para multimídia: Windows Media
Player (controles de bancos de dados de
música) e Windows Movie Maker (edição de
vídeo)
– Maiores recursos de confiabilidade
– Suporte para redes domésticas;
– Recurso de Restauração do Sistema;
– Último sistema operacional Microsoft
baseado no kernel do Windows 95;
Fundamentos de Sistemas
Operacionais - Evolução
■ WINDOWS NT
– NT = New Technology
– Sistema cliente (Workstation), com uma interface
similar à do MS-Windows 98, passível de
conexão com o MS-Windows NT Server
– A versão 4.0 tem exatamente a mesma
aparência do Windows 98; porém é bem mais
robusto internamente
– Destina-se a ambientes corporativos, ligados em
rede;
– Projetado para garantir estabilidade e recursos
de segurança mais sólidos;
Fundamentos de Sistemas
Operacionais - Evolução
■ WINDOWS 2000
– Windows NT 5.0: última geração do Windows NT;
– Desenvolvido para substituir o Windows 95, 98 e NT Workstation em desktops e
laptops
– Um computador servidor para muitos usuários: a partir da identificação, o sistema
recupera as preferências, área de trabalho e arquivos;
– Suporte à computação móvel e a produtos avançados sem fio e de rede, com
dispositivos de infravermelho
– Versões:
■ Windows 2000 Professional para usuários independentes
■ Windows 2000 Server para redes comerciais
■ Windows 2000 Server Advanced para aplicação de e-commerce
■ Windows 2000 Datacenter para rede de grande escala
Fundamentos de Sistemas
Operacionais - Evolução
■ WINDOWS XP
– Reúne, em um único produto, versões corporativa e doméstica:
■ XP Home Edition (versão doméstica)
■ Windows XP Professional (versão corporativa)
■ XP 64-Bit Edition (processadores Intel Itanium 64 bits)
– Melhor interface com o usuário: área de trabalho mais clara e desobstruída; mais
ícones no menu Iniciar redesenhado;
– Mais personalização;
– Suporte para mídia digital: música em MP3, câmera fotográfica e videocâmera
digital;
– Sistema de encriptação de arquivos;
– Suporte para múltiplos usuários;
– Suporte e proteção para a Internet;
– Suporte para rede sem fio;
Fundamentos de Sistemas
Operacionais - Evolução
■ WINDOWS 2003 SERVER
– Uma atualização do Windows 2000 Server
– Tem quatro diferentes versões desenvolvidas para diferentes níveis de
complexidade de rede
– Além de contar com toda a funcionalidade do Windows server 2000, também
oferece suporte a plataforma .NET da Microsoft
Fundamentos de Sistemas
Operacionais - Evolução
Fundamentos de Sistemas
Operacionais - Evolução
■ MAC OS
– Projetado para o computador Macintosh
Apple;
– Primeira GUI bem-sucedida
comercialmente;
– Serviu como modelo para o Windows e
outros produtos com interface gráfica
desenvolvidos a partir de então;
– “O Mac OS X é o sistema operacional
mais avançado do mundo. Uma base
sólida UNIX e arquitetura simples e
intuitiva fazem o Mac ser tão inovador
como altamente seguro, compatível e
fácil de usar. Tão simples que não há
nenhum outro igual a ele.”
Fundamentos de Sistemas
Operacionais - Evolução
■ UNIX
– Sistema baseado em caracteres com interface de linha de comando, embora
diversas interfaces gráficas estejam disponíveis;
– Não é ligado a nenhuma família de processadores;
– Roda praticamente em qualquer tipo de sistema (PC, mainframe, estação de
trabalho), de qualquer fabricante;
– Principal sistema operacional em uso em servidores de Internet;
– Nenhuma empresa controla o UNIX e diversas versões estão disponíveis: SysV
(AT&T), BSD (Berkeley), Solaris (Sun), IRIX (SGI), AIX (IBM), Linux (software
gratuito);
Fundamentos de Sistemas
Operacionais - Evolução
■ LINUX
– Uma das implementações do UNIX;
– Desenvolvido por Linus Torvalds e disponibilizado para o público em 1991;
– Possibilidade de instalação em um PC, no qual tenha sido instalado outro sistema operacional
(dual boot);
– Mais estável do que o Windows;
– Usa interface de linha de comando ou GUI;
– Muitas companhias criaram uma interface gráfica (distribuição); Conceito de software aberto:
código-fonte é livre e os usuários podem modificar e distribuir o software
Fundamentos de Sistemas
Operacionais - Funções
■ Gerenciamento da Memória
■ Gestão do sistema de armazenamento e de arquivos
■ Gestão e configuração de dispositivos
■ Gestão e suporte a outros programas
■ Interface com o usuário
■ Programação de tarefas
■ Gestão de Proteção
Fundamentos de Sistemas
Operacionais - Funções
■ Gerenciamento de Memória
■ Processo de particionamento e alocação da memória para os programas e de
mantê-los separados um do outro na memória
■ Particionamento da Memória: cada partição contém um programa
■ Primeiro Plano e Segundo Plano: alocam programas de alta prioridade no primeiro
plano (receberão mais tempo de CPU)
■ Armazenamento Virtual: utilização de memória virtual
■ Proteção da Memória: definição dos limites de cada programa na memória, usado
em multiprogramação
Fundamentos de Sistemas
Operacionais - Funções
■ Gerenciamento de Memória
■ Memória Virtual
– O sistema operacional aloca um espaço em um meio de armazenamento
(usualmente o disco rígido) para atuar como memória principal adicional
Fundamentos de Sistemas
Operacionais - Funções
■ Gestão do Sistema de
Armazenamento e de Arquivos
■ Armazena arquivos em uma
estrutura hierárquica de
diretórios

■ Formatação de Discos: Processo


de preparação de um disco para
leitura e escrita (gravação).
Fundamentos de Sistemas
Operacionais - Funções
■ Gestão e Configuração de Dispositivos
■ Driver de Dispositivo:
– Programa que possibilita a comunicação do sistema operacional com um
dispositivo de E/S
– Cada dispositivo requer um driver próprio (software de controle)
Fundamentos de Sistemas
Operacionais - Funções
■ Gestão e Configuração de Dispositivos
■ Plug and Play:
– Reconhecimento de novos dispositivos pelo computador, instalação automática de drivers
para esses dispositivos e verificação de conflitos com outros dispositivos;
– Suportado Suportado pela maioria maioria dos dispositivos dispositivos e sistemas sistemas
operacionais atuais;
■ Como funciona?
– Quando se conecta e liga um sistema Plug’n Play, o principal árbitro entre o software e o
hardware, o BIOS (sistema básico de entrada e saída), é o primeiro componente a assumir o
controle;
– Com base em identificadores identificadores (códigos (códigos permanentemente
permanentemente gravados na ROM), o BIOS reconhece os dispositivos instalados;
– O sistema operacional assume o controle dos dispositivos;
Fundamentos de Sistemas
Operacionais - Funções
■ Gestão e Suporte a Outros Programas
■ Os programas geralmente possuem uma
interface própria com o usuário;
■ Assumem o controle da tela, teclado e mouse;
■ Precisam usar o kernel para se comunicarem
com dispositivos de E/S, memória, unidades de
discos e outros dispositivos do computador;
Fundamentos de Sistemas
Operacionais - Funções
■ Interface com o Usuário
■ Controle do modo de entrada de dados e do modo de apresentação das
informações na tela do monitor
Fundamentos de Sistemas
Operacionais - Funções
■ Programação de Tarefas
■ Ambiente Multitarefas:
Usuário trabalha ao
mesmo tempo com duas
ou mais aplicações
residentes na memória
Fundamentos de Sistemas
Operacionais - Funções
■ Gestão de Proteção
■ Computadores conectados em rede e compartilhados por vários usuários: definir os
recursos que cada usuário pode acessar, as formas de acesso permitidas (leitura,
escrita, etc) e garantir que essas definições sejam cumpridas.
■ Para proteger os recursos do sistema contra acessos indevidos, é necessário:
– a) definir usuários e grupos de usuários;
– b) identificar os usuários que se conectam ao sistema, através de procedimentos
de autenticação;
– c) definir e aplicar regras de controle de acesso aos recursos, relacionando todos
os usuários, recursos e formas de acesso e aplicando essas regras através de
procedimentos de autorização; e finalmente
– d) registrar o uso dos recursos pelos usuários, para fins de auditoria e
contabilização.
Fundamentos de Sistemas
Operacionais - Funções
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Tipos de Sistemas Operacionais:
– Batch (de lote)
– De rede
– Distribuído
– Multi-usuário
– Desktop
– Servidor
– Embutido
– Tempo real
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Batch (de lote)
– Os sistemas operacionais mais antigos trabalhavam “por lote”, ou seja, todos
os programas a executar eram colocados em uma fila, com seus dados e
demais informações para a execução. O processador recebia os programas e
os processava sem interagir com os usuários, o que permitia um alto grau de
utilização do sistema.
– Atualmente, este conceito se aplica a sistemas que processam tarefas sem
interação direta com os usuários, como os sistemas de processamento de
transações em bancos de dados.
– Além disso, o termo “em lote” também é usado para designar um conjunto de
comandos que deve ser executado em sequência, sem interferência do
usuário. Exemplos desses sistemas incluem o OS/360 e VMS, entre outros.
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ De rede:
– Um sistema operacional de rede deve possuir suporte à operação em rede, ou
seja, a capacidade de oferecer às aplicações locais recursos que estejam
localizados em outros computadores da rede, como arquivos e impressoras.
Ele também deve disponibilizar seus recursos locais aos demais
computadores, de forma controlada.
– A maioria dos sistemas operacionais atuais oferece esse tipo de
funcionalidade.
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Distribuído:
– Em um sistema operacional distribuído, os recursos de cada máquina estão
disponíveis globalmente, de forma transparente aos usuários. Ao lançar uma
aplicação, o usuário interage com sua janela, mas não sabe onde ela está
executando ou armazenando seus arquivos: o sistema é quem decide, de
forma transparente.
– Os sistemas operacionais distribuídos já existem há tempos (Amoeba
[Tanenbaum et al., 1991] e Clouds [Dasgupta et al., 1991], por exemplo), mas
ainda não são uma realidade de mercado.
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Multi-usuário:
– Um sistema operacional multi-usuário deve suportar a identificação do “dono”
de cada recurso dentro do sistema (arquivos, processos, áreas de memória,
conexões de rede) e impor regras de controle de acesso para impedir o uso
desses recursos por usuários não autorizados.
– Essa funcionalidade é fundamental para a segurança dos sistemas
operacionais de rede e distribuídos. Grande parte dos sistemas atuais são
multi-usuários.
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Desktop:
– Um sistema operacional “de mesa” é voltado ao atendimento do usuário
doméstico e corporativo para a realização de atividades corriqueiras, como
edição de textos e gráficos, navegação na Internet e reprodução de mídias
simples.
– Sua principais características são a interface gráfica, o suporte à
interatividade e a operação em rede.
– Exemplos de sistemas desktop são o Windows XP, MacOS X e Linux.
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Servidor:
– Um sistema operacional servidor deve permitir a gestão eficiente de grandes
quantidades de recursos (disco, memória, processadores), impondo
prioridades e limites sobre o uso dos recursos pelos usuários e seus
aplicativos.
– Normalmente um sistema operacional servidor também tem suporte a rede e
multi-usuários.
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Embutido:
– Um sistema operacional é dito embutido (embedded) quando é construído
para operar sobre um hardware com poucos recursos de processamento,
armazenamento e energia. Aplicações típicas desse tipo de sistema aparecem
em telefones celulares, controladores industriais e automotivos, equipamentos
eletrônicos de uso doméstico (leitores de DVD, TVs, fornos-micro-ondas,
centrais de alarme, etc.).
– Muitas vezes um sistema operacional embutido se apresenta na forma de
uma biblioteca a ser ligada ao programa da aplicação (que é fixa).
– Exemplos de sistemas operacionais embutidos são o µC/OS, Xylinx, LynxOS e
VxWorks.
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Tempo real:
– Ao contrário da concepção usual, um sistema operacional de tempo real não precisa ser
necessariamente ultra-rápido; sua característica essencial é ter um comportamento
temporal previsível (ou seja, seu tempo de resposta deve ser conhecido no melhor e pior
caso de operação).
– A estrutura interna de um sistema operacional de tempo real deve ser construída de forma a
minimizar esperas e latências imprevisíveis, como tempos de acesso a disco e
sincronizações excessivas.
– Existem duas classificações de sistemas de tempo real:
■ soft real-time systems, nos quais a perda de prazos implica na degradação do serviço prestado. Um
exemplo seria o suporte à gravação de CDs ou à reprodução de músicas. Caso o sistema se atrase,
pode ocorrer a perda da mídia em gravação ou falhas na música que está sendo tocada.
■ Por outro lado, nos hard real-time systems a perda de prazos pelo sistema pode perturbar o objeto
controlado, com graves conseqüências humanas, econômicas ou ambientais. Exemplos desse tipo
de sistema seriam o controle de funcionamento de uma turbina de avião a jato ou de uma caldeira
industrial.
– Exemplos de sistemas de tempo real incluem o QNX, RT-Linux e VxWorks. Muitos sistemas
embutidos têm características de tempo real, e vice-versa.
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Estrutura de um SO
■ Um sistema operacional não é um
bloco único e fechado de software
executando sobre o hardware. Na
verdade, ele é composto de diversos
componentes com objetivos e
funcionalidades complementares.
Alguns dos componentes mais
relevantes de um sistema
operacional típico são:
– Núcleo
– Drivers
– Código de Inicialização
– Programas Utilitários
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Componentes de um SO
■ Kernel: Núcleo do sistema operacional.
Sempre permanece na memória do computador
(residente). Contém o código de baixo nível que
se comunica com o hardware: gerencia a memória
e os dispositivos, mantém o clock do computador, inicializa aplicativos, gerencia o
compartilhamento de recursos computacionais.

■ Shell: Casca do sistema operacional (ambiente operacional).


É substituído a cada execução de um programa, Assume o controle do programa, recebe a
inserções do usuário, interpreta-as e atua sobre elas.
Metáfora da Semente: As funções centrais de um SO são controladas pelo Kernel (núcleo),
enquanto a interface com o usuário é controlada pelo Shell (casca)
Fundamentos de Sistemas
Operacionais – Tipos e Características
■ Arquiteturas de Sistemas Operacionais
■ Pesquise sobre:
– Sistemas monolíticos
– Sistemas em camadas
– Sistemas micro-núcleo
– Modelo Cliente-Servidor
– Máquinas Virtuais
■ Faça um trabalho explicando sobre cada arquitetura.
Referências

Sistemas Operacionais I - Conceitos Básicos, C. A. Maziero, 2011


Sistemas Operacionais Modernos, 2a ed. Tanenbaum, Ed. Pearson, 2003.
Operating system concepts. 7. ed. Silberschatz, Galvin & Gane. Wiley, 2005.
https://www.inesul.edu.br/professor/arquivos_alunos/doc_1267560209.pdf
http://www.san.uri.br/~pbetencourt/II/SO.PDF
http://informaticabasica.wdfiles.com/local--files/class:sub-inf/SO.pdf

Você também pode gostar