Você está na página 1de 43

Sistemas Operacionais

Prof. Morgana Wagner profmorgana.qi@gmail.com

Conceito
Sistema operacional um programa que gerencia o uso do hardware do computador pelos programas de usurios.

Objetivos
Tornar o uso do computador mais conveniente ao usurio Esconde detalhes internos Utilizar o hardware do computador de forma eficiente Mais trabalho obtido pelo mesmo hardware Melhor distribuio/uso dos recursos

Principais componentes de um SO
Gerncia de processos Gerncia de memria principal Gerncia de arquivos Gerncia do sistema de E/S

Gerncia de processos
Um programa no faz nada se suas instrues no forem executadas pelo processador (CPU/UCP) Para a execuo de um processo necessrio:
Tempo de processador Memria Arquivos Dispositivos de E/S

Gerncia de memria principal (RAM)


Repositrio de dados de rpido acesso Compartilhada pela CPU e pelos dispositivos de E/S Programa executado somente se estiver na memria Quando um programa chega ao fim de sua execuo:
Seu contedo no disco atualizado Memria ocupada liberada

Sistema de Arquivos, Sistema de E/S


Sistema de Arquivos Parte mais visvel de um S.O. Conceito abstrato implementado pelo S.O. Sistema de E/S S.O oculta peculiaridades de dispositivos de hardware do usurio

Servios Oferecidos pelo SO


Criao e execuo de programas Acesso a dispositivos de E/S Controle de acesso a arquivos Acesso a recursos de sistema Deteco de erros

SO na Viso do Usurio
Chamadas de sistema Maneira pela qual os programas solicitam servios ao S.O, transferindo a execuo para o mesmo Servios executados pelo ncleo (kernel) Gerncia do processador, da memria, de arquivos, de E/S

Histrico
Primrdios (dcada de 40)
No existiam S.O e linguagens de programao Usurio tambm programador e operador da mquina *Curiosidade: um dos computadores desta poca o ENIAC que possua 18.000 vlvulas, pesava 30 toneladas e consumia 200.000 watts de potncia eltrica, o que provocava uma queda de tenso na cidade da Filadlfia

Evoluo motivada por


Melhor utilizao de recursos, avanos tecnolgicos (novos tipos de hardware) .

Evoluo
Dcadas de 40 e 50
Sistemas Batch

Dcada de 60 e 70
Multiprogramao

A partir da dcada de 80
Sistemas Distribudos Sistemas de Tempo Real Sistemas Paralelos

Sistemas Batch
Aparecimento das linguagens de alto nvel
FORTRAN e COBOL

Job
Programa a ser compilado e executado, acompanhado dos dados de execuo (cartes perfurados) Jobs so organizados em lote (batch)
Necessidades semelhantes (exemplo: mesmo compilador)

Passagem entre jobs continua sendo manual

Sistemas Batch - Monitor Residente


Evoluo
Sequenciamento automtico de jobs, transferindo o controle de um job a outro Primeiro SO rudimentar

Monitor Residente
Programa que fica permanentemente na memria Execuo inicial Controle transferido para o job Quando o job termina, o controle volta ao monitor Centraliza as rotinas de acesso a perifricos

Multiprogramao
Evoluo
Sequenciamento automtico de jobs, transferindo o controle de um job a outro Primeiro SO rudimentar

Monitor Residente
Programa que fica permanentemente na memria Execuo inicial Controle transferido para o job Quando o job termina, o controle volta ao monitor Centraliza as rotinas de acesso a perifricos

Multiprogramao
Monitor residente permite a execuo de um programa de cada vez Desperdcio do tempo da CPU com operaes de E/S Evoluo
Manter diversos programas na memria ao mesmo tempo Enquanto um programa executa E/S, outro pode ser executado

Multiprogramao
Inovaes de hardware possibilitaram o surgimento da multiprogramao Discos magnticos Maior velocidade de acesso de leitura Acesso randmico a diferentes jobs

Sistemas Distribudos
Distribuir a realizao de uma tarefa entre vrios computadores Sistema distribudo Computadores interconectados de forma a possibilitar a execuo de um servio Existncia transparente de vrias mquinas Software fornece uma viso nica do sistema Sistemas fracamente acoplados Mquinas independentes Comunicao realizada atravs da troca de mensagens entre processos Vantagens Compartilhamento de recursos Balanceamento de carga

