Sie sind auf Seite 1von 20

sistema operativo O software de qualquer computador ou sistema computacional pode ser dividido basicamente em dois tipos: Software do sistema

- programas que contribuem para o controlo e desempehenho das operaes do computador e Software de aplicao programas que resolvem os problemas dos usurios.

O mais fundamental dos programas do sistema o sistema operativo. este que controla todos os recursos do computador e este que fornece a base sobre a qual os programas de aplicao podem ser escritos.

Definio

Silberschatz Sistema Operativo um programa ou at um conjunto de programas que age como intermedirio entre o utilizador e o hardware ou mquina fsica

MilenKovic Coleco organizada de software, consistindo em rotinas de controlo relativas ao hardware do computador que permitem fornecer um ambiente homogneo para a execuo de programas .

Funes de um Sistema Operativo

Executar comandos e programas do utilizador Facilitar o uso da mquina Utilizar o hardware da mquina de uma forma eficiente (disco, placa grfica, memria, etc.) Fornecer uma Interface com o SO Gerir recursos Gerir o trabalho do processador Gerira utilizao da memria Controlar a interaco com os perifricos

Controlar as diversas solicitaes dos programas em relao aos recursos do sistema etc. Controlar a execuo de programas e as respectivas operaes de I/O

Componentes dum Sistema de Computacional

Um sistema computacional divide-se em: Hardware, Sistema operativo, Programas de aplicao e utilizadores.

Hardware os recursos fsicos: CPU, memria, dispositivos de Entrada e Sada (E/S). Sistema operativo controla e coordena a utilizao do hardware durante a execuo de vrios programas de aplicao, eventualmente pertencentes a diferentes utilizadores.

Programas de aplicao definem as formas de utilizao dos recursos do sistema com o objectivo de resolver problemas dos utilizadores (compiladores, sistemas de bases de dados, jogos de vdeo, programas de contabilidade, etc.).

Utilizadores -pessoas, mquinas ou at outros computadores. O utilizador final do sistema que no est (ou no quer estar) preocupado com a sua arquitectura.

Utilizador 1

Utilizador 2

Utilizador 3

Utilizador 4

Utilizador n

Compilador

editor de texto

base de dados

Aplicaes Sistema operativo Hardware

Tipos de Sistemas Operativos

Batch. As tarefas com necessidades semelhantes so agrupadas e executadas no computador como um grupo por um operador ou um sequenciador de tarefas automtico. O desempenho aumentado pela tentativa de manter a CPU e os dispositivos de E/S ocupados o tempo todo atravs de buffers, operao off-line, spooling e multiprogramao. O batch bom para executar tarefas grandes, que precisam de pouca interaco; ele pode ser submetido e apanhado mais tarde.

Interactivo. Esse sistema composto de muitas transaces curtas, em que os resultados da prxima transaco podem ser imprevisveis. O tempo de resposta precisa ser curto (segundos), pois o usurio submete e espera o resultado.

Tempo compartilhado. Esses sistemas utilizam o escalonamento de CPU e a multiprogramao para prover o uso interactivo econmico de um sistema. A CPU comuta rapidamente de um usurio para outro. Em vez de ter uma tarefa definida por imagens de carto em spool, cada programa precisa do seu carto de controlo a partir do terminal, e a sada normalmente impressa imediatamente na tela.

Tempo real. Normalmente usado em uma aplicao dedicada, esse sistema l informaes de sensores e precisa responder dentro de um perodo de tempo fixo, para garantir o desempenho correcto.

Rede. Oferece recursos do sistema operacional por uma rede, como compartilhamento de arquivos.

SMP. Usado em sistemas em que existem vrias CPUs, cada uma executando a mesma cpia do sistema operacional. A comunicao ocorre atravs do barramento do sistema.

Distribudo. Esse sistema distribui a computao entre vrios processadores fsicos. Os processadores no compartilham memria ou um relgio. Em vez disso, cada processador possui sua prpria memria local. Eles se comunicam entre si atravs de diversas linhas de comunicao, como um barramento de alta velocidade ou uma rede local.

Em clusters. Um sistema em clusters combina diversos computadores em um nico sistema, para realizar a tarefa computacional distribuda pelo cluster.

Porttil. Um pequeno computador que realiza tarefas simples, como calendrios, e-mail e navegao Web. Os sistemas portteis diferem dos sistemas desktop tradicionais por terem memria e tela menores, e processadores mais lentos.

Componentes dum Sistema Operativo

Gesto de Processos: Sendo um processo um programa em execuo, devem ser disponibilizadas sobre eles as seguintes funes bsicas: criao, eliminao, suspenso,

activao, sincronizao e comunicao. Adicionalmente o SO deve garantir uma partilha correcta do tempo de CPU entre os vrios processos.

