Você está na página 1de 93

Instituto Federal de Educao, Cincia e Tecnologia da Paraba

Curso Superior de Tecnologia em Sistemas para Internet

Sistemas Operacionais
Introduo

Profa. Nadja Rodrigues nadja.rodrigues@ifpb.edu.br nadja.dnr@gmail.com

Introduo

Entendendo o contexto

Cenrio Atual

Crescimento sem precedentes da computao durante as ltimas dcadas. Estaes de trabalho que executam bilhes de instrues por segundo (BIPS). Supercomputadores que executam mais de um trilho de instrues por segundo. Os computadores e a informtica em geral atualmente esto sendo empregados em quase todas as situaes da vida.

Cenrio Atual

Cenrio Atual

Cenrio Atual

Sistemas Operacionais (SO) Onde entram os SO? O que so os SO? Quando surgiram? Por que surgiram? O que fizeram no passado? Como eles podem contribuir para o presente e o futuro?

Motivao para uso de SO


Complexidade para manipular recursos! O usurio tinha que desenvolver, em linguagem de mquina, as rotinas para acessar e controlar os recursos do computador

Motivao para uso de SO


Abstrao! Criar um software para gerenciar os recursos do computador (Sistema Operacional)

O que um SO?
H alguns anos um sistema operacional era definido como o software que controla o hardware. O panorama dos sistemas de computador evoluiu significativamente, exigindo uma definio mais rica.

Componentes de um Sistema Computacional


Hardware . Recursos bsicos (memria, dispositivos de E/S, CPU). Sistema operacional . Controla e coordena o uso do hardware entre vrios programas aplicativos e usurios. Programas aplicativos e de sistema . Define como os recursos de hardware so empregados na soluo de um problema (compiladores, jogos, banco de dados,...) Usurios . Pessoas, mquinas, outros computadores,...

Componentes de um Sistema Computacional

Usurio 1

Usurio 2

Usurio 3

...

Usurio n

Editor de texto

compilador

Internet

Planilha

SISTEMA OPERACIONAL

HARDWARE

Uso de SO

O que se espera de um sistema de computao?

Execuo de programas de usurios? Uso eficiente dos recursos de hardware?

Uso de SO O sistema operacional


separa as aplicaes do hardware por elas acessado (camada de software) gerencia o software e o hardware para gerar os resultados desejados.
Programas

Sistema Operacional Hardware

Uso de SO

O sistema operacional , primordialmente, um gerenciador de recursos


Hardware Processadores Memria Dispositivos de entrada/sada Dispositivos de comunicao Aplicaes de software

Conceitos de SO
Sistema Operacional (SO) um programa que controla todos os recursos do computador e prov um ambiente no qual programas de aplicao podem ser escritos [Tanembaum] Sistema Operacional (SO) um programa que permite que as pessoas usem o hardware do computador [Willian Shay] Sistema Operacional apenas um conjunto de rotinas executado pelo processador... Sua principal funo controlar o funcionamento dos diversos recursos disponveis no sistema [Machado e Maia]

Reviso

Perguntas
1. (V/F) Sistemas operacionais somente gerenciam hardware. 2. Quais so as finalidades primrias de um sistema operacional?

Histrico

Evoluo

Evoluo dos SO

Antes de entender mais detalhes dos sistemas operacionais, vamos ver alguns marcos ao longo da sua histria

Histrico

Dcada de 1940

O comeo da histria: dcada de 1940 Os primeiros computadores no dispunham de sistemas operacionais. Os programadores muitas vezes usavam linguagem de mquina, cartes perfurados ou linguagem de montagem, para programao.

Linguagem Binria

Linguagem de Mquina: composta por uma sequncia de 0 e 1. Sua programao muito complexa para os seres humanos. a nica compreendida diretamente pela mquina (da seu nome !).

Carto Perfurado

Linguagem de Montagem

Linguagem Simblica ou de Montagem:

Reviso

Perguntas
3. Por que foram desenvolvidas linguagens de montagem?

Histrico

Dcada de 1950

Dcada de 1950 Criado o primeiro SO para o IBM 701 (Laboratrio de Pesquisa da General Motors)

