Buscar

Sistema Operacional I - Apresentação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 74 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 74 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 74 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Visão Geral: Estruturas do Sistema Operacional
Sistemas Operacionais	I
Prof. Rainer Rodrigo de Castro Rodrigues
E-mail: rainercastro25@gmail.com
Centro Profissionalizante Dom Aristides Pirovano
Introdução
Primeiros computadores
Programação complexa
Exigia grande conhecimento do hardware e de linguagem de máquina
Solução:
Sistemas Operacionais
Encapsulamento das interfaces de Hw
Interação se tornou mais fácil, confiável e eficiente.
Aplicações
Define o modo que o recursos do sistema serão utilizados para resolver os problemas computacionais dos usuários
Compiladores, B.D., jogos, programas comerciais.
Usuários
Utilizadores do sistema computacional
Pessoas, maquinas,	outros computadores.
Componentes de um Computador
Componentes de um Computador
Hardware
Recursos básicos de computação
Três subsistemas básicos:
Unidade Central de Processamento;
Memória principal;
Dispositivos de entrada e saída.
Componentes de um Computador
Sistemas Operacionais
6
USUÁRIOS
SISTEMA OPERACIONAL
HARDWARE
Introdução
□		Representação	da	área	de	atuação	do	SO	em	um sistema computacional.
Introdução
□		Representação	da	área	de	atuação	do	SO	em	um sistema computacional.
Introdução
□		Representação	da	área	de	atuação	do	SO	em	um sistema computacional.
Definições
O que é um S istema Operacional?
Quais os objetivos de um Sistema Operacional?
A maioria de usuários de computador têm alguma experiência com sistemas operacionais, mas é difícil definir precisamente o que é um sistema operacional. 
Parte do problema decorre do fato do sistema operacional realizar duas funções básicas que, dependendo do ponto de vista abordado, uma se destaca sobre a outra. Estas funções são descritas a seguir.
O que é um Sistema Operacional?
 O Sistema Operacional como uma Máquina Virtual
 O Sistema Operacional como um Gerenciador de Recursos