Gesto de Memria: Sendo a memria o dispositivo onde so carregados os processos em execuo e o prprio SO, este deve permitir a reserva, libertao e monitorizao do espao em memria. Se o SO dispuser de um mecanismo de memria virtual ento o espao disponvel para os processos poder exceder a memria fsica (RAM) disponvel no sistema.

Gesto de I/O(Entrada/Sada): Um sistema computacional dispe de vrios perifricos sobre os quais so possveis operaes de leitura (entrada) e/ou de escrita (sada). Ento para cada dispositivo (ou grupos de dispositivos) o SO dispe de mdulos que lidam especificamente com cada tipo de dispositivos (device drivers).

Gesto de Ficheiros: Sendo um ficheiro uma coleco de informao relacionada, devem ser disponibilizadas sobre eles as seguintes funes bsicas: criao, eliminao e manipulao. Adicionalmente deve existir a possibilidade de organizar os ficheiros (em directorias) e de realizar cpias de segurana (backups).

Proteco: O SO poder disponibilizar mecanismos de proteco para controlar os acessos dos processos aos recursos e dos utilizadores ao sistema.

Interpretador de comandos: Muitos dos comandos passados ao SO so instrues de controlo que lidam com os mecanismos de gesto do SO. O programa que l e interpreta essas instrues de controlo o interpretador de comandos.

Chamadas de sistema: A comunicao entre os processos e o SO realizada atravs de chamadas de sistema (system calls). Estas so funes disponibilizadas atravs de bibliotecas (APIs-Application Programming Interfaces) pelo SO e podem ser utilizadas em qualquer programa. A chamadas do sistema criam, apagam e utilizam vrios objectos de software e estruturas de dados geridos pelo S.O. Os mais importantes destes objectos so os processos e os arquivos.

Organizao de um sistema Computacional

Um sistema computacional e composto por CPU, controladores de dispositivos e os respectivos dispositivos.

Os Controladores de I/O e a UCP podem executar de uma forma Concorrente e cada um deles est encarregue de um dispositivo particular.

Cada controlador tem um buffer local e a UCP movimenta dados da (para) memria principal para (a partir de) os buffers locais

O controlador tem a funo de informar a UCP que terminou a sua operao atravs de uma interrupo

Gesto de processos

Fluxo de actividade autnomo que executa um conjunto de aces que so determinadas por um programa

Por tanto, um processo pode ser definido como Uma instncia de um programa em execuo e que um programa pode ser constitudo por n processos.

Um processo contm: Cdigo executvel Dados (variveis globais) Estado do Processador (registos, stack, program counter)

Ficheiros abertos Tempo de UCP consumido

Em ambientes multi-tarefa as funes do sistema operativo no que diz respeito a gesto de processos:

Alternar a execuo de processos de forma a maximizar a utilizao da UCP Fornecer tempo de resposta razovel Alocar recursos a processos suportar a criao de processos pelo utilizador Suportar a comunicao entre processos

Estados de um processo

terminated

libert ado

admisso
new

ready

despacho
running

interrompido

waiting

evento ocorre

espera evento

New O processo est a ser criado Ready O processo est pronto para ser executado Running O cdigo referente a um processo est a ser executado Sistemas multi-processador podem executar vrios processo em paralelo, um em cada processador Waiting O processo est espera que um evento especfico ocorra (por ex. operao de I/O ou recepo de um sinal) Terminated O processo finalizou a sua execuo Nota: Em mquinas com apenas uma UCP s um processo pode estar no estado running Pode haver vrios processos no estado ready e no estado waiting Cada processo representado perante o SO por uma estrutura contendo a sua informao, o Process Control Block (PCB) O PCB o conjunto de atributos do processo e pode ser dividido em trs partes: Identificao do processo Informao de estado do processador Informao de controle do processo

Identificao do Processo Composta por identificadores numricos que incluem: Identificador do processo (PID) Identificador do processo que o criou Identificador do utilizador

Informao de Estado do Processador Contida nos registos do processador: Registos visveis pelo utilizador Registos de controle de estado

Apontadores de pilha

Informao de controle do processo Estado e escalonamento, de acordo com a mquina de estados definida anteriormente, que inclui: Estado do processo (por ex. ready) Prioridade Suporte ao escalonamento (por ex. h quanto tempo est espera) Evento (por ex. identificao do evento que o processo est espera) Estrutura dos dados (por ex. relao pai-filho) Comunicao entre processos Privilgios (por ex. tipos de instrues que podem ser executadas) Gesto da memria Valores do registo base e limite ponteiro para a tabela de pginas Propriedade e uso de recursos (por ex. ficheiros abertos)

