Você está na página 1de 24

Laboratrio de Sistemas Operacionais

UNIVEL 2014
Professor: Jean Piere Moretto

Motivao para estudo de S.O.

Qual sua motivao para estudar sistemas operacionais?

Motivaes

Software
Manipulao entre um dado, informao ou evento. Produz um comportamento. Elo entre o ser humano e o Hardware.

Hardware
Conjunto de circuitos que se comunicam por um barramento. Toda iterao realizada por uma camada de software.

Para que o equipamento seja utilizvel necessria a presena de um sistema de gerenciamento o Sistema Operacional. H uma diferena sensvel no tocante ao tipo de informao gerenciada pelo homem e pela mquina:
A mquina opera com cadeias binrias de cdigos no acionamento dos seus circuitos. O homem utiliza estruturas abstratas : registros, colees, semnticas, crenas, incertezas, lgica, etc.

Motivao

Os programas computacionais podem ser divididos, empiricamente, em dois tipos:


De sistema: aqueles que manipulam as operaes do computador De aplicativos: aqueles que resolvem o problema do usurio.

Portanto, para o desenvolvimento de solues que resolvam os problemas do usurio, tem-se como requisito o entendimento da resoluo dos problemas da mquina.

Computadores no funcionam sem S.O. Diversas tcnicas de programao so originrias de sistemas operacionais (filas, pilhas, programao paralela) Fornecem uma camada de abstrao do hardware mais segura e confortvel do que mquinas reais.

Exerccio relmpago

Em grupos, discutir:
1. Definio

informal de sistema operacional 2. Identifique as atividades de um S.O. 3. Faa uma projeo de como ele consegue realizar o gerenciamento dos itens elencados no item 2. 4. Quando um programa escrito, qual a sua expectativa?

O que um Sistema Operacional


Muitas so as definies para um S.O., falando em linhas genricas sobre o que ele faz. Essa camada de software nasceu de um conjunto de problemas:

O S.O. controla todos os recursos do computador e prov uma base para execuo dos aplicativos. Utilizar e otimizar o uso dos recursos uma tarefa complexa e rdua. Programadores no querem (e no podem) se ater a detalhes de hardware. Como isolar essa complexidade do programador?

Interpondo uma camada de software, capaz de gerir todas as funcionalidades do hardware. Essa camada fornece uma interface (mquina virtual) fcil de programar e entender.

O que um S.O.

Considere a simples programao de uma operao de criao de um arquivo num disco flexvel sem a figura do SO: O programador deve tornar-se ntimo do NEC PD765, o controlador do dispositivo de disco flexvel na maioria das mquinas IBM-PC. O NEC PD765 tem 16 comandos nos registradores do dispositivo, empacotados em sequncias de 1 a 9 bytes. Esses comandos servem para ler, escrever, mover o brao do acionador de disco, formatar, inicializar, sensibilizar, recalibrar, resetar o controlar e outras operaes. Um desses comandos como WRITE possui 13 parmetros, passados em 9 bytes. Tais parmetros indicam o endereo do bloco do disco a ser manipulado, o nmero de setores por trilha, o modo de gravao, etc. Aps a operao ter sido completada o PD765 retorna 23 status e campos de erro em 7 bytes que devem ser verificados. Complicado ? O programador deve ainda constantemente considerar se o motor est on ou off. Se off deve ligar o motor antes da operao de leitura/escrita. O motor no pode estar continuamente ligado para no danificar o disco, etc.

Esses so detalhes reais !

Funo do S.O.

Definies literrias de S.O.

Segundo (Silberschatz et al, 2005; Stallings, 2004; Tanenbaum, 1999), existem dois modos de se conceituar um S.O:

Como uma mquina estendida:

Pela perspectiva do usurio ou programador (viso top-down): uma abstrao do hardware, fazendo o papel de intermedirio entre o aplicativo (programa) e os componentes fsicos do computador; ou

Como um gerente de recursos:

Numa viso bottom-up, de baixo para cima: um gerenciador de recursos, que controla quais aplicaes podem ser executadas, quando, que recursos (memria, disco, perifricos) podem ser utilizados.

Mquina de camadas

Onde aplicar?

Nem todo hardware necessita de S.O.: Um forno de microondas possui funes limitadas. Sua funcionalidade implementada diretamente em hardware. Sua interface conectada diretamente a ele. Como sua aplicao fixa o conjunto de instrues esto previamente programados (executa sempre o mesmo programa). Computadores so aplicados situaes diversas: Diferentes tipos de programas. Interaes complexas entre usurios e dispositivos. As aplicaes mudam com o tempo.

Evoluo dos Sistemas Operacionais

Primeira gerao (1945-1955): Vlvulas eletrnicas