Dcada de 1950 SO executavam um job (servio) por vez. Os programas e dados eram submetidos consecutivamente em uma fita. Dispunham de tecnologias que facilitavam a transio de um job para outro. Eram chamados de sistemas de processamento em lote de fluxo nico. Jobs geralmente eram executados sem entradas do usurio durante minutos, horas ou dias.

Dcada de 1950 Programadores controlavam recursos do sistema como memria, dispositivos de entrada/sada.
Trabalho lento, difcil e tedioso!

Os primeiros sistemas exigiam que um programa inteiro fosse carregado na memria para ser executado.
Memria cara! Limitava o tamanho dos programas!

Reviso

Perguntas
4. O que limitava o tamanho e a capacidade dos programas da dcada de 50?

Histrico

Dcada de 1960

Dcada de 1960
Permanecem como sistemas de processamento em lote. Processam vrios jobs simultaneamente.
Multiprogramao
O SO comuta rapidamente o processador de job em job.

Um job podia usar o processador enquanto outros utilizavam os dispositivos perifricos.


Leitoras de carto; Perfuradoras de carto; Impressoras; Unidades de fita; Unidades de disco.

Dcada de 1960
Desenvolvimento de software penosamente lento!
Geralmente o usurio no estava presente no local quando seu job era executado. Jobs submetidos em cartes perfurados ou fitas e carregados no computador para execuo. Jobs poderiam esperar horas ou dias para serem processados. Erros simples levavam a mais horas ou dias para nova tentativa de execuo.

Dcada de 1960
1964
A IBM anunciou sua famlia de computadores System/360. Uso do sistema operacional OS/360

Dcada de 1960 Desenvolveram-se sistemas operacionais avanados para atender a diversos usurios interativos.
Usurios interativos comunicam-se com seus jobs durante a execuo. Uso de terminais burros online. O computador precisava responder rapidamente s solicitaes do usurio, para sua produtividade no ser prejudicada.

Foram desenvolvidos sistemas de tempo compartilhado para apoiar usurios interativos simultneos.

Dcada de 1960 Terminais burros

Dcada de 1960
O tempo de retorno foi reduzido a minutos ou segundos.
Tempo entre a submisso de um job e o retorno de seus resultados. Facilitou bastante a programao.

Sistemas de tempo real


Fornecem respostas dentro de um prazo determinado.

O tempo e os mtodos de desenvolvimento foram aperfeioados. Alguns sistemas operacionais desenvolvidos nesta dcada:
CTTS (Compatible Time-Sharing System) TSS (Time Sharing System) Multics, sucessor do CTTS CP/CMS (Control Program/Conversational Monitor System) VM (Virtual Machine), evoluo do CP/CMS

Dcada de 1960 Alguns detalhes sobre os sistemas operacionais da dcada:


Multics: primeiro grande sistema operacional construdo em linguagem de alto nvel EPL. TSS, Multics e CP/CMS, todos incorporavam memria virtual.
Endereavam mais localizaes de memria do que as realmente existentes na memria principal. Livravam os programadores de grande parte da carga de gerenciamento de memria.

Memria principal ainda era cara.


Armazenamento em fitas e discos.

Reviso

Perguntas
5. Como a computao interativa e a melhoria no tempo de retorno aumentaram a produtividade de programador? 6. Qual o novo conceito incorporado pelo TTS, Multics e CP/CMS? Por que foi to til para os programadores?

Histrico

Dcada de 1970

Dcada de 1970
Os sistemas de tempo compartilhado eram primordialmente multimodais.
Suportavam processamento em lote, tempo compartilhado e aplicaes de tempo real.

Incio da dcada
A computao pessoal estava apenas em seu estgio inicial.

Dcada de 1970
Desenvolvimento do TCP/IP
Pelo Departamento de Defesa dos EUA Protocolo de comunicao-padro Passou a ser amplamente usado em ambientes militares e universitrios. Problemas de segurana Volumes crescentes de informao eram transmitidos por linhas vulnerveis. Necessidade de criptografar dados proprietrios.

Desenvolvimento do Ethernet
Pelo Palo Alto Research Center da Xerox. Padro para definio de redes locais (LANs). Tornou a comunicao nessas redes prtica e econmica.

Dcada de 1970
TCP/IP Ethernet

Dcada de 1970 Marcos da dcada