BCP

Process state

Process number

Program counter

register

Memory limits

List of open files

..

Escalonamento de processos E a actividade de decidir que processo deve ser executado ou retirado do processamento Os objectivos so: Optimizar a performance do sistema de acordo com um critrio Dividir a capacidade de processamento da UCP entre vrios processos Diminuir o tempo de resposta (sistemas de Tempo-Real)

Tipos de Escalonamento

Escalonamento no preemptivo: o escalonador apenas pode efectuar a troca entre processos quando o processo termina ou passa para o estado de Waiting. Escalonamento preemptivo: o escalonador pode interromper a execuo de um processo antes que este tenha terminado

Critrios de Escalonamento

Critrios orientados ao utilizador (performance) Turnaround time Tempo que decorre entre o instante em que um processo submetido e o instante em que concludo a soma do tempo de espera para ir para a memria, tempo de espera na fila dos espera por recursos Tempo de resposta Tempo que decorre entre a submisso de um pedido e o incio da resposta este critrio adequado para sistemas interactivos ready, tempo em execuo na UCP e o tempo de

Objectivos: baixo tempo de resposta maximizando o nmero de utilizadores com tempos de resposta aceitveis

Deadline Deadline, ponto no tempo no qual um determinado resultado de computao deve estar disponvel Sempre que forem especificadas deadlines, o critrio de

escalonamento deve garantir que as deadlines so cumpridas, caso no seja possvel deve garantir que o mnimo nmero de deadlines ultrapassado

Critrios orientados ao utilizador (outros) Predictabilidade um determinado processo, independentemente da carga do

processador deve correr aproximadamente no mesmo tempo Exemplos: um jogo de computador do tipo Arcade deve correr mesma velocidade independentemente da mquina em que est funcionar e da respectiva carga um programa de descodificao de vdeo deve ser capaz de processar 30 frames por segundo independentemente da mquina e respectiva carga Critrios orientados ao sistema (performance) Utilizao da UCP Utilizao: razo entre o tempo durante o qual a UCP utilizada e o tempo total de execuo O objectivo maximizar a utilizao da UCP

Dbito (Throughput) Nmero de processo executados por unidade de tempo Maximizar o nmero de processos concludos por unidade de tempo O valor ptimo depende dos processos

Algoritmos de Escalonamento Fisrt-Came, Fisrt-Served (FCFS) Shortest-Job-First (SJF) Escalonamento por Prioridades Round-Robin (RR) Multi-nvel por Filas Multi-nvel com realimentao por filas

First-Come, First-Served (FCFS) O processo que chega fila de ready em primeiro lugar tambm o primeiro processo a ser executado Simples e fcil de implementar No preemptivo um processo apenas liberta a UCP quando termina ou quando requer uma operao de I/O

Exemplo: Processo Brust time P1 P2 P3 24 3 3

Ordem de chegada: {P1, P2, P3}

P1

P2

P3

24 Tempo de espera: P1=0, P2=24, P3=27 Tempo mdio de espera: (0+24+27)/3 =17

27

30

Tempo de permanncia: P1=24, P2=27, P3=30

Tempo mdio de permanncia: (24+27+30) /3=27

Shortest-Job-First (SJF)

O escalonador selecciona o processo na fila de ready que tiver menor tempo de execuo No preemptivo: se chegar fila de ready um processo com um tempo de execuo menor que o processo em execuo, este no comutado Preemptivo: o processo em execuo comutado pelo processo novo se o tempo restante de execuo for maior que o tempo de execuo do processo novo (Shortest-Remaining-Time-First (SRTF))

SJF - No Preemptivo

Processo P1 P2 P3 P4

Chegada 0.0 2.0 4.0 5.0

Brust 7 4 1 4

P1

P3

P2

P4

7 Tempo de espera:

12

16

P1=0, - porque chegou no instante 0.0 e iniciou execuo no instante 0.0 P2=6, - porque chegou no instante 2.0 e iniciou execuo no instante 8.0 (82=6) P3=3, - porque chegou no instante 4.0 e iniciou execuo no instante 7.0 (7-4=3)

P4=7, - porque chegou no instante 5.0 e iniciou execuo no instante 12.0 (125=7) Tempo mdio de espera: (0+6+3+7) /4=4 Tempo de permanncia: - somatrio entre o tempo de espera e de brust ou de servio de cada processo P1=7 P2=10 P3=4 P4=11

Tempo mdio de permanncia: (7+10+4+11) /4=8

SJF - Preemptivo

P1

P2

P3

P2

P4

P1

11

16