O que é um Sistema Operacional?
Programa especial que atua de forma intermediaria entre um usuário e os componentes de um computador.
Quais os objetivos de um SO?
Possibilitar o uso eficiente e controlado dos diversos componentes de hardware do computador.
Implementar políticas e estruturas de software de modo a assegurar um melhor desempenho do sistema de computação como um todo.
Definições
Objetivos do Sistema Operacional
Disponibilizar os recursos do sistema de forma simples e transparente.
Gerenciar de forma eficiente a utilização dos recursos.
Garantir a integridade e a segurança dos dados armazenados e processados no sistema, além dos seus recursos físicos.
Proporcionar uma interface adequada para os usuários utilizarem os recursos do sistema.
Existem responsabilidades?
Transparência
Simplificação
Gerência
Compartilhamento
Otimização
Encapsulamento
Esconder Detalhes
Definições
□	Segundo Francis Machado e Luiz Paulo Maia
“ O Sistema Operacional tem por objetivo funcionar como uma interface entre o usuário e o computador, tornando sua utilização mais simples, rápida e segura”.
Definições
□	Segundo Andrew S Tanenbaum
“ O Sistema Operacional realizam basicamente duas funções não relacionadas: fornecer aos programadores de aplicativos (e aos programas aplicativos naturalmente) um conjunto de recursos abstratos claros em vez de recursos confusos de Hardware e gerenciar esses recursos de Hardware”.
□	Segundo Silberschatz,	Galvin e Gagne
“...	é	um	programa	que	atua	como	intermediário	entre	o usuário e o hardware de um computador.”
“...	deve	propiciar	um	ambiente	no	qual	o	usuário	possa executar programas de forma conveniente e eficiente”.
Definições
S is tem as Operac ion ais
Características desejadas
Concorrência
Existência de várias atividades ocorrendo paralelamente.
Ex:	execução	simultânea	de	“jobs”,	E/S	paralela	ao processamento.
Compartilhamento
Uso coordenado e compartilhado de recursos de Hardware e Software.
Motivação:	custo	de	equipamentos,	reutilização	de programas,redução de redundâncias, etc.
Armazenamento de dados
Capacidade de armazenamento a longo prazo.
Não determinismo
Atendimento de eventos que podem ocorrer de forma imprevisível.
Eficiência
Baixo tempo de resposta, pouca ociosidade da CPU e alta taxa de processamento.
Confiabilidade
Pouca incidência de falhas e exatidão dos dados computados.
Características desejadas
Mantenabilidade
Facilidade de correção ou incorporação de novas características.
Pequena dimensão
Simplicidade e baixa ocupação da memória.
Características desejadas
S is tem as Operac ion ais
Núcleo
Responsável pela gerência do processador, tratamento de interrupções, comunicação e sincronização entre processos.
Gerenciador de Memória
Responsável	pelo	controle	e	alocação	de	memória	aos processos ativos.
Gerenciador de E/S
Responsável pelo controle e execução de operações de E/S e otimização do uso dos periféricos.
Responsável pela interface conversacional com o usuário.
Organização
Sistema de Arquivos
Responsável pelo acesso e integridade dos dados residentes na memória secundária.
Processador de Comandos / Interface com o Usuário
Responsável pela interface conversacional com o usuário.
Organização
TIPOS DE SISTEMAS OPERACIONAIS
Os tipos e sua evolução estão intimamente relacionados com a evolução do HW e das aplicações por ele suportadas.
A evolução dos S.O. para PCs e WS popularizou vários conceitos e técnicas, antes só conhecidos em ambientes de grande porte.
Tipos de Sistemas
Operacionais
Sistemas
Monoprogramáveis / 
Monotarefa
Sistemas
Multiprogramáveis / 
Multitarefa
Sistemas com
Múltiplos
Processadores
TIPOS DE SISTEMAS OPERACIONAIS
SISTEMAS MONOPROGRAMÁVEIS / MONOTAREFA
Execução de um único programa (job);
Qualquer outro programa, para ser executado, deveria aguardar o término do programa corrente;
Tipicamente relacionado ao surgimento dos mainframes;
UCP
Memória
Dispositivos
de E/S
Programa /
Tarefa
SISTEMAS
MONOPROGRAMÁVEIS /
MONOTAREFA
Sistemas Operacionais
28
SISTEMAS MULTIPROGRAMÁVEIS / MULTITAREFA
Mais complexos e mais eficientes;
Vários programas dividem os mesmos recursos;
Aumento da produtividade dos seus usuários e a redução de custos;
UCP
Memória
Dispositivos
de E/S
Programa /
Tarefa
SISTEMAS
MULTIPROGRAMÁVEIS /
MULTITAREFA
Programa /
Tarefa
Programa /
Tarefa
Programa /
Tarefa
Sistemas
Multiprogramáveis / Multitarefa
Sistemas
Batch
Sistemas de
Tempo Compartilhado
Sistemas de
Tempo Real
CLASSIFICAÇÃO
SISTEMAS COM MÚLTIPLOS PROCESSADORES
 Caracterizam por possui duas ou mais UCPs interligadas, trabalhando em conjunto;
 O fator chave neste tipo de S.O. é a forma de comunicação entre as UCPs e o grau de compartilhamento da memória e dos dispositivos de I/O;
Sistemas Fortemente Acoplado
Existem dois ou mais processadores compartilhando uma única memória e controlados por apenas um único SO.
Sistemas Simétricos
todos os processadores tem a mesma função, podendo executar o SO independentemente
Sistemas Assimétricos
processador primário, responsável pelo controle dos demais processadores (secundários) e pela execução do SO.
Sistemas Fracamente Acoplado
Dois ou mais sistemas de computação interligados, sendo que cada sistema possui o seu próprio SO.
 Sistemas Operacionais de Rede
Cada nó possui seu próprio HW, SW e SO.
Independente um do outro.
 Sistemas Operacionais Distribuídos
Para o usuário e suas aplicações, é como se não existisse uma rede de computadores, mas sim um único sistema centralizado.
ESTRUTURA DO SO
Formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários do sistema e suas aplicações, bem como a outras rotinas do próprio sistema. Esse conjunto de rotinas é chamado núcleo do sistema ou kernel (cérebro).
KERNEL
 Tratamento de interrupções;
 criação e eliminação de processos;
 sincronização e comunicação entre processos;
 escalonamento e controle dos processos;
 gerência de memória;gerência do sistema de arquivos;
 operações de entrada e saída
 contabilização e segurança do sistema.
SYSTEM CALLS
 Mecanismo de proteção ao núcleo do sistema e de acesso aos seus serviços.
 O usuário (ou aplicação), quando deseja solicitar algum serviço do sistema, realiza uma chamada a uma de suas rotinas (ou serviços) através da system calls (chamadas ao sistema).
