Vous êtes sur la page 1sur 66

Sistemas Operacionais

Prof. MSc. Jos Hermano Cavalcanti Filho

jose.cavalcanti@ifpb.edu.br

http://www.josehermano.c
om
O que um Sistema Operacional?

a interface de comunicao entre o usurio e o hardware.

Funes bsicas de um SO:


Gerenciar o uso da CPU (processador);
Gerenciar o uso da memria principal (RAM);
Gerenciar o armazenamento de dados (discos);
Gerenciar os dispositivos de entrada e sada (E/S);
Interpretar comandos (CLI e GUI).

Outras funes:
Controle de acesso;
Gerncia de contabilizao.
Funes Genricas do Sistema Operacional

Interface para o hardware:


Abstrata;
Simples;
Programadores usam;
Lidar com diferentes tipos de hardware;

Gerenciador de recursos:
Garantir acesso concorrente;
Evitar acessos indevidos;
Evitar que programas de usurios danifiquem o sistema;
Alocar recursos de maneira justa;
Histria dos Sistemas Operacionais

Dcada de 40:

Maioria dos computadores da poca no usavam um


sistema operacional;

Executavam apenas uma tarefa de cada vez (Monotarefa);

Computadores ocupavam uma sala, ou andar inteiros;

A tecnologia base eram as vlvulas;


Histria dos Sistemas Operacionais

Dcada de 50-60:

Surgem os primeiros computadores usando transistor;

Os computadores da poca ocupavam grandes armrios e


eram mantidos longe do usurio;

Os chamados mainframes eram acessados por um terminal


distante;

Exigiam que operadores trocassem manualmente as fitas


que continham os dados e programas;

Surgia o conceito de execuo batch;


Histria dos Sistemas Operacionais

Dcada de 65-80:

Uso intensivo de Circuitos Integrados;

Computadores diminuem de tamanho;

Surge o conceito multitarefa;

Surge o conceito timesharing para aproveitar melhor a CPU;

Surge o MULTICS que viria a dar origem ao UNIX;


Histria dos Sistemas Operacionais

Dcada de 80-2000:

Surgem os PC Computadores Pessoais;

Nascimento das gigantes Microsoft e Apple;

Interface grfica vira a norma;

Movimento de downsizing (Mainframes -> PCs);

Domina o mercado a arquitetura x86 (32 bits);


Histria dos Sistemas Operacionais

Era Ps-PC:

Virtualizao;

Armazenamento na nuvem (cloud);

WebServices;

Cada vez mais o usurio final volta-se para servios online


consumidos usando sistemas operacionais de tablets e
celulares;
Histria dos Sistemas Operacionais

Vdeo:

Evoluo dos Sistemas Operacionais (8minutos)


Conceitos de Hardware e Software

Um Sistema Operacional est intimamente ligado ao


hardware do computador no qual ele executado;

O SO estende o conjunto de instrues do computador e


gerencia seus recursos;
Conceitos de Hardware e Software

Arquitetura de Von Neumann (1946):

Unidade Lgica-Aritmtica (ULA);

Unidade de Controle (UC);

Entrada e Sada;

Criada em 1945;

Memria;
Conceitos de Hardware e Software

Processadores;

Memria;

Discos;

Fitas;

Dispositivos de E/S;

Barramentos;

Inicializando o computador;
Conceitos de Hardware e Software

Processador:

o crebro do computador;

Busca instrues na memria e as executa;

Possui um conjunto de registradores para armazenamento


de variveis importantes e de resultados temporrios;

Ciclo Bsico:
Buscar a Primeira Instruo;
Decodific-la;
Qual operao executar?;
Execut-la;
Buscar a Prxima Instruo;
Conceitos de Hardware e Software

Processador:

Execuo de uma instruo:


Conceitos de Hardware e Software

Processador:

Modo Usurio/Protegido:

Tem instrues limitadas;


mais seguro para aplicaes gerais;

Modo Supervisor/Kernel:

Pode executar qualquer instruo;


Acesso total ao hardware do computador;
Aqui onde est o SO;
Conceitos de Hardware e Software

Memria:

Segundo principal componente;

Utilizada para armazenar instrues e dados;

Construda em um sistema de hierarquia de camadas;

A camada superior tem maior velocidade e menor


capacidade;

A camada inferior tem menor velocidade e maior capacidade;

Ex.: Registradores, Cache, Memria Principal, Flash e Disco;