Sistemas de Tempo Real


Controle de procedimentos que devem responder dentro de um intervalo de tempo Exemplos: experimentos cientficos, gerao de imagens mdicas de dados 3D, controle de processos, etc. Noo de tempo real dependente da aplicao Milessegundos, minutos, horas, etc.

Sistemas Paralelos
Possuem mais de um processador

CPU

CPU

CPU

Memria

Sistema fortemente acoplado


Processadores compartilham memria e um relgio comuns Comunicao realizada atravs da memria

Sistemas Paralelos
Vantagens Aumento de throughput (nmero de processos executados) Aspectos econmicos Aumento de confiabilidade

Trabalhinho (individual ou em dupla)


1) Comente sobre as diferentes vises dos

sistemas operacionais.

2) Comente sobre o dois eventos que ativam o sistema operacional. 3) O que multiprogramao? D duas razes que justifiquem a utilizao prtica deste conceito. 4) Diferencie sistemas distribudos de sistemas paralelos.

Processos: Conceito
Programa em execuo Programa:
Entidade esttica Seqncia de instrues

Processo:
Entidade dinmica Altera seu estado a medida que avana sua execuo Chamadas de sistema

Processos: Conceito
Um mesmo programa pode ter vrias instncias em execuo, ou seja, diferentes processos

Ciclos de um Processo
Processos so: Criados
Momento da execuo Por outros processos, atravs das chamadas de sistema

Destrudos
Trmino da execuo Por outros processos

Processos executam: Programas de usurios Programas de sistema (daemons) (daemons)

Ciclos de um Processo
Processos apresentam dois ciclos bsicos de operao
Ciclo de processador Tempo que ocupa a CPU Ciclo de E/S Tempo de espera pela concluso de um evento de E/S

Primeiro ciclo sempre do processador


Trocas de ciclos por: Chamadas de sistema Interrupo

Relacionamento entre Processos


Processos independentes
No apresentam relacionamentos com outros processos

Grupo de processos
Apresentam algum tipo de relacionamento Ex: filiao Podem compartilhar recursos Definio de uma hierarquia

Relacionamento entre Processos


Hierarquia de processos:
Processo criador o processo pai Processo criado o processo filho

Representao atravs de uma rvore


Evoluo dinmica com o tempo
P1

P2

P3

P4

P5

P6

P7

P8

P9

P10

Trabalho 2
O sistema operacional um programa dirigido por eventos; esses eventos, por sua vez, so sinalizados por interrupes. Para cada uma das trs classes de interrupo (proteo, perifrico e software), descreva a reao que o sistema operacional dever ter. 2) Diferencie processos I/O bound de processos CPU bound. bound. 3) Os trs principais estados de um processo so: apto a executar, executando e esperando E/S (bloqueado). Descreva os eventos que fazem o processo mudar de estado.

A histria do Linux

Em 1991, o DOS exercia sua soberania absoluta com relao aos computadores pessoais Os Macs tinham preos astronmicos, fato que tornava quase impossvel a aquisio para um usurio final. O Unix que ainda mais caro do que um Mac, e adotado quase exclusivamente por grandes empresas. O cdigo do Unix, que uma vez foi utilizado como material de estudo em universidades, j se encontrava proprietrio e no mais para conhecimento pblico.

A histria do Linux
O professor holands chamado Andrew S. Tanenbaum criou um sistema operacional baseado no Unix, o Minix. Montado para funcionar com a linha de processadores Intel 8086. Como primariamente, o Minix tinha objetivos acadmicos, ele estava longe de resolver todos os problemas de um usurio final, porm seu cdigo-fonte era disponibilizado por Tanenbaum

A histria do Linux
O estudante Linus Torvalds, frustrado com as carncias do Minix comeou a idealizar como seria bom ter um SO que, alm de gratuito, pudesse efetuar tarefas como emulao de terminal e transferncia e armazenamento de arquivos. Em 25 de agosto de 1991, Linus anunciou por meio de um email na Usenet (a Unix User Network) que estava desenvolvendo um sistema operacional.