SO com capacidades de redes e de segurana. Melhora no desempenho para atender s demandas comerciais. No final desta dcada comeou a revoluo da computao pessoal, com sistemas como Apple II.

Dcada de 1970 Apple II

Reviso

Perguntas
7. Quais foram os desenvolvimentos da dcada de 1970 que melhoraram a comunicao entre sistemas de computadores? 8. Qual foi o novo problema introduzido pelo crescimento da comunicao entre computadores? Como esse problema foi abordado?

Histrico

Dcada de 1980

Dcada de 1980
Dcada dos computadores pessoais e das estaes de trabalho.
Evoluo da tecnologia Computadores de mesa avanados (denominados estaes de trabalho) eram to poderosos quanto os de grande porte da dcada anterior Os computadores pessoais permitiram que indivduos e pequenas empresas tivessem seus prprios computadores dedicados Personal Computer (IBM) 1982 Apple Macintosh (Apple) - 1984 A computao era distribuda aos locais em que era necessria. Substituindo os computadores centrais, de grande porte, para processamento.

Dcada de 1980

Apple Macintosh (Apple) - 1984

Personal Computer (IBM) 1982

Dcada de 1980
Dcada dos computadores pessoais e das estaes de trabalho.
Softwares aplicativos davam impulso computao pessoal
Planilhas de clculo, editores de texto, pacotes de bancos de dados e pacotes grficos. Aumento da demanda das empresas por esses softwares para aumentar sua produtividade.

Dcada de 1980
Era relativamente fcil aprender a usar um computador pessoal. Interfaces grficas com o usurio (GUI)
Janelas, cones, menus, facilitavam a interao do usurio com os programas. A Xerox desenvolveu o mouse e a GUI. O lanamento do computador pessoal da Apple (Macintosh), em 1984, popularizou o uso desses recursos. Uma vez familiarizado com os recursos de GUI do Macintosh, os usurios poderiam aprender a utilizar as aplicaes mais rapidamente, pois eram similares.

Dcada de 1980
Vamos analisar alguns projetos de SO e algumas caractersticas das suas interfaces grficas

Dcada de 1980
Apple cone Barra de menu desdobrvel

IBM

IBM Retrocessos, como deixar de usar cones

Dcada de 1980

Microsoft Primeira verso do Windows Cada janela tinha a sua prpria barra de menus!!

Tandy Computers Inovao: possibilidade de redimensionar ou mover uma janela sem traz-la para o foco principal.

Dcada de 1980
Acorn Computers Inseriu um novo conceito no mundo das GUIs: o Dock.

NeXTSTEP Introduziu uma aparncia 3D aos seus componentes, alm de ter sido a primeira a usar o boto em forma de X para fechar janelas.

Dcada de 1980

Massachusetts Institute of Technology (MIT) X Window System Comeavam a surgir interfaces grficas para as estaes Unix. Novidade: habilitar o foco em uma janela apenas posicionando o mouse sobre ela, sem clicar.

Dcada de 1980
Os custos da tecnologia declinavam
A transferncia de informaes entre computadores interconectados em rede tornou-se mais econmica e prtica. Proliferavam aplicaes de correio eletrnico, transferncia de arquivos e acesso a bancos de dados remotos.

Dcada de 1980
A computao distribuda passou a ser bastante utilizada
Usar vrios computadores independentes para desempenhar uma tarefa comum. O modelo de computao cliente/servidor se disseminou. Os clientes so os computadores que solicitam servios variados. Os servidores so os computadores que executam os servios solicitados. Muitas vezes os servidores so dedicados a um tipo de tarefa como gerenciar bancos de dados, ou servir pginas Web.

Dcada de 1980
O campo da engenharia de software continuou a evoluir.
Recebeu grande impulso do governo dos Estados Unidos,
Visava controlar de modo mais rgido os projetos de software do Departamento de Defesa.

Metas
Reutilizao de cdigos. Maior grau de abstrao nos idiomas de programao. Construo de prottipos Desenvolvedores e usurios poderiam sugerir modificaes desde o incio do projeto.

Mas o que engenharia de software?

Engenharia de Software

Disciplina de engenharia relacionada a todos os aspectos de produo de software, desde os estgios iniciais de especificao do sistema at sua manuteno, depois que entrar em operao;