Conceitos de Hardware e Software

Memria:
Conceitos de Hardware e Software

Discos:

Utilizados para armazenamento de grandes quantidades de


dados;

Dispositivo mecnico, o que torna o seu acesso mais lento;

Consiste em um ou mais pratos metlicos que rodam a


5.400, 7.200 ou 10.800 rpm;
Conceitos de Hardware e Software

Discos:
Conceitos de Hardware e Software

Discos:

A Trilha;

B Setor Geomtrico;

C Setor da Trilha;

D Unidade de Alocao;
Conceitos de Hardware e Software

Fitas:

Muito utilizadas para cpia de segurana (backup);

Abriga grandes quantidades de dados;

percorrida sequencialmente;

Tem o custo muito baixo;

Tempo de acesso muito lento;


Conceitos de Hardware e Software

Fitas:
Conceitos de Hardware e Software

Dispositivos E/S:

So os demais recursos computacionais;

Compostos de:

Controladora;
Dispositivo;

Utilizam o driver de dispositivo para se comunicar com o SO;

Ex.: Impressoras
Conceitos de Hardware e Software

Dispositivos E/S:

Aplicao do Usurio

Ncleo do Sistema Operacional

Controladora A Controladora B

Dispositivo A Dispositivo B
Conceitos de Hardware e Software

Barramento:

Possibilita a comunicao entre os dispositivos


computacionais;

Principal funo a interconexo de componentes;

Ex.: ISA, PCI, USB, SCSI;


Conceitos de Hardware e Software

Barramento:
Conceitos de Hardware e Software

Inicializando o Computador:

O programa BIOS (Basic Input Output System) conta com


rotinas de E/S de baixo nvel, para ler teclado, escrever na
tela, realizar E/S no disco etc;

Verifica quanta memria RAM est instalada;

Se o teclado e outros dispositivos esto instalados;

Varre todos os barramentos em buscas de dispositivos;

Determina o dispositivo de inicializao;


Conceitos de Hardware e Software

Inicializando o Computador:
Conceitos de Hardware e Software

Um desktop atual:
Conceitos de Hardware e Software

Programando um computador:

Linguagens de programao;

Compiladores;

Montadores (assembler);

Ligadores (linker);

Carregador (loader);
Conceitos de Hardware e Software

Programando um computador:
Tipos de Sistemas Operacionais

SO de Computadores de Grande Porte;

SO de Servidores;

SO de PCs;

SO Mveis;

SO Embarcados;

Outros;
Tipos de Sistemas Operacionais

Computadores de Grande Porte:

Orientados para o processamento simultneo de muitas


tarefas;

Oferecem trs tipos de servios:

Em lote (batch) processa tarefas sem a presena


interativa do usurio. Ex.: relatrio de vendas;
Processamento de transaes administram grande
quantidade de pequenas requisies. Ex.: reserva de
passagens reas;
Tempo compartilhado permite que mltiplos usurios
remotos executem suas tarefas simultaneamente no
computador. Ex.: consultas a um banco de dados;

Ex.: OS/390
Tipos de Sistemas Operacionais

Servidores:

So executados em servidores, que so computadores


pessoais muito grandes, em estaes de trabalho ou at
mesmo em computadores de grande porte;

Servem mltiplos usurios de uma vez;

Permite compartilhar recursos de hardware e software;

Fornecem servios de impresso, de arquivos ou de web;

Ex.: Solaris, FreeBSD, Linux e Windows Server


Tipos de Sistemas Operacionais

Computadores Pessoais:

Oferece uma boa interface para um nico usurio;

So amplamente utilizados para processadores de texto,


planilhas e acesso internet;

Ex.: Linux, Windows, OS X;


Tipos de Sistemas Operacionais

Computadores Portteis:

Esto cada vez mais sofisticados;

Oferecem capacidade de manipular telefonia, fotografia


digital e outras funes;

Uma diferena importante ausncia de discos rgidos;

Ex.: Android, IOS e Windows Phone


Tipos de Sistemas Operacionais

Embarcado:

So executados em computadores que controlam


dispositivos que geralmente no so considerados
computadores e que no aceitam softwares instalados por
usurios;

Certeza que nenhum software no confivel jamais ser


executado nele;

Ex.: TV, carros, avies, DVD, etc;


Tipos de Sistemas Operacionais

Outros:

SO de Multiprocessadores:
Conecta mltiplas CPUs em um nico sistema.
Ex.: Realizao de Clculos de Simulao;

SO de Ns Sensores:
Utilizados em redes de monitoramento.
Ex.: Monitoramento de plantaes;

SO de Tempo Real:
Tem o tempo como parmetro fundamental.
Ex.: Fbrica de Carro;

SO de Cartes Inteligentes (smart card):


Voltados para uma nica funo.
Ex. Pagamentos com carto de crdito;
Conceitos sobre Sistemas Operacionais

Processos;

Espaos de endereamento;

Arquivos;

Entrada e sada;

Segurana;

Interface;

Chamada de Sistema;
Conceitos sobre Sistemas Operacionais

Processo:

Um programa em execuo;

Tem associado a si um conjunto de informaes sobre os


recursos que este tem direito:

Espao de endereos de memria;


Arquivos abertos;
Registradores;

Armazena todos os dados sobre um programa ativo;


Conceitos sobre Sistemas Operacionais

Processo:

Todo SO tem seus processos internos e processos de


usurios;

Todo processo tem um nmero identificador chamado PID


(Process Identification);

Os processos internos so executados pelo kernel do SO;

O mecanismo mais comum para criar processos em um SO


multitarefa a criao de processos-filho a partir de um
processo-pai;
Conceitos sobre Sistemas Operacionais

Espao de endereos:

o conjunto de endereos de memria que este computador


capaz de acessar;

Comumente o espao de endereamento maior que a


quantidade de memria real de armazenamento;

H tcnicas para resolver esta questo:

Paginao e suas variaes;

Memria virtual;
Conceitos sobre Sistemas Operacionais

Sistemas de Arquivos:

O usurio est acostumado ao uso de arquivos no dia-a-dia;

Esta abstrao muito til para o usurio final como tambm


para os processos do sistema;

Dispositivos de armazenamento so complexos e diferentes


em seus tempos de acesso e mtodos de acesso;

Um sistema de arquivos permite abstrair todos esses


detalhes;
Conceitos sobre Sistemas Operacionais

Sistemas de Arquivos:

Acesso a arquivos no SO comumente realizado atravs de


chamadas de sistema (system call):

Exemplos: read(), open(), write();

So comumente organizados em uma hierarquia;

Pastas contendo arquivos e outras pastas;

H uma preocupao com permisses de acesso e acesso


simultneo de arquivos;
Conceitos sobre Sistemas Operacionais

Sistemas de Arquivos:

Arquivos comumente tem um caminho (path) de onde esto


armazenados:

Exemplos: /home/aluno/capitulo1.txt

Exemplos:

NTFS Sistema de arquivos do Windows;


EXT4 Sistema de arquivos padro no Linux;
ReFS Novo sistema de arquivos do Windows;
YAFFS Yet Another Flash File System;
HFS Sistemas de arquivos do OS X;
Conceitos sobre Sistemas Operacionais

Entrada e Sada (E/S):

Grande parte do que o computador faz ler dados de


entrada e escrever dados em uma sada;

Essas atividades so gerenciadas pelo SO usando as


bibliotecas de E/S;

H muitas questes que precisam ser tratadas pelo sistema


de I/O (input/output):

Velocidades dos dispositivos;


Mtodo de acesso;
Concorrncia de acesso;
Proteo do hardware;
Conceitos sobre Sistemas Operacionais

Segurana:

Cabe ao SO gerenciar o sistema de segurana para que os


arquivos, por exemplo, sejam acessveis apenas por
usurios autorizados;

Proteger o sistema contra intrusos indesejveis, humanos ou


no (por exemplo, vrus);

Ex.: Login, firewall


Conceitos sobre Sistemas Operacionais

Interface:

Hoje a maioria dos sistemas operacionais de usurio final


inclui uma interface com o usurio;

Essa interface pode ser:


Grfica (GUI Graphic User Interface);
Modo texto (CLI Command Line Interface);
Conceitos sobre Sistemas Operacionais

Interface:

H outras maneiras de interagir com um SO;

Exemplos so as interrupes de hardware;

SO que cuidam de sistemas robticos podem ter interfaces


apenas com sensores instalados no equipamento;
Conceitos sobre Sistemas Operacionais

Chamadas de Sistema (system call):

So funes do SO acessveis pelos processos de usurio;

Funcionam como chamada a funes comuns de qualquer


biblioteca;

Porm so executadas pelo Kernel do SO e normalmente