Instrues introduzidas manualmente (ENIAC: 6000 chaves e 18.800 vlvulas em 72m2. Operao similar s antigas mesas telefnicas. Usadas em clculos como integrao numrica Surgem os cartes perfurados no incio da dcada de 50. Eliminou a operao com os cabos. Sistema operacional inexiste: um mesmo grupo projetada, construa, programava e operava cada mquina.

ENIAC
Electronic numeric integrator and computer

Evoluo dos Sistemas Operacionais

Segunda gerao (1955-1965): Transistores e sistemas batch


1956: transistor revoluciona o cenrio Computadores menores e mais confiveis Ainda usados para clculos cientficos, apenas. Separou-se equipes dos projetistas, programadores, operadores e manuteno. Eram usadas linguagens de primeira gerao para manipulao do hardware (assembly) caso do UNIVAC I e IBM 701. Evoluo para o FORTRAN Conceito de JOB: uma tarefa era posta em execuo e detinha a mquina at seu fim. Ao terminar, era necessrio um clear e o seguimento para a leitura do prximo Job. Criao do monitor de JOBS: uso do JCL Job control language. Sistema operacional: projetados para permitir a transio de um job a outro. Tambm tinha a funo de liberar o programador de alguns detalhes de hardware. Papel do Operador: recebia os cartes dos programadores, inseria a fita de entrada e a fita de sada. Retirava o resultado na impressora e devolvia ao programador.

Univac I

Evoluo dos Sistemas Operacionais

Terceira gerao (1965-1980): Circuitos integrados e multiprogramao: No incio da dcada, um mesmo fabricante possua duas ou mais linhas de produtos totalmente distintas incompatveis entre si. A IBM resolveu isso com o System/360. Produzindo mquinas compatveis com um mesmo nvel de software. Elas tinham a mesma arquitetura, mesmo nvel de instrues. Surge o OS/360: alto preo: complexo, milhes de linhas em assembly, e cheio de bugs. Surge o conceito de multiprogramao: Diviso da memria em parties. Enquanto um JOB aguardava E/S, outro era colocado em CPU. Surge o conceito de spooling (Simultaneous Peripheral Operational On Line): Quando um Job encerrava, outro era carregado da leitura de cartes para a partio que ficou livre.

IBM S/360

Evoluo dos Sistemas Operacionais

Surge tambm o conceito de compartilhamento de tempo:


Cada usurio tinha um terminal on-line. O tempo entre as tarefas em lote e iterativas era compartilhado. MIT, Bell labs e GE decidem devenvoelver o computer utility, para centenas de usurios: Surge o MULTICS (Multiplexed information and computing Service) um ambicioso projeto para fornecer servio a mltiplos usurios compartilhando um poderoso hardware. Um fiasco, pois ficou s na fico. Continha, entretanto, importantes conceitos, como memria virtual. Considerado como o Pai dos sistemas operacionais modernos. Dennis Ritchie e Ken Thompson em 1969 iniciam o projeto do UNICS ( UNiplexed Information and Computer Service), sendo lanado em 72 (assembly). Em 1973 foi reescrito para C.

Evoluo dos Sistemas Operacionais

Quarta gerao (1980-1990): Computadores pessoais

Circuitos LSI (large-scale integrated) so usados amplamente. Mquinas de baixo custo e com poder de processamento. Computadores pessoais. Construo de softwares amigveis. CP/M: Desenvolvido pela Digital Research, esse Sistema operacional se populariza para mquinas com processadores Intel 8080, e Zilog Z80.

Evoluo dos Sistemas Operacionais

Quarta gerao (1980-1990): Computadores pessoais


Tim Paterson desenvolve um clone do CP/M. batizando-o de Q-DOS. IBM procura um S.O. para seus PCs e procura Bill Gates. Depois de idas e vindas, ele compra o projeto de Paterson e o rebatiza de MS-DOS, para ser vendido junto com as mquinas da IBM. MS-DOS dominou o mercado das mquinas baseadas em Intel 8088, sucessores e clones. Unix se tornou padro em mquinas no Intel, principalmente RISC. Em meados de 80 surge o conceito de Sistema Operacional de Rede e Sistema Operacional Distribudo.

Mltiplos computadores, transferncias de arquivos e compartilhamento de recursos.

Prolgica CP500 (Z80)

Evoluo dos sistemas operacionais

Dcada de 2000

Processamento em escala Paralelismo Computao distribuda

Alta disponibilidade
Novas arquiteturas (como o Intel Xeon, ARM, AMD Opteron) Armazenamento de alta escala Computao mvel

Diversidade de hardware

Exerccios
1. 2. 3. 4. 5. 6.

Como seria usar um computador sem S.O.? O que um programador deveria conhecer ao fazer um programa em equipamento sem S.O.? Explique o que a viso de mquina de camadas. O que a multiprogramao? Qual a vantagem disso? Analisando o histrico evolutivo dos sistemas, faa uma definio os princpios norteadores na construo de um S.O. moderno. Defina Tempo compartilhado.

Você também pode gostar