Tempo de espera: P1=9, - porque chegou no instante 0.0, iniciou sua execuo e foi interrompido no instante 2.0 porque nesse momento chegou um processo que quando comparado com o resto que falta para executar do processo P1 menor, sendo que o P1 voltou a execuo no instante 11.0 (11-2=9)

P2=1, - porque chegou no instante 2.0, imediatamente iniciou sua execuo, s que no instante 4.0, foi interrompido para executar o P3 que tinha um tempo de brust menor que o resto do P2, sendo que o P2 voltou a execuo no instante 5.0 aps termino do P3 e no existncia de um processo menor que o resto de P2 (54=1)

P3=0, - porque chegou no instante 3.0 e iniciou execuo no mesmo instante

P4=2, - porque chegou no instante 5.0 e iniciou execuo no instante 7.0 (7-5=2)

Tempo mdio de espera: (9+1+0+2) /4=3 Tempo de permanncia: - somatrio entre o tempo de espera e de brust ou de servio de cada processo P1=16 P2=5 P3=1 P4=6

Tempo mdio de permanncia: (16+5+1+6) /4=7

Escalonamento por Prioridades

Cada processo tem uma prioridade associada A UCP alocada ao processo com maior prioridade Processos de igual prioridade podem ser escalonados atravs de FCFS Pode ser preemptivo ou no preemptivo A prioridade representada por um nmero inteiro positivo Escalonamento no preemptivo

Processo P1 P2 P3 P4 P5 Prioridade mais alta e 1.

Brust 3 2 2 2 5

Prioridade 3 1 4 5 2

Todos processos chegaram no mesmo instante


P2 P P1 P3 P4

10

12

14

Tempo de espera: P1=7, P2=0, P3=10, P4=12, P5=2 Tempo mdio de espera(7+0+10+12+2) /5=6,2 Tempo de permanncia: P1=10, P2=2, P3=12, P4=14,P5=7 Tempo mdio de permanncia: (10+2+12+14+7) /5=9

Escalonamento preemptivo

Processo P1 P2 P3 P4 P5

Brust 3 2 2 2 5

Prioridade 3 1 4 5 2

Chegada 0 2 2 5 7

P1

P2

P1 P3

P4

12

14

Tempo de espera: P1=2: porque apesar de no ter a prioridade para execuo, iniciou sua execuo visto que no instante 0.0 estava sozinho, s que no momento 2.0 chegou um processo com uma prioridade mais alta, por isso o P1 foi interrompido para dar lugar ao novo processo (P2), sendo que o P1 voltou a execuo aps termino do

P2 e dos processos j presentes no existir algum com prioridade mais alta que P1 (4-2=2)

P2=0, porque chegou no instante 2.0 e devido sua prioridade foi executado imediatamente P3=3, porque chegou no momento 2.0 e foi executado no instante 5.0, porque entre os processos que faltavam (P3, P4 e P5), o P5 tinha maior prioridade, mas era antes de chegar, sobrando apenas o P3 e P4 sendo o P3 mais prioritrio neste instante (5-2=3)

P4=7 porque chegou no instante 5.0 e iniciou sua execuo no instante 12.0, porque aps trmino do processo P3, chegou o processo P5 que detm maior prioridade que o P4, por isso comeou-se com o P5

P5=0, porque por coincidncia chegou no instante 7.0 e imediatamente comeou sua execuo sem ficar na fila de espera

Tempo mdio de espera: (2+0+3+7+0) /5=3 Tempo de permanncia: P1=5 P2=2 P3=5 P4=9 P5=5 Tempo mdio de permanncia: (5+2+5+9+5) /5=5,2

Nota: Vai executando o processo que estiver presente ate que um de uma prioridade maior que o actual chegue.

Round-Robin (RR)

Especialmente adaptado para Sistemas Partilhados Multiutilizador Algoritmo: Cada processo obtm uma pequena unidade de tempo da UCP, time quantum ou time slice, vulgarmente 10 -100ms No fim de cada time quantum (q) o processo comutado e adicionado cauda da fila ready Caso o processo termine a sua execuo ou passe para o estado de waiting durante time quantum atribudo, o escalonador selecciona o processo seguinte para execuo O escalonador necessita de um timer de modo a que seja periodicamente interrompido aps cada time quantum

Processo P1 P2 P3 P4

Brust 53 17 68 24

P1

P2

P3

P4

P1

P3

P4

P1

P3

P3

0 162

20

37

57

77

97

117

121

134 154

Tempo de espera: P1=0+57+24=81 P2=20

P3=37+40+17=94 P4=57+40=97 Tempo mdio de espera: (81+20+94+97) /4=73 Tempo de permanncia: P1=134 P2=37 P3=162 P4=121 Tempo mdio de permanncia: 134+37+162+121) /4=113,5

Das könnte Ihnen auch gefallen