exigem estar em modo Kernel para tal;

Exemplos:

fork() cria um novo processo;


mkdir() cria uma pasta no FS;
Estrutura de Sistemas Operacionais

H vrias maneiras de se organizar um SO;

Cada modelo tem um conjunto de vantagens e desvantagens


e preciso compreender estas diferenas;

Esta uma deciso de projeto do SO mas que influenciar


na maneira como processos e recursos so tratados;
Estrutura de Sistemas Operacionais

Tipos de estruturas de SO:

Sistemas monolticos;

Sistemas de camadas;

Microncleo;

Modelo cliente-servidor;

Mquinas virtuais;

Exoncleo;
Estrutura de Sistemas Operacionais

Sistemas monolticos:

O modelo mais comum para a construo de um kernel;

Todo o cdigo de kernel executado como um nico


programa;

Essa organizao pode tornar o cdigo que executa em


modo kernel muito longo e passvel de mais erros;

Como tem menos camadas este tipo pode ser mais eficiente;
Estrutura de Sistemas Operacionais

Sistemas monolticos:
Estrutura de Sistemas Operacionais

Sistemas de camadas:

Uma generalizao do SO monoltico;

A ideia separar as funes do SO em vrias camadas;

Usado no sistema THE de 1968;

Permite uma separao/segurana maior;


Estrutura de Sistemas Operacionais

Sistemas de camadas:

Sistema Operacional THE


Estrutura de Sistemas Operacionais

Microkernels (Microncleo):

Estratgia inversa do kernel monoltico;

O objetivo aqui ter mnimo de software executando em


modo kernel;

Retirando a maioria dos servios do kernel e colocando-os


como aplicaes;

O principal problema desta abordagem a quantidade de


chamadas de sistema e trocas de contexto necessrias para
executar algumas tarefas;

Exemplos: Symbian, Minix, QNX;


Estrutura de Sistemas Operacionais

Microkernels (Microncleo):

Estrutura do Sistema MINIX 3;


Estrutura de Sistemas Operacionais

Cliente-Servidor:

uma variao do modelo microkernel;

Cada processo um servidor ou um cliente;

A comunicao entre processos feita atravs de


mensagens;

uma boa estratgia para computao distribuda como em


clusters;
Estrutura de Sistemas Operacionais

Cliente-Servidor:

Modelo cliente-servidor em uma rede;


Estrutura de Sistemas Operacionais

Mquinas Virtuais:

O conceito existe h muitas dcadas;

A ideia que h um monitor de mquinas virtuais e cada


processo receber uma mquina virtual com recursos
limitados pelo monitor;

A ideia de virtualizao hoje mudou no sentido de que as


mquinas virtuais executam cada uma o seu prprio SO
compartilhando recursos;

Surge o conceito de hypervisor: software responsvel pela


gerncia das VMs;
Estrutura de Sistemas Operacionais

Mquinas Virtuais:

Tipos de hypervisor:
Estrutura de Sistemas Operacionais

Mquinas Virtuais:

A JVM Java Virtual Machine foi a estratgia criada pela


SUN para que sua nova linguagem de programao pudesse
executar em qualquer sistema;

uma mquina capaz de interpretar um cdigo intermedirio


e execut-lo em um sistema host qualquer;

Permite ainda que se isole aplicaes JAVA de outros


processos em execuo;
Estrutura de Sistemas Operacionais

Exokernels (Exoncleo):

Estratgia para separao de recursos do sistema;

Ao invs de solicitar que um hypervisor traduza todas as


chamadas de SO para os SO convidados, dividem o sistema
em parties e os sistemas operacionais acima que cuidam
do acesso a estes dispositivos fsicos;

O principal papel do exokernel garantir que os processos


no acessem recursos que no lhe pertencem;

Ex.: Separar uma parte fsica do disco para cada mquina


virtual;
Atividade

Descreva a diferena entre kernel Monoltico, Microkernel e


Exokernel;

Trocar o sistema de arquivos de um SO pode impactar sua


performance? Por que?

Defina processo;

O que so system calls? Por que os processos devem us-


las para acessar o hardware?

Enviar para: jose.cavalcanti@ifpb.edu.br


Obrigado!

Sistemas Operacionais
Prof. MSc. Jos Hermano Cavalcanti Filho

jose.cavalcanti@ifpb.edu.br

http://www.ifpb.edu.br

Vous aimerez peut-être aussi