SYSTEM CALL
Aplicação
System Call
Núcleo
H
a
r
d
w
a
r
e
GRUPOS DE FUNÇÕES
 Gerência de Processos
criação e eliminação de processos;
alteração das características do processo;
sincronização e comunicação entre processos;
 Gerência de Memória
Alocação e desalocação de memória;
 Gerência de I/O
Operações de I/O;
Manipulação de arquivos e diretórios.
Sistemas Operacionais
39
MODOS DE ACESSO
Existem certas instruções que não podem ser colocadas diretamente à disposição das aplicações, pois a sua utilização indevida ocasionaria sérios problemas à integridade do sistema.
As instruções que têm o poder de comprometer o sistema são conhecidas como instruções privilegiadas (modo kernel), enquanto as instruções não-privilegiadas são as que não oferecem perigo ao sistema.
Registrador da UCP, que indica o modo de acesso corrente.
CHAMADA A UMA ROTINA DO SISTEMA
Memória
principal
Programa
Usuário A
Programa
Usuário B
Rotina do
Sistema
System Call
Programas
dos usuários
executam
no modo
usuário
SO executa 
no modo
Kernell
S is tem as Operac ion ais
E volu ção H is tórica
Dividido em 5 fases:
Fase Inicial ( Fase 0)
Computadores são uma ciência experimental e exótica:
Não precisa de sistema operacional
1ª FASE
Altos Preços
Computadores são caros; pessoas são baratas
2ª FASE
Produtividade - Custo/Beneficio
Computadores são rápidos; pessoas são lentas; ambos são caros.
Dividido em 5 fases:
3ª FASE
Produtividade - Custo/Beneficio
Computadores são baratos; pessoas são caras. Dar um computador para cada pessoa.
4ª FASE
Popularização
Computadores Pessoais (PCs) em todo o planeta.
E volu ção H is tórica
Fase Inicial ( Fase 0)
Computadores são uma ciência experimental e exótica:
Não precisa de sistema operacional
Programação através de "plugs“
Usuário presente todo o tempo e toda atividade é sequencial:
Conjuntos de cartões manualmente carregados para executar os programas
Primeiras bibliotecas, utilizadas por todos
O usuário é programador e operador da máquina ao mesmo tempo
Problema: muita espera!
Usuário tem que esperar pela máquina ...
Máquina tem que esperar pelo usuário ...
Todos têm que esperar pela leitora de cartões !
Evolução Histórica
A Primeira Geração (1945-1955): Válvulas e Plugs
1ª FASE
Altos Preços
Computadores são caros; pessoas são baratas:
S.O surge com o objetivo básico de automatizar a preparação, carga e execução de programas.
S.O	Torna	utilização	do	computador	mais	eficiente,	desacoplando	as atividades das pessoas das atividades do computador
Mais tarde: otimização do uso dos recursos de hardware pelos programas
S.O funciona como um monitor batch, continuamente carregando um job, executando e continuando com o próximo job. Se o programa falhasse, o
S.O salvava uma cópia do conteúdo de memória para o programador depurar.
Evolução Histórica
2ª FASE
Produtividade - Custo/Beneficio
Computadores são rápidos; pessoas são lentas; ambos são caros.
"Timesharing"	interativo:	permitir	que	vários	usuários	utilizem	a	mesma máquina simultaneamente
Um terminal para cada usuário
Manter os dados "on-line": utilização de sistemas de arquivos estruturados
□	Problema:
□	Como prover tempo de resposta razoável?
Evolução Histórica
A Segunda Geração (1955-1965): Transistores e Processamento em Batch
A maioria dos computadores de 2 a geração foram utilizados para cálculos científicos e de engenharia. Estes sistemas eram largamente programados em FORTRAN e ASSEMBLY. Sistemas operacionais típicos 2 eram o FMS (Fortran Monitor Systems) e o IBSYS (IBM‘s Operating Systems).
□	Um s istema em lotes (batch) antigo:
(a)
Os programadores levam os cartões para o 1401. O 1401 grava os lotes de tarefas nas fitas.
O operador leva a fita de entrada para o 7094. 7094 executa o processamento.
O operador leva a fita de saída para o 1401. 1401 imprime as saídas
(b)
(c)
(d)
(e)
(f)
3ª FASE
Produtividade - Custo/Beneficio
Computadores são baratos; pessoas são caras.
Dar um computador para cada pessoa.
Workstation pessoal (SUN - Stanford University Network, Xerox Alto)
Apple II
IBM PC
MacIntosh
Evolução Histórica
A Terceira Geração (1965-1980): Circuitos Integrados e Multiprogramação
4ª FASE
Popularização
Computadores Pessoais (PCs) em todo planeta
□	Redes possibilitam aparecimento de novas aplicações importantes
Problemas:
As pessoas ainda continuam esperando por computadores
Virus, worms, hackers...
Evolução Histórica
A Quarta Geração (1980-): Computadores Pessoais e Estações de Trabalho