60

Algumas atividades da Engenharia de Software Modelagem de Negcio Anlise de Requisitos Anlise e Projeto Implementao Testes Implantao/Distribuio Gerenciamento e Projetos Gerncia de Configurao e Mudanas Manuteno
61

Reviso

Perguntas
9. Qual aspecto dos computadores pessoais, popularizado pelo Apple Macintosh os tornava especialmente fceis de usar? 10. (V/F) Um servidor no pode ser um cliente.

Histrico

Internet e WWW

Histria da Internet e da World Wide Web


Advanced Research Projects Agency (ARPA)
Agncia do Departamento de Defesa dos EUA No final da dcada de 1960, ela criou e implementou a ARPAnet. Av da atual Internet. Interligou em rede os sistemas centrais de computadores das instituies apoiadas financeiramente pela ARPA. Universidades e instituies de pesquisa. Ofereceu capacidade de comunicao quase instantnea por correio eletrnico (e-mail). Foi projetada para funcionar sem controle centralizado. Se uma parte da rede falha, outras podem continuar funcionando.

Histria da Internet e da World Wide Web


World Wide Web (WWW)
Localiza e exibe documentos multimdia sobre praticamente qualquer assunto. Comeou a ser desenvolvida em 1989. Tecnologia de compartilhamento de informaes via documentos de texto interconectados (hyperlinked). HyperText Markup Language (HTML) Define documentos na WWW. Hypertext Transfer Protocol (HTTP) Espinha dorsal de comunicaes usada para transferir documentos pela WWW.

Atividade

Atividade 1
Pesquisa sobre a histria da Internet e da World Wide Web.

Histrico

Dcada de 1990

Dcada de 1990
O desempenho do hardware melhorou exponencialmente.
Capacidade de processamento e armazenamento barata. Execuo de programas grandes e complexos em computadores pessoais. Mquinas econmicas para servios extensivos de banco de dados e processamento. Rara necessidade de computadores de grande porte.

Criao da WWW
A computao distribuda ganhou mpeto. Inmeros computadores independentes podiam executar tarefas comuns.

A queda nos custos da tecnologia


Aumento no nmero de computadores domsticos usados tanto para trabalho quanto para entretenimento.

Dcada de 1990
Aumento da demanda por conexes com a Internet
O suporte a sistemas operacionais para tarefas de rede tornaram-se padro.

Usurios tiveram aumento da produtividades e comunicao atravs dos recursos de rede

Aumento na conectividade -> proliferao de ameaas segurana dos computadores.


Projetistas de So tiveram que desenvolver tcnicas para proteger computadores contra esses ataques danosos.

Dcada de 1990 A Microsoft Corporation tornou-se dominante:


Sistemas Operacionais Windows
Empregavam vrios conceitos usados nos primeiros sistemas operacionais Macintosh. cones, menus, janelas. Permitia que os usrios executassem vrias aplicaes concorrentes com facilidade.

Windows 3.0
1990 Lanamento do Windows 3.0 Caractersticas: interface amigvel com o usurio e grande funcionalidade.

Windows 3.1
1993 Lanamento do Windows 3.1 O Windows tornou-se incrivelmente popular aps o lanamento desta verso!!

Windows 95 e Windows 98
Dominaram o mercado de sistemas operacionais para computadores de mesa no final da dcada de 1990! Windows 95 - Passou a vir instalado por padro com o MS-DOS 7.0

Windows 98 - completa integrao do sistema operacional com a internet utilizando o Internet Explorer 4.

Windows NT
1993 Lanamento do Windows NT Entrada da Microsoft no mercado de sistemas operacionais corporativos!! Tornou-se o sistema operacional preferido para estaes de trabalho corporativas!!

Dcada de 1990
A tecnologia de objeto tornou-se popular em vrias reas da computao.
Diversas aplicaes foram desenvolvidas em linguagens de programao orientadas a objetos. Por exemplo, C++ ou Java. Um objeto de software encapsula um conjunto de atributos e um conjunto de aes Permite que as aplicaes sejam construdas com componentes que possam ser utilizados em muitas aplicaes.

Objetos

Exemplos de objetos!!!