Evoluo cronolgica
1991 - Linux 0.01 - Linus Torvalds, cria o Linux, uma alternativa ao Minix , e igualmente gratuita. Essa verso era compatvel apenas com o 386 e tinha poucos drivers. 1994 - Red Hat Linux - criada uma das mais populares e distribudas verso do Linux. 1994 (finais) - Linux 1.0 - lanada a primeira verso estvel do Linux. 1999 - Linux 2.2 - Tem centenas de drivers que suportam uma enorme variedade de hardware e vrias arquiteturas de computador.

Entendendo a estrutura do Linux


O cdigo fonte aberto permite que qualquer pessoa veja como o sistema funciona, corrija algum problema ou faa alguma sugesto sobre sua melhoria Esse um dos motivos de seu rpido crescimento, assim como da compatibilidade com novos hardwares, sem falar de sua alta performance e de sua estabilidade. O Linux segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Desta forma, voc que est aprendendo o Linux no encontrar muita dificuldade em operar sistemas como: UNIX, FreeBSD, HPUX, SunOS, necessitando aprender apenas algumas particularidades dos mesmos.

Distribuies Linux
Red Hat a distribuio mais famosa do mundo. A Red Hat criou ferramentas fceis de administrar o Linux. Facilitou bastante a administrao do sistema e da parte de servidores. Criou o sistema de gerenciar pacotes mais utilizados que o RPM. A Red Hat tem como produto principal o Red Hat Enterprise Linux. Site oficial: www.redhat.com

Distribuies Linux
Fedora O Fedora Core patrocinado pela Red Hat e vem com todas as caractersticas desta distribuio. um projeto de cdigo-aberto independente mais patrocinado pela Red Hat Site oficial: http://fedora.redhat.com

Distribuies Linux
Mandriva A Mandriva Conectiva a operao brasileira da Mandriva, desenvolvedora e distribuidora do sistema operacional Mandriva Linux Resultado da fuso da Mandrakesoft, uma das principais distribuies Linux da Europa, com atuao mundial em mais de 120 pases, e a Conectiva, pioneira na distribuio Linux e cdigo aberto em portugus, espanhol e ingls para toda a Amrica Latina. Site oficial: http://www.mandriva.com

Distribuies Linux
Conectiva A Conectiva uma das distribuies pioneiras em Linux no Brasil. Aps ser feita a fuso com a Mandrakesoft se transformou em Mandriva. Site oficial: www.conectiva.com.br

Distribuies Linux
SUSE Considerada a segunda maior distribuio do mundo, foi adquirida pela Novell. Tem como principal ferramenta de configurao do Linux o YaST, um programa que ajuda na configurao dos servios do Linux no Ambiente Grfico. Site oficial: http://www.novell.com/linux/suse/

Distribuies Linux
Debian O GNU/DEBIAN uma das poucas distribuies que no mantida por nenhuma empresa e sim por um conjunto de desenvolvedores que mantm toda a sua estrutura. maior distribuio Linux sem ter vnculos com empresas. Ela desenvolveu ferramentas interessantes como APT para instalar pacotes. Uma das poucas distribuies que no aceitam programas que no sejam baseadas na GPL.

Distribuies Linux
Kurumin Mais uma distribuio brasileirae uma das mais utilizadas no Brasil. No site do responsvel, existe uma documentao farta sobre o Kurumim. Principal vantagem: fcil de usar como Desktop. O Kurumin baseado no Knoppix que baseado no Debian.

Distribuies Linux
Ubuntu Outra distribuio baseada no Debian. uma distribuio sul-africana Site oficial: www.ubuntu.org

Distribuies Linux
Slackware a distribuio mais antiga do mundo Linux criada em 1993. Ela a que mais se aproxima do UNIX Site oficial http://www.slackware.org.

Distribuies Linux
Librix O Librix uma distribuio Linux desenvolvida pela Itautec, voltada para o mercado brasileiro. estvel, confivel e com garantia de suporte. Possui uma interface amigvel e facilmente instalado e configurado, havendo opes de instalao padro e avanada. Site: http://www.itautec.com.br/softwares/librix.a spx

Você também pode gostar