A quarta geração de computadores teve início em 1971, quando a Intel lançou o primeiro microprocessador, o Intel 4004, muito mais potente que os circuitos SSI e MSI de até então, e só terminou em 1981 com o lançamento dos circuitos ULSI (Circuitos de Escala Ultra Grande).
O período da quarta geração foi 1971-1980. Os computadores de quarta geração utilizadas de forma Very Large Scale Integrated (VLSI) circuitos. Circuitos VLSI ter cerca de 5.000 transistores e de outros elementos de circuito e os seus associados os circuitos em um único chip, é possível que os microcomputadores de quarta geração. Quarta geração os computadores tornaram-se mais potente e compacto, confiável e acessível. Como um resultado, que deu origem ao personal computer (PC) revolução. 
Quinta Geração (1991 — dias atuais)




Os computadores da quinta geração usam processadores com milhões de transistores. Nesta geração surgiram as arquiteturas de 64 bits, os processadores que utilizam tecnologias RISC e CISC, discos rígidos com capacidade superior a 600GB, pen-drives com mais de 1GB de memória e utilização de disco ótico com mais de 50GB de armazenamento.
A quinta geração está sendo marcada pela inteligência artificial e por sua conectividade. A inteligência artificial pode ser verificada em jogos e robores ao conseguir desafiar a inteligência humana. A conectividade é cada vez mais um requisito das indústrias de computadores. Hoje em dia, queremos que nossos computadores se conectem ao celular, a televisão e a muitos outros dispositivos como geladeira e câmeras de segurança.
Evolução Histórica
Exemplos de Sistemas Operacionais
MS-DOS (MicroSoft Disk Operating Systems)
Windows 1.01
Windows 2.03
Windows 3.0
Windows 3.1
Windows NT 3.1 (New Technology)
Windows 95
Windows 98
Windows 2000
Windows XP (eXPerience)
Windows Vista
Windows 7
Linux - Distribuições
Mac OS e Mac OS X
Mac OS - 1984
Mac OS X - 2001
Mac OS Snow - 2010
Sistemas Operacionais
S is t em as Operac ion ais
Computação de Alto Desempenho
Video Sobre Demanda (VoD)
Redes P2P
Computação Heterogenea
Cloud Computing
GRID COMPUTING
Tolerancia a Falhas
Algoritmos Distribuidos
Sistemas Computacionais
GPU
A arquitetura da maioria dos computadores no nível da linguagem de máquina é primitiva e difícil de programar, especialmente para operações de entrada e saída. 
É preferível para um programador trabalhar com abstrações de mais alto nível onde detalhes de implementação das abstrações não são visíveis. No caso de discos, por exemplo, uma abstração típica é que estes armazenam uma coleção de arquivos identificados por nomes simbólicos. O programa que esconde os detalhes de implementação das abstrações é o sistema operacional. 
A abstração apresentada ao usuário pelo sistema operacionalé simples e mais fácil de usar que o hardware original. 
Nesta visão, a função do sistema operacional é apresentada ao usuário como uma máquina estendida ou máquina virtual que é mais fácil de programar que o hardware que a suporta.
O Sistema Operacional como uma Máquina Virtual
O Sistema Operacional como um Gerenciador de Recursos
Um computador moderno é composto de vários subsistemas tais como processadores, memórias, discos, terminais, fitas magnéticas, interfaces de rede, impressoras, e outros dispositivos de E/S. 
Neste ponto de vista, o sistema operacional tem a função de gerenciar de forma adequada estes recursos de sorte que as tarefas impostas pelos usuários sejam atendidas da forma mais
rápida e confiável possível.
Um exemplo típico é o compartilhamento da unidade central de processamento (CPU) entre as várias tarefas (programas) em sistemas multiprogramados. O sistema operacional é o responsável pela distribuição de forma otimizada da CPU entre as tarefas em execução.

Outros materiais