Dcada de 1990
Sistemas operacionais orientados a objetos (SOOO)
Os objetos representam componentes do sistema operacional. Explorados para criar sistemas operacionais modulares. Mais fceis de manter e ampliar que os construdos com tcnicas anteriores.

Dcada de 1990
A maioria dos softwares comerciais era vendida como cdigo-objeto.
O cdigo-fonte no includo, apenas o cdigo objeto. Isso permite que os fabricantes ocultem informaes e tcnicas de programao patenteadas.

Os softwares gratuitos e de fonte aberto tornaram-se muito comuns na dcada de 1990.


O software de fonte aberto era distribudo com o cdigo-fonte. Isso permite que os indivduos examinem e modifiquem o software. O sistema operacional Linux e o servidor Web Apache so ambos software de fonte aberto.

Dcada de 1990
Richard Stallman lanou o projeto GNU.
Recria e amplia as ferramentas do sistema operacional UNIX . Discordava do conceito de vender permisso para usar software. A verso original do Linux empregou muitas ferramentas publicadas gratuitamente pelo GNU sobre a GPL.

Dcada de 1990 GPL (General Public License)


Qualquer um pode modificar e redistribuir software livremente sob sua licena, desde que:
as modificacoes sejam claramente indicadas ; qualquer derivado do software tambm seja distribudo pela GPL.

A maioria dos softwares licenciados pela GPL so gratuitos!!


Mas a cobrana por eles pode ser feita.

Fabricantes podem cobrar uma taxa para fornecer software licenciado pela GPL e seu cdigo fonte, mas no podem impedir que os usuarios finais os modifiquem e redistribuam.

Dcada de 1990 GPL (General Public License)


Muitos fabricantes de software livre mantm sua lucratividade cobrando suporte tcnico de indivduos e corporaes e personalizando seus produtos.

Dcada de 1990
Open Source Initiative (OSI)
Fundada para promover os benefcios da programao de cdigo-fonte aberto. Facilita o aperfeioamento de produtos de software. Permite que qualquer pessoa teste, depure e aperfeioe aplicaes. Aumenta a chance de descobrir e corrigir problemas imperceptveis. Fundamental para erros de segurana que precisam ser corrigidos rapidamente. Indivduos e corporaes podem modificar a fonte e criar softwares personalizados que atendam s necessidades de um determinado ambiente.

Dcada de 1990
Os sistemas operacionais tornavam-se cada vez mais amigveis ao usurio.
As capacidades GUI criadas pela Apple passaram a ser amplamente usadas e aperfeioadas. As capacidades do tipo plug and play (ligar e usar) foram embutidas nos sistemas operacionais. Isso habilita os usurios a adicionar e remover componentes dinamicamente sem ter de reconfigurar manualmente o sistema operacional.

Dcada de 1990 Sistemas operacionais mantm perfis de usurio


Atende s necessidades de autenticao e habilita a personalizao do SO por usurio.

Reviso

Perguntas
11. Como a tecnologia orientada a objetos afetou os sistemas operacionais? 12. Cite alguns dos benefcios do desenvolvimento de software livre.

Histrico

2000 e afora

2000 e afora
Middleware
Software que liga duas aplicaes diferentes.

Em geral em uma rede e entre mquinas incompatveis. Tornou-se vital medida em que aplicaes so publicadas na WWW.
Particularmente importante para servios Web.

Simplifica a comunicao entre plataformas diferentes.

2000 e afora
Servios Web
Compreendem um conjunto de padres relacionados que habilitam quaisquer duas aplicaes a se comunicar e trocar dados via Internet. So peas de software prontas para uso na Internet. Permite que duas aplicaes se comuniquem e troquem dados.

2000 e afora
Dispositivos mveis
Computao nesses dispositivos est cada vez mais comum. Usados para email, nagegao na Web, imagem digital etc.

2000 e afora O que mais aconteceu com as tecnologias e sistemas operacionais desde 2000? Quais so as previses para o futuro?

Atividade

Atividade 2
Pesquisa sobre: Tecnologias e sistemas operacionais do ano 2000 at o presente; Prospeco tecnolgica (futuro).

Atividade

Atividade 3
Lista de perguntas.

Atividade

Atividade 4
Estudo de caso (em grupo).